SEO-команда маркетплейса пересмотрела правило индексации после того, как простая политика «меньше 3 объявлений = noindex» привела к исчезновению страниц категорий из Google, а их возврату потребовались недели. Добавив одностороннюю запись об «разблокировке», которая позволяет странице перейти из состояния noindex в index, но никогда — обратно, сайт устранил этот эффект «мерцания».

Почему первоначальное правило привело к обратным результатам

Платформа объявлений генерирует множество страниц категорий и локаций. Когда страница появляется впервые, на ней часто представлено всего несколько объявлений, поэтому команда решила скрывать её из поиска, пока она не достигнет минимального порога в три объекта. Логика была простой:

  • < 3 объявлений → добавить метатег noindex
  • ≥ 3 объявлений → удалить тег (разрешить индексацию)

Изначально это помогало исключить из результатов Google малоценные страницы с тонким контентом. Проблема возникла, когда срок действия объявлений истекал. Страница, на которой сегодня было пять объявлений, на следующий день могла сократиться до двух, что мгновенно возвращало ей статус noindex. Google подчинялся, удалял URL из индекса, и страница теряла все накопленные позиции. Когда появлялось новое объявление, страница снова становилась доступной для индексации, но процесс повторного вхождения в индекс занимал недели.

Результатом стал постоянный цикл «включения-выключения»: страницы входили в индекс, исчезали, снова входили и так далее.

Решение с односторонней «разблокировкой»

Основной недостаток заключался в том, что у правила не было «памяти»; оно пересчитывало порог при каждом запросе. Команда внедрила небольшую таблицу в базе данных — seo_unlocks, — которая фиксирует момент, когда страница впервые достигает отметки в три объявления. Новый рабочий процесс выглядит так:

  1. Проверка количества объявлений. Если на странице три или более активных объявлений, продолжаем.
  2. Запись строки разблокировки. Вставить запись для этой страницы в таблицу seo_unlocks.
  3. Относиться к странице как к постоянно индексируемой. Даже если в дальнейшем количество объявлений упадет ниже трех, наличие записи в seo_unlocks не позволит странице попасть в поток noindex.

Поскольку запись о разблокировке может быть создана только один раз, страница может перейти из состояния «noindex» в «index», но никогда — обратно. Команда добавила защитные механизмы, чтобы отфильтрованные URL (например, результаты поиска с диапазонами цен) не могли создавать разблокировки для своих родительских категорий, и обернула вызов базы данных в блок try/catch, чтобы сбой БД не привел к падению всего сайта.

Что это значит для краулингового бюджета и страниц с тонким контентом

Распространенное заблуждение заключается в том, что noindex экономит краулинговый бюджет. Google все равно должен загрузить страницу, прочитать тег, а затем удалить её из индекса. Если цель состоит в том, чтобы Google не запрашивал целый паттерн URL, правильным инструментом является robots.txt. Используйте noindex только тогда, когда хотите, чтобы Google видел страницу, но не отображал её в результатах поиска.

Для каталогов, досок объявлений и маркетплейсов, которые полагаются на огромное количество автогенерируемых страниц, урок очевиден: правила для страниц с тонким контентом должны сопровождаться слоем персистентности, который помнит, когда страница заслужила место в индексе. Без такой «памяти» временное снижение количества контента может привести к потере позиций, а повторное попадание в индекс может занять недели.

Итог

Статичное правило «если количество < 3, то noindex» создает SEO-нестабильность для сайтов с динамическими объявлениями. Добавление односторонней записи о разблокировке наделяет правило «памятью», позволяя страницам завоевывать и сохранять статус индексации даже при колебаниях количества объявлений. Совместите это с правильным использованием robots.txt для реальной экономии краулингового бюджета, и вы сможете защитить как позиции в поиске, так и ресурсы сервера.