Архивы WordPress представляют собой автоматические страницы, которые содержат ссылки на старые записи, сгруппированные по месяцам, годам или категориям. Хотя эта функция полезна для некоторых сайтов, на большинстве современных проектов она может создавать избыточные страницы, которые негативно влияют на SEO и структуру навигации. В этом руководстве рассмотрим, как удалить архивы WordPress и отключить их отображение для улучшения пользовательского опыта и оптимизации сайта.
Первым шагом является отключение отображения архивов на уровне настроек WordPress. Для этого можно использовать стандартные инструменты платформы. Для пользователей, которые предпочитают ручное вмешательство, возможно редактирование файлов темы. Мы рассмотрим оба метода, чтобы вы могли выбрать наиболее подходящий для вашего случая.
1. Отключение архивов через настройки WordPress
Для отключения архивов в админке WordPress перейдите в Настройки → Чтение и снимите галочку с опции, отвечающей за отображение архивов по годам или месяцам. Этот метод простой, но он не удаляет архивы физически, а лишь скрывает их с главной страницы. В случае, если вы хотите избежать индексации этих страниц поисковыми системами, потребуется добавить соответствующие директивы в robots.txt.
2. Удаление архивов через файлы темы
Если вы хотите полностью удалить архивы, вам нужно будет изменить файлы вашей темы. Для этого откройте functions.php и добавьте следующий код:
remove_action('template_redirect', 'redirect_canonical');
Этот код предотвратит перенаправление на страницы архивов и сделает их недоступными для пользователей.
3. Установка плагинов для более гибкого управления
Для тех, кто предпочитает использовать плагины, есть несколько решений для отключения архивов, например, Yoast SEO или Redirection. Эти плагины позволяют не только скрыть архивы, но и оптимизировать сайт для поисковых систем, управляя доступом к страницам, которые не должны индексироваться.
Удаление и скрытие архивов помогает улучшить производительность сайта и повысить его SEO-результаты, исключая избыточные страницы из индексации поисковиками. Выбор метода зависит от ваших предпочтений и уровня знаний в области настройки WordPress.
Как отключить отображение архивов по категориям
Чтобы отключить отображение архивов по категориям в WordPress, необходимо внести изменения в файл functions.php
вашей темы. Это предотвратит автоматическое создание и показ архивов для каждой категории. Рассмотрим несколько методов.
Первый способ – использовать фильтр rewrite_rules_array
. Добавьте следующий код в файл functions.php
вашей темы:
function disable_category_archives($rules) {
foreach ($rules as $rule => $rewrite) {
if (strpos($rule, 'category') !== false) {
unset($rules[$rule]);
}
}
return $rules;
}
add_filter('rewrite_rules_array', 'disable_category_archives');
Этот код удаляет все правила, связанные с категориями, и, соответственно, отключает их отображение. После добавления кода, не забудьте зайти в админ-панель WordPress и перегенерировать структуру постоянных ссылок через Настройки → Постоянные ссылки.
Второй способ – использовать плагин. Если вы не хотите редактировать код вручную, можно воспользоваться плагином, например, Yoast SEO или Redirection, которые позволяют управлять видимостью архивов по категориям через настройки SEO или редиректы.
Также можно отключить доступ к архивам категорий через редиректы. В файле functions.php
добавьте следующий код для редиректа всех запросов, ведущих на страницы категорий, на главную страницу:
function redirect_category_archives() {
if (is_category()) {
wp_redirect(home_url());
exit();
}
}
add_action('template_redirect', 'redirect_category_archives');
Этот метод полностью перенаправит пользователей, пытающихся попасть на страницы архивов категорий, на главную страницу вашего сайта.
Если в будущем вы решите восстановить отображение архивов по категориям, просто удалите соответствующие строки из файла functions.php
или деактивируйте плагин.
Удаление архивов по датам через настройки WordPress
WordPress по умолчанию генерирует архивы по датам, что может создавать лишний контент на сайте. Чтобы избавиться от отображения таких архивов, достаточно внести изменения в настройки.
Для отключения архивов по датам перейдите в админку WordPress. В меню выберите «Настройки» и далее «Постоянные ссылки». На этой странице вы найдете раздел «Структура URL», где можно изменить параметры для различных типов архивов.
Для полного отключения архивов по датам установите в настройках URL-структуру, не включающую дату, или полностью удалите раздел, который отображает дату. Также можно использовать плагин, чтобы блокировать доступ к архивам, например, «Disable Date Archives». Этот плагин предотвратит создание ссылок на архивы по датам, а также устранит возможные ошибки 404 при попытке перейти на такие страницы.
Не забудьте проверить настройки отображения ссылок на архивах по датам через файл functions.php. Для отключения архивов можно использовать следующий код:
function disable_date_archives() { if (is_date()) { wp_redirect(home_url()); exit; } } add_action('template_redirect', 'disable_date_archives');
Этот код направит пользователей на главную страницу сайта, если они попытаются перейти на архив по дате. Таким образом, архивы по датам больше не будут доступны.
Использование плагинов для отключения архивов
Для пользователей WordPress, которые не хотят, чтобы архивы отображались на сайте, существует несколько плагинов, упрощающих этот процесс. Использование плагинов позволяет быстро и без лишних усилий отключить архивы, не внося изменений в код. Вот несколько популярных решений.
- Yoast SEO: Этот плагин не только помогает с SEO, но и предоставляет функции управления архивами. Для отключения архивов нужно зайти в настройки плагина, перейти в раздел «Внешний вид поиска» и отключить архивы для всех типов контента.
- Disable Archive: Простой плагин, который позволяет отключить архивы по отдельности для каждой категории, метки и других типов контента. В настройках плагина можно выбрать, какие архивы скрывать.
- Redirection: Хотя этот плагин в первую очередь предназначен для управления редиректами, он также позволяет настраивать правила для перенаправления архивных URL на другие страницы, эффективно отключая их отображение.
- WP No Category Base: Плагин, который убирает базу «category» из URL-адресов категорий. Также предоставляет возможность скрыть страницы архива категорий, улучшая структуру URL.
После установки и настройки одного из этих плагинов, архивы больше не будут отображаться на сайте, что сделает его более чистым и сфокусированным на контенте. При использовании плагинов всегда важно следить за совместимостью с другими инструментами на сайте, чтобы избежать возможных конфликтов.
Как отключить архивы по авторам
В WordPress архивы по авторам могут создавать отдельные страницы с постами каждого пользователя. Если вы хотите отключить такие архивы, есть несколько способов сделать это.
1. Использование файла functions.php
Самый эффективный способ – добавить код в файл functions.php вашей темы. Это предотвратит создание архивов для авторов:
function disable_author_archives() { if (is_author()) { wp_redirect(home_url()); exit(); } } add_action('template_redirect', 'disable_author_archives');
Этот код проверяет, является ли текущая страница архивом автора. Если это так, происходит перенаправление на главную страницу.
2. Использование плагинов
Существует несколько плагинов, которые позволяют отключить архивы по авторам, например, Disable Author Archives. Это решение не требует изменения кода, но плагин может добавить дополнительные элементы в вашу систему, что важно учитывать.
3. Отключение архива через файл .htaccess
Вы можете настроить перенаправление авторских архивов на главную страницу с помощью файла .htaccess. Добавьте следующий код в его начало:
RewriteCond %{REQUEST_URI} ^/author/ RewriteRule ^(.*)$ / [R=301,L]
Это правило будет перенаправлять все запросы, содержащие «/author/», на главную страницу.
4. Удаление авторских архивов через админку
Некоторые темы и плагины позволяют отключать архивы по авторам через настройки. Это удобный способ, если в вашей теме предусмотрена такая опция. Например, в разделе настроек SEO плагинов можно найти параметр, который позволяет отключить создание архивов для авторов.
Каждый из этих методов позволяет контролировать видимость авторских архивов, но важно выбирать решение в зависимости от ваших потребностей и особенностей сайта.
Удаление ссылок на архивы из меню сайта
Чтобы удалить ссылки на архивы WordPress из меню, необходимо внести изменения в структуру меню через админ-панель сайта. В случае использования стандартной темы или создания кастомных меню, этот процесс прост и не требует глубоких технических знаний.
1. Отключение архивов через меню
Перейдите в раздел «Внешний вид» – «Меню» в админ-панели. В списке элементов меню найдите ссылки на архивы, такие как архивы по категориям, меткам или по дате. Удалите эти элементы, кликнув на кнопку «Удалить». Сохраните изменения.
2. Проверка видимости архивов в меню
Если ссылки на архивы не отображаются в стандартном меню, но остаются в других местах, таких как виджеты или кастомные области, перейдите в «Внешний вид» – «Виджеты» и удалите виджет, содержащий ссылки на архивы. Это часто бывает актуально для боковых панелей или подвалов сайта.
3. Удаление ссылок через код
Если архивы не удаляются через админ-панель, можно отключить их отображение через код. Добавьте следующий фрагмент в файл functions.php вашей темы:
function remove_archive_links($items, $args) { if ($args->theme_location == 'primary') { foreach ($items as $key => $item) { if (strpos($item->url, 'archive') !== false) { unset($items[$key]); } } } return $items; } add_filter('wp_nav_menu_objects', 'remove_archive_links', 10, 2);
Этот код удаляет все ссылки, содержащие «archive» в URL, из основного меню сайта.
4. Проверка настроек темы
Некоторые темы могут иметь встроенные опции для скрытия архивов из меню. Проверьте настройки темы через раздел «Настройки» – «Чтение» или «Внешний вид», чтобы отключить отображение ссылок на архивы без необходимости редактировать код вручную.
Как скрыть архивы через файл.htaccess
Для скрытия архивов WordPress через файл .htaccess, нужно добавить несколько строк кода, которые заблокируют доступ к архивациям. Это эффективно предотвращает их отображение на сайте и скрывает URL-адреса, ведущие к архивам.
Откройте файл .htaccess в корневой директории вашего сайта. Если файл не существует, создайте его. Вставьте следующий код:
# Скрыть архивы по категориям RewriteRule ^category/.*$ - [R=404,L] # Скрыть архивы по месяцам RewriteRule ^([0-9]{4})/([0-9]{2})/$ - [R=404,L] # Скрыть архивы по авторам RewriteRule ^author/.*$ - [R=404,L]
Этот код блокирует доступ к архивам по категориям, датам и авторам, перенаправляя запросы на страницу с ошибкой 404. Чтобы изменения вступили в силу, обязательно сохраните файл .htaccess и перезагрузите сайт.
Кроме того, можно добавить условие, чтобы скрыть архивы только для пользователей, не авторизованных на сайте:
# Скрыть архивы для неавторизованных пользователейRewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC] RewriteRule ^category/.*$ - [R=404,L] RewriteRule ^([0-9]{4})/([0-9]{2})/$ - [R=404,L] RewriteRule ^author/.*$ - [R=404,L]
Этот код работает по принципу проверки наличия cookie, связанного с авторизацией. Если пользователь не авторизован, доступ к архивам будет заблокирован.
С помощью этих методов можно эффективно скрыть архивы в WordPress без необходимости модификации самого движка или темы.
Как изменить шаблон темы для исключения архивов
3. В случае необходимости отключить отдельные архивы (например, архивы по категориям), можно использовать более точные условия:
function disable_archive_template($template) { if (is_archive()) { return locate_template('no-archive.php'); } return $template; } add_filter('template_include', 'disable_archive_template');
5. После этих изменений архивные страницы перестанут отображаться, и пользователь будет перенаправлен на главную страницу или на альтернативный шаблон, который вы настроите.
Отключение архивов для определённых типов контента
Для отключения архивов для конкретных типов контента, например, для страниц или пользовательских типов записей, можно использовать несколько подходов в WordPress.
Первый способ – добавить фильтр в файл functions.php
вашей темы. Это позволяет отключить генерацию архивов для конкретного типа контента на уровне системы.
Пример для отключения архивов для страниц:
function disable_page_archives() {
if (is_post_type_archive('page')) {
wp_redirect(home_url());
exit();
}
}
add_action('template_redirect', 'disable_page_archives');
В данном примере при попытке доступа к архиву страниц пользователь будет перенаправлен на главную страницу. Этот код необходимо вставить в файл functions.php
активной темы.
Если необходимо отключить архивы для произвольных типов записей, используйте следующий код:
function disable_custom_post_type_archives() {
if (is_post_type_archive('custom_post_type')) {
wp_redirect(home_url());
exit();
}
}
add_action('template_redirect', 'disable_custom_post_type_archives');
Замените custom_post_type
на имя вашего пользовательского типа записи.
Кроме того, можно отключить отображение архивов для определённых типов контента через функцию register_post_type()
, указав параметр has_archive
как false
при регистрации типа записи:
register_post_type('custom_post_type', array(
'has_archive' => false,
// другие параметры
));
Этот метод предотвратит создание архива для указанного типа контента при его регистрации.
Еще один способ – исключить архивы с помощью плагинов. Например, плагин Disable Archives позволяет легко отключить архивы для страниц и пользовательских типов записей через панель управления WordPress.
В некоторых случаях требуется полностью скрыть ссылки на архивы в навигации. Для этого можно использовать фильтр wp_nav_menu_objects
, который удаляет элементы меню, ведущие на архивы:
function remove_archive_from_menu($items) {
foreach ($items as $key => $item) {
if ('archive' === $item->object) {
unset($items[$key]);
}
}
return $items;
}
add_filter('wp_nav_menu_objects', 'remove_archive_from_menu');
Этот код исключает ссылки на архивы из меню. Подобное решение удобно, если необходимо скрыть архивы только в интерфейсе пользователя.
Вопрос-ответ:
Как удалить архивы WordPress с сайта?
Чтобы удалить архивы WordPress, необходимо зайти в админку сайта и перейти в раздел «Настройки» -> «Постоянные ссылки». Здесь можно отключить архивы категорий, меток и других типов контента. Для этого в настройках нужно выбрать «Произвольная структура» и убрать из адреса архивы. Если нужно полностью удалить архивы, это можно сделать через файлы темы, удалив соответствующие шаблоны архивов в папке с темой.
Можно ли отключить отображение архивов в WordPress?
Да, можно. Для этого существует несколько способов. Один из них — изменить файл .htaccess, добавив правило, которое будет блокировать доступ к архивам. Также можно отключить отображение архивов через панель управления WordPress, используя специальный плагин, например, «Disable Archive». Этот плагин позволяет отключить отображение всех типов архивов или только некоторых из них.
Как отключить архивы по категориям и меткам на сайте WordPress?
Чтобы отключить архивы по категориям и меткам, можно внести изменения в настройки постоянных ссылок в админке WordPress. Перейдите в «Настройки» -> «Постоянные ссылки» и выберите структуру, исключающую использование архивов. Также можно отключить категориальные и метки-архивы с помощью плагинов или вручную изменив шаблоны в коде темы, удалив вызовы архивов категорий и меток.
Как убрать метки и категории из URL в WordPress?
Для того чтобы убрать метки и категории из URL, нужно зайти в «Настройки» -> «Постоянные ссылки» и изменить структуру URL. В некоторых случаях для этого потребуется редактировать файл .htaccess, чтобы исключить категории и метки. Также можно использовать плагины, которые позволяют изменить структуру ссылок, например, плагин «Remove Category Base».
Что делать, если архивы WordPress продолжают отображаться после изменений?
Если после изменений архивы всё ещё отображаются, необходимо проверить несколько моментов. Во-первых, убедитесь, что вы очистили кэш браузера и кэш плагинов, если они у вас установлены. Во-вторых, проверьте настройки файлов .htaccess и убедитесь, что они правильно обновлены. Если проблема не решается, попробуйте деактивировать плагины, которые могут вмешиваться в структуру URL, или восстановите стандартные настройки темы.
Как удалить архивы WordPress с сайта?
Чтобы удалить архивы WordPress, нужно выполнить несколько шагов. Сначала откройте админ-панель WordPress. Перейдите в раздел «Настройки» и выберите «Чтение». В настройках найдите пункт «Отображать архивы» и снимите галочку. Это отключит отображение архивов на вашем сайте. Для удаления архивов на уровне файлов, подключитесь к серверу через FTP и найдите папки, которые содержат архивы. Удалите их вручную. Не забудьте очистить кэш сайта, чтобы изменения вступили в силу.