SEO与引流

百度抓取失败 返回HTTP头:HTTP/1.1 040 Server: Date:Content-Length:的解决方法

百度抓取失败 返回HTTP头:HTTP/1.1 040  Server: Date:Content-Length:的解决方法%separator%号插图

最新补充:

该问题 如果你和我一样用了宝塔的nginx环境,请尝试更换为Apache 2.4 重新做一次SSL配置,和301!目前我使用该方法完美解决!老法子不行

——————-老方法———————-

记录一次百度抓取诊断失败的 经历

新站 使用百度抓取诊断出现错误,返回HTTP头:

HTTP/1.1 040 
Server: nginx/1.8.1
Date: Fri, 07 Aug 2020 18:03:16 GMT
Content-Length: 0
Connection: close

程序是wordpress,最终经过三天的实验找出,是做了百度HTTPS认证和使用了wp某种伪静态代码造成,

解释虚线前  为默认wp伪静态,虚线后事为了过百度的https 验证而加的重定向!取消百度HTTPS认证删除虚线后的抓取就正常了!

如果你的程序不是wp,遇到同样的问题(已经帮一位朋友解决了某CMS同样抓取错误的问题)。首先请尝试取消百度HTTPS认证,让抓取回到http状态,然后尝试再次抓取诊断,如果取消百度HTTPS认证恢复http后抓取正常,那么请把目光锁定在http跳转https 这个节点上。其实正常使用https就行  我个人觉得可以不过百度的那个认证!

location /
{
	 try_files $uri $uri/ /index.php?$args;
}

rewrite /wp-admin$ $scheme://$host$uri/ permanent;
-------------------------------------------------------
if ($server_port ~ "80"){
	set $rule_0 1$rule_0;
}
if ($rule_0 = "1"){
	rewrite ^/(.*)$ https://www.XXXX.com/\ permanent;
}

记录完毕,目前已解决!

补充:如果使用CDN的话则不受此影响,因为百度HTTPS认证后 抓取的链接  返回200 网页直接储存在CDN服务器不回源!