Как создать автоматический канонический URL в WordPress

Канонические URL играют важную роль в SEO, помогая поисковым системам понять, какая версия страницы является основной при наличии дублированного или похожего контента. В WordPress по умолчанию генерируются канонические ссылки, но они не всегда покрывают все кейсы, например, при сложных URL-параметрах, пагинации, пользовательских типах записей или многослойной фильтрации. В этой статье рассмотрим, как автоматически создавать и настраивать канонические URL в WordPress с помощью собственного кода и полезных плагинов.

Почему важно создавать канонические URL в WordPress

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

Автоматизация создания канонических ссылок упрощает поддержку сайта и минимизирует ошибки SEO, особенно если сайт регулярно меняется и добавляются новые типы контента.

Кроме того, правильные канонические URL помогают поисковым системам распределять ссылочный вес, что способствует улучшению ранжирования.

Как работает стандартный канон в WordPress

В WordPress функция wp_head() автоматически выводит тег <link rel="canonical"> на страницах, используя функцию rel_canonical(). Однако она не учитывает многие кастомные сценарии.

Например, URL с параметрами типа ?orderby=price или пагинация на архивах могут иметь дублированный контент с разными URL, но одинаковым содержимым. В таких случаях нужно переписать логику формирования канонического URL.

Настройка автоматического канонического URL с помощью кода

Для более гибкого контроля создадим фильтр, который будет корректировать выходной тег канонического URL в зависимости от условий.

Пример функции для автоматического формирования канонического URL

function wpaddons_custom_canonical_url() {
    if (is_singular()) {
        // Для одиночных записей возвращаем их постоянную ссылку
        return get_permalink();
    } elseif (is_category() || is_tag() || is_tax()) {
        // Для таксономий возвращаем базовый URL архива без GET-параметров
        return get_term_link(get_queried_object());
    } elseif (is_post_type_archive()) {
        // Для архивов пользовательских типов записей
        return get_post_type_archive_link(get_post_type());
    } elseif (is_home()) {
        // Для главной страницы
        return home_url('/');
    } else {
        // Для остальных страниц возвращаем текущий URL без параметров пагинации
        global $wp;
        $url = home_url(add_query_arg(array(), $wp->request));
        return $url;
    }
}

function wpaddons_filter_canonical($canonical) {
    $custom_canonical = wpaddons_custom_canonical_url();
    if ($custom_canonical) {
        return $custom_canonical;
    }
    return $canonical;
}
add_filter('get_canonical_url', 'wpaddons_filter_canonical');

Эта функция учитывает разные типы страниц и возвращает более точный канонический URL без лишних параметров, которые могут вызывать дублирование.

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

Использование плагинов для управления каноническими URL

Если вы не хотите писать код самостоятельно, можно использовать плагины, которые расширяют возможности канонических ссылок в WordPress.

Yoast SEO

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

Rank Math SEO

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

WP Addons: Clearfy Pro

Если вы используете Clearfy Pro, там есть опции для оптимизации SEO и управления каноническими ссылками, которые помогут автоматически корректировать URL без необходимости писать код.

Примеры решения задач с каноническими URL

Исключение GET-параметров из канонического URL

Часто URL с параметрами сортировки или фильтров создают дублированный контент. Чтобы исключить их из канонических ссылок, используйте следующий фильтр:

function wpaddons_remove_query_params_from_canonical($canonical) {
    if (!$canonical) return $canonical;

    $parsed_url = parse_url($canonical);
    $clean_url = $parsed_url['scheme'] . '://' . $parsed_url['host'] . $parsed_url['path'];

    return $clean_url;
}
add_filter('get_canonical_url', 'wpaddons_remove_query_params_from_canonical');

Этот код удалит все параметры запроса и оставит только базовый URL.

Канонический URL для пагинации

По умолчанию WordPress добавляет тег канонического URL на страницы пагинации, но иногда стоит указывать канон на первую страницу архива, чтобы избежать размывания веса.

function wpaddons_canonical_pagination_fix($canonical) {
    if (is_paged()) {
        $page = get_query_var('paged');
        if ($page > 1) {
            // Канонический URL указываем на первую страницу
            if (is_category()) {
                return get_category_link(get_query_var('cat'));
            } elseif (is_tag()) {
                $tag = get_queried_object();
                return get_tag_link($tag->term_id);
            } elseif (is_post_type_archive()) {
                return get_post_type_archive_link(get_post_type());
            }
        }
    }
    return $canonical;
}
add_filter('get_canonical_url', 'wpaddons_canonical_pagination_fix');

Рекомендации по тестированию и отладке

После внедрения кода или установки плагина обязательно проверьте итоговые канонические ссылки на разных страницах сайта. Для этого можно использовать инструменты разработчика в браузере или SEO-аудиторы, например, Screaming Frog SEO Spider.

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

Также полезно использовать Google Search Console для проверки того, как поисковик воспринимает канонические ссылки на вашем сайте.

Автоматическое создание пользовательских метаполей в WordPress
15.03.2026
WooCommerce: автоматическое изменение стоимости товаров по акции
11.05.2026
Удаление неиспользуемых мета данных в WordPress и оптимизация базы данных
21.12.2025
Как создать автоматический импорт продуктов в WooCommerce
15.04.2026
Автоматическое создание и удаление записей в WordPress по расписанию
06.04.2026