Google при сканировании сайтов JavaScript и прогрессивных веб-приложений

Джон Мюллер из Google опубликовал подробное обновление о том, как Google в настоящее время обрабатывает сайты JavaScript (включая AJAX) и Progressive Web Apps в их индексе, сканировании и ранжировании

Джон Мюллер из Google опубликовал подробное обновление о том, как Google в настоящее время обрабатывает сайты JavaScript (включая AJAX) и Progressive Web Apps в их индексе, сканировании и ранжировании. Он разместил это на Google+ и назвал его «Обновление (март 2016 г.) о текущем состоянии и рекомендациях для сайтов JavaScript / Progressive Web Apps в Поиске Google.

Я просто привожу это больше дневного света, ссылаясь на это здесь:

  • Не прикрывайтесь роботом Google. Используйте «обнаружение функций» и «прогрессивное улучшение» [ 2 ] методы, чтобы сделать ваш контент доступным для всех пользователей. Избегайте перенаправления на страницу «неподдерживаемый браузер». Подумайте об использовании полифилла или другого безопасного отступления, где это необходимо. Функции, которые робот Googlebot в настоящее время не поддерживает, включают в себя Service Workers, Fetch API, Promises и requestAnimationFrame.
  • Используйте rel = canonical [ 3 ] при подаче контента с нескольких URL.
  • Избегайте схемы AJAX-Crawling на новых сайтах. Рассмотрите возможность миграции старых сайтов, которые используют эту схему в ближайшее время. Не забудьте удалить мета-фрагменты тегов при миграции. Не используйте тег meta meta, если URL «escape-фрагмент» не полностью отображает контент. [ 4 ]
  • Избегайте использования «#» в URL (за пределами «#!»). Робот Googlebot редко индексирует URL с символом «#». Вместо этого используйте «нормальные» URL-адреса с параметрами path / filename / query, рассмотрите возможность использования History API для навигации.
  • Используйте инструмент поиска и рендеринга Консоли поиска [ 5 ] чтобы проверить, как робот Google видит ваши страницы. Обратите внимание, что этот инструмент не поддерживает "#!" или "#" URL.
  • Убедитесь, что robots.txt не блокирует все необходимые ресурсы (включая файлы / каркасы JavaScript, ответы сервера, сторонние API и т. Д.). Инструмент Fetch and Render отобразит список обнаруженных заблокированных ресурсов. Если ресурсы неконтролируемо блокируются robots.txt (например, сторонними API) или иным образом временно недоступны, убедитесь, что ваш код на стороне клиента завершается неудачно.
  • Ограничьте количество встроенных ресурсов, в частности количество файлов JavaScript и ответов сервера, необходимых для отображения вашей страницы. Большое количество обязательных URL-адресов может привести к тайм-аутам и рендерингу без доступности этих ресурсов (например, некоторые файлы JavaScript могут не загружаться). Используйте разумные директивы кэширования HTTP.
  • Google поддерживает использование JavaScript для предоставления мета-тегов заголовков, описания и роботов, структурированных данных и других метаданных. При использовании AMP HTML-страница AMP должна быть статической, как того требует спецификация, но связанная веб-страница может быть построена с использованием методов JS / PWA. Не забудьте использовать файл карты сайта с правильными датами «lastmod» для сигнализации изменений на вашем сайте.
  • Наконец, имейте в виду, что другие поисковые системы и веб-службы, обращающиеся к вашему контенту, могут вообще не поддерживать JavaScript или могут поддерживать другое подмножество.

Джон закончил, сказав:

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

Обсуждение на форуме Google+ ,