Просувай свій бізнес за допомогою Collaborator.
10209 унікальних майданчиків для розміщення статей.

Вирішення SEO завдань на Python

Python — актуальна мова програмування. З допомогою її коду можна автоматизувати багато задач, в тому числі і пошукової оптимізації. Про SEO скрипти для збору та кластеризації ключових слів, визначення посадкових сторінок, генерації та аналізу контенту, побудови профілю посилань говорили на черговому освітньому заході Collaborator. 

2 серпня 2022 на нашому вебінарі Senior software engineer у Luxoft Сергій Черненко поділився досвідом: як можна за допомогою Python вирішувати завдання пошукової оптимізації. 

Відео вебінару👇

Про спікера

Сергій Черненко — SEO-фахівець із досвідом роботи 7+ років. За цей час просував 300+ сайтів, серед яких був ресурс з трафіком 500к користувачів на добу. Багато експериментував, при чому як у «білому», так і в «чорному» SEO. 

Паралельно Сергій розвиває скіли в програмуванні на Python: пише парсери, робить дори, створює SEO-інструменти для власних задач та сайти на мільйони веб сторінок. 

З двох карʼєрних шляхів в SEO (менеджерський чи вузька спеціалізація та поглиблення експертності) він обрав другий. І сьогодні постійно підвищує технічні навички та автоматизує свою роботу завдяки вмінням в програмуванні.

Сергій один з перших, хто в українському інфопросторі почав розповідати про застосування Python для вирішення поточних завдань SEO.

Тези доповіді Сергія публікуємо в конспекті👇

Перш ніж почати, корисна думка від Сергія: Кількість проіндексованого контенту напряму впливає на кількість відвідувачів.  Це зазвичай низькочастотний трафік, який іноді конвертує слабше, проте ця стратегія досить проста. Достатньо генерувати автоматично контент і сайт буде рости.

Переваги Python 

В процесі професійного розвитку SEO-спеціаліст стикається з багатьма рутинними завданнями. На певному етапі кар'єри постає питання автоматизації основних процесів: від збору ключових запитів до створення сайту чи мереж сайтів.  

Мов програмування багато, проте Python — одна з таких, що найкраще підходить для вирішення SEO-завдань.

Чому Python:

  • упор на комфортне читання коду, адже програмісти частіше читають код (використовують чужі модулі), аніж його пишуть;
  • швидкість вивчення;
  • швидкість програмування;
  • велика кількість готових модулів;
  • програмування нагадує збір конструктора Lego.

Які SEO задачі можна вирішити на Python

Python може бути корисний на будь-якому етапі SEO. Головні завдання, які можна автоматизувати при оптимізації сайтів за допомогою цієї мови програмування, це: 

  1. Збір ключових запитів
  2. Кластеризація запитів
  3. Визначення посадкових сторінок
  4. Генерація контенту
  5. Аналіз контенту (унікальність, розмір, якість)
  6. Допомога в побудові профілю посилань

Розглянемо їх детальніше. 

Збір ключових запитів

Для збору ключових запитів можна використовувати платні сервіси або Google-підказки. 

як збирати ключові запити скрипт пайтон

А можна написати 10-15 рядків коду.

збір ключових запитів через пайтон

Це досить швидко і просто. Це буде безкоштовна програма, до якої ви зможете вносити зміни. 

Наступний варіант — опрацювання баз ключових слів, які є в інтернеті. Вони великі, і за допомогою стандартних програм їх не вдається переглядати, а Python дозволяє це зробити. 

Ви можете також використовувати API, наприклад, Google Search Console або Serpstat. з допомогою прописаного коду можна опрацювати великий масив даних і отримати на в результаті зручний файл, з яким можна працювати. 

зібрати ключові запити скрипт програмний код пайтон

Кластеризація ключових запитів

Програмний код можна також використовувати для групування зібраних ключових запитів. 

Існує кілька типів алгоритмів кластеризації ключових слів. 

кластери ключових слів через пайтон

Вони детально описані тут. В цьому ж матеріалі наведені відрізки коду, які ви можете використовувати для виконання своїх завдань. Вам треба буде перетворити набір ключових слів на матрицю векторів, з якою буде працювати Python (більше деталей у відео).  

Визначення посадкових сторінок

Після кластеризації запитів треба визначитися, на які сторінки ці запити просувати. Для цього застосовується парсинг. Для цього можна в Google ввести ключове слово через оператор site:свій_сайт ключове слово

І ви побачите видачу сторінок. 

сторінки видачі як отримати заза допомогою пайтон

Генерація контенту

Види генерації контенту на сайт з використанням скрипта:

  1. Ручна: створення адміністративної панелі для копірайтера, в якій одразу перевіряються SEO параметри текстів, автоматизується додавання тексту на потрібний сайт і т.д.
  2. Напівавтоматична: контент генерується але після цього вичитується копірайтером, проходить модерацію і після цього потрапляє на сайт.
  3. Автоматична: наприклад, автопереклади. Контент одразу потрапляє на сайт. Використовуються комбінаторні методи.

Висновки: під кожний конкретний переклад розробляємо власний алгоритм створення контенту. 

Про нейромережі для генерації контенту: вони на сьогодні роблять це лише частково. Довірити повністю створення не можна, можна використовувати лише під окремі завдання, наприклад, для написанні відгуків на сайт. 

генерація контенту сайту через код пайтон

Варто пам’ятати: при автоматичній генерації контенту є ризики. Нижче — приклад сайту з автоперекладами. Бачимо, що трафік може доходити до значних показників, проте з останнім апдейтом Google сайт втратив позиції. 

чи можна наповнювати сайт автоперекладами  

Аналіз контенту (унікальність, розмір, якість)

Програмний код знадобиться також для аналізу та оптимізації контенту. Наприклад, якщо у вас великий сайт, можна робити автоматичні аналізатори.  

Можна написати парсер сайту, дістати всі його сторінки та контент з нього. І зробити, наприклад, ось такий зріз по унікальності контенту сайту: 

перевірка ункальності сайту через код пайтон

Бачимо, що середня унікальність текстів — 42% (майже 2,5k сторінок мають такий показник), а близько 250 сторінок взагалі не унікальні. 

Наступний скрін показує більш проблемний розподіл: тут більше сторінок взагалі мають нульові показники. 

аналіз унікальності сайту черех пайтон

Так ми ідентифікували проблему і бачимо, з чим працювати. 

Подібні графіки можна також для розміру контенту та інших показників його якості. 

Допомога в побудові профілю посилань

Автоматизувати постановку посилань на Python можна, проте це будуть не білі методи і сьогодні навряд чи спрацюють. Ми можемо налагодити окремі процеси. Наприклад, створити окрему адмін панель для:

  • аналізу посилань, 
  • для роботи аутріч-спеціаліста, 
  • для пошуку бази донорів, 
  • автоматичної перевірки посилань. 

Такі системи вже є готові. Проте створення власної забезпечує гнучкість (закладаєте функції під свої потреби) та конфіденційність (ніхто не парсить ваші бази). 

Хочете дізнатися більше про наведені приклади використання Python для вирішення SEO-завдань? Дивіться повністю відео, а також здобувайте знання та навички на авторському навчальному курсі Сергія «Python for You».

Питання — Відповідь

На Mac ОС комфортно працювати у Python? Чи немає якихось обмежень? 

— Із трьох основних ОС комфорт роботи в Python розподіляється так: Linux на 1-му місці, Mac ОС — на 2-му, Windows — на 3-му. Mac має ядро Linux, відрізняється тільки інтерфейсом. Windows не так «заточена» під роботу з Python, проте зараз я працюю саме з цієї ОС. І проблем особливих немає, є скоріше нюанси, вирішення яких можна знайти в Google. Python спроектований за кросплатформеним принципом, тобто ви встановлюєте інтерпретатор і далі код сильно не змінюється в залежності від платформи. 

Потрібне таке рішення: є текст, який треба перевірити на наявність списку слів і фраз. Тобто завантажити текст і список слів і отримати результат, чи є слово/фраза в тексті. 

— Це досить проста задача. обидві складові — це у вас стрічки (або строки), з якими треба зробити операції. Якщо точне входження, то легко взагалі. Питання може бути із закінченнями слів. Якщо нам потрібні нас слова треба врахувати в різних відмінках, то треба застосовувати додаткову бібліотеку. Вона називається NLTK. Вона вміє аналізувати слова у різних відмінках та перетворювати слова в леми. А далі по лемам шукати входження в текст. Ще більш складне завдання — шукати синоніми. Тут уже треба заглиблюватися у вирішення питання.

Потрібно визначити всі сторінки, які я можу використовувати для перелінковки. (наприклад, усі сторінки на сайті, де є входження слова buy a cat і пряме чи непряме входження і скільки їх. 

— Це парсинг. Потім «переганяємо» в текст, з текстом працюємо по алгоритму, описанному у попередньому питанні.

Який дистрибутив Python краще використовувати для SEO? 

Дистрибутиви, або версії Python — це невелика, але є. Python розробляється за принципом, у якому не враховується зворотня поєднуваність. тобто код, написаний на старих версіях, може не працювати на нових версіях. Це — фіча програмістів, які його розробляють. Це відбувається не з усіма версіями. Наприклад, 3 і 2. Так, для версії 2 уже закінчилася підтримка. Ще можна зустріти на ній проекти, проте писати нове не варто. При написанні коду для SEO рекомендую використовувати останні версії. При цьому якщо необхідна якась частина коду з порівняно недавньої версії, допустимо «спуститися».

Якими бібліотеками краще користуватись для SEO? 

— Тут треба дивитися від задач. Не існує спеціальних бібліотек для SEO, а є рішення під певні завдання, наприклад, кластеризація, робота з текстом, робота з API тощо. З досвідом ви будете знати, як вони називаються і як їх шукати.

Цікаво використовувати Python так, щоб не оформлювати підписки на сервіси, тобто зекономити кошти. Це ж можливо? Або все тільки через API сервісів? 

— Коли ви пишете код самостійно, деколи ви можете зекономити. Але деколи ви можете потрапити в таку ситуацію, коли ви написали код, і наче він робить свою роботу. Але робить її значно гірше. В такі моменти не слід забувати, що ви новачки. Тому коли існує повноцінний сервіс, наприклад, перевірка унікальності. Ви знаєте, як там все працює і в принципі, можете зробити аналог. Проте може виявитися, що ваш алгоритм працює довше і не не показує корректно дані. Тут варто пам’ятати, що ви свій скрипт написали за 2-7 днів, а повноцінні сервіси створюються командами протягом тривалого часу. Тож якість роботи важко дублювати. 

В цьому питанні потрібен компроміс. Іноді можна створити своє. А іноді краще заплатити за API і мати більш швидкий результат належної якості. 

Як щодо перевірки унікальності тексту? Чи є якісь рішення перевірки з парсингом інтернету. 

— Готових бібліотек немає. Я писав власний скрипт. При його застосуванні здійснюється багато запитів Google, тому робота не швидка. 

Чи можна поєднати пошук long-tail запитів з парсингом SERP на кількість контенту за тим запитом? Тобто йти далі аналізу Ahrefs складності ключів та знаходити такий контент, в якого доків найменше. 

— Так, можна. Парсимо видачу та long-tail запити (пошукові підказки). І дивимося, скільки там контенту. 

Підкажіть, будь ласка, де знайти/шукати Python фрілансера який допоможе у написанні скриптів під мої потреби? 

— Upwork. Тут багато програмістів та багато завдань. 

А як щодо проксі? Як можна оптимізувати цей процес? 

— Є спеціальні сервіси, які продають списки проксі, як приватні (дорожчі), так і публічні (дешевші). Проте останні живуть менше часу. Ці сервіси сканують IP-адреси і порти. І коли вони натрапляють на проксі, додають його в свій список, який оновлюється раз в 5 хвилин. Коли ви пишете власний скрипт, можна в ньому передбачити спеціальну функцію запиту на API сервісу проксі і викачує список раз на 2 хвилини. Так у вас будуть свіжі дані на момент запуску програми. 

Ми дякуємо Сергію за структурний та корисний вебінар. Бажаємо ще більше наснаги та креативу, або грамотно автоматизувати процеси для вирішення робочих і неробочих завдань😊