Zengjing

by Zengjing 2022-12-01

漏写了闭合标签,百度很生气,后果很严重

缘起

本站于2011年7月改版,采用Bootstrap布局,自动适配移动端。发布上线之后,发现有些新文章与作品一直不被百度收录,心中疑惑不解,但由于杂事缠(lan)身(duo),就没去跟踪与处理了。

最近朋友告诉我,在百度搜索tcdos关键词,竟然搜索不到本站了。问题严重了,得解决。

解惑

首先,登录百度搜索资源平台,提交资源,包括sitemap.txt、sitemap.xml等。推荐使用API提交,采用curl方式。

curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=www.tcdos.com&token=s8Qiu4Wx42jXs2i3

然后,耐心等待百度爬虫采集,一般需要24h以上。最后,结果出来了。

Xml解析失败

看了错误提示,说存在两个问题,原来百度不收录真的是有理由的。

  • 页面存在不合法的元素名

<img>没有闭合,站点采用的是Markdown编辑器,上传图片之后在编辑器中插入的图片标签没有闭合。

  • JS中也存在不合法的元素名

在实现图片展示交互中,需要获取图片的真实大小,使用 onlod 方法来实现,代码如下:

var imgOrigW, imgOrigH;
$("<img />").attr("src", imgUrl).on("load", function () {
    that.imgOrigW = this.width;
    that.imgOrigH = this.height;
});

爬虫提示问题代码为“$("<img />")”,不知为何。只能如下修改:

var imgOrigW, imgOrigH;
var oImg = new Image();
$(oImg).attr("src", imgUrl).on("load", function () {
    that.imgOrigW = this.width;
    that.imgOrigH = this.height;
});

记录一个细节,在更新时,我把上述错误代码注释,爬虫仍会提示解析失败,必须要删除代码。

当然,基于HTML5的属性,可以使用 naturalWidthnaturalHeight。但是获取异常,一直为 0。下次再研。

网站更新上线了,先观察一阵子,看看效果如何吧。

上述情况证明,百度对收录还是把关很严格的。我在 cn.bing.com 搜索了一下,发现网站收录一切正常 :)

跟踪

截止2022/12/15,百度还是未收录。问客服,客服回复说收录正常

收获点赞: 3

评论

...

by pojin 2022/12/18 21:59:07

可能要成为他们的VIP用户。^-^

...

by 天草 2022/12/21 20:22:46

哈哈,他们可能正是此意

...

by ~ 2023/2/27 15:42:56

现在直搜关键词天草工坊就能找到了

...