
В Вебмастере приходит уведомление: на сайте обнаружен скрытый текст, вот примеры страниц. Владелец открывает эти страницы, ничего подозрительного не видит и решает, что это ошибка Яндекса. Ошибки почти никогда нет: скрытый текст на сайте действительно есть, просто добавил его не владелец, а взломщик, купленный шаблон или бывший подрядчик. Видно его только роботу — в этом и весь смысл приёма.
Дальше — что именно справка Яндекса относит к скрытому тексту, какие приёмы нарушением не являются, как найти это у себя за вечер и почему удаление видимой части проблему не закрывает.
Что Яндекс называет скрытым текстом
Определение из справки простое: скрытые тексты — это тексты с ключевыми словами или фразами, которые пользователь не видит, а индексирующий робот замечает. То есть ключевой признак не в способе, а в расхождении: человек видит одно, робот получает другое.
Способы, которые справка называет прямо:
- текст, скрытый техническими приёмами вроде
display: none; - вынос текста за пределы видимой части сайта;
- белый текст на белом фоне — или любой другой, совпадающий с фоном;
- крайне мелкий шрифт, который прочитать невозможно.
Никаких порогов и процентов в справке нет: не сказано «до такого-то размера шрифта можно», не указано допустимое количество скрытых слов. Оценивается сам факт — есть ли на странице текст, который размещён для робота, а не для человека.
Того же рода приёмы, которые в справке отдельно не названы, но подпадают под определение по существу: visibility: hidden на блоке с ключами, нулевая высота контейнера с overflow: hidden, отрицательный отступ, прозрачный цвет, нулевой размер шрифта, блок под картинкой по слоям, ключи в noscript. Признак один: пользователь этого не читает.
Что скрытым текстом не является
Это самая важная часть: из страха перед нарушением часто ломают нормальные интерфейсы. Справка о SEO-текстах прямо перечисляет, что нарушением не считается:
- Сворачиваемые блоки текста, повышающие удобство. Табы, аккордеоны, спойлеры, «показать полностью» — если пользователь может раскрыть содержимое и оно ему адресовано, это нормальный интерфейс.
- Умеренные облака тегов для навигации. Именно умеренные и именно для навигации, а не список из тысячи запросов внизу страницы.
- Необходимые повторы в меню, каталогах и прайсах. Одинаковые названия в списке товаров — свойство документа, а не спам.
- Специализированные тексты, где повторы стандартны. Юридические документы, инструкции, стандарты и регламенты.
Разница между спойлером и нарушением — в адресате. Свёрнутый FAQ написан для человека, который откроет нужный вопрос. Блок с перечнем городов под display:none раскрыть нельзя никаким действием — он не для человека.
| Приём | Нарушение | Почему |
|---|---|---|
| Аккордеон с вопросами и ответами | Нет | Пользователь раскрывает содержимое сам |
| Табы с характеристиками и отзывами | Нет | Стандартный интерфейс, контент доступен |
| «Читать полностью» на длинном описании | Нет | Текст открывается по клику |
| Мобильное меню, скрытое до нажатия | Нет | Скрыто по логике интерфейса, не ради ключей |
Блок с перечнем городов под display:none |
Да | Раскрыть нельзя, размещён для робота |
| Абзац цветом фона внизу страницы | Да | Прямо назван в справке |
| Ключевые слова шрифтом в один пиксель | Да | Прочитать невозможно |
| Текст, уведённый за экран отступом | Да | Вынос за пределы видимой части |
Ссылки в скрытом div внизу шаблона |
Да | Скрытые ссылки, частый след взлома |
| Разный контент для робота и для человека | Да | Это уже клоакинг, отдельное нарушение |
Скрытые ссылки и взлом
Чаще всего скрытый текст появляется без ведома владельца. Механизм описан и самим Яндексом: на сайт попадает код, который при загрузке страницы обращается к удалённому серверу, получает набор ссылок и вставляет их в невидимый блок. Иногда код определяет, кто пришёл, и отдаёт ссылки только роботу.
Как это выглядит в разметке: ссылка с классом, у которого в CSS прописано display:none, либо style="display:none" прямо в атрибуте, либо контейнер с нулевой высотой и overflow:hidden. Анкоры обычно выдают себя сразу — тематика к сайту отношения не имеет.
Главное, что нужно знать: удалить видимую часть недостаточно. Если не закрыта уязвимость, через которую код попал на сайт, ссылки вернутся. Поэтому порядок такой — сначала найти и устранить причину, потом чистить страницы, и только затем отправлять на перепроверку.
Проверьте и бесплатные шаблоны с плагинами из непроверенных источников: это второй по частоте источник скрытых ссылок после взлома. Они бывают вшиты в сам шаблон и восстанавливаются после обновления.
Чем скрытый текст отличается от соседних нарушений
| Нарушение | В чём суть | Как проявляется | Что делать |
|---|---|---|---|
| Скрытый текст | На странице есть текст, который видит только робот | Уведомление в Вебмастере, страницы временно исключаются из поиска | Убрать текст и закрыть причину его появления |
| Клоакинг | Посетителю и роботу отдаётся разная информация | Санкции на сайт, часто после проверки вручную | Отдавать всем одинаковый контент |
| SEO-текст | Бессвязные тексты с ключами, раздутый объём | Страницы не растут, возможны санкции | Переписать под реальные вопросы людей |
| Малополезный контент | Страница не отвечает на запрос | Медленное сползание позиций | Добавить факты или объединить страницы |
Путать их не стоит: набор действий разный. Как в целом отличить санкции от обычной просадки и что смотреть по шагам, я описывал в инструкции как понять, что сайт под фильтром.
Как найти скрытый текст у себя
| Шаг | Что делаете | Что ищете |
|---|---|---|
| 1 | Открываете уведомление в Вебмастере и список примеров страниц | С каких страниц начинать |
| 2 | Выделяете весь текст страницы мышью или горячими клавишами | Подсветятся области, где текст есть, а глазу его не видно |
| 3 | Отключаете CSS в инструментах разработчика | Всё скрытое стилями станет видимым |
| 4 | Смотрите исходный код страницы | display:none, visibility:hidden, нулевые размеры, отрицательные отступы, чужие ссылки |
| 5 | Проверяете страницу инструментом проверки ответа сервера в Вебмастере | Совпадает ли то, что получает робот, с тем, что видите вы |
| 6 | Ищете по файлам шаблона и по базе подозрительные конструкции | Массовые вставки в шаблоне, footer, виджетах |
| 7 | Проверяете плагины, темы и модули из непроверенных источников | Вшитые ссылки и обфусцированный код |
| 8 | Смотрите даты изменения файлов и логи доступа | Когда и через что попал посторонний код |
| 9 | Меняете пароли доступа и обновляете систему | Закрытие причины, а не следствия |
| 10 | Отправляете страницы на переобход | Возврат в индекс после устранения нарушения |
Шаг 5 самый показательный: если код, который получает робот, отличается от того, что отдаётся браузеру, у вас не скрытый текст, а клоакинг. Если же страницы пришлось выкинуть целиком, порядок правильного удаления разобран в материале как удалить страницу из поиска.
Что бывает за нарушение
По справке последствие такое: наличие скрытого текста считается нарушением, и страницы, где он найден, временно исключаются из поиска. Уведомление с примерами страниц приходит в Вебмастер автоматически.
Что из этого следует. Ограничение может касаться не всего сайта, а отдельных страниц — трафик падает не до нуля, и проблему легко не заметить. «Временно» означает до устранения: после чистки и переобхода страницы возвращаются. Срок возврата не фиксирован, и ускорить его можно только переобходом, а не письмами.
Отдельно про ручную оценку: часть проверок делают люди, и им очевидно, что блок с городами внизу страницы написан не для читателя. Как это устроено — в разборе про асессоров Яндекса.
Когда трогать ничего не надо
- У вас табы и спойлеры с нормальным содержимым. Справка прямо разрешает сворачиваемые блоки, улучшающие удобство. Разворачивать их «на всякий случай» и портить страницу не нужно.
- Скрыто мобильное меню или всплывающая подсказка. Это интерфейс, а не текст для робота.
- Есть повторы в каталоге или прайсе. Тоже названо в справке как норма.
- Уведомления в Вебмастере нет, а позиции упали. Тогда причина другая, и начинать надо не с поиска скрытого текста. Иногда позиции поднимаются вообще без правки текста и ссылок — механика описана в материале как поднять позиции, не трогая ни текст, ни ссылки.
- Текст виден, но вам кажется, что его «слишком много». Это уже вопрос переспама и полезности, а не скрытого текста. Смежная тема — как поиск относится к машинному тексту, о ней есть отдельный разбор: как Яндекс отличает текст нейросети от живого автора.
Как чинить и что не поможет
Работает: удалить скрытые блоки и ссылки из шаблона и базы; закрыть уязвимость и обновить систему; сменить все пароли, включая FTP и базу; заменить сомнительные темы и плагины на официальные; отправить страницы на переобход; позже проверить, не вернулось ли.
Не работает: закрыть скрытый блок от индексации в robots.txt — это не отменяет нарушения; заменить display:none на другой способ скрытия; сделать шрифт не одним пикселем, а двумя; удалить видимую часть, не разобравшись, как она появилась; написать в поддержку и ждать, ничего не исправив.
Если правки в шаблоне и на сервере делать некому, это стандартная техническая работа — доработка сайта. А когда нужно сначала понять весь список проблем, а не только эту, имеет смысл начать с SEO-аудита сайта: скрытый текст редко бывает единственной находкой. При регулярной работе над сайтом такие вещи вообще не доходят до уведомлений — это часть того, что входит в белое продвижение сайта в Яндексе.
И последнее: страницы, с которых убрали скрытые ключи, часто оказываются пустыми по содержанию. Им нужна переработка — порядок описан в материале про то, как актуализировать старые статьи.
Коротко
- Скрытый текст по справке — текст с ключевыми словами, который видит робот и не видит пользователь. Признак в расхождении, а не в конкретном приёме.
- Справка прямо называет
display:none, вынос за пределы видимой части, текст цветом фона и крайне мелкий шрифт. - Порогов и процентов в справке нет: оценивается сам факт.
- Табы, спойлеры, «показать полностью», умеренные облака тегов и повторы в прайсах нарушением не считаются.
- Последствие — временное исключение затронутых страниц из поиска и уведомление в Вебмастере.
- Чаще всего скрытые ссылки появляются после взлома или из непроверенного шаблона, а не по воле владельца.
- Удаления видимой части недостаточно: без закрытия уязвимости код вернётся.
- Закрывать скрытый блок в robots.txt бессмысленно — нарушение от этого не исчезает.
Частые вопросы
Можно ли использовать спойлеры и аккордеоны?
Да. Справка о SEO-текстах прямо относит сворачиваемые блоки текста, повышающие удобство, к тому, что нарушением не является. Условие одно: содержимое должно раскрываться действием пользователя и быть написано для него.
Какой размер шрифта считается «крайне мелким»?
Конкретного значения в справке нет. Формулировка про невозможность прочитать, а не про число пикселей. Ориентир простой: если текст нельзя прочитать без увеличения, он существует не для человека.
Я закрыл скрытый блок в robots.txt — этого хватит?
Нет. Запрет обхода не отменяет того, что на странице есть текст для робота. Блок нужно убрать со страницы.
Как понять, что скрытые ссылки появились из-за взлома?
По трём признакам: тематика анкоров никак не связана с вашим сайтом; блок находится в общем шаблоне и есть на всех страницах; даты изменения файлов не совпадают с вашими правками. В этом случае чистка страниц — второй шаг, первый — закрыть уязвимость и сменить пароли.
Сколько ждать возврата страниц в поиск?
Точного срока нет. Ускорить можно только отправкой страниц на переобход после устранения нарушения. Повторные обращения в поддержку без исправлений ничего не дают.
Увеличьте позиции и продажи вашего сайта
Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:
Остались вопросы по продвижению?
Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.
Связаться со мной →
Комментарии
Артём
Пришло уведомление, полез смотреть — внизу шаблона блок с ссылками на казино. Сайт на WordPress, тему скачивал бесплатно года три назад. Стыдно, но теперь понятно.
Анатолий Кузнецов автор
Стыдиться нечего, это очень распространённая история. Важно не просто вырезать блок, а заменить саму тему: в бесплатных сборках ссылки часто вшиты в несколько файлов и возвращаются при обновлении. И проверьте остальные плагины из того же источника.
Вера
Возражение: у нас весь FAQ в аккордеонах, и подрядчик требует всё развернуть, иначе «Яндекс посчитает скрытым текстом». Кто прав?
Анатолий Кузнецов автор
Правы вы. Справка о SEO-текстах прямо перечисляет сворачиваемые блоки среди того, что нарушением не является. Покажите подрядчику этот пункт. Разворачивать рабочий FAQ на всю длину — значит ухудшить страницу без причины.
Сергей
Вопрос новичка: а если текст виден, но я поставил его серым на светло-серый фон, чтобы не мешал дизайну? Это уже нарушение?
Анатолий Кузнецов автор
Критерий тут не намерение, а результат: можно ли это прочитать. Если текст сливается с фоном и его приходится выделять мышью, чтобы разобрать, — это тот самый случай из справки. Плюс это провал по доступности. Либо делайте контраст нормальным, либо убирайте текст совсем.
Михаил
Шаг с выделением всего текста мышью — гениально просто. Нашёл у себя два блока за минуту, без всяких инструментов.
Ирина
История из практики: удалили скрытые ссылки, отправили на перепроверку, через две недели они вернулись. Оказалось, был ещё один вход через старый файл загрузки.
Анатолий Кузнецов автор
Ровно то, о чём предупреждает и сам Яндекс: чистка страниц без устранения уязвимости бесполезна. Поэтому порядок — сначала причина, потом следствие, и только затем переобход. Иначе вы просто заново получите то же уведомление.
Денис
Уточнение по таблице: ещё встречал ключи в атрибуте alt у прозрачной картинки размером один пиксель. Формально alt, а по сути то же самое.
Наталья
А как быть с текстом, который появляется только после нажатия «показать ещё»? Робот его вообще видит или нет?
Анатолий Кузнецов автор
Если текст есть в коде страницы и только визуально свёрнут — робот его получает, и это разрешённый сворачиваемый блок. Если же текст подгружается запросом лишь после клика, робот может его не увидеть вообще. Поэтому важное содержимое лучше отдавать сразу в коде, а прятать только оформлением.
Олег
Пункт про robots.txt отрезвляет. Мне подрядчик именно это и предлагал: «закроем от индексации, и вопрос снят».
Юлия
Подскажите, проверка ответа сервера в Вебмастере покажет клоакинг, если код отдаётся по-разному только для мобильных?
Павел
Не согласен, что порогов нет. Все же понимают, что один случайно скрытый абзац и тысяча ключей — это разные вещи.
Екатерина
Полезно, что разделили скрытый текст и клоакинг. У нас была именно вторая история от прошлого подрядчика, и мы полгода искали не там.
Роман
Забрал чек-лист целиком. Особенно про даты изменения файлов — раньше просто чистил и надеялся.