Как исправить дубли title, description и canonical в WordPress

Если в поиске у страниц одинаковые title и description, а canonical указывает не туда или дублируется на нескольких URL, проблема обычно не в поисковике, а в связке темы, SEO-плагина и шаблонов архива. В WordPress это встречается чаще, чем кажется: один и тот же контент доступен через категории, теги, пагинацию, параметры сортировки, страницы автора и иногда через кастомные шаблоны.

Ниже — рабочий порядок проверки и исправления. Он подходит для типичных установок WordPress, где уже стоит SEO-плагин, но мета-теги все равно конфликтуют между собой.

Как понять, что у вас именно дубли мета-тегов, а не проблема индексации

Сначала нужно отделить реальные дубли от нормального поведения поисковика. Если в HTML страницы в <head> есть два <title>, два meta name="description" или несколько link rel="canonical", это уже техническая ошибка. Если же в индексе просто много похожих URL, причина может быть в архивных страницах, параметрах и пагинации.

Что проверить в первую очередь

  • исходный HTML страницы через «Просмотр кода» или curl;
  • наличие второго SEO-плагина, который тоже выводит мета-теги;
  • дубли в теме через wp_head и кастомные функции;
  • архивы с одинаковыми шаблонами title для категорий, тегов и авторов;
  • страницы с параметрами ?amp, ?replytocom, сортировкой и фильтрами.

Быстрая проверка через консоль помогает увидеть проблему без браузерных расширений:

curl -sL https://example.com/page/ | grep -iE '<title>|meta name="description"|rel="canonical"'

Если в ответе больше одного совпадения по каждому типу тега, дальше уже надо искать источник в коде или плагинах.

Откуда берутся дубли title, description и canonical

На практике источников обычно несколько, и они могут накладываться друг на друга. Самая частая ошибка — включить SEO-плагин и оставить в теме старый код, который тоже печатает мета-теги. Вторая типовая ситуация — шаблон архива генерирует одинаковый title для разных страниц пагинации или таксономий.

Типовые причины

  • тема вручную выводит <title> через wp_title() или самописный шаблон;
  • SEO-плагин и тема одновременно выводят canonical;
  • в functions.php есть старые фильтры на document_title_parts или wpseo_title;
  • для архивов не настроены шаблоны title и description;
  • в индексацию попадают служебные URL с параметрами.

Если у вас стоит несколько SEO-решений одновременно, сначала оставьте одно. Иначе вы будете чинить не причину, а симптомы.

Пошаговое решение: убираем источник дублей

Оптимальный порядок такой: сначала отключить лишний вывод в теме, затем проверить SEO-плагин, потом добить кастомные фильтры и только после этого смотреть на шаблоны архивов.

1. Уберите ручной вывод title из темы

В современных темах WordPress title должен формироваться через поддержку title-tag. Если в header.php или другом шаблоне есть жестко прописанный <title>, его нужно убрать.

// functions.php темы или дочерней темы
add_action('after_setup_theme', function () {
    add_theme_support('title-tag');
});

Если тема старая и использует wp_title(), это почти всегда кандидат на доработку. Вручную выводить title в 2026 году — плохая идея, особенно если на сайте уже есть SEO-плагин.

2. Проверьте, кто выводит canonical

Canonical должен приходить из одного источника. Если SEO-плагин уже его формирует, не добавляйте второй через тему или кастомный хук. Для проверки найдите в коде проекта все упоминания rel="canonical" и wp_get_canonical_url.

Пример корректного добавления canonical только для особого случая, когда нужно переопределить URL на конкретной странице:

add_filter('wpseo_canonical', function ($canonical) {
    if (is_page(42)) {
        return home_url('/landing/');
    }
    return $canonical;
});

Этот пример уместен только если у вас действительно есть причина менять canonical. Если причины нет, фильтр не нужен.

3. Настройте шаблоны title и description для архивов

Для категорий, тегов и других архивов title не должен быть одинаковым. Если SEO-плагин позволяет шаблоны, используйте переменные так, чтобы каждая сущность получала свой заголовок. Для WordPress-архивов это особенно важно на больших сайтах с похожими рубриками.

Если нужен кастомный вариант без плагина, можно задать title через фильтр:

add_filter('document_title_parts', function ($parts) {
    if (is_category()) {
        $term = get_queried_object();
        if ($term && !is_wp_error($term)) {
            $parts['title'] = single_cat_title('', false) . ' — статьи и материалы';
        }
    }
    return $parts;
});

Такой подход не решает все SEO-задачи, но помогает убрать одинаковые title на категориях, если тема их генерирует слишком однообразно.

4. Исключите дубли от параметров и служебных URL

Если на сайте есть URL с параметрами сортировки, фильтров или служебных переходов, canonical должен указывать на чистую основную страницу. Для этого важно не плодить отдельные шаблоны под каждый параметр без необходимости.

На уровне сервера и темы полезно проверить, не создаются ли отдельные версии страниц для:

  • ?replytocom;
  • ?utm_*;
  • ?sort= и других параметров фильтрации;
  • страниц пагинации с одинаковым title;
  • страниц автора, если они не нужны в индексе.

Сравнение подходов: плагин, код или правка темы

ПодходКогда подходитПлюсыМинусы
SEO-плагинЕсли нужен быстрый контроль title, description и canonicalУдобно управлять шаблонами, меньше ручного кодаКонфликтует с темой, если там уже есть свой вывод
Код в теме/дочерней темеЕсли нужна точечная правка на одном сайтеГибко, можно решить локальную проблемуЛегко сломать при обновлении темы
Комбинация с аудитом шаблоновЕсли дубли идут из нескольких источниковСамый надежный вариантТребует времени и проверки кода

Как проверить, что исправление сработало

После правок не ограничивайтесь визуальной проверкой в браузере. Нужно посмотреть именно HTML и убедиться, что в <head> остался один набор мета-тегов.

Чек-лист проверки

  • на странице есть один <title>;
  • есть один meta name="description";
  • canonical выводится один раз;
  • title отличается у категорий, тегов и записей;
  • страницы пагинации не дублируют title первой страницы;
  • служебные URL не создают отдельные индексируемые копии.

Проверить canonical и title можно и через PHP, если нужен быстрый локальный тест:

add_action('wp_head', function () {
    if (current_user_can('manage_options')) {
        echo "\n<!-- debug: " . esc_html(get_permalink()) . " -->\n";
    }
}, 99);

Это не решение для продакшена, а временная диагностика. После проверки такой код нужно удалить.

Частые ошибки и как их исправить

Оставили два SEO-источника одновременно

Например, SEO-плагин уже выводит canonical, а тема добавляет свой через wp_head. В итоге поисковик видит конфликтующие сигналы. Исправление простое: оставить один источник и удалить второй.

Использовали фильтр не по назначению

Иногда пытаются через pre_get_document_title или document_title_parts решить все сразу. Но если проблема в шаблоне темы, фильтр только замаскирует симптом. Сначала уберите ручной вывод в шаблоне, потом уже настраивайте фильтры.

Сломали canonical на пагинации

Частая ошибка — принудительно ставить canonical на первую страницу архива для всех страниц пагинации. Это не всегда корректно. Если пагинация нужна для индексации, canonical должен соответствовать текущей странице, а не всегда первой.

Сделали одинаковые description для всех архивов

Автоматический шаблон description без учета таксономии часто приводит к дублям. Лучше задать шаблон с переменными или вообще убрать description там, где он не несет пользы, чем плодить одинаковый текст.

Практические советы по безопасности и производительности

Любая правка мета-тегов должна идти через дочернюю тему или собственный мини-плагин, а не прямо в файлы родительской темы. Иначе обновление все затрет. Если правок много, вынесите их в отдельный mu-plugin или небольшой кастомный плагин проекта.

Не ставьте несколько SEO-плагинов ради одной функции. Это лишняя нагрузка и источник конфликтов. Если нужен более широкий набор инструментов для чистки дублей, служебных страниц и технической оптимизации, можно посмотреть в сторону Clearfy Pro: https://wpshop.ru/plugins/clearfy?utm_source=wpmentor.ru&utm_medium=article&utm_campaign=wordpress-duplicate-title-description-canonical-fix. Но и в этом случае сначала проверьте, не дублирует ли его функции уже установленный SEO-плагин.

Для больших сайтов полезно периодически прогонять выборочную проверку HTML по ключевым типам страниц: главная, запись, категория, тег, автор, пагинация. Это быстрее, чем ждать, пока дубли всплывут в отчете поисковой системы.

Если после всех правок дубли остаются, ищите их не в SEO-настройках, а в шаблонах темы и подключаемых плагинах. В WordPress именно там обычно прячется реальная причина.

Как закрыть страницы поиска WordPress от индексации и убрать дубли в выдаче
25.09.2026
Как закрыть архивы WordPress от индексации и не сломать canonical и пагинацию
16.09.2026
Почему REST API WordPress возвращает 403 при запросах с Authorization header и как это исправить
13.09.2026
Почему WordPress XML-RPC возвращает 403 или 404 и как безопасно отключить или ограничить доступ
19.09.2026
Как исправить дубли title, description и canonical в WordPress
22.09.2026
×
-15%
на премиум-тему
Bono

Создай магазин мечты
на WordPress!

↓ ↓ ↓ ↓ ↓
Купить со скидкой »