WordPress网站SEO:优化URL查询参数,避免重复内容

2023-04-1211:38:14网站运营与SEO优化Comments789 views字数 1663阅读模式

SEO中,URL地址如果后面跟随了查询参数,搜索引擎会判定为不同的URL。例如:www.zhanzhangb.com 与 www.zhanzhangb.com/?from=seo 这是两个不同的URL,哪怕对应的页面内容完全一致,搜索引擎也会分别抓取,导致出现重复内容。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/youhua/33409.html

什么是查询参数

当访问者链接到您的站点时,可能会选择向 URL 添加参数,这是一种向网站传递附加信息的方式。例如,可以将?source=email或添加?from=example.com到活动页面的 URL,以便了解网站流量来自何处。这种功能在 Google Analytics 等跟踪系统中很常见。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/youhua/33409.html

还可以使用参数来支持一些功能。例如,日历插件可以通过将参数附加?year=2023&month=01&day=01到 URL 来浏览到特定日期。这种做法在Woocommerce电子商务网站中也很常见,用于过滤类别和产品。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/youhua/33409.html

所以附带查询参数的URL可能因为参数不同,而导致页面内容发生变化。故而搜索引擎爬虫会区别对待每个查询参数,并分别抓取。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/youhua/33409.html

查询参数可能导致 SEO 问题

在内容相同而附加了不同的查询参数的情况下,URL参数会导致 SEO 问题。那是因为www.zhanzhangb.com 与 www.zhanzhangb.com/?from=seo 是技术上不同的 URL,而页面内容却是一样的。因此,抓取 URL 和链接的搜索引擎必须抓取更多的URL——它们可能会将这些页面视为重复内容。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/youhua/33409.html

即使在HTML中使用了 <link rel="canonical" href="https://www.zhanzhangb.com"/> 这样的规范 URL标签,也会造成搜索引擎爬虫的额外抓取,影响网站收录和浪费额外的主机资源。——实际上百度有可能会无视canonical标签。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/youhua/33409.html

通过 301 将无效的参数过滤掉

无效参数指的是附加该查询参数没有对应任何有效的功能,展现的页面内容也不会产生变化。这样的参数只会给网站带来无效的爬虫抓取和被搜索引擎视为重复内容。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/youhua/33409.html

有效参数指的是网站中必须要的功能性查询参数,例如WordPress自带的文章搜索功能,通常是?s=搜索关键词 ;或Woocommerce的一些必要的查询参数等。这类参数则需要保留,否则相应的功能不能正常使用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/youhua/33409.html

Nginx 过滤 URL 无效参数

if ($query_string !~* "(s=|ver=)") {
	rewrite ^/(.*)$ /$1? permanent;
}

上面的示例中,如果查询参数中不包含“s=”或”ver=”这样的查询字符(不区分大小写),则去掉url中的所有参数。可以根据自己网站的实际情况修改"(s=|ver=)"中的规则,|符号相当于是“或”的意思,例如:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/youhua/33409.html

if ($query_string !~* "(条件1|条件2|条件3|……)") {
	rewrite ^/(.*)$ /$1? permanent;
}

不过 Nginx 中的URL匹配是和上下文相互影响的,如果和Nginx配置中的其它指令冲突的话需要做相应的调整才能确保指令生效。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/youhua/33409.html

使用 Yoast SEO Premium 插件过滤 URL 无效参数

上面的方法不推荐新手使用,因为使用 Yoast SEO Premium 插件更方便更安全,不会导致因设置不当导致网站不能正常访问的问题。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/youhua/33409.html

在 Yoast SEO Premium 插件 > 设置 > Crawl optimization 页面中找到 “Remove unregistered URL parameters”选项,并开启。如下图:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/youhua/33409.html

WordPress网站SEO:优化URL查询参数,避免重复内容
Remove unregistered URL parameters

设置完成后,记得点“保存更改”按钮。这时可以到前端进行测试,在URL附加查询参数会被301重定向到无参数的URL上。需要注意的是 Yoast SEO 插件仅过滤未登录用户访问的URL查询参数,已登录用户不受影响。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/youhua/33409.html

需注意的风险

不论使用上述的那种方式来去掉URL的查询参数,如果站点依赖于关键功能(或跟踪)的查询参数,那么自动删除这些参数显然会导致问题。所以设置后,建议进行全面测试,以确保不会意外删除任何有效查询参数。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/youhua/33409.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/youhua/33409.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定