Что нужно знать о рендеринге в поиске Google

Автор – Бартош Горалевич,  глава SEO-агентства Elephate.

В последние несколько лет сканирование и индексирование перешли в разряд активно обсуждаемых в SEO-сообществе тем. После того, как Google запустил фильтр Panda, люди ринулись проверять журналы сервера и статистику сканирования и начали устранять ошибки индексирования. Все эти проблемы не существовали в эру «SEO = входящие ссылки».

В связи с активным ростом технического SEO, оптимизаторам нужно всё больше вникать в эти вопросы. При этом до сих пор точно неизвестно, как Google сканирует сайты. В то же время многие SEO-специалисты всё ещё не могут сказать, в чём разница между сканированием и индексированием.

Наибольшая проблема, однако, состоит в том, что единственным инструментом при решении проблем с индексированием в арсенале оптимизатора является Сканер Google в Search Console. При этом, если на сайте используется не только HTML и CSS, то остаётся гадать, как контент будет проиндексирован поисковиком. Этот подход рискованный, дорогостоящий и не всегда рабочий. Даже если вы обнаружите участки сайта, которые не были проиндексированы должным образом, в большинстве случаев будет чрезвычайно трудно найти причину проблемы и те участки кода, которые привели к проблемам с индексацией.

К счастью, скоро это изменится. Недавно сотрудник Google Илья Григорик поделился очень важной информацией о том, как работают краулеры:

«Рендеринг в поиске Google: веб-рендеринг основан на Chrome 41; используйте feature detection, полифиллы и протоколирование ошибок (log errors)».

Что нужно знать о рендеринге в поиске Google

Интересно, что этот твит привлёк к себе не так много внимания, как можно было бы ожидать.

Что это сообщение значит для SEO-специалистов

Знание о том, что Web Rendering Service работает на основе Chrome 41, всё меняет. Перед публикацией этого твита, чтобы посмотреть, обрабатывается ли страница WRS, можно было использовать только Сканер Google в Search Console. Теперь же будет проще устранять технические проблемы, что в противном случае требовало бы проведения экспериментов и создания промежуточных сред. Отныне всё, что вам нужно, это скачать и установить Chrome 41, чтобы посмотреть, как сайт загружается в браузере.

Проверить возможности, поддерживаемые Chrome 41, можно по ссылкам Caniuse.com или Chromestatus.com (Googlebot должен поддерживать аналогичные функции). Эти два сайта делают жизнь разработчика проще.

Хотя мы точно не знаем, какой именно релиз имел в виду Илья, мы можем найти версию Chrome, используемую WRS, просмотрев журналы сервера. Это Chrome 41.0.2272.118.

Что нужно знать о рендеринге в поиске GoogleВ будущем Google начнёт использовать более позднюю версию Сhrome для рендеринга

Chrome 41 был создан два года назад. Соответственно, он сильно отличается от текущей версии браузера. Тем не менее, по словам Ильи Григорика, обновление не за горами:

Что нужно знать о рендеринге в поиске Google

Нам посчастливилось добиться того, чтобы Илья прочитал эту статью до её публикации, и он поделился ценной информацией по этой теме. В частности, он упомянул, что разработчики надеются обновить WRS к 2018 году.

Google использует Chrome 41 для рендеринга. Что это значит?

Теперь у нас есть полезная информация о том, как Google обрабатывает сайты. Но что это значит для создателей сайтов и их клиентов? Значит ли это, что отныне мы можем игнорировать рендеринг на стороне сервера и развёртывать богатые на JavaScript сайты с рендерингом на стороне клиента?

Не так быстро. На этот вопрос Илья ответил так:

«Для Googlebot +WRS, если вы используете feature detection и полифиллинг: верно. Однако есть ещё много преимуществ для SSR и других краулеров…».

Теперь мы знаем возможности WRS в отношении рендеринга JavaScript и то, как проводить отладку. Однако помните, что не все краулеры поддерживают сканирование JavaScript. В настоящее время в этот список входят Google и Ask. Даже если вас не интересуют социальные сети и другие поисковые системы помимо Google, следует помнить о том, что даже с использованием Chrome 41, Google способен индексировать не все JavaScript-фреймворки.

К примеру, мы столкнулись с проблемами при индексации контента Polymer. Илья Григорик рассказал, как справляться с такого рода затруднениями. На основе этой информации мы провели эксперимент, призванный сделать сайт http://jsseo.expert/polymer/ индексируемым. В настоящее время он хорошо работает в Chrome 41 и корректно индексируется.

«Если вы посмотрите на обнаруженную ошибку Javascript,  то увидите, что тестовая страница отдаёт ошибку из-за неподдерживаемого (в M41) синтаксиса ES6. Вы можете проверить это самостоятельно в M41 или использовать отладочный фрагмент, который мы предоставили в блоге, чтобы зарегистрировать ошибку в DOM и увидеть её».

По нашему мнению, это ещё один мощный инструмент для веб-разработчиков, которые хотят сделать свои JavaScript-сайты индексируемыми.

Если вы хотите посмотреть «живой» пример, откройте http://jsseo.expert/angular2-bug/ в Chrome 41 и используйте Инструменты Chrome для разработчиков, чтобы поиграть с JavaScript для устранения проблем с индексацией:

Что нужно знать о рендеринге в поиске GoogleСканер Google – это превью в Chrome 41

Есть ещё один интересный момент, связанный с Chrome 41. Инструмент Сканер Google в Search Console по сути представляет собой превью в Chrome 41. Изображение сайта с правой стороны (как посетитель сайта видит страницу) формируется ботом Google Search Console, который является… Chrome 41.0.2272.118.

Что нужно знать о рендеринге в поиске GoogleИмеются данные о том, что Googlebot и Google Search Console Bot обрабатывают страницы, используя Chrome 41. Но мы всё ещё не знаем, какие между ними есть различия. Одним заметным отличием является то, что бот Google Search Console не обращает внимание на файл robots.txt. Различий может быть больше, но на данный момент мы не смогли их обнаружить.

Chrome 41 vs Сканер Google: предупреждение

Chrome 41 – это отличный инструмент для отладки Googlebot. Однако иногда (не часто) возможны ситуации, в которых Chrome 41 обрабатывает страницу корректно, а скриншоты в Сканере Google говорят об обратном. Это может быть вызвано анимациями и переходами в CSS, тайм-аутами Googlebot или использованием тех функций, которые он не поддерживает. Давайте рассмотрим на примере.

Превью в Chrome 41:

Что нужно знать о рендеринге в поиске Google

Страница выше содержит достаточно большое количество контента и изображений, однако в Google Search Console она выглядит совершенно по-другому.

Превью для той же страницы в Google Search Console:

Что нужно знать о рендеринге в поиске GoogleНа скриншоте видно, что превью для этого URL в Google Search Console полностью отличается от того, что мы видели на предыдущем скриншоте (Chrome 41). Весь контент пропал и всё, что мы можем видеть – это поисковая строка.

Мы заметили, что Google Search Console обрабатывает CSS немного по-другому, чем Chrome 41. Это происходит не часто, но как и в случае большинства инструментов, лучше проверять дважды.

Всё это приводит нас к вопросу: «Какие функции поддерживают Googlebot и WRS?».

Согласно руководству по рендерингу в поиске Google, Googlebot не поддерживает IndexedDB, WebSQL и WebGL.

HTTP-сookies и местное хранилище, а также хранилище сессий очищаются между загрузками страниц.

Все функции, требующие разрешения пользователя (Notifications API, буфер обмена, push, device-info) отключены.

Google не может индексировать 3D- и VR-контент.

Googlebot поддерживает только сканирование HTTP/1.1, HTTP/2 пока не поддерживается.

Будущее Googlebot

Есть мнение, что консольный режим в Chrome 59 был создан для Googlebot. По меньшей мере, этот вопрос обсуждался в процессе работы над дизайном. Сложно сказать, правда ли это, но если это так, то Googlebot сможет «видеть» сайт так же, как и обычные интернет-пользователи.

Таким образом, вполне возможно, что в будущем Googlebot сможет сканировать даже самые сложные сайты.

Chrome 41 vs Googlebot: эффективность сканирования

Chrome 41 – это мощный инструмент для отладки сканирования и индексирования JavaScript. Однако важно проявлять осторожность и не начинать запуск сайтов только на основании результатов проверки в Chrome 41.

Даже если Googlebot может «видеть» ваш сайт, есть множество других факторов, которые могут повлиять на эффективность его сканирования. Например, у нас есть доказательства того, что Googlebot может индексировать JavaScript и другие JS-фреймворки. Но это не значит, что JavaScript – хороший выбор для SEO. Согласно собранным нами данным, JavaScript-страницы не сканируются даже наполовину так же эффективно, как страницы на основе HTML.

Вместо заключения

Сообщение Ильи Григорика пролило больше света на то, как Google сканирует страницы и благодаря этому, нам не нужно разрабатывать эксперименты для каждой фичи, которую мы тестируем. Вместо этого мы можем использовать для отладки Chrome 41.


Читайте также:

Добавить комментарий