Эксперимент: ранжирование скрытого текста в Google

В октябре я написал пост Скрытый текст и Google или Иногда все-таки полезно читать заявления поисковиков. Краткое содержание: представители Google утверждают, что текст, который выводится в исходный код, но не отображается на странице, имеет меньший вес в глазах поискового робота. Этому легко найти подтверждения (в статье есть примеры). Вывод — не используем скрытый текст без особой необходимости.

Статья, на мой взгляд, была совершенно проходная (просто повторяла достаточно известные вещи), однако вызвала живое обсуждение в среде специалистов. Многим приведенные аргументы показались недостаточно убедительными. Я сам люблю во всем сомневаться, это краеугольный камень моего подхода к SEO (см. подробнее). Тем не менее, непонятно, зачем гугловцам что-то скрывать в этом сугубо техническом вопросе.

С другой стороны, проверить никогда не помешает. А попутно можно прояснить еще парочку любопытных вопросов.

Ход эксперимента

Тестовый объект — все та же страница http://smmup.ru/faq.php

22.11.2016 я скопировал весь текст, размещенный в «захлопнутых» блоках (тип элемента — Bootstrap Collapse, скрывается с помощью display:none в CSS) и разбил на предложения, отбросив слишком короткие. Всего получилось 62 фразы. Далее по ним были собраны позиции в Google с помощью Rush Analytics (кстати, тут мой обзор сервиса с тестом качества кластеризации). Вот примеры запросов (кликабельно):

Попытка 1: закрываем CSS с помощью robots.txt

Затем я дописал в robots.txt следующее:

Disallow: /assets/

В папке assets содержатся все css-файлы сайта. Смысл в том, чтобы посмотреть, как изменятся позиции, если роботу будет закрыт доступ к файлу, который и обеспечивает скрытие текста. Возможно вы помните, как примерно год назад Google рассылал такие письма:

То есть закрытие CSS теоретически могло улучшить ранжирование по ключам из скрытого текста — если только Disallow: действительно запрещает доступ. Я отправил запрос на переиндексацию страницы через Search Console:

Обратите внимание:

  • вариант «так увидел эту страницу робот» не содержит скрытого текста (легко видеть на примере вопроса «Это бесплатно?»).
  • перечислены как недоступные все таблицы стилей.

Вскоре страница была переиндексирована; дата сохраненной копии сменилась на 22 ноября. Вплоть до 11 декабря (почти три недели) я ждал, регулярно снимая позиции. Никаких особых изменений замечено не было, обычный «шторм» не более чем на 10-15 фразах, преимущественно плюс-плюс минус 1 позиция.

Попытка 2: убираем display:none, открываем текст по-настоящему

Вчера, то есть 11 декабря, я изменил файл стилей, прописав классу, который отвечает за блоки контента, display:block. Все пункты FAQ «расхлопнулись» и контент стал виден без кликов. Затем снова отправил в Search Console запрос на переиндексацию. Robots.txt при этом остался неизменным. Googlebot послушно скачал страницу, дата сохраненной копии сменилась.

Сегодня в середине дня проверка позиций показала следующее:

Вчера в ТОП-3 было 37% запросов, сегодня стало 87%; некоторые из них раньше болтались за пределами первой сотни. Результат налицо. Открытие текста кардинальным образом улучшило позиции.

Интересно также, что текст запроса куда чаще стал выводиться в сниппеты:

Подсвеченная фраза — та же, что приводилась в прошлом посте. В октябре она не появлялась в сниппете, даже если указать запрос в кавычках.

Выводы и практические рекомендации

  1. Скрытый текст действительно имеет меньший вес для Google.
  2. «Обмануть» Googlebot с помощью простого закрытия файлов стилей в robots.txt не получится. Робот старается воспринимать страницу так же как и пользователь. Robots.txt, по всей видимости, не оказывает на этот процесс большого влияния, хотя Google помечает закрытые css-файлы как проблему.
  3. Размещение текста в блоках, скрытых с помощью display:none (как это делается в ряде стандартных bootstrap-элементов) может отрицательно влиять на позиции по запросам, которые связаны с текстом в таких блоках.
  4. Без строгой необходимости, обусловленной, например, удобством пользователей, не стоит прятать текст, который может быть интересен посетителям из поисковых систем.

В целом, выводы достаточно ожидаемые. С другой стороны, ряд деталей интересны сами по себе. Например, то, как быстро и резко отреагировал поисковик, насколько мощным оказался прирост позиций. Очевидно, исследуемый фактор весьма силен — по крайней мере для длинных запросов.

Кроме того, быстрота, с которой выросли позиции, увеличивает достоверность выводов. Вероятность, что несколько десятков ключей одновременно стали ранжироваться лучше из-за какого-то другого фактора невелика (на сайте не было никаких других изменений, затронут только 1 css-файл). Поэтому, несмотря на то, что экспериментальная страница только одна, можно без особых сомнений использовать полученные выводы. Впрочем, если кто-то повторит эксперимент — буду рад посмотреть результаты.

22 комментария

  1. Посмотрим что будет)

  2. Интересный материал! Спасибо.

  3. Спасибо, довольно интересно.
    А если использовать не display none, а несколько предложений + кнопка подробнее, на нажатие по которой происходит полное раскрытие текста?

    • Думаю, Google отреагирует аналогично, суть ведь не в технических деталях, а в том видит ли пользователь или нет. Впрочем, возможны нюансы.

      • Тоже интересует этот вопрос. Вот если есть интернет-магазин настольных игр и в нем — в описании большой такой список ненумерованный комплектации, который спрятан под спойлер — то есть, текст такой же, но открывается по кнопке — что тогда?

      • Алексей Трудов
        Алексей Трудов

        Не совсем понял, что значит «то есть, текст такой же, но открывается по кнопке». Если сайт уже существует, то можно просто проверить, выводятся ли в сниппет точные цитаты из скрытого текста. Если нет — возможно, стоит что-то менять.

  4. Спасибо за эксперимернт.
    Интересно узнать как реагирует на подобное Яндекс и что будет при скрытии части текста через js, например используя redmore.js

  5. В чем интересен? Изобрели велосипед. Имхо бесполезное чтиво.

    • Николай, есть большая разница между знанием «я где-то прочитал» и «я это проверил на реальном сайте». Ну и вы видимо не особо внимательно читали — я сам в начале пишу, что это известный факт, но в него не все верят.

  6. А попробуйте на этих же сайтах снова активировать display:none, дождаться когда просядут позиции и использовать overflow:hidden с js (за скриптом на почту напишите если нужно).
    Дело в том, что при overflow:hidden текст на странице ищется через CTRL+F, в отличие от display:none.
    Может это как-то исправить ситуацию и мы дальше будем использовать спойлеры «Читать далее»?

  7. А что вы думаете по поводу в3 валидатора,стоит ли зацикливаться на нем ?

    • На мой взгляд — не стоит. Важно только чтобы сайт корректно отображался в разных браузерах и на разных устройствах.

  8. Еще мобильный индекс не введен, думаю, что эксперимент имеет смысл повторить месяца через два.

  9. Для меня интересный эксперимент, я что-то пропустил информацию о том, что Google отдаёт меньше веса скрытому тексту. На ряде проектов использую скрытие SEO текста под «читать далее».
    Сейчас проверил официальный сайт одной компании с неконкурентными запросами. В Google нет сайта в ТОП-10 по цитатам из скрытого текста. Но в Яндексе вроде бы с этим нет проблем, всё индексируется и учитывается. Конкретно на том сайте display:none; с текстового блока убрать не могу, но есть ещё 2 проекта, на которых это сделаю ради эксперимента. Надо только позиции для Google снять предварительно. Нет, сейчас посмотрел, оказывается, на тех проектах я не использую display:none;, блоки прикрыты через overflow:hidden;. И сайт по длинным кускам из текста находится в ПС. Очень жаль, а так простым способом можно было бы позиции в Google приподнять :-).

    • я что-то пропустил информацию о том, что Google отдаёт меньше веса скрытому тексту

      Неудивительно — в справке этого нет, информация из отдельных заявлений представителей поисковика.

      Очень жаль, а так простым способом можно было бы позиции в Google приподнять :-).

      На самом деле вряд ли этот фактор такой решающий. Ведь какой-то контент на странице в любом случае открыт, самые важные ключи — в тайтле и h1. Но как дополнительный фактор — учитывать стоит.

  10. У меня есть другое предложение. Это сделать прокручиваемый div?

  11. С Гуглом понятно. А как обстоят дела с Яшей?

    • Судя по всему, Яндекс корректно учитывает скрытый текст. С другой стороны, мы знаем, что в Яндексе сильны поведенческие, так что если данный текст не открывают и не читают, это может приводить к понижению его «значимости» для поисковика.

Оставить ответ