Параметры в URL (например, ?utm_source= или ?sessionid=) часто создают дублированный контент на сайте WordPress, что негативно влияет на SEO. В этой статье разберёмся, как эффективно удалить или контролировать параметры URL, чтобы избежать проблем с индексацией и повысить позиции в поисковой выдаче.
Что такое параметры URL и почему они вредят SEO
Параметры URL — это дополнительные данные, которые добавляются к базовому адресу страницы после знака вопроса (?). Обычно они служат для отслеживания рекламных кампаний, сортировки или фильтрации контента.
Для поисковых систем параметры могут создавать множество различных версий одной и той же страницы, что ведёт к дублированию контента. Поисковики могут не знать, какую версию считать канонической, что разбавляет вес страницы и ухудшает ранжирование.
Например, следующие URL ведут на один и тот же контент, но считаются разными страницами:
- example.com/product
- example.com/product?utm_source=google
- example.com/product?sessionid=12345
Удаление или правильное управление параметрами позволяет избежать этой проблемы.
Как определить, какие параметры нужно удалить или контролировать
Для начала следует проанализировать, какие параметры действительно создают дубли или не влияют на контент:
- Параметры отслеживания — utm_*, fbclid, gclid и подобные — не должны индексироваться.
- Параметры сессий — sessionid, PHPSESSID и т.п. — тоже не нужны для SEO.
- Параметры сортировки и фильтрации — например, color=red, sort=price — иногда важны, если они меняют содержимое страницы, иногда нет.
Для оценки используйте Google Search Console и отчёты по URL. Там можно видеть, какие URL с параметрами индексируются.
Способы удаления параметров URL в WordPress
1. Использование файла robots.txt для запрета индексации параметров
Простой способ — запретить индексацию URL с параметрами через robots.txt.
Например, добавьте следующие строки:
User-agent: *
Disallow: /*?utm_source=
Disallow: /*?sessionid=
Disallow: /*?fbclid=Однако этот метод не всегда надёжен, так как некоторые поисковики могут игнорировать robots.txt для URL с параметрами.
2. Настройка канонических URL с помощью YoastSEO
Плагин YoastSEO автоматически ставит канонические теги на страницы, но при использовании параметров лучше проверить настройку и при необходимости добавить фильтр для исключения параметров из канонических ссылок.
Пример функции, которая удаляет параметры utm из канонического URL:
function yoastseo_remove_utm_from_canonical($canonical) {
$url_parts = parse_url($canonical);
if (!isset($url_parts['query'])) {
return $canonical;
}
parse_str($url_parts['query'], $query_params);
$filtered_params = array_filter($query_params, function($key) {
return strpos($key, 'utm_') !== 0;
}, ARRAY_FILTER_USE_KEY);
$new_query = http_build_query($filtered_params);
$new_url = $url_parts['scheme'] . '://' . $url_parts['host'] . $url_parts['path'];
if ($new_query) {
$new_url .= '?' . $new_query;
}
return $new_url;
}
add_filter('wpseo_canonical', 'yoastseo_remove_utm_from_canonical');3. Редиректы на чистые URL с помощью плагина Redirection
Плагин Redirection позволяет создавать правила для перенаправления URL с параметрами на чистые версии:
- Добавьте правило перенаправления с регулярным выражением, которое захватывает параметры utm и другие, и перенаправляет на URL без параметров.
Пример регулярного выражения для удаления utm-параметров:
^(.*)\?utm_.*$В поле назначения укажите $1, чтобы перенаправить на URL без параметров.
4. Использование фильтра pre_get_posts для игнорирования параметров в запросах WordPress
Если параметры влияют на вывод записей, можно программно очищать параметры запроса, чтобы избежать дублирования:
function yoastseo_clean_query_params($query) {
if (!is_admin() && $query->is_main_query()) {
$params_to_remove = ['utm_source', 'utm_medium', 'sessionid'];
foreach ($params_to_remove as $param) {
if (isset($_GET[$param])) {
unset($_GET[$param]);
}
}
}
}
add_action('pre_get_posts', 'yoastseo_clean_query_params');Дополнительные советы по работе с параметрами URL в WordPress
Используйте Google Search Console для управления параметрами
В разделе «Параметры URL» Google Search Console позволяет указать, как поисковик должен обрабатывать параметры. Это помогает избежать индексации лишних версий страниц.
Однако данный инструмент не заменяет правильную оптимизацию на стороне сайта.
Никогда не удаляйте параметры, которые влияют на содержимое
Например, если параметры фильтрации товаров меняют содержимое страницы, их нельзя просто удалять или игнорировать — это приведёт к потере функционала.
В таких случаях лучше использовать канонические URL и разметку, чтобы правильно сообщать поисковикам о релевантных версиях.
Проверяйте работу после изменений
После внедрения изменений внимательно тестируйте сайт, чтобы не допустить ошибок в переадресациях или потери контента.
Для этого используйте инструменты типа Screaming Frog, чтобы просканировать сайт на предмет дублирования URL с параметрами.
Итог
Удаление или контроль параметров URL — важный шаг для улучшения SEO вашего WordPress-сайта. Комбинация правильных настроек robots.txt, использования канонических тегов YoastSEO, редиректов и фильтров в коде позволяет надежно избавиться от дублированного контента и повысить позиции в поиске.
Если вы хотите быстро и эффективно решить проблему, начните с анализа параметров в Google Search Console и настройте канонические ссылки через YoastSEO, дополнив их программными фильтрами, как показано в примерах.