Как избежать SEO-проблем с параметрами URL: подробное руководство

Автор: Джес Шольц (Jes Scholz), digital-директор, Ringier

Хотя веб-разработчики и поклонники аналитики любят параметры, для SEO-специалистов они часто являются кошмаром. Бесконечные комбинации параметров могут создавать из одного и того же контента тысячи вариантов URL.

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

Что такое параметры URL?

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

Они состоят из пары «ключ + значение», разделённых знаком равенства (=). Используя амперсанд (знак &), можно добавить несколько параметров на одну страницу.

Самые распространённые варианты использования параметров:

  • Отслеживание. Например: utm_medium=social, ?sessionid=123 или ?affiliateid=abc.
  • Изменение порядка. Например: ?sort=lowest-price, ?order=highest-rated или ?so=newest.
  • Фильтрация. Например: ?type=widget, colour=blue или ?price-range=20-50.
  • Идентификация. Например: ?product=small-blue-widget, categoryid=124 или itemid=24AU.
  • Пагинация. Например: ?page=2, ?p=2 или viewItems=10-30.
  • Поиск. Например: ?query=users-query, ?q=users-query или ?search=drop-down-option.
  • Смена языковой версии. Например: ?lang=fr, ?language=de.

SEO-проблемы при использовании параметров URL

1. Параметры создают дублированный контент

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

Например, следующие URL-адреса все будут возвращать подборку виджетов:

  • Статический URL: https://www.example.com/widgets
  • Параметр отслеживания: https://www.example.com/widgets?sessionID=32764
  • Параметр, меняющий порядок на странице: https://www.example.com/widgets?sort=newest
  • Параметр идентификации: https://www.example.com?category=widgets
  • Параметр поиска: https://www.example.com/products?search=widget

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

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

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

2. Параметры расходуют бюджет сканирования

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

Google описал эту проблему в Справке для вебмастеров:

«Слишком сложные URL, особенно включающие несколько параметров, могут затруднять работу поисковых роботов, так как создается чрезмерное количество URL-адресов, указывающих на одно и то же или схожее содержание на сайте. В результате робот Googlebot может использовать гораздо больше ресурсов канала передачи данных, чем это необходимо. Кроме того, есть вероятность, что он не сможет просканировать всё содержание сайта полностью».

3. Параметры распыляют сигналы ранжирования страницы

Если у вас имеется несколько вариантов одного и того же содержимого страницы, то ссылки и репосты в социальных сетях могут поступать для разных его версий.

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

4. Параметры делают URL менее кликабельными

Давайте посмотрим правде в глаза: параметры малопривлекательны. Их трудно читать. Они не вызывают доверия. Соответственно, такие URL получают меньше кликов. А это может отразиться на эффективности страницы в поиске. Причём, не только потому, что CTR может влиять на ранжирование, но также потому, что такие URL менее кликабельны в социальных медиа, в email-сообщениях, при копировании на форумах и в других местах, где может отображаться полный URL-адрес. Каждый твит, лайк, репост, email, ссылка и упоминание имеют значение для домена.

Плохая читабельность URL приводит к снижению вовлечённости во взаимодействие с брендом.

Оцените масштабы проблемы с параметрами на сайте

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

Как найти все параметры, используемые на сайте? Или понять, как поисковые системы сканируют и индексируют такие страницы? Узнать, какую ценность они несут для пользователей?

Выполните следующие пять шагов:

  • Запустите краулер. С помощью такого инструмента, как Screaming Frog, можно искать «?» в URL.
  • Проверьте данные в инструменте «Параметры URL» в Search Console: Google автоматически добавляет все строки запросов, которые он находит.
  • Просмотрите лог-файлы: проверьте, сканирует ли Googlebot URL с параметрами.
  • Выполните поиск по сайту. Используйте операторы поиска site: и inurl:. Узнать, как Google индексирует параметры, которые вы нашли, можно с помощью следующего запроса: [site: example.com inurl:ключ].
  • Просмотрите отчёт «Все страницы» в Google Analytics. Ищите «?», чтобы увидеть, как каждый из найденных вами параметров используется пользователями. Проверьте, чтобы параметры URL не были исключены в настройках просмотра.

Вооружившись этими данными, вы сможете решить, как наилучшим образом обойтись с каждым параметром вашего сайта.

SEO-решения для «укрощения» параметров URL

Для работы с параметрами URL на стратегическом уровне в арсенале SEO-специалиста есть 6 инструментов. Рассмотрим их подробнее.

Ограничьте количество URL, основанных на параметрах

Простая проверка того, как и почему генерируются параметры, может обеспечить быстрые выигрыши для SEO. Ниже – четыре частые проблемы, с которых стоит начать работу.

1. Удалите ненужные параметры

Попросите своего программиста предоставить вам список всех параметров и их функций. Есть шансы, что вы обнаружите те параметры, которые больше не выполняют полезной функции. Так, пользователи могут быть лучше идентифицированы с помощью файлов cookies, а не идентификаторов сеансов. При этом параметр sessionID может по-прежнему присутствовать на сайте, поскольку он использовался ранее.

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

Любые параметры, вызванные техническими недоработками (незавершёнными изменениями в программном коде) должны быть немедленно устранены.

2. Не допускайте появления пустых значений

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

Так, на примере выше key2 и key3 не добавляют URL никакой ценности.

3. Используйте ключи только один раз

Избегайте применения нескольких параметров с одним и тем же именем, но разным значением.

Для множественного выбора лучше объединять значения после ключа.

4. Очерёдность параметров

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

Во избежание этих проблем, попросите своего разработчика написать скрипт, который будет гарантировать добавление параметров в определённом порядке – независимо от того, как пользователь будет их выбирать.

Мы рекомендуем начинать с параметров языка, затем добавлять идентификацию, пагинацию, фильтрацию или поисковые параметры, а в самом конце – отслеживание.

Плюсы:

  • Более эффективное использование краулингового бюджета;
  • Сокращение проблем с дублированным контентом;
  • Консолидация сигналов ранжирования для нескольких страниц;
  • Подходит для всех типов параметров.

Минусы:

  • Требует времени на внедрение.

Атрибут rel=”canonical”

Атрибут rel=”canonical” указывает, что содержимое страницы идентично или похоже не содержимое другой страницы. Это побуждает поисковые системы объединять сигналы ранжирования по URL, указанному как канонический (основной).

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

Плюсы:

  • Относительно легко реализовать;
  • Высокая вероятность защиты от проблем с дублированным контентом;
  • Консолидирует сигналы ранжирования на каноническом URL.

Минусы:

  • Бюджет сканирования тратится на страницы с параметрами;
  • Подходит не для всех типов параметров.
  • Интерпретирует поисковыми системами как подсказка, но не директива.

Директива noindex в метатеге robots

Настройте директиву noindex для любой страницы с параметрами, которая не имеет ценности для SEO. В результате поисковые системы не будут индексировать эти страницы.

Кроме того, такие URL реже сканируются, а директива noindex, follow со временем переходит в noindex, nofollow.

Плюсы:

  • Относительно легко внедрить;
  • Высокая вероятность защиты от проблем с дублированным контентом;
  • Подходит для всех типов параметров, которые не должны индексироваться;
  • Удаляет существующие URL с параметрами из индекса.

Минусы:

  • Не запрещает поисковым системам сканировать URL, но побуждает их делать это реже;
  • Не объединяет сигналы ранжирования;
  • Интерпретируется поисковыми системами как намёк, но не директива.

Директива Disallow в файле robots.txt

Файл robots.txt – это то, на что поисковые системы смотрят в первую очередь, прежде чем сканировать сайт. Если они увидят там запрет на что-либо, то на следующую стадию даже не перейдут.

Вы можете использовать этот файл, чтобы заблокировать краулерам доступ к URL с параметрами с помощью директивы Disallow: /*?* или указания конкретных строк запроса, которые не должны индексироваться.

Плюсы:

  • Просто внедрить.
  • Позволяет более эффективно использовать бюджет сканирования.
  • Позволяет избежать проблем с дублированием контента.
  • Подходит для всех типов параметров, которые не должны сканироваться.

Минусы:

  • Не объединяет сигналы ранжирования.
  • Не удаляет существующие URL из индекса.

Инструмент «Параметры URL» в Google Search Console

Настройте инструмент «Параметры URL» таким образом, чтобы он сообщал краулерам назначение ваших параметров и то, как бы вы хотели, чтобы они обрабатывались.

Google Search Console предупреждает, что использование этого инструмента «может привести к исчезновению многих страниц из поиска».

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

Поэтому лучше узнать, как настроить параметры URL в Search Console, чем позволить решать Googlebot.

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

  • Параметры отслеживания не меняют контент страницы. Настройте их как «основные URL» (representative URL).
  • Параметры, которые меняют порядок отображения контента на странице, настройте как «сортирующие». Если они опционально добавляются пользователем, то выберите вариант сканирования «Никакие URL». Если параметр «sort» применяется по умолчанию, используйте настройку «Только URL со значением», введя значение по умолчанию.
  • Параметры, которые фильтруют данные на странице, настройте как «ограничивающие». Если эти фильтры не релевантны для SEO, выберите вариант сканирования «Никаких URL». В противном случае – «Каждый URL».
  • Параметры, которые показывают определённый фрагмент или группу контента, настройте как «указывающие». В идеале это должен быть статичный URL. Если это невозможно, выберите вариант «Каждый URL».
  • Параметры, которые предоставляют посетителю страницу на определённом языке, настройте как «перевод». В идеале это должно быть реализовано через подпапки. Если это невозможно, выберите вариант сканирования «Каждый URL».
  • Параметры, которые отображают конкретную страницу длинного списка или статьи, настройте как «разбивающие на страницы». Если вы добились эффективной индексации с помощью файлов Sitemap.xml, вы можете сэкономить краулинговый бюджет и выбрать вариант сканирования «Никакой URL». В противном случае выберите «Каждый URL», чтобы краулеры могли получить доступ ко всем элементам.

При выборе варианта «На усмотрение робота Googlebot» Google автоматически добавит параметры в список. Проблема в том, что удалить эти параметры не получится – даже если они больше не нужны. Поэтому, когда это возможно, лучше заранее добавить параметры самостоятельно. Тогда, если параметр перестанет использоваться, вы сможете удалить его из Search Console.

Плюсы:

  • Не нужно привлекать разработчика.
  • Позволяет более эффективно использовать бюджет сканирования.
  • Помогает избежать проблем с дублированным контентом.
  • Подходит для всех типов параметров.

Минусы:

  • Не объединяет сигналы ранжирования.
  • Интерпретируется Google как подсказка, а не директива.
  • Работает только для Google.

Перейдите от динамических URL к статическим

Многие считают, что оптимальный способ обхождения с параметрами URL – это просто избегать их. В конце концов, подпапки лучше, чем параметры, помогают Google понять структуру сайта, а статические URL-адреса на основе ключевых слов всегда были краеугольным камнем on-page SEO.

Чтобы достичь этой цели, вы можете использовать перезапись URL-адресов на стороне сервера для преобразования параметров в URL-адреса подпапок.

Например, текущий URL:

www.example.com/view-product?id=482794

Станет:

www.example.com/widgets/blue

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

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

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

Этот подход также не очень применим к пагинации (хотя это не редкость из-за WordPress), поскольку в итоге он даст примерно такой URL:

www.example.com/widgets/blue/page2

Ещё более странно будет выглядеть URL при переупорядочивании контента:

www.example.com/widgets/blue/lowest-price

Кроме того, зачастую это неподходящий вариант для отслеживания. Google Analytics не признаёт статическую версию UTM.

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

При этом наличие всех комбинаций фильтров из фасетной навигации в качестве индексируемых URL часто приводит к проблемам с так называемым «thin» контентом. Особенно в том случае, если вы предлагаете фильтры с множественным выбором.

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

Однако удаление параметров таким способом лишит вашу аудиторию возможности добавить страницу в закладки или поделиться ссылкой на неё. И этот вариант явно не подходит для параметров отслеживания и не является оптимальным для разбивки на страницы.

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

Таким образом, те параметры, которые не должны индексироваться (пагинация, переупорядочивание, отслеживание и т.п.), реализуйте как строки запроса. А для тех параметров, которые должны индексироваться, используйте статические URL.

Плюсы:

  • Смещает внимание краулеров с URL, основанных на параметрах, на статические URL, которые имеют больше шансов на ранжирование.

Минусы:

  • Значительные затраты времени на переписывание URL и настройку 301 редиректов.
  • Не предотвращает проблемы с дублированным контентом.
  • Не объединяет сигналы ранжирования.
  • Подходит не для всех типов параметров.
  • Может приводить к появлению tnin-контента и соответствующих проблем.
  • Не всегда предоставляет URL, которые можно добавить в закладки или использовать в качестве ссылки.

Какой подход выбрать?

Итак, какой же из этих шести подходов следует внедрить? Выбрать все сразу нельзя. Это создаст ненужные сложности. Кроме того, разные SEO-решения нередко конфликтуют друг с другом.

Например, если вы настраиваете директиву disallow в файле robots.txt, то Google не должен видеть метатеги noindex. Кроме того, метатег noindex не следует сочетать с атрибутом rel=canonical.

Ясно одно: идеального решения нет.

Даже сотрудник Google Джон Мюллер не может определиться с подходом. Во время одной из видеовстреч для вебмастеров он сначала посоветовал не запрещать параметры, но когда его спросили об этом с точки зрения фасетной навигации, он ответил: «Здесь возможны варианты».

Есть случаи, когда эффективность сканирования более важна, чем консолидация сигналов авторитетности. В конечном счёте, оптимальное решение будет зависеть от ваших приоритетов.

Лично я не использую noindex и не блокирую доступ к страницам с параметрами. Если Google не может сканировать и понимать все переменные URL, то он не может объединить сигналы ранжирования на канонической странице.

Оптимальное управление параметрами для SEO

Мы рекомендуем придерживаться следующего плана:

  • Проведите исследование ключевых слов, чтобы понять, какие параметры должны быть представлены в виде дружественных к поисковым системам статичных URL.
  • Корректно реализуйте пагинацию с помощью rel=”next” и rel=”prev”.
  • Настройте обработку каждого параметра в Google и других поисковых системах, чтобы помочь им понять их функции.
  • Убедитесь, что URL с параметрами не добавляются в файл Sitemap.xml.

Какую бы стратегию вы не выбрали, обязательно документируйте влияние своих действий на KPI.

Источник: Search Engine Journal
preview Ищем новые возможности для SEO с помощью лог-файлов

Ищем новые возможности для SEO с помощью лог-файлов

Единственный инструмент, который даёт полное представление о том, как поисковые системы сканируют сайт – это лог-файлы
preview Чистим рассылку с помощью Mailchimp, Google Sheets и здравого смысла

Чистим рассылку с помощью Mailchimp, Google Sheets и здравого смысла

Хороший подписчик — это тот, кто открывает рассылки, переходит по ссылкам и покупает товары, а тот, кто этого не делает, не просто не приносит пользы, но и часто рассылке...
preview HTTPS для всех или Шаг к безопасному рунету

HTTPS для всех или Шаг к безопасному рунету

Возможная потеря трафика при смене протокола до сих пор волнует очень многих и зачастую останавливает от начала этого процесса
preview Голосовой поиск и SEO: что нужно знать?

Голосовой поиск и SEO: что нужно знать?

Популярность голосового поиска в будущем будет расти, и с этим надо считаться
preview Angular Universal: всё, что нужно знать SEO-специалисту

Angular Universal: всё, что нужно знать SEO-специалисту

Что представляет собой Angular Universal и в чём преимущества этого модуля для SEO? Рассмотрим в статье
preview Локальное SEO: «скрытые» возможности для B2C

Локальное SEO: «скрытые» возможности для B2C

Как будучи компанией B2C, выйти на рынок с B2B предложением, сделав это своим конкурентным преимуществом