Записал большую серию уроков по автоматизации с помощью Python для курса "SENIOR SEO-СПЕЦИАЛИСТ" от Rush Academy. Часть выложенных скриптов в канале попала в план уроков с подробным разбором и демонстрацией работы. Поэтому кто давно хотел применить скрипты в своей работе, но самостоятельно не смог разобраться, советую.
Помимо этого будет много дополнительного материала, который ранее нигде не публиковался. Для подписчиков канала выкладываю часть урока по работе с текстами Colab.
В уроке разберем:
- NLP подходы и популярные библиотеки для лемматизации и токенизации
- поработаем с предобученным BERTом на русском языке от DeepPavlov. Достанем NER сущности из текстов.
- рассчитаем векторное представление NER сущностей и найдем наиболее близкие к ним категории на основе расчета косинусного расстояния.
Ребята набирают последний поток и устраивают распродажу. По коду SEOvlad сделают скидку 10.000₽. Инфа про курс SENIOR SEO-СПЕЦИАЛИСТ.
@seo_python
Скрипт для получения ngram из топа выдачи Яндекса
Получение данных по xml API Яндекса (топ 10 юрл из выдачи), парсинг статей с топа и получение ngram.
Блоком кода с получением текста статей и его токенизацией можно дополнить тз на копирайтинг
Что потребуется:
- Ключ Yandex XML
- Библиотеки pyyaxml, newspaper3k (библиотека для python3)
Дополнения:
- Библиотеку pyyaxml подключаем строкой "from pyyaxml.search import YaSearch"
- Получение данных для авторизации xml заменил строкой infa = [line.rstrip() for line in f]
- Ошибка с ssl решается переносом строки urlssl._create_default_https_context = ssl._create_unverified_context выше получения results
- Вместо работы с xml можно использовать список list_base_urls из скрипта тз
Скриптом поделился: @devvver
#Яндекс #ngram #XML
Если вы вчера решили, что я ничего не выложу — вы были правы 😁
Я тоже так думала, ровно до 20.00, потому что я поняла, что день подходит к концу, а доверие тихонечко ускользает.
В общем, если вы решите, что материал бестолковый или скучный, я всё прощу) Но не перестану говорить, что продолжение будет. Учиться на ошибках тоже нужно.
А пока я нашла в себе силы побороть себя, расскажу о том, что мысль вести 100500 каналов — так себе мысль. Вы никогда не сможете успеть делать всё, только если у вас один контент-план на все площадки)
Так вот, эксель — это то с чего всё начиналось, это такая простая вещь, что кажется.. а что может быть проще? Там столько всего можно сделать, что даже грустно от мысли, что я решила даже его автоматизировать 😭
Но не смотря на такое грустное начало, выкладываю первую часть автоматизации и надеюсь, что больше я не буду так тянуть резину.
Читать, подписываться и хлопать на медиуме можно, нужно и очень жду, а еще пишите комментарии тут.
Access-логи сайта для seo: автоматический анализ и отправка отчетов в Telegram
Описан пошаговый мануал по скачиванию логов с сервера, их объединении и парсинге с помощью Python, а также формирование необходимых отчетов с последующей отправкой в Telegram. Подробные комментарии приведены в коде соответствующих скриптов.
#access_log
Автоматизация тестов PageSpeed с помощью Python
Постраничная проверка с использованием API Google PSI. В предложенном коде проверка осуществляется без использования ключа. Если проверка будет выполняться с выполнением нескольких запросов в секунду, ключ нужно будет получить.
#PageSpeed
Работа с PostgreSQL
Шаблон для работы с базой данных PostgreSQL на Python
#PostgreSQL
Оптимизация картинок под Google Page Speed
Оптимизация изображений с помощью программы jpegtran. В скрипте используется базовая команда для оптимизации:
-copy none убирает все метаданные из исходного файла;
-optimize оптимизирует изображение;
-progressive изменение формата на progressive jpeg)
Что потребуется:
- скачанная программа jpegtran
#PageSpeed #изображения
Поиск освобождающихся доменов v.2
Проверяем возможность регистрации доменов по списку доменов. Функционал скрипта аналогичен предыдущему посту.
Отличия:
- парсинг в несколько потоков
- проверка большего количества доменов за счет добавления списка ключей с бесплатными лимитами
Что потребуется:
- Список доменов на проверку
- Ключи API whoisxmlapi
- Установленные Python-библиотеки.
Плюсы подхода:
- Выше скорость проверки, парсинг в несколько поток
- Проверка большего количество доменов
Минусы:
- При большом количество потоков сервис может перестать отвечать, результаты проверки будут искажены
Скриптом поделился: @va_medvedev
#дропы
Публикация скриптов на канале
Если у вас есть скрипты, которыми вы готовы поделиться присылайте их мне (@va_medvedev). Это могут быть как написанные вами скрипты, так и найденные в интернете.
Формат публикации следующий:
Заголовок – краткое описание
Полное описание с объяснением того, что делает скрипт. Указать для чего и в каких ситуациях он может понадобиться.
Что потребуется:
- элемент 1. Можно указывать доступы к api различных инструментов, библиотеки и тд.
- элемент N
Плюсы подхода:
- элемент 1.
- элемент N
Минусы:
- элемент1
- элемент N
Скриптом поделился: @name (ссылка на профиль или ресурс, с которого взят материал)
#хештеги_к_посту
Ссылка на скрипт - url (Ссылка на скрипт на github, ваш сайт и тд. Обязательное условие, чтобы скрипт был выложен в общедоступное место)
Техническое задание для копирайтеров: Семантическое ядро есть, статья не написана
Рассмотрим ситуацию, когда у специалиста есть собранное и кластеризованное семантическое ядро.
Что потребуется:
- Подписка serpstat с доступом к API.
- Подписка megaindex с пополненным балансом.
Плюсы подхода:
- Работаем уже с тщательно проработанным и кластеризованным семантическим ядром.
Минусы:
- Нужна подписка на сервисы.
- Данные, которые выдают сервисы, не всегда точны. Например, Megaindex не определяет длину текста меньше определённого количества знаков (около 200 символов). Поэтому показатели выборочно стоит перепроверить.
Скриптом поделился: @va_medvedev
#serpstat #megaindex #api
Техническое задание для копирайтеров: Семантического ядра нет, статья не написана
Рассмотрим случай, когда нужно написать статью, но у вас нет готового семантического ядра. Для этого подхода нам понадобится только основной маркерный запрос статьи.
Что потребуется:
- Подписка serpstat с доступом к API.
- Подписка megaindex с пополненным балансом.
Плюсы подхода:
- Не тратим время на сбор ядра (подходит для статей с широкой семантикой и хорошей видимостью URL конкурентов в топе).
- В работу берём максимальное количество ключей, по которым конкуренты имеют видимость.
Минусы:
- Нужна подписка на сервисы.
- Данные, которые выдают сервисы, не всегда точны. Например, Megaindex не определяет длину текста меньше определённого количества знаков (около 200 символов). Поэтому показатели выборочно стоит перепроверить.
- Не можем повлиять на кластеризацию.
Скриптом поделился: @va_medvedev
#serpstat #megaindex #api
Генерация RSS-фида для турбо-страниц «Яндекса»
Этот способ подходит для случаев, когда необходимо быстро запустить и протестировать турбо-страницы. Рекомендую использовать скрипт для генерации RSS-канала для статейных сайтов, контент которых изменяется редко. Этот метод подходит для быстрого запуска страниц с целью проверить теорию и посмотреть результаты внедрения технологии «Яндекса».
Что потребуется:
- Netpeak Spider.
- Базовые знания применения XPath.
- Установленные Python-библиотеки.
Плюсы подхода:
- Быстрое внедрение. Не требуется помощь программиста.
- Не нужно подключение к базе, где хранится контент. Весь контент и его разметку берём прямо со страниц (одновременно минус).
- Используем стандартные SEO-инструменты.
Минусы:
- Необновляемый XML-файл. После изменения контента требуется пересобрать контент и формировать новый XML.
- Новые страницы также не будут попадать в файл. Для них будет необходимо заново парсить контент и формировать XML.
- Создаём нагрузку на свой сайт при сборе контента.
Скриптом поделился: @va_medvedev
#турбо #яндекс
Всем привет. Давно не было публикаций и далее будет #промо пост, но с полезными плюшками для подписчиков канала!
Читать полностью…Работа с API Google Search Console
Данная статья перевод текста Get All Your Search traffic With Google Search Console API (With Code Sample) с дополнениями автора перевода. Из статьи вы узнаете, как извлечь более 25 000 ключевых слов и автоматически экспортировать данные в CSV-файл. С помощью этого скрипта мне удалось ежемесячно извлекать более 10 млн. строк данных из GSC API.
Проверка изменений на страницах сайта
Скрипт обходит указанный вами список страниц, сохраняет следующие данные:
• Ответ сервера;
• Тег title;
• Метатег description;
• Тег h1;
• Тег canonical;
• Метатег meta name robots;
• Заголовок ответа сервера x-robots-tag.
При повторном обходе сообщает в текстовом файле о наличии изменений, если они имеются.
Что потребуется:
- наличие установленных библиотек: requests, BeautifulSoup, json
Скриптом поделился: @biryukovartem
#мониторинг
Экспорт данных из API Google Analytics
Несколько гайдов по работе с API Google Analytics. В обоих используется gaapi4py.
#API_Google_Analytics
NLP для SEO
Перевод и разбор доклада об обработке естественного языка для решения SEO задач.
#nlp
Скрипт выгрузки статистики всех поисковых запросов ЯМ
Что потребуется:
- Список номеров счетчиков
- Токен API метрики
Плюсы подхода:
- Позволяет выгрузить большое количество ключей
- Обходит ограничение в 100.000 запросов.
#API #YandexMetrika
Поиск освобождающихся доменов
Проверяем возможность регистрации доменов по списку ссылок, полученному из отчета "All Outlinks" из Screaming Frog
Что потребуется:
- Отчет "All Outlinks" из Screaming Frog.
- Установленные Python-библиотеки.
Плюсы подхода:
- Ускоряет ручную проверку
- Предварительная фильтрация по параметрам PA и DA Moz API
Минусы:
- Ограничения бесплатного api на 500 проверок
- Информация собирается в один поток
#дропы #mozapi
Анализ access-логов сервера
Анализ логов сайта при техническом seo-аудите.
Что потребуется:
- Лог-файлы сайта.
- Установленные Python-библиотеки.
Плюсы подхода:
- Бесплатное решение.
- Можно быстро проанализировать лог-файл в любом формате.
- Легко обрабатывает большие файлы на несколько миллионов записей.
Минусы:
- Хранение данных на своём устройстве (если работаете не на выделенном сервере).
- Чтобы проанализировать данные за новый период, необходимо заново считать данные, разобрать и записать их в анализируемый CSV-файл.
- В приведённом скрипте только базовые универсальные примеры анализа.
Скриптом поделился: @va_medvedev
#логи #apache_log_parser
Техническое задание для копирайтеров: Статья написана, требуется рерайт
Подход применим для случаев, когда статья уже написана, но не получает трафика.
Что потребуется:
- Подписка serpstat с доступом к API.
- Подписка megaindex с пополненным балансом.
Плюсы подхода:
- В автоматическом режиме получаем средний объём текста в топ-10, объём анализируемого текста и разницу этих величин.
- В работу берём максимальное количество ключей, по которым конкуренты имеют видимость.
Минусы:
- Нужна подписка на сервисы.
- Данные, которые выдают сервисы, не всегда точны. Например, Megaindex не определяет длину текста меньше определённого количества знаков (около 200 символов). Поэтому показатели выборочно стоит перепроверить.
- Не можем повлиять на кластеризацию.
Скриптом поделился: @va_medvedev
#serpstat #megaindex #api
Как использовать Python для LSI-копирайтинга
Анализируем n-граммы сайтов в топе, ищем часто встречающиеся понятия, которые описывают конкуренты в своих текстах. Позволяет провести подробный анализы текстов и выявить LSI-слова, которые нужно учесть при написании контент.
Что потребуется:
- Доступ к API Яндекс.Директа
- Лимиты Яндекс.XML
- Установленные Python-библиотеки
Плюсы подхода:
- Поиск LSI-слов
- Позволяет найти слова, которые не используют конкуренты в своих текста
Минусы:
- Необходимо подавать заявку на доступ приложения и ждать, пока ее подтвердят на стороне Яндекса
- Ограничения по количеству отдваемых запросов API Директа (300 запросов)
- При парсинге url в топ-50 автор предлает извлекать контент из тега <p> – встречаются ситуации, когда контент размечен не <p>, нужно иметь в виду.
#api #яндекс_директ