目录
Toggle1. 谷歌推荐的URL结构:
推荐:URL中使用简单的描述性词语:
https://en.wikipedia.org/wiki/Aviation
推荐:URL中的本地化单词(如果适用)
https://www.example.com/lebensmittel/pfefferminz
推荐:根据需要使用UTF-8 编码。例如,以下示例对 URL 中的阿拉伯字符使用 UTF-8 编码:
https://www.example.com/%D9%86%D8%B9%D9%86%D8%A7%D8%B9/%D8%A8%D9%82%D8%A7%D9%84%D8%A9
以下示例对URL中的中文字符使用 UTF-8 编码:
https://example.com/%E6%9D%82%E8%B4%A7/%E8%96%84%E8%8D%B7
以下示例对URL 中的元音变音使用 UTF-8 编码:
https://www.example.com/gem%C3%BCse
以下示例对URL 中的表情符号使用 UTF-8 编码:
https://example.com/%F0%9F%A6%99%E2%9C%A8
如果可能,尽量在URL 中使用可读的单词而不是长 ID 号。
推荐:国家特定域名:
https://example.de
推荐:具有通用顶级域名(gTLD) 的国家/地区特定子目录:
https://example.com/de/
考虑使用连字符来分隔URL 中的单词,因为它可以帮助用户和搜索引擎更轻松地识别 URL 中的概念。我们建议您在 URL 中 使用连字符 ( -) 而不是下划线 ( )。_
推荐:连字符( -):
https://www.example.com/summer-clothing/filter?color-profile=dark-grey
2. 谷歌不推荐的URL结构:
不推荐:在URL 中使用非 ASCII 字符:
https://www.example.com/نعناع
https://www.example.com/杂货/薄荷
https://www.example.com/gemüse
https://www.example.com/���✨
不推荐:URL中不可读、长 ID 号:
https://www.example.com/index.php?id_sezione=360&sid=3a5ebc944f41daa6f849f730f1
不推荐:下划线 ( _):
https://www.example.com/summer_clothing/filter?color_profile=dark_grey
不推荐:URL中的单词连接在一起:
https://www.example.com/greendress
3. 与 URL 相关的常见问题
过于复杂的URL,尤其是包含多个参数的 URL,可能会创建不必要的大量指向网站上相同或相似内容的 URL,从而给爬网程序带来问题。因此,Googlebot 可能会消耗比所需更多的带宽,或者可能无法完全索引您网站上的所有内容。
许多问题可能会导致不必要的大量URL。这些包括:
一组项目的附加过滤。许多网站提供同一组项目或搜索结果的不同视图,通常允许用户使用定义的条件过滤此组(例如:显示海滩上的酒店)。当过滤器可以以附加方式组合时(例如:海滩上的酒店和带有健身中心的酒店),站点中的URL(数据视图)数量会激增。创建大量略有不同的酒店列表是多余的,因为 Googlebot 只需要查看少量列表即可到达每个酒店的页面。例如:
“超值价格”的酒店住宿:
https://www.example.com/hotel-search-results.jsp?Ne=292&N=461
海滩上“超值价格”的酒店住宿:
https://www.example.com/hotel-search-results.jsp?Ne=292&N=461+4294967240
海滩上“超值”且设有健身中心的酒店住宿:
https://www.example.com/hotel-search-results.jsp?Ne=292&N=461+4294967240+4294967270
动态生成文档。由于计数器、时间戳或广告,这可能会导致微小的变化。
URL中的参数有问题。例如,会话 ID 可能会产生大量重复和更多 URL。
排序参数。
一些大型购物网站提供多种方式对相同商品进行排序,从而导致URL 数量大幅增加。例如:
https://www.example.com/results?search_type=search_videos&search_query=tpb&search_sort=relevance&search_category=25
URL中不相关的参数,例如引用参数。例如:
https://www.example.com/search/noheaders?click=6EE2BF1AF6A3D705D5561B7C3564D9C2&clickPage=OPD+Product+Page&cat=79
https://www.example.com/discuss/showthread.php?referrerid=249406&threadid=535913
https://www.example.com/products/products.asp?N=200063&Ne=500955&ref=foo%2Cbar&Cn=Accessories.
日历问题。
动态生成的日历可能会生成指向未来和先前日期的链接,且对开始或结束日期没有限制。例如:
https://www.example.com/calendar.php?d=13&m=8&y=2011
相关链接已损坏。
断开的相对链接通常会导致无限的空间。通常,由于重复的路径元素而出现此问题。例如:
https://www.example.com/index.shtml/discuss/category/school/061121/html/interview/category/health/070223/html/category/business/070302/html/category/community/070413/html/FAQ.htm
4. 解决与 URL 相关的问题 :
为了避免URL 结构的潜在问题,我们建议如下:
- 创建一个简单的 URL 结构。考虑组织您的内容,以便以人类最容易理解的方式逻辑地构建 URL。
- 考虑使用 robots.txt 文件来阻止 Googlebot 访问有问题的网址。通常,请考虑阻止动态 URL,例如生成搜索结果的 URL,或可以创建无限空间的 URL(例如日历)。在 robots.txt 文件中使用正则表达式可以让您轻松阻止大量 URL。
- 尽可能避免在 URL 中使用会话 ID。考虑使用 cookie 来代替。
- 如果 Web 服务器对 URL 中的大写和小写文本进行相同的处理,请将所有文本转换为相同的大小写,以便 Google 更容易确定 URL 引用同一页面。
- 只要有可能,通过修剪不必要的参数来缩短 URL。
- 如果您的站点有无限日历,请添加一个 nofollow 属性来链接到动态创建的未来日历页面。
- 检查您的网站是否有损坏的相关链接。
来源:https://developers.google.com/search/docs/crawling-indexing/url-structure