【问题标题】:Google Crawler unable to crawl URLs with WhitespacesGoogle Crawler 无法抓取带有空格的 URL
【发布时间】:2016-10-05 03:00:45
【问题描述】:
Google Search Console 将带有空格的 URL 报告为响应 404 响应。它告诉此类不完整 URL 的来源来自站点地图。但是在检查了站点地图后,此类 URL 中唯一常见的是 GoogleBot 通过忽略空格后面的部分来解析 URL。
例如。
站点地图中的实际网址:
/hospital-search/艾哈迈达巴德/血管外科医生/true_/doc_/1
返回 404 的报告 URL:
/hospital-search/艾哈迈达巴德/血管
【问题讨论】:
标签:
web-crawler
http-status-code-404
google-search-console
googlebot
【解决方案1】:
建议用破折号替换空格,Google 将破折号视为文本中的空格,这取决于您的平台/框架,例如在 PHP 中 mywebsite.com/About-Us 与 mywebsite.com 不同/about-us(大写和小写)。
尝试用两种情况(大写和小写)测试你的链接,看看服务器会返回给你什么,我想你会得到 404,这也是谷歌得到的。
解决这个问题很容易,通过将空格替换为破折号并将所有单词统一为小写来更改您的 URL,然后使用 301 重定向将所有旧链接重定向到新链接并更新您的 XML 站点地图。
【解决方案2】:
Google Crawler 无法抓取您的网址是因为您没有在站点地图中使用+ 对空间进行编码。
如果您仍想使用空格 - 但不建议使用 @Nadeem Haddadeen 所说的 - 您应该在站点地图中将空格替换为 +。
喜欢:/hospital-search/Ahmedabad/Vascular+Surgeon/true_/doc_/1。
还建议使用所有小型大写字母。