Вопрос или проблема
Есть ли способ отключить архивы по датам в WordPress?
Например, я не хочу, чтобы архивы по датам (например, example.com/2021/06/11) были доступны вовсе. Есть ли способ отключить эти архивы?
Я нашел следующий фрагмент кода в Google, но он, похоже, ничего не меняет.
add_action( 'template_redirect', 'remove_date_archives' );
function remove_date_archives() {
// Проверяем, находимся ли мы на странице архива по дате и возвращаем 404
if ( is_date() ) {
global $wp_query;
$wp_query->set_404();
}
}
?>
Буду благодарен за любые советы или ссылки. Заранее спасибо.
Вы случайно не используете плагин Yoast SEO? В плагине есть опция в разделе Поиск > Архивы, где вы можете отключить архивы по датам. (А также архивы по авторам, если хотите).
Ответ или решение
Для того чтобы отключить архивы по датам в WordPress, существует несколько методов. Этот процесс может быть полезен для оптимизации вашего сайта, повышения SEO и предотвращения дублирования контента. Ниже приведены различные способы решения данной задачи.
1. Использование кода для отключения архивов по датам
Первый и наиболее прямой способ отключения архивов по датам — это добавление кода в файл functions.php
вашей темы. Вы можете использовать следующий фрагмент кода:
add_action( 'template_redirect', 'remove_date_archives' );
function remove_date_archives() {
if ( is_date() ) {
global $wp_query;
$wp_query->set_404();
status_header( 404 );
nocache_headers();
include( get_404_template() );
exit();
}
}
Этот код проверяет, находитесь ли вы на архивной странице, основанной на датах, и в таком случае возвращает ошибку 404. Не забывайте делать резервную копию вашего сайта перед внесением изменений в код.
2. Отключение архивов через настройки Yoast SEO
Если вы используете плагин Yoast SEO, то у вас есть возможность легко отключить архивы по датам через интерфейс плагина. Для этого выполните следующие шаги:
- Перейдите в панель управления WordPress.
- Перейдите в раздел SEO > Архивы.
- Найдите опцию Дата архивы и переключите её в положение "Выкл".
Эти настройки позволят вам быстро отключить отображение архивов по датам без необходимости изменять код.
3. Использование файла .htaccess
Еще один способ — это редактирование файла .htaccess
, чтобы перенаправлять попытки доступа к таким страницам:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$
RewriteRule ^ - [R=404,L]
Этот код проверяет, пытается ли пользователь получить доступ к URL с указанным форматом даты, и в таком случае возвращает ошибку 404.
4. Проверка работы
После внесения изменений в код или настроек убедитесь, что они работают должным образом. Перейдите по адресам архивов по датам, чтобы убедиться, что они возвращают ошибку 404 или, в случае с Yoast SEO, экран "404 Not Found".
Заключение
Отключение архивов по датам может помочь вам лучше управлять вашим контентом и повысить его SEO-оптимизацию. Вы можете выбрать любой из описанных выше методов в зависимости от ваших предпочтений и уровня навыков. Убедитесь, что вы сделали резервную копию перед внесением любых изменений, чтобы избежать потери данных.
Если у вас остаются вопросы или трудности, не стесняйтесь обращаться за поддержкой.