Если в поиске всплывают страницы вида /attachment/, /image/ или отдельные URL медиафайлов без полезного контента, это почти всегда архивы вложений WordPress. Для сайта они обычно бесполезны: на такой странице часто есть только картинка, заголовок и ссылка на файл. Поисковики считают это тонкими страницами, а в индексе они создают мусорные адреса вместо нормальных страниц сайта.
Решение состоит из двух частей: отключить сами attachment pages, чтобы WordPress больше не отдавал их как отдельные страницы, и убрать уже проиндексированные адреса из поиска. Если сделать только одно из двух, проблема обычно остаётся.
Что именно нужно закрывать
У WordPress есть два разных типа URL, связанных с медиа:
- страница вложения — отдельная страница записи attachment, которую WordPress создаёт для изображения, PDF или другого файла;
- сам файл — прямой URL на картинку, документ или архив в папке
/uploads/.
Чаще всего индексируются именно страницы вложений, а не сами файлы. Это и есть те самые тонкие страницы: у них почти нет уникального текста, а полезность для пользователя минимальна. Если на сайте много изображений, такие страницы могут занимать заметную долю индекса и размывать качество сайта в глазах поисковых систем.
При этом сами файлы обычно закрывать не нужно, если они используются в контенте. Задача — убрать из индекса именно attachment pages, а не сломать картинки на сайте.
Самый надёжный вариант: отключить страницы вложений и перенаправить их
Правильный сценарий для большинства сайтов — не просто поставить noindex, а вообще перестать отдавать attachment page как отдельную полезную страницу. Тогда при открытии такого URL посетитель и бот попадают на родительскую запись или на сам файл, а не на пустую страницу вложения.
В WordPress это можно сделать несколькими способами. Я бы выбирал по ситуации.
| Способ | Когда подходит | Что даёт |
|---|---|---|
| Настройка в SEO-плагине | Если на сайте уже стоит Yoast SEO, Rank Math, AIOSEO или похожий плагин | Быстро отключает attachment pages и часто добавляет редирект |
| Редирект через код или плагин редиректов | Если нужен точечный контроль без SEO-плагина | Перенаправляет URL вложений на родительскую запись или главную |
Только noindex | Как временная мера, если редирект пока не настроить | Убирает страницу из индекса, но не решает проблему тонкой страницы полностью |
Если используете SEO-плагин
Во многих SEO-плагинах есть отдельная настройка для attachment pages. Обычно она отключает их индексацию и переводит URL вложений на родительскую запись или на файл. Названия пунктов отличаются, но смысл один: архивы вложений не должны открываться как самостоятельные страницы.
Проверьте настройки SEO-плагина в разделе, связанном с медиа, вложениями или типами записей. Если там есть опция вроде отключения attachment pages, включите её. После этого сохраните настройки и проверьте несколько старых URL вложений в браузере.
Если плагин умеет только ставить noindex, этого достаточно как промежуточный шаг, но лучше дополнить настройку редиректом. Поисковик может ещё какое-то время держать старые адреса в индексе, а пользователь всё равно будет попадать на бесполезную страницу.
Если хотите решить задачу кодом
Когда SEO-плагина нет или вы не хотите завязываться на его логику, можно перенаправлять attachment pages через functions.php дочерней темы или через небольшой mu-plugin. Это безопаснее, чем править ядро WordPress, и переживёт обновления.
Перед изменениями сделайте резервную копию сайта и базы данных. Если в теме уже есть собственные правки, не вставляйте код в родительскую тему: после обновления он пропадёт.
Вот рабочий вариант, который отправляет attachment page на родительскую запись, а если родителя нет — на главную:
add_action('template_redirect', function () {
if (is_attachment()) {
$parent_id = wp_get_post_parent_id(get_queried_object_id());
if ($parent_id) {
wp_redirect(get_permalink($parent_id), 301);
exit;
}
wp_redirect(home_url('/'), 301);
exit;
}
});Этот код не удаляет файл из медиабиблиотеки и не ломает изображения в контенте. Он только меняет поведение отдельной страницы вложения. Для большинства сайтов этого достаточно, чтобы убрать мусорные URL из пользовательского и поискового трафика.
Что делать с уже проиндексированными адресами
Если страницы вложений уже попали в индекс, одного редиректа мало для мгновенного эффекта. Поисковик должен заново обойти старые URL и увидеть, что они больше не являются самостоятельными страницами.
Практически это выглядит так:
- настройте редирект или отключение attachment pages;
- проверьте, что старый URL отдаёт
301, а не200; - убедитесь, что на новом адресе нет тонкой страницы вложения;
- отправьте важные URL на переобход через инструменты для вебмастеров;
- дождитесь, пока поисковик обновит индекс.
Если у вас есть доступ к панели вебмастеров поисковой системы, можно ускорить переобход через проверку URL и отправку страницы на индексацию/переобход. Но не стоит рассчитывать, что старые адреса исчезнут за один день: для этого поиску нужно время.
Если attachment pages уже закрыты через noindex, а редиректа нет, они могут ещё долго висеть в индексе как найденные, но не индексируемые. Это не лучший вариант: страница всё равно остаётся отдельным URL, и поисковик тратит на неё ресурсы. Поэтому редирект предпочтительнее.
Как проверить, что всё работает
После настройки возьмите несколько старых URL вложений и проверьте их вручную:
- в браузере страница должна открывать родительскую запись или главную, а не attachment page;
- в ответе сервера должен быть редирект
301, если вы настраивали перенаправление; - в исходном коде не должно быть отдельной индексируемой страницы вложения с уникальным URL;
- в панели вебмастера старые адреса со временем должны уходить из индекса или заменяться целевыми страницами.
Если у вас есть доступ к инструментам разработчика или командной строке, можно проверить заголовки ответа. Например, через curl -I https://example.com/attachment-url/ вы увидите, отдаёт ли адрес 301 и куда именно ведёт редирект. Это особенно полезно, если на сайте несколько уровней кэширования или редиректов и в браузере всё выглядит нормально, а поисковый бот получает другой ответ.
Когда лучше не закрывать вложения полностью
Есть сайты, где attachment pages используются осознанно: например, как галереи, портфолио или отдельные карточки медиа с описанием. В таком случае закрывать их бездумно не стоит. Сначала проверьте, несут ли эти страницы реальную пользу и есть ли на них уникальный контент, который имеет смысл индексировать.
Если страница вложения действительно нужна, её нужно не просто оставить открытой, а сделать полноценной страницей: добавить текст, заголовок, нормальную навигацию и внутренние ссылки. Но для обычного блога, корпоративного сайта или каталога это редкий случай. В большинстве проектов attachment pages — лишний слой, который только засоряет индекс.
Если задача именно в том, чтобы убрать тонкие страницы и не плодить мусорные URL, самый практичный путь такой: отключить attachment pages, настроить 301-редирект на родительскую запись или главную и затем дождаться переобхода уже проиндексированных адресов. Это не требует сложной доработки темы и обычно решает проблему без побочных эффектов для контента сайта.