📈 Собираем позиции сайта в Яндексе 💰 бесплатно
Топвизор разработали классный интерфейс, удобные выгрузки и т.д., но опросить СЯ, скажем, федерального магазина мебели по всем поддоменам - довольно дорого. Особенно с учетом участившегося подъема цен.
В качестве одной из альтернатив я вижу парсинг ЯВМ API (как вторая альтернатива конечно ж
е A Parser).
➕ Плюсы парсинга API YWM:
— Бесплатно
— Позиции честнее чем в Топвизоре (за счет получения средней позиции за сутки из персонализированных выдач разных реальных юзеров)
— Данные есть по всем ключам, по которым страница ранжировалась или могла ранжироваться, а не только тем, по которым вы настроили опрос
— Есть данные не только по позициям, но и по: Кликам, CTR, Спросу, Показам.
— Данные можно обрабатывать/использовать по-своему под разные задачи, в отличии от готовых сервисов.
➖ Минусы:
— Данные доступны только за период в 14 дней.
— Данные поступают с лагом в N дней (по-разному, обычно через 2-4 дня)
— В ЯВМ есть готовая выгрузка в XLS, если у вас мало хостов (сайтов, с учетом поддоменов), то можете просто качать оттуда и не париться: выгружать раз в 2 недели и матчить их, если требуется история, хотя формат там из коробки ну такой себе.
Про скрипт
🔗 https://github.com/sc00d/YWM-monitoring-query-analytics/blob/main/ywm-query-monitoring-data-extracter.py
Когда в работе проекты на сотни поддоменов, то качать файлы через вебинтерфейс - сомнительно. Для таких случаев накидал скрипт, который забирает по API доступные данные для всех или указанных хостов. Скрипт собирает данные и сохраняет в CSV файл или базу sqllite,
У CSV порог входа нулевой, а для мелких-средних проектов его хватит. Да и импортировать потом данные из CSV в любую БД легко. + Удобно для отладки на старте.
Запуск скрипта можно поставить на крон или просто не забывать его запускать раз в неделю-две.
Настройки
Из обязательных параметров - только ваш токе
н (инструкция как добыть его). Остальные настройки опциональны.
Если массив с HOST_ID не задан (задается массивом, там же можно задать св
ой набор регионов для каждого host_id), то в выгрузке будут данные по всем доступным хостам, кроме тех, которые перечислены в EXCLUDED_HOSTS (тоже массив).
Есть режим сбора данных как для всего хоста сразу (так на 2-3 порядка быстрее) - тогда вместо URL в таблице будет только домен, так и с учетом URL'ов (тогда на выходе будут данные по URL'ам)
Скрипт от Ed
Отличия от похоже
го решения
от Ed (откуда позаимствовал ряд идей, его решение работало хорошо, просто под мои задачи не идеально подходит)
1) Адаптация к сбору данных сразу по куче хостов (поддоменов/отдельных сайтов) - мне критично
2) Возможность многократно ускорить процесс сбора данных, отказавшись от статистики по URL. В случае с сотнями поддоменов + лимитами API - критично (для меня). Берем 200 поддоменов умножаем их на 200 посадочных - минимум 40к запросов против минимальных 200.
3) Возможность продолжить получение данных с того места, где остановились
4) Порог входа ниже:
- user_id получается на автомате
- список хостов тоже может сам забрать
- выгрузка в CSV = легко для работы тем, кому БД не нужна
- Простая настройка (достаточно быть хотя бы опытным пользователем ПК, хотя бы на windows). Вставить в Юпитер Ноутбук, поменять настройки и нажать Run
Для запуска нужен питон (впрочем, кому надо - может попросить переписать AI/своих разрабов на PHP или любой другой язык). Если боитесь питона - то просто загугли
те Anaconda (дистрибутив Python), в нем нас интересует Jupyter Notebook, с ним запуск скриптов на питоне - одно удовольствие. Просто создать новый Notebook, копирнуть-вставить код, поменять настройки на свои и нажать Run
Текущий пост - скорее просто заметка, чем готовый продукт. Скрипт пока не полностью оттестирован (норм так оброс функционалом пока пост писал), но работает. С учетом того, что данные устаревают - лучше начать собирать их уже сейчас.
В планах написать скрипт/скрипты для обработки этих данных для создания таблички с позициями (некий аналог топвизору на гугл таблицах) или импортировать данные в какую-нибудь BI
***
Кан
ал Strong SEO