Дубли страниц в WordPress — частая проблема, которая негативно влияет на SEO и пользовательский опыт. Особенно при использовании темы GeneratePress, которая активно применяется для построения легких и быстрых сайтов. В этой статье разберем, как выявить и удалить дубли страниц, используя плагины и кастомные решения на PHP.
Почему появляются дубли страниц в WordPress и как их найти
Дубли страниц возникают по разным причинам: неправильные настройки ЧПУ, наличие нескольких URL с одинаковым контентом, параметры в адресах, архивы, пагинация, а также ошибки в настройках темы или плагинов. В GeneratePress часто встречаются дубли из-за страниц архивов, тегов и категорий, которые индексируются поисковиками.
Для обнаружения дублей используйте инструменты, например, Google Search Console (раздел «Покрытие» — дубли), Screaming Frog SEO Spider или плагин Yoast SEO, который помогает контролировать индексацию.
Проверка через Google Search Console
Войдите в консоль, перейдите в раздел «Покрытие» и посмотрите ошибки с пометкой «Дублирующийся контент» или «Дублирующиеся метатеги». Это первые сигналы для оптимизации.
Используем Screaming Frog SEO Spider
Этот инструмент сканирует сайт и показывает страницы с одинаковыми заголовками, метаописаниями или контентом. Выгрузите отчет и проанализируйте.
Удаление дублей с помощью плагинов и правильных настроек GeneratePress
Самый простой способ бороться с дублями — корректно настроить индексацию и использовать SEO-плагины. Рассмотрим основные варианты.
Плагин Yoast SEO для управления индексированием
Yoast SEO позволяет закрывать от индексации архивы, метки, категории и другие страницы, которые могут создавать дубли.
- Перейдите в консоль WordPress > SEO > Внешний вид поиска.
- Во вкладке «Таксономии» отключите индексацию тегов, если они не нужны.
- Во вкладке «Архивы» настройте отображение и индексацию авторских и датированных страниц.
Так вы закроете лишние страницы от поисковиков, уменьшая количество дублей.
Плагин Redirection для корректировки URL
Иногда дубли возникают из-за разных URL с одинаковым контентом (с www и без, с http и https). Плагин Redirection поможет настроить 301 редиректы на основной URL.
Пример настройки редиректа с http на https:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]В WordPress это можно реализовать через файл .htaccess или через настройки плагина.
Решение задачи удаления дублей с помощью пользовательского кода в GeneratePress
Если хотите более тонко управлять выводом страниц, можно добавить пользовательские функции в файл functions.php вашей темы или дочерней темы GeneratePress.
Функция generatepress_remove_duplicate_pages()
Например, отключим индексацию архивов тегов и датированных страниц, чтобы поисковики их не индексировали.
function generatepress_remove_duplicate_pages() {
if (is_tag() || is_date()) {
wp_no_robots(); // Добавляет мета-тег noindex для страниц тегов и дат
}
}
add_action('wp_head', 'generatepress_remove_duplicate_pages');Эта функция добавляет мета-тег noindex в заголовок страниц, которые часто создают дубли.
Функция generatepress_redirect_duplicate_urls()
Если на сайте есть несколько URL с одним контентом, можно настроить редиректы на канонический URL. Пример функции, которая делает редирект на основной URL, если текущий отличается:
function generatepress_redirect_duplicate_urls() {
global $wp;
$current_url = home_url(add_query_arg(array(), $wp->request));
$canonical_url = get_permalink();
if ($current_url !== $canonical_url) {
wp_redirect($canonical_url, 301);
exit;
}
}
add_action('template_redirect', 'generatepress_redirect_duplicate_urls');Внимание! Такая функция подходит, если вы уверены, что все запросы должны вести на один URL, иначе возможны неправильные редиректы.
Использование канонических ссылок в GeneratePress для борьбы с дублями
Еще один важный инструмент — канонические URL. GeneratePress и большинство SEO-плагинов (например, Yoast SEO) автоматически добавляют канонические ссылки. Они показывают поисковикам основной URL для страницы с дублирующимся контентом.
Если нужно добавить канонический URL вручную, используйте следующий код:
function generatepress_add_canonical_url() {
if (is_singular()) {
echo '<link rel="canonical" href="' . esc_url(get_permalink()) . '" />';
}
}
add_action('wp_head', 'generatepress_add_canonical_url');Это гарантирует, что поисковые системы будут считать ссылку на страницу основной, что уменьшит риск SEO-проблем с дублями.
Заключение. Рекомендации и лучшие практики
Для удаления дублей страниц на сайте с темой GeneratePress придерживайтесь следующих рекомендаций:
- Регулярно проверяйте сайт с помощью Search Console и SEO-сканеров.
- Используйте SEO-плагины для управления индексацией таксономий и архивов.
- Настраивайте редиректы для устранения разных версий URL.
- Добавляйте мета-теги noindex для страниц с дублирующимся контентом.
- Используйте канонические ссылки для указания поисковикам основной версии страницы.
- Если нужно, добавляйте кастомные функции в
functions.phpдля тонкой настройки.
Соблюдение этих практик поможет избежать санкций поисковиков, улучшить позиции сайта и повысить удобство для пользователей.