我可以阻止蜘蛛访问带有某些 GET 参数的页面吗?
我们有一个页面可以选择将 ID 作为 GET 参数。如果提供的 ID 无效,页面会抛出错误并发出有人错误访问该页面的通知。火上浇油的是,ID 可能会暂时有效,然后就会过期。
我们遇到一个问题,搜索引擎机器人使用旧的、过期的 ID 访问页面。这意味着每次我们被蜘蛛抓取时,我们都会收到一堆“误报”警报。我希望有某种方法告诉机器人继续抓取页面,但不使用 GET 参数 - 只需索引无参数页面。使用 robots.txt 文件或类似的文件是否可以远程实现这一点?
注意:我知道解决此问题的最佳方法是更改页面的行为,事实上,这将在几周内发生。我只是暂时寻找解决方案。
We have a page that can optionally take an ID as a GET parameter. If an invalid ID is provided, the page throws an error and sends out a notification that someone's accessing the page incorrectly. Adding fuel to the fire is that IDs can be valid for a while, then expire.
We're having a problem where search engine bots are hitting the page with old, expired IDs. This means we get a bunch of "false positive" alerts every time we get spidered. I'd love to have some way to tell the bots to go ahead and crawl the page, but not use the GET parameter--just index the parameter-less page. Is this even remotely possible with a robots.txt file or something similar?
Note: I know the best way to solve this is change the page's behavior and that is, in fact, happening in a few weeks. I'm just looking for a solution for the meantime.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以在 robots.txt 中使用以下内容建议蜘蛛程序忽略网址的某些部分:
编辑以澄清:这将导致蜘蛛程序忽略 GET 字符串中带有 id=blah 的任何网址 - 它不会不要神奇地“剥离” id= 部分。但是,这实际上正是您想要的,因为没有“?id=”参数的普通 URL 返回您想要索引的数据。
You can suggest that spiders ignore certain parts of your URL with the following in robots.txt:
Edit to clarify: This will cause spiders to ignore any URLs with id=blah in the GET string -- it doesn't magically "strip off" the id= part. But, this is effectively what you want since the normal URL with no "?id=" parameters returns the data you want indexed.
在检查 _GET 的 if 语句中,输入以下 HTML:
Inside the if statement where you check the _GET, put this HTML: