SEO 百科

URL

本页目录

URL

URL 是统一资源定位符,一个网址指向一个具体的资源位置。搜索引擎的抓取工具按网址干活,网址的写法因此直接影响抓取效率:Google 的说明是,网址不符合它的要求时,Google 搜索可能以低效的方式抓取网站,包括抓取速度极高或者根本不抓取[1]。

什么样的网址算可抓取

Google 给可抓取网址结构定了几条要求[1]。

要求 内容
遵循 IETF STD 66 只支持这项标准定义的网址,被它划为预留的字符都要做百分比编码
不用片段改变内容 Google 搜索通常不支持网址片段,要改内容用 History API
参数用常见编码 等号分隔键值对,和号添加其他参数,同一键的多个值用逗号

参数写法上有正反两种样子。推荐的是 ?category=dresses&sort=low-to-high 这一型;用冒号分隔键值、用方括号堆参数的那一型在它的对照表里被列为不推荐[1]。

让人读得懂的写法

说明性字词优先。Google 建议网址里用易读的词,而不是冗长的 ID 编号,它给的对照是这两个形状[1]:

https://example.com/wiki/Aviation
https://example.com/index.php?topic=42&area=3a5ebc944f41daa6f849f730f1

用受众使用的语言。它的例子很直白:受众用德语搜索就在网址里写德语词,受众用日语就写日语词[1]。

分隔符选连字符。Google 建议用 - 而不是 _ 分隔字词,因为这有助于用户和搜索引擎识别网址里的概念;不用下划线是历史原因,这种写法在编程语言里表示应当连在一起的东西,例如 format_date[1]。

非 ASCII 字符按需要在 href 属性里做百分比编码[1]。它的对照表把阿拉伯语、中文、带变音符号的拉丁字母和表情符号四组都列了一遍,未编码的那一列是不推荐写法[1]。

参数尽量少。不必要的参数,也就是不会改变内容的那些,能删就删,网址也跟着变短[1]。

大小写要留意。Google 的网址处理区分大小写,/APPLE 和 /apple 在它看来是两个网址,各有内容[1]。服务器对大小写处理相同的话,就把文本统一成一种写法,让它更容易判断这些地址指向同一页[1]。

网址过多的四类成因

复杂网址,特别是带多个参数的那些,会给抓取工具带来麻烦:这类地址可能成批指向同一份内容,Googlebot 白耗带宽,Google 搜索也可能没法把网站内容完整编入索引[1]。

四类成因被列在常见问题里[1]。过滤条件可按累加模式组合时,同一组项目的地址数量会急剧增加,而 Googlebot 只需看少量列表就能访问各个详情页,那种细微差异的列表页没有必要造。不相关的参数也会造出大量地址,它点名的形状包括会话 ID、排序参数和来源引用。动态生成的日历会指向过去和未来的日期,没有起止限制。损坏的相对链接能造出无限空间,服务器对错页返回不正确的状态码时,父级相对链接会拼出根本不存在的地址,改法是链接里用根相对网址。

发现引擎正在抓这些有问题的地址时,Google 的建议是拦住动态生成的那批,用 robots.txt 阻止它访问,例如搜索结果页、日历这类无限空间,以及排序和过滤功能[1]。站上有分面导航的,另有一条专门的处理办法[2]。

slug 这一层

网址里最后那段给人看的部分通常叫 slug,Google 的建议都落在它身上:用易读的字词、用连字符分隔、少用参数、大小写统一[1]。它同时把片段划在支持之外,所以路由不要用 #/ 这种形式承载内容差异[1]。

附录

参见

参考资料

官方(境外)

  1. 《适用于 Google 搜索的网址结构最佳实践》,Google 搜索中心。
  2. 《管理对分面导航网址的抓取》,Google 搜索中心。

外部链接