История о том, как мы за 10 дней проиндексировали сайт в Google (более 30 000 страниц), используя Google Indexing API.
Конечно, мы работали с индексацией на протяжении всего 2021 года, но стандартные работы по перелинковке с расчетом весов, внедрению плитки тегов и дополнительных сквозных блоков не принесли ожидаемого эффекта. К счастью, мы нашли решение, которым делимся в этой статье.
Этот материал будет полезен как крупным, так и небольшим сайтам.
В качестве примера мы рассматриваем сайт интернет-магазина.
Что мы знаем об индексации в Google?
Когда речь идет об индексации в поисковой системе (Гугл), то прежде всего мы имеем в виду краулинговый бюджет. Это определение включает в себя множество факторов, которые влияют на индексацию: перелинковка, размер сайта, частота сканирования сайта роботами поисковой системы, настроенные заголовки и многое другое. Более подробно ознакомиться с понятием “краулинговый бюджет” можно по ссылке.
Таким образом, чтобы поисковик начал индексировать, а в последствии и ранжировать сайт, необходимо выполнить программу-минимум:
- качественный контент и его оптимизация (метатеги);
- микроразметка;
- настроенные заголовки Last-Modified;
- блоки перелинковки, например плитка тегов в категориях и товарах;
- стабильный сервер-хостинг сайта;
- коммерческие факторы (YMYL);
- корректные robots.txt и карты сайта.
Выполнив все работы из этого списка примерно к середине 2021 года (ориентировочно июнь-июль), мы начали ждать положительных результатов в ПС Google.
Рисунок 1. Мем “Ждун”.
Здесь следует отдельно поблагодарить команду маркетолога, а именно: программиста, дизайнера и контент-менеджера, за то что помогли быстро осуществить все внедрения по сайту. Это дало проекту колоссальный рост видимости в Яндекс, а нам — возможность построить дальнейшие гипотезы для продвижения в Гугл.
Результаты продвижения в Яндекс представлены на рисунке 0. Если интересно, что конкретно мы делали и внедряли на проекте, то пишите в комментариях, и мы разберем это в отдельной статье.
Рисунок 0. Результаты внедрений на сайте и видимость проекта по ПС Яндекс.
К сожалению, у нас не сохранился скриншот, который бы отражал индексацию сайта в Google на протяжении всего 2021 года. Но по рисунку 2 очевидно, что все проведенные работы никак не повлияли на количество проиндексированных страниц. Мы находились на стабильном плато.
Рисунок 2. Скриншот из Google Search Console, данные об индексации сайта.
Да, на рисунке 2 в индексе находится около 10 000 страниц, но общий размер сайта составляет 70 000 URL-адресов. Ориентировочно в середине сентября (спустя 1-2 месяца после внедрения всех работ) мы начали искать новые решения, как проиндексировать сайт. Из известных способов оставалось:
1. Ссылки (биржи, pbn сети и др.).
2. WebMaster Bot (если кто-то его не знает, то вот ссылка: @wmaster_bot).
3. Разработка более продвинутых и сложных способов перелинковки, например “Ловец ботов” от Дмитрия Шахова.
Все эти способы достойны того, чтобы их прорабатывать. Но мы, оптимизаторы, всегда должны искать более экономичные и быстрые варианты выполнения сложных задач.
Google Indexing API: разбираемся, что это и как им пользоваться
Google Indexing API — инструмент, позволяющий отправлять в Google ссылки на новые и обновленные посадочные, а также удалять старые и ненужные мусорные ссылки. Лимит на отправку данных в Google — 200 ссылок в сутки.
В начале сентября, перед отпуском, мне прислали ссылку на пост https://t.me/drkwng/17 про индексатор Гугл, написанный на Python. Я добросовестно отложил этот пост в список To Do, что стало первой существенной ошибкой. Тем не менее, не погружаясь в тему более подробно, мы написали программисту ТЗ на индексатор. Но существенный недостаток индексатора — это лимит в 200 запросов. Вспоминаем, что нам необходимо проиндексировать более 60 000 ссылок, делим указанное количество на 200 запросов (в день), в итоге получаем 300 дней (почти год без двух месяцев).
Кстати, индексатор от drkwngdata был значительно улучшен. Чтобы им воспользоваться, не нужно быть программистом. Достаточно прочитать пост https://t.me/drkwng/57 и файл readme.txt по ссылке на скачивание Python-скрипта.
Подготовительные работы
Прежде чем перейти к разбору индексатора от Google, требовалось определить, какие ссылки проиндексированы, а какие — нет. В распоряжении у SEO-специалистов для решения такой задачи могут быть как готовые сервисы и программы, так и индивидуальные решения (разработки). В нашем случае использовался парсер в связке с Xevil и фермой мобильных прокси. Далее расскажу по пунктам, какой из инструментов за что отвечает:
- A-Parser — отправляет запросы к реальной выдаче Гугл. Обрабатывает ответы и сохраняет все данные. Иными словами, это гибкий парсер, который можно настроить под любые цели.
- Xevil — компонент от Хрумера (ссылочные прогоны по форумам и профилям), который позволяет разгадывать капчи.
- Ферма мобильных прокси — модемы с симками, через которые осуществлялись запросы к выдаче, чтобы получать как можно меньше капч.
На этом этапе мы получили таблицу со списком ссылок, которые необходимо проиндексировать (везде, где количество страниц в индексе равно 0). Пример на рисунке 3.
Рисунок 3. Скриншот результатов работы A-Parser в формате: “URL;Кол-во страниц в индексе”.
Более подробно ознакомиться с возможностями парсера можно по ссылке.
Аналитика
Для детального разбора индексатора (Google Indexing API) необходимо настроить аналитику по следующим пунктам:
- какие ссылки и когда были отправлены;
- парсинг и визуализация логов сервера.
Отслеживание отправленных ссылок
Для чего это нужно? Чтобы контролировать даты отправки URL-адресов в индексатор и сопоставлять их с датой обхода googlebot. С этой целью мы подготовили дашборд в Google Data Studio. Его внешний вид представлен на рисунке 4.
Рисунок 4. Визуализация отправленных URL-адресов в индексатор Гугл по дате.
Пояснения к рисунку 4: мы отправляли по 200 ссылок, но благодаря графику выяснилось, что отправляли по несколько дублей (по 400 запросов). А Гугл более 200 запросов не обрабатывал. Ошибку устранили ближе к началу января.
Парсинг и визуализация логов сервера
Общий дашборд в Google Data Studio состоит из 4 вкладок:
- Indexing API — рассмотрели выше;
- боты Яндекс и Гугл — для анализа посещаемости сайта роботами ПС;
- фильтр URL — подача на вход отправленных ссылок и отслеживание их посещаемости роботами;
- не боты — классический дашборд для анализа всех кодов ответа сервера, например 400-х, 500-х и других, критически важных для нас.
В аналитике мы столкнулись с единственным минусом. Так как парсинг и визуализацию логов сервера я дописал только 18 января 2022 года, а индексатор направлял по 200 ссылок еще с начала ноября 2021 года, то не было возможности оценить посещаемость сайта гуглботом до указанной даты (2022 года). В качестве альтернативного источника для анализа статистики сканирования googlebot мы использовали Google Search Console.
Пример дашборда Google Data Studio для НЕ ботов приведен на рисунке 5.
Рисунок 5. Скриншот визуализации кодов ответа сервера без учета ботов ПС и сервисных ботов (предполагается, что это только реальные пользователи).
Индексатор и обход ограничений Google
На этом этапе стояла задача: обойти ограничения в 200 запросов на отправку ссылок и отправлять в день как можно больше данных в индексатор Гугл. Идея была простой — попробовать зарегистрировать еще один аккаунт Google и добавить JSON-ключи от него в Python-скрипт. Поэтому мы перешли к следующим задачам:
1. Регистрация нового аккаунта Google.
2. Написание нового скрипта на Python под цикличную обработку всех выданных аккаунтов Google.
Если у вас есть вопросы по первому пункту, то можете написать их в telegram или связаться с нами через контакты, указанные на сайте.
Разберем подробнее второй пункт. Индексатор от drkwngdata, написанный для людей, под нашу задачу не подходил, поскольку нам требовалось проверить возможность отправки данных в индексатор с разных аккаунтов Google. Поэтому мы взяли за основу код на GitHub и переписали его под себя. Измененный код доступен по ссылке (предупреждаю, что я не программист, поэтому много “костылей”).
Для работы этого кода в корне скрипта нужно создать папку “json_keys” и поместить в нее все json-файлы ключей, которые вам выдал Гугл (итоговый алгоритм действий вы найдете в конце статьи). Если у вас есть вопросы по запуску скрипта, то обязательно посмотрите наше практическое видео, которое мы специально записали в качестве дополнения к исследованию по Google Indexing API.
Написав скрипт и зарегистрировав два тестовых аккаунта Google, я отправил данные в API. Было удивительно наблюдать, как лимит в 200 строк увеличился до 400. Экстренно поставил контент-менеджеру задачу на регистрацию аккаунтов Гугл, и на следующий день вместо 400 ссылок мы отправили 4000+ шт. Спустя несколько дней у нас в распоряжении было 32 аккаунта Google, и мы начали отправлять в индексатор по 6000+ ссылок в день. Для наглядности привожу скриншот отправленных ссылок в индексатор из Google Data Studio.
Рисунок 6. До 14 января отправляем по 200 ссылок. 15-17 января — тестовые дни написания скрипта, с 18 января отправляем по 6300 ссылок и более.
Как отреагировала Search Console? Статистика сканирования представлена на рисунке 7.
Рисунок 7. Сканирование сайта гуглботом увеличилось в 2-2,5 раза.
В дополнение скриншот из парсера логов сервера, который практически коррелирует с данными на рисунке 8.
Рисунок 8. Визуализация запросов к серверу (парсер логов) от googlebot.
Пояснения к рисункам 7 и 8: с 18 по 23 января мы отправили в Google indexing API тестовую партию ссылок (около 35 000 штук), а далее взяли паузу, чтобы подумать и обработать данные. Как мы видим, после завершения отправки данных googlebot перестал так часто посещать сайт (провал на 24-25 января, рис.№7 и №8).
Итоговый алгоритм действий вы найдете в конце статьи. А пока перейдем к результатам, хотя часть из них вы уже и видели на скриншотах выше.
Результаты
Ожидаемые результаты — это, конечно же, рост числа ссылок в индексе. Удивительно, но большая часть из первой (тестовой) партии ссылок была проиндексирована. Рост индексации с 23000 до 47000 ссылок — более чем в два раза за 10 дней (с 19 по 29 января, согласно рисунку 9).
Рисунок 9. Скриншот из Google Search Console.
Теперь об очевидном. В аналитике и оценке эффективности нашей работы мы используем платформу SEOWORK. В частности, благодаря отслеживанию большого пула ключей, мы обнаружили рост видимости в Гугл (рисунок 10).
Рисунок 10. Улучшение видимости в Гугл для ТОП-100, ТОП-10 и ТОП-5 ключей.
Итоговый алгоритм действий
1. Регистрируем новый аккаунт в Гугл.
2. Переходим сюда: https://console.cloud.google.com/apis/enableflow?apiid=indexing.googleapis.com&;credential=client_key&hl=ru&pli=1 и активируем API.
Рисунок 11. Активация API
3. Переходим сюда: https://console.cloud.google.com/projectselector2/iam-admin/serviceaccounts?supportedpurview=project и нажимаем на “Create Project”.
4. Затем создаем сервисный аккаунт.
Рисунок 12. Создание сервисного аккаунта.
5. Заполняем все данные, выбираем роль “Owner”. Нажимаем done.
Рисунок 13. Заполнение данных.
6. Кликаем по созданному аккаунту (на почту).
Рисунок 14. Выбираем “на почту”.
7. Переходим в раздел Keys и добавляем новый ключ. Выбираем формат Json и сохраняем файл ключа в папку скрипта json_keys.
Рисунок 15. Сохраняем файл ключа в папку скрипта json_keys.
8. В Google Search Console переходим в “Настройки” — “Пользователи и разрешения” — “Добавляем сервисную почту созданного аккаунта”.
Надеемся, что этот метод поможет тем, у кого также были проблемы с индексацией в Гугл, и кто ранее не использовал Google Indexing API. Будем рады ответить на ваши вопросы.
Автор: Дмитрий Федосеев (Ant-team.ru).
P.s. Подписывайтесь на наш телеграм-канал t.me/seoantteam, чтобы первыми узнавать о выходе новых материалов.
*Статья опубликована на VC.ru