В октябре я написал пост Скрытый текст и 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%; некоторые из них раньше болтались за пределами первой сотни. Результат налицо. Открытие текста кардинальным образом улучшило позиции.
Интересно также, что текст запроса куда чаще стал выводиться в сниппеты:
Подсвеченная фраза – та же, что приводилась в прошлом посте. В октябре она не появлялась в сниппете, даже если указать запрос в кавычках.
Выводы и практические рекомендации
- Скрытый текст действительно имеет меньший вес для Google.
- “Обмануть” Googlebot с помощью простого закрытия файлов стилей в robots.txt не получится. Робот старается воспринимать страницу так же как и пользователь. Robots.txt, по всей видимости, не оказывает на этот процесс большого влияния, хотя Google помечает закрытые css-файлы как проблему.
- Размещение текста в блоках, скрытых с помощью display:none (как это делается в ряде стандартных bootstrap-элементов) может отрицательно влиять на позиции по запросам, которые связаны с текстом в таких блоках.
- Без строгой необходимости, обусловленной, например, удобством пользователей, не стоит прятать текст, который может быть интересен посетителям из поисковых систем.
В целом, выводы достаточно ожидаемые. С другой стороны, ряд деталей интересны сами по себе. Например, то, как быстро и резко отреагировал поисковик, насколько мощным оказался прирост позиций. Очевидно, исследуемый фактор весьма силен – по крайней мере для длинных запросов.
Кроме того, быстрота, с которой выросли позиции, увеличивает достоверность выводов. Вероятность, что несколько десятков ключей одновременно стали ранжироваться лучше из-за какого-то другого фактора невелика (на сайте не было никаких других изменений, затронут только 1 css-файл). Поэтому, несмотря на то, что экспериментальная страница только одна, можно без особых сомнений использовать полученные выводы. Впрочем, если кто-то повторит эксперимент – буду рад посмотреть результаты.
Посмотрим что будет)
Интересный материал! Спасибо.
Спасибо, довольно интересно.
А если использовать не display none, а несколько предложений + кнопка подробнее, на нажатие по которой происходит полное раскрытие текста?
Думаю, Google отреагирует аналогично, суть ведь не в технических деталях, а в том видит ли пользователь или нет. Впрочем, возможны нюансы.
Тоже интересует этот вопрос. Вот если есть интернет-магазин настольных игр и в нем – в описании большой такой список ненумерованный комплектации, который спрятан под спойлер – то есть, текст такой же, но открывается по кнопке – что тогда?
Не совсем понял, что значит “то есть, текст такой же, но открывается по кнопке”. Если сайт уже существует, то можно просто проверить, выводятся ли в сниппет точные цитаты из скрытого текста. Если нет – возможно, стоит что-то менять.
Спасибо за эксперимернт.
Интересно узнать как реагирует на подобное Яндекс и что будет при скрытии части текста через js, например используя redmore.js
Насчет JS см. еще вот этот эксперимент, немного другая тема, но возможно будет интересно.
В чем интересен? Изобрели велосипед. Имхо бесполезное чтиво.
Николай, есть большая разница между знанием “я где-то прочитал” и “я это проверил на реальном сайте”. Ну и вы видимо не особо внимательно читали – я сам в начале пишу, что это известный факт, но в него не все верят.
А попробуйте на этих же сайтах снова активировать display:none, дождаться когда просядут позиции и использовать overflow:hidden с js (за скриптом на почту напишите если нужно).
Дело в том, что при overflow:hidden текст на странице ищется через CTRL+F, в отличие от display:none.
Может это как-то исправить ситуацию и мы дальше будем использовать спойлеры “Читать далее”?
Хм, любопытно. Будет время проверю)
А что вы думаете по поводу в3 валидатора,стоит ли зацикливаться на нем ?
На мой взгляд – не стоит. Важно только чтобы сайт корректно отображался в разных браузерах и на разных устройствах.
Еще мобильный индекс не введен, думаю, что эксперимент имеет смысл повторить месяца через два.
Да, с его введением ситуация может поменяться.
Для меня интересный эксперимент, я что-то пропустил информацию о том, что Google отдаёт меньше веса скрытому тексту. На ряде проектов использую скрытие SEO текста под “читать далее”.
Сейчас проверил официальный сайт одной компании с неконкурентными запросами. В Google нет сайта в ТОП-10 по цитатам из скрытого текста. Но в Яндексе вроде бы с этим нет проблем, всё индексируется и учитывается. Конкретно на том сайте display:none; с текстового блока убрать не могу, но есть ещё 2 проекта, на которых это сделаю ради эксперимента. Надо только позиции для Google снять предварительно. Нет, сейчас посмотрел, оказывается, на тех проектах я не использую display:none;, блоки прикрыты через overflow:hidden;. И сайт по длинным кускам из текста находится в ПС. Очень жаль, а так простым способом можно было бы позиции в Google приподнять :-).
Неудивительно – в справке этого нет, информация из отдельных заявлений представителей поисковика.
На самом деле вряд ли этот фактор такой решающий. Ведь какой-то контент на странице в любом случае открыт, самые важные ключи – в тайтле и h1. Но как дополнительный фактор – учитывать стоит.
У меня есть другое предложение. Это сделать прокручиваемый div?
Да, вариант, спасибо.
С Гуглом понятно. А как обстоят дела с Яшей?
Судя по всему, Яндекс корректно учитывает скрытый текст. С другой стороны, мы знаем, что в Яндексе сильны поведенческие, так что если данный текст не открывают и не читают, это может приводить к понижению его “значимости” для поисковика.
А не подскажите, как сейчас дела обстоят, актуальная ли информация в статье?
Повторный эксперимент не проводил, но легко видеть, что цитаты из скрытого текста по-прежнему плохо ищутся в Google и не отображаются в сниппете.