Вирішення 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. Головні завдання, які можна автоматизувати при оптимізації сайтів за допомогою цієї мови програмування, це:
- Збір ключових запитів
- Кластеризація запитів
- Визначення посадкових сторінок
- Генерація контенту
- Аналіз контенту (унікальність, розмір, якість)
- Допомога в побудові профілю посилань
Розглянемо їх детальніше.
Збір ключових запитів
Для збору ключових запитів можна використовувати платні сервіси або Google-підказки.
А можна написати 10-15 рядків коду.
Це досить швидко і просто. Це буде безкоштовна програма, до якої ви зможете вносити зміни.
Наступний варіант — опрацювання баз ключових слів, які є в інтернеті. Вони великі, і за допомогою стандартних програм їх не вдається переглядати, а Python дозволяє це зробити.
Ви можете також використовувати API, наприклад, Google Search Console або Serpstat. з допомогою прописаного коду можна опрацювати великий масив даних і отримати на в результаті зручний файл, з яким можна працювати.
Кластеризація ключових запитів
Програмний код можна також використовувати для групування зібраних ключових запитів.
Існує кілька типів алгоритмів кластеризації ключових слів.
Вони детально описані тут. В цьому ж матеріалі наведені відрізки коду, які ви можете використовувати для виконання своїх завдань. Вам треба буде перетворити набір ключових слів на матрицю векторів, з якою буде працювати Python (більше деталей у відео).
Визначення посадкових сторінок
Після кластеризації запитів треба визначитися, на які сторінки ці запити просувати. Для цього застосовується парсинг. Для цього можна в Google ввести ключове слово через оператор site:свій_сайт ключове слово
І ви побачите видачу сторінок.
Генерація контенту
Види генерації контенту на сайт з використанням скрипта:
- Ручна: створення адміністративної панелі для копірайтера, в якій одразу перевіряються SEO параметри текстів, автоматизується додавання тексту на потрібний сайт і т.д.
- Напівавтоматична: контент генерується але після цього вичитується копірайтером, проходить модерацію і після цього потрапляє на сайт.
- Автоматична: наприклад, автопереклади. Контент одразу потрапляє на сайт. Використовуються комбінаторні методи.
Висновки: під кожний конкретний переклад розробляємо власний алгоритм створення контенту.
Про нейромережі для генерації контенту: вони на сьогодні роблять це лише частково. Довірити повністю створення не можна, можна використовувати лише під окремі завдання, наприклад, для написанні відгуків на сайт.
Варто пам’ятати: при автоматичній генерації контенту є ризики. Нижче — приклад сайту з автоперекладами. Бачимо, що трафік може доходити до значних показників, проте з останнім апдейтом Google сайт втратив позиції.
Аналіз контенту (унікальність, розмір, якість)
Програмний код знадобиться також для аналізу та оптимізації контенту. Наприклад, якщо у вас великий сайт, можна робити автоматичні аналізатори.
Можна написати парсер сайту, дістати всі його сторінки та контент з нього. І зробити, наприклад, ось такий зріз по унікальності контенту сайту:
Бачимо, що середня унікальність текстів — 42% (майже 2,5k сторінок мають такий показник), а близько 250 сторінок взагалі не унікальні.
Наступний скрін показує більш проблемний розподіл: тут більше сторінок взагалі мають нульові показники.
Так ми ідентифікували проблему і бачимо, з чим працювати.
Подібні графіки можна також для розміру контенту та інших показників його якості.
Допомога в побудові профілю посилань
Автоматизувати постановку посилань на Python можна, проте це будуть не білі методи і сьогодні навряд чи спрацюють. Ми можемо налагодити окремі процеси. Наприклад, створити окрему адмін панель для:
- аналізу посилань,
- для роботи аутріч-спеціаліста,
- для пошуку бази донорів,
- автоматичної перевірки посилань.
Такі системи вже є готові. Проте створення власної забезпечує гнучкість (закладаєте функції під свої потреби) та конфіденційність (ніхто не парсить ваші бази).
Хочете дізнатися більше про наведені приклади використання Python для вирішення SEO-завдань? Дивіться повністю відео, а також здобувайте знання та навички на авторському навчальному курсі Сергія «Python for You».
Питання — Відповідь
— Із трьох основних ОС комфорт роботи в Python розподіляється так: Linux на 1-му місці, Mac ОС — на 2-му, Windows — на 3-му. Mac має ядро Linux, відрізняється тільки інтерфейсом. Windows не так «заточена» під роботу з Python, проте зараз я працюю саме з цієї ОС. І проблем особливих немає, є скоріше нюанси, вирішення яких можна знайти в Google. Python спроектований за кросплатформеним принципом, тобто ви встановлюєте інтерпретатор і далі код сильно не змінюється в залежності від платформи.
— Це досить проста задача. обидві складові — це у вас стрічки (або строки), з якими треба зробити операції. Якщо точне входження, то легко взагалі. Питання може бути із закінченнями слів. Якщо нам потрібні нас слова треба врахувати в різних відмінках, то треба застосовувати додаткову бібліотеку. Вона називається NLTK. Вона вміє аналізувати слова у різних відмінках та перетворювати слова в леми. А далі по лемам шукати входження в текст. Ще більш складне завдання — шукати синоніми. Тут уже треба заглиблюватися у вирішення питання.
— Це парсинг. Потім «переганяємо» в текст, з текстом працюємо по алгоритму, описанному у попередньому питанні.
Дистрибутиви, або версії Python — це невелика, але є. Python розробляється за принципом, у якому не враховується зворотня поєднуваність. тобто код, написаний на старих версіях, може не працювати на нових версіях. Це — фіча програмістів, які його розробляють. Це відбувається не з усіма версіями. Наприклад, 3 і 2. Так, для версії 2 уже закінчилася підтримка. Ще можна зустріти на ній проекти, проте писати нове не варто. При написанні коду для SEO рекомендую використовувати останні версії. При цьому якщо необхідна якась частина коду з порівняно недавньої версії, допустимо «спуститися».
— Тут треба дивитися від задач. Не існує спеціальних бібліотек для SEO, а є рішення під певні завдання, наприклад, кластеризація, робота з текстом, робота з API тощо. З досвідом ви будете знати, як вони називаються і як їх шукати.
— Коли ви пишете код самостійно, деколи ви можете зекономити. Але деколи ви можете потрапити в таку ситуацію, коли ви написали код, і наче він робить свою роботу. Але робить її значно гірше. В такі моменти не слід забувати, що ви новачки. Тому коли існує повноцінний сервіс, наприклад, перевірка унікальності. Ви знаєте, як там все працює і в принципі, можете зробити аналог. Проте може виявитися, що ваш алгоритм працює довше і не не показує корректно дані. Тут варто пам’ятати, що ви свій скрипт написали за 2-7 днів, а повноцінні сервіси створюються командами протягом тривалого часу. Тож якість роботи важко дублювати.
В цьому питанні потрібен компроміс. Іноді можна створити своє. А іноді краще заплатити за API і мати більш швидкий результат належної якості.
— Готових бібліотек немає. Я писав власний скрипт. При його застосуванні здійснюється багато запитів Google, тому робота не швидка.
— Так, можна. Парсимо видачу та long-tail запити (пошукові підказки). І дивимося, скільки там контенту.
— Upwork. Тут багато програмістів та багато завдань.
— Є спеціальні сервіси, які продають списки проксі, як приватні (дорожчі), так і публічні (дешевші). Проте останні живуть менше часу. Ці сервіси сканують IP-адреси і порти. І коли вони натрапляють на проксі, додають його в свій список, який оновлюється раз в 5 хвилин. Коли ви пишете власний скрипт, можна в ньому передбачити спеціальну функцію запиту на API сервісу проксі і викачує список раз на 2 хвилини. Так у вас будуть свіжі дані на момент запуску програми.
Ми дякуємо Сергію за структурний та корисний вебінар. Бажаємо ще більше наснаги та креативу, або грамотно автоматизувати процеси для вирішення робочих і неробочих завдань😊