Робот Google может читать JavaScript — как должны реагировать SEO-специалисты?
Опубликовано: 2017-12-11Традиционно поисковые системы считывали и отображали только HTML-код веб-сайта. Это означало, что SEO-специалисты должны были сосредоточиться на оптимизации HTML-кода. Что это значит для поисковой оптимизации, если робот Googlebot теперь также может сканировать и индексировать JavaScript? Мы попросили нескольких отраслевых экспертов выяснить это.

Googlebot и JavaScript: что говорят эксперты
Чтобы получить разные точки зрения на тему Googlebot и JavaScript, мы задали нашим экспертам следующие вопросы:
- Google говорит, что Googlebot может сканировать веб-сайты, основанные на JavaScript. Какие проблемы и возможности вы видите для SEO-специалистов?
- Какие конкретные аспекты следует учитывать при планировании перезапуска веб-сайта на JavaScript?
- Какие изменения с точки зрения эффективности и точности вы ожидаете от обновления веб-рендеринга в Chrome?
А вот и ответы.
Мартин Таубер
Управляющий партнер, Marketing Factory GmbH
Веб-сайты на основе JavaScript предлагают большие возможности с точки зрения взаимодействия с пользователем, поскольку они быстрее и интерактивнее в использовании.
Тем не менее, у робота Google по-прежнему возникают трудности с интерпретацией JavaScript, а это означает, что разработка должна быть предельно чистой и основываться на тесном сотрудничестве с SEO-подразделением, если мы хотим избежать неприятных сюрпризов.
Доминик Войцик
Управляющий директор, Trust Agents
Есть возможности в том, что теперь у вас нет двух отдельных миров программирования (например, для экранированных фрагментов), что позволяет вам сосредоточиться на чистом коде и чистой веб-среде. Пока разработчики учитывают прогрессивное совершенствование и соответствующим образом разрабатывают свои веб-приложения, Google должен прекрасно справляться.
Однако есть скрытые проблемы. Какой фреймворк используется? Будет ли рендеринг на стороне клиента или возможно реализовать рендеринг на стороне сервера? Возможно ли вообще реализовать изоморфный JavaScript? JavaScript реализован внутри или снаружи? Как SEO-специалистам, нам придется провести невероятное количество тестов и попробовать разные вещи, чтобы убедиться, что Google индексирует и взвешивает наши страницы так, как мы хотим.
Перед повторным запуском следует принять тщательное решение о том, какой фреймворк будет использоваться. Следует учитывать как сканируемость, так и производительность. В идеале должна быть создана тестовая среда, позволяющая протестировать текущую разработку извне, если используется рендеринг на стороне клиента. Тем не менее, я настоятельно рекомендую также использовать рендеринг на стороне сервера. Это влияет на производительность сервера, но должно минимизировать риски. Прежде всего, вам действительно нужно тестировать, тестировать и тестировать, используя выборку и рендеринг, чтобы увидеть, что робот Googlebot находит, индексирует и сканирует.
Если Google, наконец, переключится на версию Chrome выше V49, тогда мы сможем использовать безголовый Chrome в сочетании с чем-то вроде Rendertron для создания тестовых сред, которые позволят нам имитировать настройку, аналогичную настройке Googlebot. Это поможет нам лучше понять, как и что Google может интерпретировать. Это значительно облегчило бы работу нам, SEO-специалистам.
Бартош Горальвич
Соучредитель и руководитель отдела SEO, Elephate
На саммите Searchmetrics Summit в ноябре 2017 года Бартош Горалвич из Elephate рассказал о взаимосвязи между Googlebot и JavaScript:
Стефан Чиш
Основатель и управляющий директор Trust Agents

Мы не хотим, чтобы SEO-специалисты (или агентства) слышали, как люди говорят: «Кстати, мы скоро переходим на JavaScript. Есть ли что-то, о чем мы должны думать с точки зрения SEO? Не должно быть, должно быть? Но было бы здорово, если бы вы могли быстро просмотреть его до того, как мы запустим новый сайт в понедельник». Этот сценарий неизбежно закончился бы полным хаосом. Бартош [в видео выше] представил замечательный взгляд на тему JavaScript и SEO.
Помимо вопроса о том, что может отобразить Google, SEO-специалисты должны при повторном запуске веб-сайта смотреть, что может видеть бот, и устанавливать, что отличается от старого веб-сайта. Недавно я имел дело с веб-сайтом, где после перезапуска JavaScript была нарушена вся внутренняя система ссылок, потому что логика ссылок старого сайта не была перенесена. Были также проблемы с hreflang. Поэтому очень важно работать с контрольным списком желаемых «функций SEO». Кроме того, вы должны спросить, что на самом деле означает рендеринг JavaScript для вашего использования: какое оборудование они используют для доступа к вашему веб-сайту и как это повлияет на время загрузки? Для получения дополнительной информации по этой теме могу порекомендовать эту статью Эдди Османи.

Себастьян Адлер
SEO-консультант , jump.de
Даже с улучшенными возможностями сканирования JavaScript Google предпочтет чистый HTML-контент, потому что он требует меньше ресурсов. Вопрос не в том, может ли Google читать и отображать JS, а в том, можете ли вы взять часть работы из рук Google. Если мой контент читается, работает и быстро загружается без JS, то для меня это все же лучше.
Возможность рендеринга всегда зависит от технологии, стоящей за ней, и, как сказал Бартош (уважение ему за все усилия, которые он вкладывает в свои эксперименты и исследования!), вы должны полностью понимать технологию, если хотите использовать ее наилучшим образом. . Прекрасная возможность здесь заключается в минимизации рисков за счет предоставления важного контента в виде HTML и использования JS только так, как он предназначен: для дополнительных функций. Самая большая трудность заключается в поиске ошибок, если вы полностью привержены JavaScript.
При перезапуске страницы убедитесь, что контент, который вы хотите ранжировать, работает без JavaScript. Это включает в себя не только основной контент, но и элементы навигации. Многие страницы не имеют меню, когда JS деактивирован. Имеет смысл не включать каждую причудливую функцию, а спросить, действительно ли функция необходима для вашего бизнеса и вашей целевой аудитории. Каковы были бы последствия, если бы определенная функция не работала? А затем сделать соответствующие тесты.
Помимо того факта, что я не ожидаю, что Google будет очень хорошо сообщать об обновлении веб-рендеринга веб-мастерам, я ожидаю, что главное, что изменится, будет восприимчивость к ошибкам. Chrome и фреймворки развиваются очень быстро, и с выходом новых версий в RWS могут появиться новые ошибки.
Некоторые вещи наверняка будут обрабатываться быстрее или отображаться более четко. Но главная проблема осталась прежней. Код с ошибками (с точки зрения используемого движка) не может быть интерпретирован. Мы должны выяснить, как движок интерпретирует наш код. Во время разработки это изменяет инструмент, который мы должны использовать для отладки. Но если у вас есть самые важные активы в виде быстро загружаемых HTML-файлов (и т. д.), то вам не о чем беспокоиться — вы можете сосредоточиться на правильной работе с SEO.
Бьорн Бет
Директор по профессиональным услугам, Searchmetrics

Мы должны различать сканирование и индексирование. Google может сканировать JavaScript, но это требует гораздо больше ресурсов, чем сканирование чистого HTML. Это более проблематично для индексатора, который отображает ссылки (URL), которые он получает от сканера, с помощью службы веб-рендеринга (WRS) аналогично Fetch & Render в Search Console. Для этого Google использует собственный браузер Chrome (версия 41). С помощью браузера он пытается создать объектную модель документа (DOM) и интерпретировать страницу так, как она будет отображаться в браузере. Это может привести к проблемам, поскольку Google, например (как показано в тестах, проведенных Distilled и Bartosz Goralewicz), не может справиться с проблемами в коде или возникают другие большие проблемы при рендеринге, так что Google останавливает рендеринг на странице через пять секунд. . Это показали тесты, проведенные Screaming Frog.
По сути, JavaScript значительно усложняет сканирование и индексирование и создает крайне неэффективные отношения между ними. Если SEO важно для вас, вы всегда должны убедиться, что бот может читать ваши страницы максимально быстро и эффективно.
Перед повторным запуском с веб-сайта на основе HTML на платформу или библиотеку на основе JavaScript вы должны убедиться, что включен рендеринг на стороне обслуживания. Например, у React есть собственное решение, которое называется renderToString. При этом используется независимый от браузера интерфейс DOM, который отображает JavaScript на сервере, создает DOM и отправляет его боту. AngularJS использует Angular Universal. Это доказывает клиенту все, что важно, как предварительно обработанный HTML. Затем клиент получает JavaScript по мере необходимости. Однако вы также можете работать с безголовым Chrome на сервере и отправлять боту предварительно обработанный HTML.
Прежде всего, я ожидаю от Chrome 59 более быстрого и эффективного рендеринга, приближающегося к производительности наравне с чистым HTML. Только тесты покажут, так ли это на самом деле.
Проползти по грязи: оцените состояние своего веб-сайта
Анализируйте как HTML, так и JavaScript с помощью Оптимизации структуры сайта, включая JavaScript Crawler теперь с Searchmetrics! Ваши преимущества:
- Сканируйте все соответствующие фреймворки JavaScript, включая Angular и React.
- Повышение производительности веб-сайта с помощью приоритетного списка технических проблем
- Сравните обходы с обходом JavaScript и без него
Узнайте больше о нашем сканировании JavaScript
И что ты думаешь?
Это то, что думают эти пять экспертов, но у нас гораздо больше экспертов, читающих этот блог. Итак, что вы думаете о JavaScript? Вы уже вносили изменения на свои сайты? Вы уже обнаружили что-нибудь интересное в своих тестах?
