Параметры URL часто добавляются к ссылкам в WordPress по разным причинам: трекинг, сортировка, фильтрация товаров и записей, а также для управления сессиями. Однако избыточные или неправильные параметры могут негативно сказаться на SEO и удобстве пользователей. В этой статье мы подробно рассмотрим, как удалить лишние параметры из URL в WordPress, не навредив индексации сайта поисковиками, и приведём практические примеры с кодом и плагинами.
Почему важно контролировать параметры URL в WordPress
Параметры URL — это часть адреса после знака вопроса (?), например: https://example.com/page?utm_source=google&sessionid=12345. Они могут использоваться для:
- Отслеживания источников трафика (UTM-метки).
- Фильтрации и сортировки контента на страницах магазина или каталога.
- Управления сессиями или персонализацией.
Но если параметры не контролировать, поисковые системы могут воспринимать разные варианты URL с одинаковым содержимым как дублирующийся контент. Это снижает SEO-эффективность и усложняет аналитические данные.
Кроме того, длинные и запутанные URL ухудшают пользовательский опыт.
Как удалить параметры URL без вреда для SEO: ключевые принципы
Основная задача — оставить в адресах только нужные параметры, которые влияют на содержимое страницы, и убрать лишние. Важно не блокировать поисковым роботам доступ к страницам и правильно настроить канонические URL.
Основные рекомендации:
- Используйте канонические ссылки — они показывают поисковикам основной URL без параметров.
- Удаляйте параметры на стороне сервера, если они не влияют на содержимое страницы.
- Не удаляйте параметры, влияющие на фильтрацию и сортировку товаров или записей, если это важно для пользователей.
- Настройте в Google Search Console параметры URL, чтобы указать, какие параметры игнорировать.
Практические способы удаления параметров URL в WordPress
1. Настройка канонических URL с помощью кода
Если вы не используете SEO-плагины с поддержкой канонических ссылок, можно добавить собственное решение. В файл functions.php вашей темы добавьте функцию, которая удалит параметры и выведет канонический URL без них:
<?php
function wordpressy_remove_url_params_canonical() {
if (is_singular()) {
$url = strtok(get_permalink(), '?');
echo '<link rel="canonical" href="' . esc_url($url) . '" />';
}
}
add_action('wp_head', 'wordpressy_remove_url_params_canonical', 1);
?>Эта функция берёт постоянную ссылку (permalink) без параметров и выводит тег link rel="canonical" в заголовке страницы.
2. Удаление параметров из URL при загрузке страницы (редиректы)
Если параметры не нужны, можно сделать редирект на URL без них. В этом поможет следующий код:
<?php
function wordpressy_redirect_remove_url_params() {
if (is_admin()) return; // не трогаем админку
$current_url = home_url(add_query_arg(array(), $_SERVER['REQUEST_URI']));
$url_parts = parse_url($current_url);
if (!empty($url_parts['query'])) {
// Разрешённые параметры, которые не удаляем
$allowed_params = array('orderby', 'filter');
parse_str($url_parts['query'], $query_array);
// Фильтруем параметры
$filtered_query = array_intersect_key($query_array, array_flip($allowed_params));
// Формируем новый URL без лишних параметров
$new_url = $url_parts['scheme'] . '://' . $url_parts['host'] . $url_parts['path'];
if (!empty($filtered_query)) {
$new_url .= '?' . http_build_query($filtered_query);
}
if ($new_url !== $current_url) {
wp_redirect($new_url, 301);
exit;
}
}
}
add_action('template_redirect', 'wordpressy_redirect_remove_url_params');
?>Этот код оставляет только параметры orderby и filter, которые часто используются для сортировки и фильтрации, и удаляет все остальные, делая 301 редирект на чистый URL.
3. Использование плагинов для управления параметрами URL
Если вы не хотите писать код, можно использовать плагины, которые упрощают управление параметрами:
- Clearfy Pro — мощный инструмент оптимизации, который умеет управлять параметрами URL, удалять лишние UTM-метки и предотвращает дублирование.
- Yoast SEO Premium — поддерживает настройку канонических URL и управление параметрами URL.
- Remove Query Strings From Static Resources — удаляет параметры из URL статических файлов для ускорения загрузки.
При использовании плагинов обязательно проверьте, чтобы они не конфликтовали с другими инструментами SEO и кэширования.
Как проверить, что параметры URL не влияют на SEO
После настройки очистки и удаления параметров важно проверить, что поисковые системы корректно воспринимают страницы:
- Используйте Google Search Console для проверки индексации и параметров URL.
- Проверьте наличие канонических ссылок в исходном коде страниц.
- Используйте инструменты проверки редиректов, например httpstatus.io, чтобы убедиться, что редиректы работают корректно.
- Мониторьте позиции и видимость сайта в поиске после внесения изменений.
Особенности удаления UTM-меток и трекинговых параметров
UTM-метки (utm_source, utm_medium и т.д.) широко используются для аналитики, но в URL они увеличивают длину и могут создавать дубли.
Если вы хотите убрать UTM-метки после первого захода пользователя или для поисковых роботов, можно использовать JavaScript для очистки адреса без перезагрузки страницы:
<script>
(function() {
if (window.location.search.indexOf('utm_') !== -1) {
var url = window.location.protocol + '//' + window.location.host + window.location.pathname;
window.history.replaceState({}, document.title, url);
}
})();
</script>Этот скрипт удалит UTM-параметры из адресной строки, не влияя на текущую страницу.
Заключение по теме удаления параметров URL
Удаление лишних параметров из URL — важный шаг в оптимизации WordPress-сайта. Используя канонические ссылки, правильные редиректы и инструменты управления, вы защитите сайт от дублированного контента и улучшите SEO.
Для удобства и безопасности лучше комбинировать кодовые решения и проверенные плагины, например, Clearfy Pro, который интегрируется с WordPress и помогает контролировать параметры URL и другие аспекты оптимизации.