Когда владелец сайта на WordPress начинает задумываться о SEO (Search Search Engine Optimization) - поисковой оптимизации, т.е. о продвижении своего сайта для его выхода на первые позиции в результатах выдачи поисковых систем, то он натыкается на некоторые страницы, которые, в общем-то, не предназначены для поисковых роботов и для простых пользователей, т.к. информация на них носит вспомогательный характер.
Перенаправление со страниц изображений
Например, к таким вспомогательным страницам относятся страницы с изображениями, которые WordPress формирует самостоятельно. Как правило, они не предназначены для индивидуального просмотра, т.к. изображения чаще всего имеют ценность в контексте какой-либо статьи (записи, или поста в терминологии WordPress).
Найти любое изображения можно в библиотеке медиафайлов. Там же можно увидеть ссылку "Перейти" и к какому посту (записи) привязано изображение.
Страница с изображением выглядит примерно так (зависит от установленной темы):
Не слишком информативно и не особо красиво, не так ли?
Поэтому хочется такие страницы спрятать от пользователей. В этом случае можно использовать такой код в файле functions.php вашей темы:
1 2 3 4 5 6 7 8 | function mytheme_redirect_attachment() { global $post; if (is_attachment()) { wp_redirect(get_permalink($post->post_parent)); } } add_action('template_redirect', 'mytheme_redirect_attachment'); |
Этот код перенаправляет пользователя со страницы изображения на страницу с записью, в которой это изображение появилось.
Перенаправление со страниц архивов дат, меток и авторов
Предположим, на вашем сайте практически нет меток, один автор и вам совсем не нужны архивы по датам. Во-первых, в теме придется поискать код, который отвечает за то, что эти данные являются ссылками на соответствующие страницы архивов, и эти ссылки удалить. Во-вторых, нужно настроить еще одно перенаправление в файле functions.php вашей темы:
1 2 3 4 5 6 7 | function mytheme_redirect_archives() { if( is_date() || is_tag() || is_author() ){ wp_redirect(home_url()); } } add_action('template_redirect', 'mytheme_redirect_archives'); |
В этой функции использованы следующие теги шаблона:
is_date()
– проверка по датеis_tag()
– проверка по меткам (тегам)is_author()
– проверка по авторам
Перенаправление (или редирект - от англ. redirect) на главную страницу сайта (home_url()
) будет осуществляться при попытке загрузить архивы любого из трех перечисленных типов. Если какой-либо архив вы хотите оставить, уберите соответствующий фрагмент из строки кода вместе со знаками ||
.
Удаление слов "Категория", "Метка", "Архив категории" из заголовка страницы
Если вам не нужны перенаправления, но не нравятся надписи на страницах "Архив категории", или "Архив меток", или подобные им, вы можете в functions.php добавить код, заменяющий эти заголовки на названия категории (метки):
1 2 3 | add_filter( 'get_the_archive_title', function( $title ){ return preg_replace('~^[^:]+: ~', '', $title ); }); |
Перенаправление со страниц кастомных (произвольных) записей
WordPress имеет свою сеть таксономий. К ней относятся категории записей, которые, как правило, выводятся с помощью файла archive.php. В этом файле может быть описано, каким образом нужно выводить архивы по годам, месяцам, тегам (меткам) и категориям. Однако, кроме стандартных записей и категорий для них, WordPress позволяет создавать кастомные (пользовательские) типы записи и категории к ним. Эти типы записей могут быть основными для сайта. Например, на сайте посвященном обзору и просмотру фильмов, тип записи может быть "movie". Для книжного сайта типом произвольных записей будет "book", например. Это те записи, которые пользователи будут просматривать и изучать постоянно.
Однако у вас могут быть дополнительные типы записей, которые, например, всплывают на сайте через определенное время, приглашая пользователей просмотреть какой-либо новый фильм или книгу. Например, они называются "notification". Еще это могут быть записи с рейтингом фильмов ("rating"), похожих на просматриваемый, которые в виде рекламы появляются где-нибудь сбоку или по центру основной статьи.
Страницы таких записей точно не представляют интереса для пользователей. Поэтому добавляем в предыдущий код еще одно перенаправление для одиночных записей таких типов и для архивов этих записей на главную страницу сайта.
1 2 3 4 5 6 7 | function mytheme_redirect_custom_posts() { if( is_post_type_archive( ['notification', 'rating'] )|| is_singular(['notification', 'rating']) ){ wp_redirect(home_url()); } } add_action('template_redirect', 'mytheme_redirect_custom_posts'); |
Если у вас всего один тип записи, то строка 3 заменяется на такую:
1 | if( is_post_type_archive( 'notification' )|| is_singular('notification') ) |
В принципе, этого можно было бы и не делать, если задать специальный параметр exclude_from_search
при регистрации кастомного типа записи. В этом случае произвольные посты не должны появляться в результатах поиска. Однако, вы вряд ли сможете управлять этим процессом, если тему или плагин писали не вы.
Резюме
Страницы архивов, как правило, полезны для посетителей вашего сайта, т.к. в них собрана информация из одной рубрики (категории). Однако бывают случаи, когда необходимость в них сомнительна. Тогда стоит использовать редиректы в WordPress, чтобы увести пользователя от ненужной информации и улучшить рейтинг сайта.
Если вам не нужны все типы перечисленных в этой статье ссылок, вы можете собрать все варианты перенаправлений в одну функцию и разместить ее в файле functions.php.