Могу ли я защитить свой sitemap.xml, чтобы его могли скачивать только поисковики?
Я планирую добавить кучу агрегированных списков страниц в мои карты сайта, которые я не хочу, чтобы посторонним было слишком легко их просматривать. Могу ли я защитить свой sitemap.xml, чтобы его могли скачивать только поисковики?
Установить брандмауэр? Я использую IIS6.
3 ответа
Вдобавок ко всему, вы могли бы переписать правила, которые перенаправляли запросы для файла sitemap.xml на страницу 404, если они не соответствуют правильным агентам пользователя или IP-адресам.
У меня нет такого правила переписывания, но я на 99% уверен, что это возможно.
Как узнать, что такое поисковая система, а какая нет? Пользовательские агенты заменяемы - но если оставить в стороне, если вы встретите неизвестного пользовательского агента, знаете ли вы, является ли это браузером или поисковой системой? Существуют сотни компаний с поисковыми системами, поэтому вряд ли достаточно просто использовать IP-адреса от Google, Bing и др.
Попытка скрыть карты сайта от поисковых систем - это форма безопасности через мрак, и любой, кто заботится, не будет заблокирован никакими разумными попытками остановить их.
Как отметил Деннис, подделать это будет легко. Также было бы сложно убедиться, что вы случайно не исключили поисковик.
Допустим, вы хотите, чтобы Google, Yahoo и Bing делали паук на вашем сайте. Таким образом, вы разрешаете доступ к карте сайта только для связанных пользовательских агентов. Теперь есть две проблемы:
Что если служба меняет пользовательский агент? Что делать, если вам нужно включить другой сервис? Теперь вам нужно переписать свои правила, прежде чем служба сможет увидеть карту сайта.
Почему бы мне, как создателю сайта, просто обманным путем не заявить, что я паук Google? Указание пользовательского агента возможно (и легко) на нескольких языках, а также во многих браузерах, таких как FireFox и Safari.
Итак, короткий ответ: "Нет, но вы можете сделать это сложнее. Но это накладывает на вас бремя".