Если в поиске всплывают пустые страницы изображений и медиафайлов WordPress, это почти всегда страницы вложений. Они создаются автоматически для каждого загруженного файла, но сами по себе редко несут пользу: на них может быть только картинка, заголовок и минимум текста. Для SEO это лишние URL, а для пользователя — тупиковые страницы без нормального контекста.
Практически всегда задача решается в два шага: убрать страницы вложений из индекса и настроить перенаправление на родительскую запись, если она есть. Тогда поисковики перестанут считать такие URL отдельными страницами, а посетитель попадёт туда, где изображение действительно используется.
Что именно нужно исправить
В WordPress у каждого медиафайла есть собственная страница вложения. Она открывается по отдельному адресу и может индексироваться, если поисковик её нашёл. Проблема особенно заметна на сайтах, где изображения часто попадают в поиск вместо статей, карточек товаров или страниц услуг.
Есть два разных сценария:
- страница вложения существует, но не должна индексироваться;
- страница вложения уже попала в индекс и её нужно заменить редиректом на более полезный URL.
Если ограничиться только одним действием, проблема обычно остаётся. Например, запрет индексации без редиректа не убирает сам URL из обхода и не помогает пользователю, который открыл его из поиска. А редирект без контроля индексации не всегда решает вопрос с уже проиндексированными адресами.
Сначала проверьте, что у вас действительно страницы вложений
Откройте в браузере несколько URL из поиска или из медиатеки сайта. Типичный адрес вложения выглядит как обычная запись, но ведёт на отдельную страницу файла. Если на ней нет полезного текста, а только изображение и служебные элементы темы, это и есть тот самый дубль, который лучше убрать из поиска.
Полезно проверить и поведение вложений в админке WordPress. При загрузке изображения у него может быть указан URL файла и, если тема или плагин это поддерживают, родительская запись. Именно на неё удобнее всего отправлять пользователя при редиректе.
Как убрать страницы вложений из индекса
Самый надёжный способ — закрыть страницы вложений от индексации на уровне SEO-плагина, если он у вас уже установлен. В большинстве популярных SEO-плагинов для WordPress есть настройка для медиа-страниц или attachment pages. Смысл один: поисковик может зайти на URL, но не должен считать его полноценной страницей сайта.
Если SEO-плагина нет или в нём нет нужной настройки, можно использовать редирект на родительскую запись и дополнительно убедиться, что страницы вложений не генерируют индексируемые ссылки в карте сайта. Но именно для удаления из индекса лучше иметь явный запрет на индексацию или перенаправление, а не надеяться, что поисковик сам догадается.
Если вы используете плагин, который умеет управлять дублями и техническими страницами, проверьте, есть ли там отдельная опция для attachment pages. Например, в Clearfy Pro есть инструменты для чистки сайта и работы с дублями, что удобно, когда нужно привести в порядок не только вложения, но и другие технические URL. Но даже в этом случае важно понимать, что настройка должна быть именно про страницы вложений, а не про случайное отключение нужных страниц сайта.
Как перенаправить вложения на родительские записи
Если вам нужен именно редирект, а не просто запрет индексации, самый практичный вариант — сделать его через код в теме или через небольшой функциональный плагин. Так вы контролируете логику: если у вложения есть родительская запись, отправляем на неё; если родителя нет, отправляем на главную или на архив медиафайлов, если он вам нужен.
Ниже рабочий пример для файла functions.php дочерней темы или для собственного мини-плагина. Перед изменениями сделайте резервную копию, потому что ошибка в PHP может временно сломать сайт.
add_action( 'template_redirect', function () {
if ( ! is_attachment() ) {
return;
}
$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;
} );Что делает этот код:
- срабатывает только на страницах вложений;
- проверяет, есть ли у файла родительская запись;
- если родитель есть, отправляет на его постоянную ссылку с кодом
301; - если родителя нет, отправляет на главную страницу сайта.
Редирект 301 здесь уместен, потому что страница вложения не должна жить отдельно как самостоятельный контент. Если вы позже решите, что для некоторых файлов нужен другой сценарий, логику можно доработать точечно.
Когда лучше не отправлять всё на главную
Редирект на главную кажется простым решением, но он не всегда лучший. Если у вложения есть конкретная статья, товар или страница, куда оно было загружено, пользователь ожидает попасть именно туда. Главная подходит только как запасной вариант для «осиротевших» вложений, у которых нет родителя.
Если у вас много медиафайлов, загруженных в библиотеку без привязки к записям, стоит заранее решить, куда вести такие URL. Иногда удобнее отправлять их в медиатеку, но для обычного сайта это редко полезно для SEO и навигации.
Что делать с уже проиндексированными URL
После настройки редиректа поисковик не исчезнет из индекса мгновенно. Ему нужно заново обойти старые адреса, увидеть ответ 301 и заменить URL в выдаче. Это нормальный процесс, и он занимает время.
Чтобы ускорить обновление, проверьте три вещи:
- страницы вложений действительно отдают
301, а не200или404; - внутренние ссылки на вложения больше не ведут на старые URL;
- в sitemap не попадают страницы вложений, если ваш SEO-плагин умеет их исключать.
Если у вас есть доступ к Google Search Console или Яндекс Вебмастеру, после настройки можно отправить сайт на повторную проверку. Это не мгновенное решение, но оно помогает поисковым системам быстрее увидеть новую логику.
Как проверить, что всё работает
Проверка занимает несколько минут и не требует специальных инструментов. Откройте старый URL страницы вложения в браузере и посмотрите, куда он ведёт. Если всё настроено правильно, адрес должен сразу перекидывать на родительскую запись или на выбранный запасной URL.
Дополнительно можно проверить ответ сервера через любой онлайн-проверщик редиректов или через инструменты разработчика в браузере. Вам нужен именно код 301 для старого адреса вложения. Если вместо него видите обычную загрузку страницы, значит редирект не сработал.
Ещё один полезный тест — поиск по сайту и по индексу. Если старые страницы вложений продолжают появляться в выдаче, значит поисковик ещё не переобходил их или где-то остались ссылки на эти URL. В таком случае имеет смысл проверить внутренние ссылки, карту сайта и настройки SEO-плагина.
Типичные ошибки, из-за которых проблема не уходит
Часто делают только один шаг и ждут полного эффекта. На практике это даёт половинчатый результат.
- Только запрет индексации без редиректа. Пользователь всё равно может попасть на пустую страницу из старой выдачи или по внешней ссылке.
- Редирект без проверки родителя. Если у вложения нет родительской записи, можно случайно отправлять людей не туда, куда нужно.
- Редирект через JavaScript. Для SEO это слабый вариант, лучше использовать серверный
301. - Ссылки на вложения в контенте. Если статьи и страницы продолжают ссылаться на attachment URL, поисковик будет находить их снова.
Если сайт большой, сначала исправьте шаблонную логику, а потом уже вручную добирайте старые URL. Иначе работа превратится в бесконечную чистку отдельных страниц.
Что в итоге должно получиться
После настройки страницы вложений WordPress перестают быть отдельными SEO-страницами и начинают вести туда, где есть смысл: на родительскую запись или на другой выбранный URL. Это убирает пустые дубли из индекса и делает поведение сайта понятнее для людей.
Если коротко, рабочая схема такая: определить, какие вложения индексируются, закрыть их от индексации, настроить серверный редирект 301 на родительские записи и проверить, что старые URL действительно переадресуются. Для большинства сайтов этого достаточно, чтобы избавиться от мусорных страниц в поиске без потери нормальной навигации.