Сегодня рассмотрим интересную задачу: как Запретить индексацию add-to-cart, то есть URL со строкой запроса, параметрами ?add-to-cart= в WooCommerce, и решим ее двумя способами.

Описание задачи

Плагин WooCommerce может генерировать огромное количество ссылок вида https://site.com/?add-to-cart=111, причем после site.com/ может быть название категории или тега. Такие ссылки находят боты поисковых систем, индексируют их, после чего вы получаете ошибку, например, в Search Console о дублях страниц, неканонических страницах и т. д.

Почему так происходит?

Ссылки /?add-to-cart=111 размещаются в виде кнопок «Добавить в корзину» или «Купить» на страницах архивов, а также в виджетах:

  • категории товаров
  • метки товаров
  • виджет «Похожие товары»
  • блок «Вас также может заинтересовать»
  • виджет «Ранее просмотренные товары»
  • любые другие виджеты или блоки Вукомерса, где отображается миниатюра товара и кнопка для добавления его в Корзину.

При нажатии на такую кнопку осуществляется перевод по ссылке, товар добавляется в корзину, но открывается та же самая страница. То есть реальной страницы по ссылке с /?add-to-cart=111 не существует. Таким образом, поисковый бот индексирует дубль страницы.

Решение задачи

Запрет индексации ссылок формата /?add-to-cart можно осуществить двумя путями: в файле robots.txt и в файле .htaccess. Мы рекомендуем комбинировать эти способы, чтобы добиться 100% гарантии результата.

Запрещаем индексацию в robots.txt

Файл robots.txt находится в корневой папке вашего сайта и доступен по ссылке вида https://site.com/robots.txt. При отсутствии в папке физического файла ВордПресс формирует виртуальный файл robots.txt.

Если у вас такой файл есть, то проверьте наличие в нем такой строки, запрещающей поисковикам сканировать ссылки с параметром add-to-cart:

Disallow: *?add-to-cart*

В случае отсутствия такой строки, добавьте ее вручную (воспользуйтесь FTP-клиентом).

А когда в корневой папке вообще нет файла robots.txt, рекомендуем воспользоваться плагином SpeedPlus OptiMini, который автоматически создает правильный файл robots.txt.

Запрет индексации add-to-cart

Между тем, добавление такого правила не является полной гарантией того, что поисковик послушается. Боты нередко своевольничают и после этого в СерчКонсоли появляются сообщения «Просканировано, несмотря на запрет…». И вот тогда мы используем дополнительный способ.

Запретить индексацию add-to-cart в файле .htaccess

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

Для запрета индексации ссылок со строкой запроса ?add-to-cart= вам следует добавить в .htaccess такой код:

# Disable indexing of "?add-to-cart=" pages by Speedplus.com.ua
<IfModule mod_rewrite.c>RewriteCond %{QUERY_STRING} add-to-cart= [NC]
RewriteRule .* - [E=NOINDEXME:1]
Header set X-Robots-Tag "noindex, nofollow" env=NOINDEXME
</IfModule>

После добавления этого кода страницам с параметром ?add-to-cart= будет присвоен HTTP-заголовок X-Robots-Tag, который, хоть и не отображается в исходном коде страницы, находится в файле конфигурации сервера. Такая настройка сообщает ботам поисковых систем о запрете индексации страницы даже без загрузки содержимого страницы. Фантастика, да?

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

https://site.com/
https://site.com/?add-to-cart=111
Добавление X-Robots-Tag: noindex nofollow

Успешные результаты анализа второго адреса (с параметрами) должны содержать строку:

X-Robots-Tag: noindex, nofollow

Таким образом, теперь вы вдвойне запретили индексацию страниц-дублей с ?add-to-cart= в адресной строке.

Если у вас есть вопросы, задавайте их в комментариях к этой статье. Если вам необходима доработка этого кода или кастомная разработка, обращайтесь к нам напрямую (контакты).

Хотите прокомментировать?

Ваш адрес email не будет опубликован.