做网站SEO时,Google Search Console、Bing Webmaster Tools里经常会出现一个让新手比较紧张的提示:
被“noindex”标记排除了。
或者英文提示:
Excluded by ‘noindex’ tag
URL marked ‘noindex’
看到这个状态以后,很多人的第一反应是:
网站是不是被搜索引擎惩罚了?
页面是不是质量太差,所以被排除了?
实际上,这个提示通常没有那么复杂。
它最直接的意思就是:
搜索引擎访问这个页面时,发现页面明确告诉它“不要把我放进搜索索引”。
Google对这一状态的官方解释非常明确:当Google尝试索引页面时发现了noindex指令,因此不会把页面加入索引。如果站长本来就不希望该页面进入搜索结果,这个状态完全正常;如果希望页面获得搜索排名,则需要把noindex指令移除。
所以遇到这个问题以后,第一步不要急着提交URL。
先判断:
这个页面到底应不应该被收录。
第一:noindex到底是什么?
noindex是搜索引擎用于控制网页索引的一项指令。
最常见的形式放在网页<head>区域:
<meta name="robots" content="noindex">
它表达的意思非常直接:
搜索引擎可以访问这个页面,但不要把它加入搜索索引。
除了HTML中的Meta Robots,还可能通过HTTP响应头发送:
X-Robots-Tag: noindex
这种方式常见于:
PDF;
图片;
其他非HTML资源。
Bing目前同样支持noindex以及HTTP响应头形式的X-Robots-Tag: noindex,并明确说明:当Bingbot抓取页面并发现该指令以后,页面不会进入Bing索引。
所以如果Google和Bing同时显示某个URL被Noindex排除,很多时候并不是搜索引擎出问题。
而是网站自己发送了这个信号。
第二:看到noindex,先别急着删除,它有时候本来就是正确设置
并不是所有页面都应该进入搜索结果。
例如:
登录页面;
后台页面;
站内搜索结果;
部分筛选页面;
没有独立搜索价值的归档页面;
一些测试页面。
这些页面主动设置noindex,本身可能就是正常SEO管理。
Google在网页索引报告里也明确说明,页面因为noindex、robots规则、重复内容等原因没有进入索引,并不一定代表网站存在错误。
所以看到:
被noindex标记排除
先把URL导出来。
然后问一个问题:
我本来希望这个页面获得Google、Bing或者百度搜索流量吗?
如果答案是:
不需要。
那就不用修。
例如:
/wp-login.php
或者一些没有独立价值的搜索结果页被noindex,没有必要为了让站长工具全部变绿而强行开放索引。
真正需要处理的是:
本来应该排名的重要页面,却被错误设置成了noindex。
第三:哪些页面出现noindex,需要优先检查?
如果下面这些页面被Noindex排除,就值得重点处理:
首页;
产品页面;
服务页面;
解决方案页面;
案例页面;
核心分类;
高质量文章;
希望获得搜索流量的专题页。
比如企业的:
/services/seo/
已经专门建设成SEO服务页。
Search Console却显示:
URL marked noindex
那么无论内容写得多好、外链多少、关键词布局多完整,这张页面都不会正常进入Google索引。
因为网站自己已经告诉Google:
不要索引。
这种情况下继续:
加文章;
发外链;
反复提交Sitemap,
都不是第一优先级。
先把Noindex解决。
第四:怎么确认页面现在到底有没有noindex?
最简单的方法之一,就是查看网页源代码。
打开目标页面。
使用浏览器的:
查看网页源代码
然后搜索:
noindex
如果发现:
<meta name="robots" content="noindex">
基本已经找到原因。
但还有一种情况:
页面HTML源码里没有Noindex。
Search Console仍然说:
noindex
这时候就要检查HTTP响应头。
因为Noindex还可能通过:
X-Robots-Tag: noindex
发送。
Google官方也建议,在确认这一问题时同时检查页面源代码和HTTP响应头。
所以排查顺序可以是:
页面源码 → HTTP Header → CMS/SEO插件设置。
第五:如果用WordPress,第一件事检查“搜索引擎可见性”
WordPress网站特别容易出现这个问题。
进入:
WordPress后台 → 设置 → 阅读
找到:
建议搜索引擎不索引本站
Discourage search engines from indexing this site
如果这个选项被勾选,WordPress会请求搜索引擎不要索引网站。
WordPress官方文档明确说明,从WordPress 5.3开始,启用这项设置后会在网站页面<head>中生成类似:
<meta name="robots" content="noindex,nofollow">
的指令。
这也是非常典型的事故。
网站开发阶段为了防止测试站提前被Google收录,于是打开:
建议搜索引擎不索引本站。
正式上线以后忘记关闭。
几周以后才发现:
整个网站大量页面全部显示:
被noindex排除。
所以WordPress新站正式上线时,这个选项一定要检查一次。
第六:如果只有部分页面noindex,继续检查SEO插件
如果首页正常。
大部分文章正常。
只有几个产品页、分类或者文章显示Noindex。
那么更可能是:
SEO插件设置。
例如Yoast SEO允许站长针对:
文章;
页面;
产品;
分类;
Tag,
分别设置是否允许搜索引擎展示该内容。
如果单个页面被设置成:
Allow search engines to show this content in search results:No
那么插件就会输出Noindex。
Rank Math同样提供Robots Meta设置。
页面、文章、分类或者自定义文章类型都可以设置:
Index;
No Index。
如果某种Post Type被全局设置成Noindex,那么这个类型下可能批量出现大量:
Excluded by noindex tag
的问题。
所以如果站长工具突然出现:
几十篇;
几百篇;
同一种类型URL,
全部Noindex。
一定要检查:
是不是SEO插件的全局模板设置变了。
第七:为什么我明明改成Index了,Google还是显示noindex?
这种情况也非常常见。
例如昨天已经把插件里的:
Noindex
改成:
Index。
今天Search Console仍然显示:
被noindex标记排除。
并不一定说明设置失败。
因为Search Console展示的可能仍然是Google上一次抓取页面时看到的状态。
Google需要重新抓取页面,才能发现:
Noindex已经移除。
官方推荐的排查方法就是:
先使用URL Inspection。
再点击:
Test Live URL / 测试实际网址。
检查实时页面里:
Indexing allowed?
如果实时测试已经显示允许索引,说明当前页面设置已经改对。
接下来可以使用:
Request Indexing / 请求编入索引
让Google重新处理该页面。
所以正确顺序是:
修改Noindex;
清缓存;
测试实际URL;
确认实时页面已经没有Noindex;
再请求索引。
第八:一定要清理缓存,否则你改了后台,搜索蜘蛛看到的可能还是旧页面
WordPress特别容易发生这种情况。
后台已经把:
Noindex
改成:
Index。
但前台源代码仍然显示Noindex。
原因可能来自:
WordPress缓存插件;
服务器缓存;
CDN缓存;
Cloudflare;
页面缓存。
WordPress官方社区在排查类似问题时,也专门提醒站长关闭或清除缓存,因为缓存可能继续向访问者提供旧版本页面。
所以设置修改以后,一定再打开页面源码确认。
不要只看后台按钮显示:
Index
就认为问题已经解决。
SEO真正关心的是:
搜索引擎实际收到的HTML是什么。
第九:主题或者插件也可能偷偷输出noindex
如果:
WordPress“建议搜索引擎不索引本站”没有开启;
SEO插件也确认是Index;
源代码里却仍然存在Noindex,
就要继续排查:
主题;
其他插件;
自定义代码。
有些:
维护模式插件;
会员插件;
Staging插件;
SEO插件;
安全插件,
都有可能增加Robots Meta。
WordPress官方支持社区针对这种情况给出的典型排查方式,就是:
清缓存;
切换默认主题;
逐步停用插件;
观察Noindex什么时候消失,
从而找到具体来源。
对于生产网站,不建议在流量高峰期直接把所有插件全部停掉。
更合理的是:
先备份;
使用测试环境;
逐个排查。
第十:robots.txt和noindex不要搞混
这是新人特别容易出现的误区。
有人看到页面不希望被索引,于是在robots.txt里写:
Disallow: /example/
同时又希望Google读取页面中的:
<meta name="robots" content="noindex">
这里存在一个逻辑冲突。
因为搜索引擎如果被robots.txt禁止抓取这个URL,它就可能无法读取页面里的Noindex指令。
Google在网页索引文档中明确提醒:如果需要Google看到Noindex,就不要同时用robots.txt把页面完全挡住。
Bing现在同样明确要求:
为了让Bingbot识别Noindex,必须允许它访问页面;不要因为希望删除页面,就同时通过robots.txt阻止Bingbot读取该指令。
所以可以简单理解:
robots.txt主要控制抓取。
noindex主要控制索引。
这是两个不同层级。
第十一:改成Index以后,也不代表页面一定会被收录
这是特别需要说明的一点。
Noindex移除以后,只代表:
我不再禁止搜索引擎索引这个页面。
它并不是:
请保证收录我。
Google仍然会继续判断:
页面能不能正常访问;
是不是重复内容;
Canonical指向哪里;
页面有没有独立价值;
是否值得进入索引。
Google明确说明,即使满足基本技术条件,也不保证所有页面一定进入Google索引。
所以如果Noindex修复以后,页面过了一段时间仍然没有进入索引,接下来就应该检查新的状态。
例如:
已抓取,目前未编入索引;
已发现,目前未编入索引;
重复网页;
Google选择了其他规范网页;
Soft 404。
这时候问题已经不再是Noindex。
不要一直重复修改Index设置。
第十二:批量出现noindex,一定不要一条一条人工修
如果Search Console里只有:
3个URL
设置错了。
可以逐个修改。
但如果突然出现:
500个文章;
200个产品;
整个分类目录,
全部Noindex。
这时候大概率不是每一篇内容都被人工点错。
更可能是:
全局设置;
内容类型模板;
插件配置;
主题逻辑;
网站隐私设置。
例如Rank Math允许按文章类型统一配置Robots Meta;一个Post Type的全局Noindex设置,就可能影响整个内容类型。
所以看到批量问题时,正确思维应该是:
找共同规则。
而不是安排编辑团队一篇一篇打开500个页面点Index。
第十三:Sitemap里最好也不要长期保留noindex页面
从SEO管理角度来说,Sitemap最好主要包含:
希望搜索引擎索引的有效URL。
如果页面明确设置:
Noindex。
却又长期存在于XML Sitemap中,相当于网站同时向搜索引擎发送两种不同意图:
Sitemap:
这是重要URL,请来发现。
页面Robots Meta:
不要索引。
虽然搜索引擎能够处理这种情况,但对网站自身的URL管理没有好处。
例如Rank Math自己的文档就指出,当页面被设置成Noindex时,通常也应该从Sitemap中排除。
所以修复以后,还可以检查:
Sitemap里是不是只有真正需要索引的页面。
第十四:哪些页面反而应该保留noindex?
处理这个问题时,还有一个非常重要的原则:
不要为了提高所谓收录率,把所有Noindex全部取消。
例如有些网站会主动Noindex:
站内搜索页面;
用户后台;
登录页;
部分Tag;
重复归档;
没有独立价值的筛选结果。
这些URL如果本来就不希望出现在搜索结果,Noindex完全可以保留。
Google本身也明确说明:
页面没有索引并不一定有问题,Noindex就是网站所有者主动告诉Google不要索引的一种正常方式。
所以SEO优化目标从来不是:
Search Console里“未索引”必须变成0。
真正应该追求的是:
重要页面能索引,无价值页面不制造索引噪音。
第十五:怎么判断一次noindex事故严重不严重?
可以看影响页面类型。
如果只有:
登录页;
搜索页;
测试页面,
显示Noindex。
基本不用担心。
如果出现:
首页;
核心产品;
服务页;
大量文章,
就值得立即处理。
尤其是:
整个网站突然从几百个已索引页面,变成大量:
URL marked noindex
更要检查是不是最近发生过:
网站迁移;
SEO插件更新;
主题更新;
从测试站上线;
全局隐私设置变化。
Google也提醒,如果已索引页面数量突然下降,同时未索引页面中的Noindex数量明显上涨,就应该重点检查网站是不是意外增加了Noindex。
这比单独看某一个URL更加重要。
第十六:修复完成以后,怎么验证?
可以按照这套流程。
第一步:打开前台网页
查看源代码。
确认已经不存在:
noindex
第二步:检查HTTP Header
确认没有:
X-Robots-Tag: noindex
第三步:Search Console网址检查
输入目标URL。
点击:
测试实际网址。
确认:
Indexing allowed:Yes
第四步:请求索引
确认实时页面已经修复以后,再点击:
请求编入索引。
第五步:检查Sitemap
确保核心URL正常存在于Sitemap。
第六步:等待重新抓取
不要因为一天没有变化,就不断重复提交。
Google需要重新抓取和处理页面,索引并不会因为请求提交立即更新。
第十七:Bing站长工具提示Noindex,处理逻辑也基本一样
Bing Webmaster Tools的Site Explorer目前同样支持直接筛选:
URLs with NOINDEX tag。
还可以继续查看:
Indexed;
robots.txt disallowed;
redirect;
canonical;
抓取问题等URL状态。
如果希望页面进入Bing:
第一步也是移除Noindex。
然后确认Bingbot能够正常访问。
需要的时候可以通过URL Inspection或IndexNow帮助Bing更快发现页面变化。
Bing官方目前明确说明,No-Index Tag意味着页面告诉搜索引擎不要索引;站长修正以后,可以结合相关工具让搜索系统重新处理URL。
所以Google和Bing在这个问题上的底层逻辑非常接近。
第十八:WordPress网站最实用的排查顺序,可以直接这样走
如果你现在使用WordPress,站长工具出现大量Noindex,我建议按照这个顺序检查:
第一,后台 → 设置 → 阅读。
确认:
建议搜索引擎不索引本站
没有被勾选。
第二,SEO插件全局设置。
检查:
文章;
页面;
产品;
分类;
Tag;
自定义文章类型,
有没有被批量设置成Noindex。
第三,检查具体页面。
看看单页SEO设置有没有单独覆盖全局配置。
第四,清除缓存。
WordPress、服务器、CDN都检查。
第五,查看前台源代码。
搜索noindex。
第六,检查HTTP响应头。
排除X-Robots-Tag。
第七,Search Console测试实际URL。
确认Google当前看到的页面已经允许索引。
这个顺序基本能够解决大部分WordPress误Noindex问题。
最后:看到“被noindex标记排除”,先判断它到底是不是错误
这个Search Console提示本身其实非常直白:
Google没有索引页面,因为网站告诉Google不要索引。
所以处理方法并不复杂。
如果这个页面本来就不需要搜索流量:
不用处理。
如果这个页面本来应该获得排名:
找到Noindex来源并移除。
对于WordPress,重点检查:
搜索引擎可见性;
SEO插件;
页面独立设置;
主题和插件;
缓存。
修复以后再通过URL Inspection确认实时页面已经允许索引,然后请求重新处理。Google官方给出的处理步骤也是:确认Noindex来源、测试实际URL,移除指令后再请求索引。
但还有最后一点一定要记住:
移除Noindex,只解决“允许进入索引”的问题。
它并不能保证页面一定收录,更不能保证关键词自动获得排名。
后面仍然要继续看:
页面质量;
重复内容;
Canonical;
搜索意图;
内部链接;
实际搜索需求。
所以遇到Noindex提示时,真正正确的SEO思路并不是:
怎么把这个报错消掉?
而是:
这张页面到底该不该进入搜索结果?如果应该,是网站哪一层设置阻止了它?
把这两个问题回答清楚,Noindex基本就不再是一个复杂的站长工具问题。
评论
欢迎留下你的看法,评论会按站点设置审核展示。
0 条评论
还没有评论,来写下第一条吧。
请先登录后即可评论
登录评论已关闭