Получить robots.txt, чтобы заблокировать доступ к URL на сайте после "?" символ, но сама страница индекса - PullRequest
4 голосов
/ 17 сентября 2011

У меня есть небольшой сайт magento, который состоит из URL страниц, таких как:

http://www.mysite.com/contact-us.html
http://www.mysite.com/customer/account/login/

Однако у меня также есть страницы с фильтрами (например, цена и цвет), и однажды такой пример будет:

http://www.mysite.com/products.html?price=1%2C1000

или

http://www.mysite.com/products/chairs.html?price=1%2C1000

Проблема в том, что когда робот Google и другие поисковые роботы выполняют поиск на сайте, он по существу останавливается, потому что они застряли во всех «фильтрах ссылок».

Итак, в файле robots.txt как это можно настроить, например:

Пользователь-агент: *

Allow:

Запретить:

Чтобы разрешить все страницы, такие как:

http://www.mysite.com/contact-us.html
http://www.mysite.com/customer/account/login/

для индексации, но в случае http://www.mysite.com/products/chairs.html?price=1%2C1000 index products.html, но игнорировать все содержимое после "?" то же самое для
http://www.mysite.com/products/chairs.html?price=1%2C1000

Я также не хочу указывать каждую страницу, в свою очередь, просто правило игнорировать все после ?, но не саму главную страницу.

Ответы [ 4 ]

8 голосов
/ 17 сентября 2011

Я думаю, что это сделает это:

User-Agent: *
Disallow: /*?

Запрещает любой URL, содержащий знак вопроса.

Если вы хотите запретить только те, которые имеют ?price, вы должны написать:

Disallow: /*?price

См. Связанные вопросы (список справа), такие как:

Ограничить доступ робота для (определенных) значений строки запроса (параметра)?

Как запретить поиск страниц из robots.txt

Дополнительное объяснение:

Синтаксис Disallow: /*? гласит: «Запретить любой URL, в котором есть вопросительный знак». / - начало части пути и запроса в URL. Так что, если ваш URL-адрес http://mysite.com/products/chairs.html?manufacturer=128&usage=165, часть пути и запроса будет /products/chairs.html?manufacturer=128&usage=165. * говорит "соответствует любому персонажу". Так что Disallow: /*? будет соответствовать /<anything>?<more stuff> - все, что имеет знак вопроса.

0 голосов
/ 16 июля 2014

Джим Мишель прав. Используя упомянутые им символы подстановки, вы можете заблокировать обход определенных строк запросов, учитывая, что только основные поисковые системы поддерживают использование символов подстановки в файле robots.txt.

Затем вы можете проверить свои правила, прежде чем применять их с помощью инструмента тестирования робота Google Webmaster Tools: https://www.google.com/webmasters/tools/robots-testing-tool.

0 голосов
/ 04 апреля 2014

Я помогу

В треке «Посты» получен мой веб-html, один без, а другой с html

Вы хотите, чтобы способ помочь закрыть HTML-это правда

Это настоящий блок в роботах

Disallow: .Html

0 голосов
/ 17 сентября 2011

Вы должны быть в состоянии сделать:

Disallow: /?price=*

или даже:

Disallow: /?*

...