URL是网页地址,当你点击一个URL链接,或在浏览器中输入一个URL时,它将告诉浏览器需要加载哪个页面。然而,想象一下,这个网页地址把你带到了一个巨大的公寓大楼的门口,你到达了正确的位置,但接下来该怎么办呢?
这就是URL参数发挥作用的地方。这些参数如同上面例子中的公寓楼号码,提供了额外的信息。有时,浏览器需要了解的不仅仅是页面的位置;它们可能还需要知道链接来源、如何组织页面内容或其他上下文。
理解URL参数不仅对阅读URL至关重要,而且还能帮助你管理网站。以下是你需要了解的内容。
什么是URL参数?
URL,即统一资源定位符,指的是网页地址的标识符。URL参数,也称为查询字符串,是附加在URL末尾的额外信息,用于修改或指定网页上显示的内容,其中包含用户来源的详细信息。参数与URL的其余部分通过“?”进行分隔;问号之前的是根URL,问号之后的是参数。
这些参数为网页浏览器提供了额外的上下文和信息。根据网站及其功能,它们可以有多种用途,比如更改页面内容(如搜索结果、过滤器和语言偏好)、提供分析信息等。
更具体地说,URL参数是一系列键值对——数据项及其对应的值——附加在URL的末尾,位于域名之后。比如键是utm_source,而与之配对的值是google,则这在参数中表示为“?utm_source=google。”(了解更多关于UTM参数的信息,请参见下文。)附加在单个URL上的参数数量没有限制。多个参数之间用“&”符号进行分隔。
例如,以下URL:
/blog/?utm_source=facebook&utm_medium=ppc&exampleparam=example
页面位置是“/blog/”,参数是“?utm_source=facebook&utm_medium=ppc&exampleparam=example。”仔细观察这个URL字符串,你会看到三个独立的参数,每个参数之间用“&”分隔:“utm_source=facebook”、“utm_medium=ppc”和“exampleparam=example。”
URL参数与干净的URL
URL参数有其缺点。虽然它们可以为网页浏览器提供额外的上下文和信息,但干净的URL(没有参数的URL)对于用户和搜索引擎来说更易于阅读和理解:
- 对于用户。干净的URL通常更简洁,更容易分享和记忆。
- 对于搜索引擎。没有多余参数的干净URL使搜索引擎爬虫更容易导航和理解网站的结构。它们还能帮助避免重复内容;带参数的URL可能导致多个URL指向相同的内容,从而引发重复内容问题(搜索引擎可能难以确定页面的规范版本)。
URL参数的用途
所有URL参数都位于URL的同一位置——末尾,跟随一个“?”,并用“&”分隔——但这些参数以不同的方式,影响它们所代表的网页。以下是URL参数的四个主要用途。
1. 修改内容
修改内容参数可以修改网页上显示的内容。它们主要用于动态页面,即根据用户的交互而变化的页面。
例如,你可能想在你的网站的单一页面上,为客户举办一个测验:“company.com/quiz”。然而,你希望一次只显示一个问题,以避免让用户感到不知所措,并使新问题依赖于他们之前的回答。如果用户没有一次性完成测验,你还希望他们能够返回到他们离开的地方。如果你将测验编程为将参数与每一步关联(“/quiz?step=1”、“/quiz?step=2”等),浏览器就能理解要显示哪一步。这使得用户可以通过输入完整的URL和参数返回到这一阶段。
另一个典型的修改参数示例是YouTube使用的“t”参数。该在线视频服务使用它来确定播放开始的时间戳。例如,“?t=125”告诉YouTube在页面加载时播放视频的第125秒。
2. 排序和过滤内容
在技术上而言,这是属于修改内容的一个子集,但由于其重要性和普遍性,值得单独讨论。当页面包含一系列对象(例如产品系列页面上的产品)时,通常需要使用参数来理解如何排列这些对象。
如果你的网站显示一系列产品,你可以使用内容排序参数,按类别或价格过滤产品,或使用关键字搜索特定产品。带有排序参数的URL可能如下所示:
https://www.example.com/products?category=clothing
参数category用于通过仅显示“服装”类别的产品,来修改页面上显示的内容。
标准的Shopify主题会使用这些参数进行分页(例如,“page=1”、“page=2”等)、排序(例如,“?sort_by=title-ascending”或“?sort_by=price-descending”),或过滤以显示对象的子集(例如,“?filter.v.availability=1”)。Muck N Brass的畅销商品页面使用了这三种类型。
3. 提供网页分析信息
旨在提供网页分析信息的URL参数包含网站流量相关信息,以便更好地理解用户如何找到并与网站互动。
与旨在修改、排序或过滤的参数不同,分析参数不会改变页面上的内容。相反,它们为浏览器提供有关访问的上下文,例如流量来源(例如特定网站或社交媒体平台)、媒介(例如电子邮件或推荐)以及链接所关联的特定活动或促销,可以借助Google Analytics等工具,用来进行市场分析。
以下是跟踪参数的典型示例:
- “utm_source”、“utm_medium”和“utm_campaign。”这三个参数符合Google Analytics理解网页流量的标准约定。它们通常用于广告(例如,“?utm_source=facebook&utm_medium=ppc&utm_campaign=summersale”)。UTM代表Urchin Tracking Module,后来被Google收购并整合到Google Analytics的网页分析软件中。
- “Gclid”和“fbclid。”这些是跟踪参数,由Google Ads和Meta Ads用来跟踪平台广告点击量。它们可以帮助区分不同子集的数字广告活动(如广告变体和关键词)的表现。
- “affid” 。此参数和其他类似参数用于识别联盟推荐。
- “clientid”和“userid。”这些参数用于跟踪用户,即在分析工具数据库中将所使用的特定浏览器与用户进行比对。
4. 提供代码信息
目前分享的大多数参数示例都是常用的约定俗成的参数(例如,“utm_source”、“category”、“step”),对营销人员很有帮助。但是,参数可以用来告诉浏览器任何事情。开发人员可以使用它们来实现代码的各种结果。
例如,开发人员可以编写一行代码,查找参数“?surprise”,并在URL中包含“?surprise=true”时,将所有文本更改为红色。在这种情况下,“example.com/page?surprise=true”将文本更改为红色,而“example.com/page?surprise=false”或仅“example.com/page”则不会。
URL参数可能引发SEO问题
URL参数可能是必要的,但它们也可能对SEO性能产生负面影响。与URL的域名和子文件夹部分不同,URL参数并不提供页面位置,而是提供关于页面的信息。
然而,搜索引擎爬虫——为搜索引擎索引网页的机器人——并不知道这一点。在没有额外的上下文情况下,当爬虫爬取带参数的页面URL(例如“https://mucknbrass.com/collections/best-sellers?sort_by=best-selling”)时,它们会将其视为一个独特的页面,与“https://mucknbrass.com/collections/best-sellers”分开。
URL参数可能会引发一些常见的SEO问题:
- 重复内容风险。如果搜索引擎爬取两个页面,例如“/collections/featured/”和“collections/featured?sort_by=price=ascending”,并发现内容基本相同但顺序不同,则Google将不知道应该对哪个页面进行排名,这可能导致整体排名下降。
- 过度消耗爬取预算。搜索引擎设定了每个网站可以爬取的URL数量的规则。高流量网站获得的预算比低流量网站大,但每个网站都有限额。由于URL参数创建了数百或数千个页面变体,网站可能会迅速消耗其爬取预算。因此,爬虫可能会遗漏一些更重要的网站页面。
- 反向链接配置文件被稀释。反向链接——来自其他网站指向你网站的链接——对SEO至关重要。如果一些反向链接指向“/collections/featured/”,而另一些指向“collections/featured?sort_by=price=ascending”,则这些反向链接的信任信号将被两个页面稀释掉,这意味着搜索引擎将不知道在搜索结果中显示哪个页面。
如何解决基于参数的SEO问题
像Google这样的搜索引擎在推断标准参数的含义(如“sort_by”或“utm_campaign”)以及如何处理它们方面变得越来越好。这就是为什么Google移除了其URL参数工具,该工具旨在帮助网站管理员向Google澄清其参数的目的。然而,参数问题可能仍然存在,并且如果不加以解决,可能会妨碍你的SEO性能。
所有解决基于参数的SEO问题的方法都围绕同一原则:向搜索引擎明确哪些是你URL的首选版本,哪些应该被忽略。可以将网站比作每天有100个爬取积分的预算。网站上的每个独特页面会消耗一个积分,而带参数的URL和不同值则消耗额外积分。如果带有不同参数的同一个URL被发现10次,则它将消耗10个积分,而不是1个。
以下三种工具可帮助解决基于参数的SEO问题:
- 规范标签。规范标签是一个HTML标签,它告诉搜索引擎:“这是应该被索引和排名的网页的首选版本。”指定规范页面有助于避免重复内容问题,并确保搜索引擎理解内容的主要来源。Shopify默认采用这一最佳实践。正确使用规范标签,通常足以解决大多数基于参数的SEO问题。
- 网站地图。将网站地图上传到你的网站和Google Search Console,这可以告诉Google和其他搜索引擎你网站上的重要页面。Shopify也会默认生成这一点,但仍需提交。通常,你可以在域名末尾输入“/sitemap.xml”来查看网站地图。
- Robots.txt。与网站地图类似,robots.txt文件能告诉搜索引擎,网站的哪些部分可以被爬取。但与网站地图被视为指南不同,爬虫会将robots.txt文件视为规则。因此,只有在更新规范标签和网站地图但未能阻止基于参数的页面被爬取时,才应编辑这些文件(Shopify商店有编辑工具)。你可以通过访问“example.com/robots.txt”找到网站的robots.txt文件。
URL参数常见问题
如何查找URL参数?
URL参数始终位于URL的末尾。它们总是以“?”开头,单个参数用“&”分隔。要查找URL中的参数,请找到问号;问号右侧的所有内容都是参数,问号左侧的所有内容都是根URL。在以下例子中,粗体文本是参数:
“/blog/what-is-shopify?utm_source=google&utm_medium=blog。”
我应该避免使用URL参数吗?
URL参数旨在改变网页,或提供额外上下文,并非用来区分不同页面。你可以避免使用参数,以显示网站的完全不同部分。
为什么URL的组成很重要?
URL的组成——域名、子文件夹和参数——让用户和搜索引擎更能读懂你的网站。URL指明了网站的部分和子部分。想象一下使用数字URL的网站:“example.com/12”、“example.com/13”、“example.com/14”等,比以下包含描述目的的子文件夹的网站要难以理解得多:“example.com/products/”、“example.com/products/bath-mat”、“example.com/about/”、“example.com/about/team。”
URL中的“#”表示什么?
在URL中,“#”符号表示片段标识符——也称为哈希或哈希符号。当URL中的“#”符号后跟着文本字符串时,表示浏览器应导航到页面的特定部分。