制作';sitemap.xml';用户无法访问,但机器人可以访问


Making 'sitemap.xml' inaccessible to users but accessible to bots

我在windows服务器上使用PHP和IIS 7。我已经在我的站点的根文件夹中创建了一个站点地图sitemap.xml

但用户可以使用浏览器和GET请求很容易地看到它。

所以我的问题是如何让用户无法访问它,但搜索引擎的爬虫仍然可以访问它。

例如:https://stackoverflow.com/sitemap.xml用户无法访问,但它仍然会出现在谷歌搜索中,而且就在那里(https://meta.stackexchange.com/questions/22308/stack-overflow-sitemap-wtf)。

他们是怎么做到的?

首先,我不明白为什么它是必要的。

您可以通过检查useragent来完成此操作。但你必须知道,用户可以将自己的用户代理设置为谷歌和其他搜索引擎使用的用户代理。

您可以给sitemap.xml起一个难以猜测的名称,例如tt44DM-09.xml。然后你可以通过他们的网站管理员界面将其提交给搜索引擎。当然,您不应该在robots.txt中声明您的站点地图。

这不是一个完美的解决方案,但它很容易实现。

正如jan所说,不要这样做。没有理由这样做。这叫做伪装,它会损害你的网站。