На конференции Google I/O, которая состоялась на прошлой неделе, сотрудники поиска рассказали о проблемах, связанных со сканированием и индексированием JavaScript.
Согласно Google, поисковый робот обрабатывает страницы, на которых активно используется JavaScript, в два этапа: первичное сканирование, а затем, несколько дней спустя, полный рендеринг. Однако с этим двухэтапным подходом связаны определённые проблемы, которые могут привести к тому, что в некоторых случаях Google может пропустить критически важные данные.
В частности, на втором этапе индексирования Googlebot не проверяет такие вещи, как атрибуты rel=canonical и метатеги. В результате, если они не были обработаны на первом этапе индексирования, в итоге они могут полностью отсутствовать и негативно влиять на индексацию и ранжирование.
Например, если сайт является PWA, созданным на основе модели одностраничного приложения, то есть вероятность, что все URL имеют некий базовый шаблон ресурсов, которые затем заполняются контентом через AJAX или Fetch-запросы. В данном случае, если сайт полагается на рендеринг на стороне клиента, при первичной обработке канонические теги выявлены не будут. А поскольку во время второго этапа индексирования Googlebot не проверяет канонические теги вообще, то в итоге они будут полностью отсутствовать.
Кроме того, если пользователь запрашивает URL, который не существует, а JS-сайт пытается вернуть страницу с ошибкой 404, то это также будет пропущено.
Сотрудник поиска Джон Мюллер подтвердил эту информацию в Twitter:
Во время совместной сессии с Томом Гринуэем он также подчеркнул, что на самом деле это не второстепенные, а важные проблемы.
Мюллер также рассказал, что у сайта Google I/O также были эти проблемы, которые привели к тому, что Google пришлось поменять подход к рендерингу этой страницы, чтобы она корректно сканировалась и индексировалась.
Позже Джон Мюллер отметил, что во избежание такого рода проблем сайты могут использовать динамический рендеринг, при котором они показывают полную версию Googlebot и другим краулерам, а обычную, JavaScript-версию, пользователям.
На вопрос, может ли такой подход расцениваться как клоакинг, Мюллер заявил, что нет, поскольку и пользователи, и Googlebot будут видеть один и тот же контент, но он будет по-разному предоставляться, чтобы Googlebot мог корректно его индексировать на первом этапе.
Источник: searchengines.ru