Запретить отображение XML-файлов сайтов в результатах поиска Google

23

Как предотвратить отображение файлов моего XML-файла в результатах поиска Google, например, в результате site:поискового запроса:

карта сайта в результатах поиска

Я не понимаю, почему Google решил показывать файлы карты сайта в результатах поиска для начала. Эти файлы не предназначены для потребления человеком.

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

Стивен Остермиллер
источник
1
Да. Интересный. Единственная мысль, которая у меня возникает, - это если у вас есть ссылка на нее на вашем сайте или она появляется в вашем файле Sitemap. Кроме того, я не уверен, если вы ссылаетесь на это в файле robots.txt, если это может быть фактором. Я бы так не думал, просто что-то учесть. Я предоставляю свою карту сайта только через Google WMT и еще не видел эту проблему - по крайней мере, пока. Я понимаю, что не хочу, чтобы ваш сайт был общедоступным. Я не хочу, чтобы моя публика. Слишком много хакеров / скребков.
closetnoc
3
На этом конкретном сайте я /sitemap.xmlперечислил в robots.txt, а затем ссылки на другой набор других файлов, таких как /sitemap-123.xmlи /sitemap-124.xml. Я регенерирую карты сайта каждый день, а числа меняются ежедневно. Тот, который проиндексирован, довольно старый. Я нигде не ссылаюсь на него на моем сайте, но возможно, что на каком-то другом сайте есть ссылка на него где-то.
Стивен Остермиллер
1
Если он не используется, убедитесь, что он удален, а затем исключите его из файла robots.txt, и он будет довольно быстро удален из SERP. Как ни странно, удаление URL в Google WMT занимает вечность (для меня месяцы), тогда как robots.txt довольно быстрый.
closetnoc
1
Вы отправили карту сайта XML в свою учетную запись GWMT?
Олег
3
Файл карты сайта существовал до сегодняшнего дня. Я удалил его, и теперь он перенаправляет /sitemap.xml меня, чтобы предположить, что этот конкретный файл сайта теперь выпадет из индекса. Я бы хотел запретить Google показывать их пользователям для поиска в будущем.
Стивен Остермиллер

Ответы:

18

Google индексирует карты сайта XML (как и любой файл XML). Если Google знает URL-адрес и возвращает правильный ответ, тогда он пройдет правила включения Google и может быть проиндексирован. Лично я отправляю карту сайта только через GWT и включаю Sitemap:ссылку в robots.txt, и этого, безусловно, достаточно для индексации.

Рекомендуемый метод предотвращения индексации этих файлов Google - включить X-Robots-Tagзаголовок ответа HTTP при обслуживании карты сайта XML. Например:

X-Robots-Tag: noindex

Так же, как и включение метатега robots в файлы HTML, X-Robots-Tagзаголовок может использоваться для любого типа файла.

Ссылка: этот документ (с ноября 2008 года!), По-видимому, цитирует нашего собственного Джона Мюллера (Google) относительно использования X-Robots-Tagответа при работе с картами сайта XML.
Да, Google будет индексировать и ранжировать ваш файл XML Sitemap

Для получения дополнительной информации см. Руководство Google для разработчиков:
метатег Robots и спецификации заголовка X-Robots-Tag HTTP.

MrWhite
источник
Где я должен написать X-Robots-Tag: noindexкод заголовка? Внутри sitemap.xmlили robots.txt?
xameeramir
1
@student Это заголовок ответа HTTP, поэтому он должен быть установлен перед передачей этих файлов (как часть заголовка ответа HTTP) - его нельзя установить «внутри» них. В зависимости от того, как вы обслуживаете эти файлы, вы можете установить это в своем коде на стороне сервера (например, в PHP header('X-Robots-Tag: noindex',true)) или, если вы используете Apache, то в своем файле .htaccess или конфигурации сервера. Смотрите ответ Стивена для примера кода. Также см. Руководство разработчика Google по ссылке выше.
MrWhite
8

Ответ MrWhite об использовании X-Robots-Tag является правильным способом сделать это.

Вот код, который можно использовать в файлах конфигурации .htaccess или Apache для этого. (Ссылка: WebmasterWorld - файлы Sitemap отображаются в поисковой выдаче - как это предотвратить? )

<Files ~ "sitemap.*\.xml(\.gz)?$">
  Header append X-Robots-Tag "noindex"
</Files>

Под nginx конфигурация будет выглядеть следующим образом. (Ссылка: примеры Yoast X-Robots-Tag )

location ~* sitemap.*\.xml(\.gz)?$ {
    add_header X-Robots-Tag "noindex";
}
Стивен Остермиллер
источник
2

Почему это имеет значение?

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

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

PS

Практически каждый хранит карты сайта в одном и том же месте. Так что, если кто-то захочет найти, где вы его храните, он найдет :)

dasickle
источник
4
Я использую Google для поиска по сайту и наткнулся на карту сайта при ее использовании. Для моих пользователей было бы очень странно, если бы они нажали на него.
Стивен Остермиллер
Как вы думаете, сколько ваших пользователей используют Google для поиска по сайту?
dasickle
3
Все пользователи, которые вводят условия поиска в поле поиска в верхней части моих страниц.
Стивен Остермиллер
В таком случае. Рассматривали ли вы использовать что-то вроде swiftype.com для поиска по сайту? Есть топ других, которые вы можете использовать. Вы можете изменить порядок, удалить и добавить результаты. Вы также получаете отличную статистику и т. Д.
dasickle
-6

поместите в robots.txt следующее

User-agent: *
Disallow: /sitemap.xml

вместо этого отправьте свою карту сайта с помощью инструментов Google для веб-мастеров.

konghou
источник
1
Не могли бы вы уточнить вашу логику - кажется, что ваше первое предложение вступает в конфликт с вашим последним?
MrWhite
5
Будет ли Google сканировать карту сайта, заблокированную в файле robots.txt? У вас есть ссылка в поддержку утверждения?
Стивен Остермиллер
4
Если вы запретите sitemap.xml, я почти уверен, что он больше не будет сканироваться. Не то, что вы хотели бы случиться!
Макс
2
Google не будет сканировать документы, если robots.txt не разрешен. Во всяком случае, обычно ... карты сайта включены.