做网站SEO时,有一种情况特别容易让站长怀疑网站出了问题:
今天在搜索引擎里看到:
https://www.example.com/page/
被收录了。
过几天再搜索,却发现展示成:
https://example.com/page/
甚至同一个网站里,有些页面收录带www,有些页面又不带www。
再去检查服务器,发现两个地址居然都能正常打开:
https://www.example.com/
https://example.com/
于是问题来了:
搜索引擎为什么一会收录带www,一会收录不带www?会不会造成权重分散?到底应该保留哪个?
先说结论:
www和不带www本身没有谁天然更利于SEO。真正的问题在于,如果两个版本都能独立返回200、站内又没有统一规范信号,搜索引擎就需要自己判断到底哪个URL才是代表版本。
Google官方明确表示,带www和不带www都可以正常用于搜索,没有哪一种天然更优;如果同一页面能够通过多个URL访问,更建议选定一个规范版本,再通过重定向、canonical和Sitemap等信号保持一致。
所以出现这种现象,首先不要理解成“网站被降权”。
更准确地说,它通常属于:
域名规范化没有完全统一。
第一:带www和不带www,在技术上其实是两个不同的Host
很多SEO新人会认为:
www.example.com
和:
example.com
本来就是同一个网站。
对用户来说确实很像。
但从HTTP和DNS角度看,它们属于不同的主机名。
也就是说:
www.example.com
是一个Host。
example.com
又是另一个Host。
如果服务器同时允许两者直接访问:
https://www.example.com/article/
返回:
200 OK
同时:
https://example.com/article/
也返回:
200 OK
那么搜索引擎看到的就是:
两个不同URL提供几乎完全相同的内容。
Google目前把这种过程叫做Canonicalization,也就是规范化。
当搜索系统发现多个URL承载相同或高度相似内容时,会把它们归到一起,再选择一个更适合作为代表的规范URL。
所以如果站长自己没有明确告诉搜索引擎:
我到底要www还是不带www。
Google就可能根据自己收集到的各种信号进行选择。
第二:最常见原因,就是www和不带www都返回200
可以先自己测试。
例如:
curl -I https://example.com/
以及:
curl -I https://www.example.com/
如果两个结果全部都是:
HTTP/2 200
就意味着两个版本都可以独立访问。
这种情况下,搜索引擎只能继续判断:
哪个URL应该作为主要版本。
真正更推荐的状态应该是:
假设企业最终决定使用:
https://www.example.com/
那么:
https://example.com/
应该直接:
301
↓
https://www.example.com/
而不是两个版本同时返回200。
Google当前明确把永久重定向视为规范化的强信号,并建议当同一页面可以通过多个地址访问时,选择一个首选URL,把其他地址重定向到它。
第三:为什么搜索结果会“今天www,过几天又不带www”?
因为搜索引擎的规范URL判断并不是只看一个设置。
它会综合多个信号。
Google当前公开的规范化信号里,比较重要的包括:
301/308永久重定向
属于强信号。
rel=”canonical”
也是强信号。
Sitemap中的URL
属于相对较弱的规范化信号。
这些信号还可以叠加使用。
所以如果网站自己发出了互相冲突的信号,就容易出现URL版本不稳定。
比如:
服务器没有301;
canonical写www;
Sitemap却提交不带www;
文章里的内链有时候www、有时候不带;
外部链接又主要指向不带www。
对于搜索引擎来说,相当于网站一直在说:
www是主要版本。
又同时说:
不带www也很重要。
最终搜索引擎只能自己判断。
第四:canonical配置不统一,是第二个高发原因
假设企业准备统一使用:
https://www.example.com/
那么页面源码里最好也是:
<link rel="canonical" href="https://www.example.com/page/" />
而不是:
<link rel="canonical" href="https://example.com/page/" />
尤其WordPress网站,更换过:
SEO插件;
主题;
域名配置;
HTTPS设置
以后,很容易产生canonical版本不一致。
Google官方当前专门提醒,CMS或SEO插件配置错误可能产生错误canonical,从而让搜索系统选择与站长预期不同的规范URL。
所以出现www和非www混收以后,可以打开页面源码,搜索:
canonical
检查到底指向哪个版本。
第五:Sitemap也可能一直在给搜索引擎“错误提示”
例如网站决定使用:
https://www.example.com/
但XML Sitemap里却全部是:
https://example.com/page-1/
https://example.com/page-2/
https://example.com/page-3/
服务器又没有把这些地址301到www。
那么搜索引擎自然可能继续抓取和索引不带www版本。
Google明确建议:
Sitemap中只提交希望作为规范版本的URL。
所以如果决定www作为主版本,Sitemap最好全部统一:
https://www.example.com/...
不要:
www和不带www混在一个Sitemap里。
第六:站内链接混乱,也会持续制造两个版本
这一点特别容易被忽略。
假设网站首页导航写的是:
<a href="https://www.example.com/services/">服务</a>
但文章正文自动生成的相关文章又是:
<a href="https://example.com/services/">服务</a>
面包屑再用另外一个版本。
这样搜索蜘蛛在网站内部不断发现:
www版本
+
非www版本
两个URL。
所以统一域名时,不要只检查首页。
至少应该检查:
导航;
面包屑;
文章正文内链;
相关推荐;
图片链接;
产品列表;
分页;
Sitemap。
最好整个网站内部始终使用最终规范地址。
第七:外链同时指向两个版本,会不会把“权重分散”?
如果两个版本长期独立返回200,而且又没有明确规范化,确实会增加搜索系统判断成本。
例如一些外部网站链接:
https://www.example.com/
另外一些链接:
https://example.com/
搜索引擎需要判断两者是不是同一个内容。
但也不用把它理解成:
www获得50%权重,不带www获得另外50%。
真实搜索系统没有公开这种简单数学公式。
Google表示,规范化的目的之一就是把多个重复URL之间的链接等信号整合到一个首选规范页面。
因此真正要做的是:
尽快统一规范版本。
而不是继续人为给两个版本分别做外链。
第八:百度也不建议首选域长期不统一
百度公开的搜索优化资料里,也把“首选域不唯一”列为常见SEO基础问题。
其中就直接提到:
顶级域名和www域名同时解析,却没有将其中一方301到另一方,会导致相同内容产生多个重复URL,不利于网站规范化。
百度同时支持canonical标签,用于一组完全相同或高度相似网页中声明首选版本。
所以无论主要做:
百度;
Google;
Bing,
这个问题的处理方向基本一致:
选一个,统一到底。
第九:到底应该选www,还是不带www?
从SEO角度:
都可以。
没有证据表明:
www.example.com
天然比:
example.com
排名更高。
Google也明确表示,www和非www版本本身都没有问题。
所以真正选择时,可以根据:
历史使用情况;
品牌习惯;
现有收录;
外链;
技术架构
决定。
如果网站已经长期使用www
例如:
大量页面已经收录;
外链主要指向www;
宣传资料全部是www。
那通常没必要因为:
不带www看起来短一点。
重新迁移。
继续统一www即可。
如果新网站从零开始
可以任选。
比如:
https://example.com/
更加简洁。
或者:
https://www.example.com/
传统企业站使用也完全正常。
真正重要的仍然是:
不要来回切。
第十:网站已经混收了,应该怎么修?
可以直接按下面步骤处理。
假设最终决定保留:
https://www.example.com/
第一步:设置全站301
所有:
https://example.com/*
统一:
301
↓
https://www.example.com/*
而且应该尽量保持一一对应。
例如:
https://example.com/services/seo/
跳到:
https://www.example.com/services/seo/
不要整个非www网站全部跳首页。
百度针对网站改版和域名迁移也一直强调,应该尽量保持旧URL与新URL一一对应301,而不是大量旧页面全部跳转到首页。
第二步:统一canonical
所有正式页面:
<link rel="canonical" href="https://www.example.com/当前页面/" />
第三步:统一Sitemap
确保XML Sitemap全部使用:
https://www.example.com/
版本。
第四步:修改站内链接
导航、正文、面包屑、相关文章全部直接链接最终地址。
第五步:检查robots.txt里的Sitemap
例如:
Sitemap: https://www.example.com/sitemap_index.xml
不要仍然声明旧版本。
第六步:重新检查站长平台
Google Search Console可以通过URL Inspection检查:
User-declared canonical
和:
Google-selected canonical
是否逐渐统一。Google也建议遇到异常规范化问题时通过URL Inspection确认Google实际选择了哪个URL。
第十一:Nginx怎么做www和不带www统一?
假设最终保留:
www.example.com
Nginx可以类似这样设置:
server {
listen 80;
server_name example.com;
return 301 https://www.example.com$request_uri;
}
HTTPS版本也要同步处理:
server {
listen 443 ssl;
server_name example.com;
return 301 https://www.example.com$request_uri;
}
重点是:
保留原来的:
$request_uri
这样:
example.com/blog/article/
会跳到:
www.example.com/blog/article/
而不是所有页面全部进入首页。
如果最终决定保留非www,则方向反过来即可。
第十二:Apache/.htaccess怎么处理?
例如保留:
https://www.example.com
常见思路可以是:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
实际生产环境还需要结合:
HTTPS;
反向代理;
Cloudflare;
服务器配置
测试,避免形成:
HTTP
↓
HTTPS
↓
www
多层跳转。
更理想的是尽量一次到达最终版本。
第十三:还要检查HTTP和HTTPS,不要只统一www
有些网站修完以后变成:
http://example.com
→
https://www.example.com
正常。
但:
http://www.example.com
却返回200。
或者:
https://example.com
仍然返回200。
结果还是存在多个版本。
真正需要把四种可能全部测试:
http://example.com
http://www.example.com
https://example.com
https://www.example.com
假设最终规范版本是:
https://www.example.com
那么另外三个都应该最终进入这个版本。
最终页面返回:
200
其他版本返回:
301
这才算真正统一。
第十四:为什么已经设置301,搜索结果里偶尔还会看到旧版本?
因为搜索引擎重新抓取和重新规范化需要时间。
Google明确指出,规范URL重新评估并不是即时完成;即使修复了规范化问题,也可能需要一段时间重新处理。
所以今天刚把:
非www → www
配置好,
明天搜索结果没有全部切换,并不代表301没有生效。
重点先检查:
服务器跳转是不是正确;
canonical是不是正确;
Sitemap是不是正确。
确定技术信号已经统一以后,再等待搜索系统重新抓取。
不要今天www,明天又切回非www。
频繁改变首选版本反而让信号更加混乱。
第十五:已经收录的不带www页面,需要批量删除吗?
通常没有必要。
如果:
https://example.com/article/
已经正确301到:
https://www.example.com/article/
那么搜索引擎重新抓取以后,会逐渐处理规范URL关系。
没有必要为了让搜索结果“赶紧干净”,把所有旧URL手工删除。
真正应该确保的是:
旧URL
↓
单级301
↓
对应新URL
并且新URL能够正常:
抓取;
返回200;
被索引。
如果使用错误的删除工具,反而可能把真正需要的搜索结果临时隐藏。
第十六:Search Console里应该添加哪个版本?
对于Google Search Console,目前更推荐直接验证:
Domain Property,也就是网域资源。
例如验证:
example.com
Google的Domain Property可以覆盖:
http
https
www
非www
其他子域
方便统一查看整个域名的数据。
如果使用的是URL-prefix资源,那么:
https://www.example.com/
和:
https://example.com/
属于不同属性范围。
这也是为什么有些站长会发现:
一个Search Console属性里数据很少,
另外一个却有搜索流量。
并不一定是流量消失。
可能只是查看的Host版本不同。
第十七:Bing出现www和不带www混乱,也按照同样思路处理
Bing最近关于重复内容和AI搜索可见性的官方说明同样强调:
当相同内容能够通过多个不同URL访问时,会让搜索信号模糊,也可能导致搜索和AI系统选择旧版本或者非预期版本。
Bing建议通过:
301;
canonical;
统一URL结构
把这些重复版本整合到一个首选地址。
所以这已经不只是传统SEO问题。
如果企业还关心AI搜索和GEO,URL规范同样值得做好。
AI引用页面时,最好也长期落到企业真正希望保留的规范地址。
第十八:可以直接按照这份检查清单排查
如果网站已经出现:
www和非www混收
可以逐项检查。
域名访问
http://example.com返回什么?http://www.example.com返回什么?https://example.com返回什么?https://www.example.com返回什么?
重定向
- 是否明确选定一个最终版本?
- 其他版本是否301过去?
- 是否一一对应?
- 有没有多级301?
Canonical
- 页面canonical使用www还是非www?
- 有没有部分模板配置错误?
- canonical是否指向当前最终版本?
Sitemap
- URL是否全部统一?
- 有没有混合两个Host?
- robots.txt中的Sitemap地址是否正确?
站内链接
- 导航是否统一?
- 面包屑是否统一?
- 正文链接是否统一?
- 图片和相关文章是否还使用旧地址?
站长平台
- Google选择的canonical是什么?
- 百度是否仍然抓取两个版本?
- Bing索引是否存在重复URL?
这几项全部统一以后,问题通常就已经解决。
最后:搜索引擎一会收www、一会收非www,本质是网站自己没有把“唯一地址”说清楚
所以看到:
www.example.com
和:
example.com
交替出现在搜索结果里,不需要先怀疑搜索引擎出了问题。
最常见的情况是:
两个域名版本都能返回200
+
301没有统一
+
canonical不一致
+
Sitemap混用
+
站内链接混用
搜索系统只能自己选择规范URL。
Google当前已经把规则说得非常清楚:对于重复或者高度相似页面,永久重定向和canonical属于比较强的规范化信号,Sitemap可以进一步提供辅助信号;如果站长没有给出一致信号,Google会自己判断应该展示哪个URL。
百度公开SEO资料同样把www与顶级域名同时可访问、却没有做301,列为“首选域不唯一”的典型问题。
所以真正正确的处理方式只有一条主线:
确定一个版本,然后整个网站统一使用。
假设最终选择:
https://www.example.com/
那就做到:
所有其他版本
↓
301
↓
https://www.example.com/
canonical
→ www
Sitemap
→ www
站内链接
→ www
robots Sitemap
→ www
以后新增文章、产品、案例和服务页面,也全部沿用同一规则。
www和不带www并没有SEO上的高低之分。
真正影响SEO的,是同一份内容到底有没有一个长期稳定、清晰、唯一的规范URL。
评论
欢迎留下你的看法,评论会按站点设置审核展示。
0 条评论
还没有评论,来写下第一条吧。
请先登录后即可评论
登录评论已关闭