Покажу три способа отключения страниц вложений в Вордпресс: с помощью плагина Yoast SEO, плагина Attachment Pages Redirect и сниппета.
Вордпресс по умолчанию создает для каждого загруженного медиафайла страницу вложения с уникальным URL. Поисковики считают такие страницы некачественными. И это приводит к негативным последствиям. Когда медиаконтента много, страниц тоже становится много, что еще более усугубляет ситуацию.
Генерируются у вас эти страницы или нет проверить легко: их видно в Google Search Console и Яндекс Вебмастере. А можно просто в админке сайта открыть любое загруженное изображение и кликнуть по ссылке «Просмотреть страницу вложения».
Если откроется страница в дизайне сайта и на ней будет лишь одно изображение — значит страницы генерируются и нужно воспользоваться одним из способов ниже.
Yoast SEO
Популярный SEO-плагин решает задачу «из коробки».
Если вы не пользуетесь этим SEO-комбайном, устанавливать его лишь для отключения страниц вложений не нужно. А если он у вас уже есть, тогда считайте задача решена.
Идем сюда: SEO ⟶ Отображение в поисковой выдаче ⟶ Медиа
Устанавливаем «Перенаправлять URL вложений на файл вложений». То есть при открытии страницы вложения будет осуществлен редирект на само вложение.
Attachment Pages Redirect
Маленький, но полезный плагин с говорящим названием Attachment Pages Redirect выполняет всего одну функцию: делает редирект со страницы вложения.
У плагина три сценария работы:
- Если вложение прикреплено к записи — осуществляется 301-й редирект на саму запись;
- Если запись безвозвратно удалена — осуществляется 302-й редирект на главную страницу сайта;
- Если запись удалена, но находится еще в корзине — пользователю возвращается 404-я ошибка.
Сниппет
Самый любимый вордпрессерами ручной способ решения задачи.
Потребуется только создать файл image.php
в корне активной темы. Если файл в каталоге уже присутствует, значит редактируем его, предварительно все из него удалив.
<?php global $post; if ( $post && $post->post_parent ) { wp_redirect( get_permalink( $post->post_parent ), 301 ); } else { wp_redirect( home_url( '/' ), 301 ); } exit;
Данный код, как и предыдущий плагин, при наличии привязанной к вложению записи осуществляет на нее 301-й редирект, при ее отсутствии — перенаправляет на главную страницу.
Делаю сайты на Вордпресс с 2008 года, в том числе уникальные инструменты для решения сложных бизнес‑задач.
Подробнее