识别配置互相冲突,核心方法是把“允许抓取”“允许索引”“允许展现”三类配置分别列出来,再检查它们对同一个URL是否给出相反指令。百度新闻收录依赖百度蜘蛛能够抓取页面、页面未被禁止索引、内容能被识别为新闻源内容。只要其中一层配置与另一层矛盾,就可能出现“能抓但不收”“收了但不展现”等现象。下面按从交付结果倒推的顺序,给出可执行的检查步骤。
如果目标是让某篇新闻稿被百度新闻收录,需要的交付结果不是“页面能打开”,而是:百度蜘蛛能访问、页面返回正常状态码、页面未被meta或HTTP头禁止索引、新闻内容可被识别、站点地图或新闻源提交渠道没有与robots规则冲突。倒推下来,至少需要收集以下资料:
<meta name="robots">或<meta name="baiduspider">。X-Robots-Tag。把这些资料放在同一张表里,逐项标注“允许”或“禁止”,冲突就会直接暴露。
常见的一类冲突是:robots.txt 禁止百度蜘蛛抓取某个目录,但站点地图又把该目录下的URL提交上去。站点地图只是建议,不保证收录;robots.txt 的抓取限制也不等于可靠的索引移除。如果robots.txt写的是Disallow: /news/,而新闻稿都在/news/下,百度蜘蛛就不会去抓,提交站点地图也不会改变这一点。
检查时按以下步骤执行:
https://你的域名/robots.txt,找到User-agent: Baiduspider对应的段落。Disallow规则逐条比对,注意*和$的通配含义。判断结果:若robots拦截且站点地图仍提交,属于抓取层冲突,优先修robots或撤提交,而不是反复提交。
索引层冲突更隐蔽。页面可能同时存在多个指令:<meta name="robots" content="noindex">、HTTP响应头里的X-Robots-Tag: noindex、以及指向另一个URL的canonical。如果其中任何一个要求不索引,百度就可能不收录该页面。
需要逐项核对:
noindex,是否被模板批量加上。X-Robots-Tag: noindex,这类头信息在浏览器里看不到,需要用抓包或命令行工具查看。canonical是否指向了另一个页面。若指向的页面本身又被禁止索引,两个页面可能都不被收录。判断结果:只要有一处明确禁止索引,就应视为索引层冲突。修复方式是保留一个明确指令,删除或改写其余矛盾指令。
即使抓取和索引都正常,百度新闻收录还要求内容符合新闻源的基本特征。如果页面被配置成普通文章页、商品页或聚合页,却期望进入新闻展现,就属于展现层冲突。常见表现包括:发布时间缺失或错误、正文过短、页面主体是列表而非单篇报道、URL结构频繁变动。
检查项如下:
判断结果:若抓取和索引均无冲突,但长期不展现,应优先核对页面类型与新闻源要求是否一致,而不是继续修改robots或meta。
把上述三层合并成一张检查表,每行一个URL,每列一个配置项,填写“允许/禁止/缺失”,并注明证据来源。验收标准是:同一URL在抓取层、索引层、展现层的结论一致。若出现“抓取允许、索引禁止”“索引允许、展现类型不符”等组合,就标记为冲突项,按抓取→索引→展现的顺序修复。修复后重新收集一次证据,确认三层结论一致,再观察百度蜘蛛的抓取记录和新闻源反馈。下一步,先挑一个具体URL填完这张表,找出第一处矛盾配置并修改。