Нальчик Выбрать город
Позвоните нам
8 800 555-23-46
звонок по Роcсии бесплатный
+7 (495) 580 30 45 Москва
+7 (917) 338 51 54 Нальчик
Все контакты и офисы
Напишите нам: info@apriorum.com

Спросить онлайн

SEO тест: ускорение индексации js сайтов

Ускорение индексации сайта на js — лайфхак от Дэвида Кюннена

В январе 2019 года Дэвид Кюннен, специалист из Германии, опубликовал итоги своего эксперимента по ускорению индексации сайта на js — «Как добавить 250 тысяч страниц в индексацию Google» («How to get 250k+ pages indexed by Google»). Сайт, о котором речь в статье, разработан с React App на фронтенде и имел несколько сотен тысяч страниц.

В ходе тестирования вначале был настроен SSR - серверный рендеринг. Это позволило увеличить скорость обхода страниц Google, но незначительно.

Дэвид исходил из предпосылки, что SPA-сайты (Single Page Applications) с клиентским рендерингом индексируются дважды. Сначала Googlebot смотрит на HTML и следует по ссылкам, которые находит. А после того, как контент отправляется рендереру, получается окончательный HTML. Это не слишком затратно для Google, но происходит очень медленно. SSR помогает гуглу сразу видеть все нужные ссылки в коде. (В комментариях к публикации также рассматривается альтернатива SSR - использование пререндерера.)

Значительного, в несколько раз, увеличения скорости индексирования удалось добиться отключением js для бота.

Поисковик выделяет ограниченное количество ресурсов для индексации конкретного сайта. Несмотря на то, что Google видит все ссылки в начальном HTML, но он все равно отправляет все в свой рендерер, чтобы убедиться, ничего ли не осталось для индексации — из-за наличия в коде JavaScript не понимая, все ли находится в начальном HTML.

Поэтому, Давид решил удалить для ботов весь JavaScript.

if(isBot(req)) {
    completeHtml = completeHtml.replace(/]*>(?:(?!<\/script>)[^])*<\/script>/g, "")
}

Сразу же после этих изменений скорость обхода Google увеличилась до 5-10 страниц в секунду.

Итоговая рекомендация от Дэвида Кюннена: Если вы хотите, чтобы Google проиндексировал ваш большой сайт, отдавайте ему сразу финальный HTML, и удалите весь JavaScript (конечно же, за исключением Schema-JS).

Главный вопрос, который обязательно сразу возникает у seo специалиста: не воспримут ли поисковые системы такую отдачу содержимого сайта как манипулирование и подмену информации сайта для поисковиков, относимых к черным методам оптимизации?

Оказывается, нет. Смотрим https://developers.google.com/search/docs/guides/dynamic-rendering. В статье Google рекомендует использовать динамическое отображение контента. Оно дает возможность предоставлять некоторым агентам пользователя контент страницы, предварительно обработанный на сервере. Для работы динамического отображения ваш сервер должен распознавать поисковых роботов (например, проверяя агент пользователя). Запросы от роботов передаются средству отображения, а запросы от пользователей обрабатываются обычным образом. При необходимости средство динамического отображения возвращает версию контента, которая может быть обработана роботом, например статическую HTML-страницу.

Динамическое отображение рекомендуется применять для индексируемого контента, который создается пользователями с помощью JavaScript и часто изменяется, а также для контента, в котором есть функции JavaScript, не поддерживаемые нужными роботами. Не все сайты требуют динамического отображения, оно нужно лишь для корректной работы поисковых роботов.

Актуальный вопрос для многих seo-специалистов — влияние js на продвижение сайта. Специалисты APRIORUM GROUP решили провести эксперимент и проверить это в боевых условиях, создав js сайты и проверив их индексацию. В статье мы подробно рассказываем о ходе эксперимента, seo для реактивных страниц с синхронной и асинхронной загрузкой, особенностях индексации js сайтов и рекомендациях. Подробнее об индексации js сайтов читайте в нашей статье «Индексация js сайтов».

ПОЛУЧИТЕ ОТВЕТ НА СВОИ ВОПРОСЫ или ОТПРАВЬТЕ ЗАПРОС

Задайте вопрос о продвижении сайта, рекламе или развитии бизнеса или отправьте запрос по работам. Мы стараемся отвечать на Ваши запросы в течение 24 часов.