不过,既然有朋友问到可否分享下添加这个功能的教程,所以决定整理分享一下。
我一直是一个中度强迫症的完美主义者,所以别人已经分享的东西我一般不喜欢分享第二遍!但昨晚熬夜到三点,除了在新浪SAE搭建了一个二维码API之外,还将百度收录查询这个功能实现了数据库储存优化!
功能名称:给WordPress添加百度是否收录的查询与显示
原版特性:通过curl在百度查询本页url并获取结果,如果存在就输出已收录,否则就是未收录,并且可点击提交url
原版缺点:每次打开页面都需要在百度查询一遍,严重拖慢速度!当然可以利用缓存插件解决此问题。
改进特性:
i、通过curl在百度查询url收录结果,如果已收录就将结果写入到数据库。待下一次再次打开页面时,先检查数据库相应字段来判断是否已收录,若已收录则直接输出,而不再执行curl查询,从而解决了curl实时查询拖慢速度的问题!
ii、若查询结果为已收录,亦会输出一个在百度查询文章标题的a标签,用于查看文章排名,甚至可以查看是否被人转载或篡改!
先分享我目前在用的数据入库版本的使用方法:
①、给WordPress数据库的wp_posts表新增baidu_record字段
i. 进入phpMyAdmin,先选择WordPress数据库,然后点击SQL:
ii. 粘贴如下代码并执行,即可给wp_posts新增一个baidu_record字段:
PS:涉及操作数据库,任何时候都应该记得先将数据库导出一份备份,以防万一!
若执行报错:
i、请检查表前缀是不是wp_,若不是请将代码改成实际的表名称再试;
ii、若还是报错,那可能是当前帐号没有添加字段的权限,那就自行想办法找到权限更高的帐号来操作。
②、编辑主题目录的functions.php文件,在最后一个?>前新增如下代码并保存:
③、编辑文章模板(一般是single.php),在合适的位置添加如下代码并保存:
比如,笔者的博客就将其添加到了副标题当中。
若以上步骤都未出错,那现在访问文章页面就能看到百度是否已收录的效果了。当然,你要有兴趣还可以像张戈博客由于,将这个代码继续添加到首页或分类页面。
第一次访问可能会有点卡,当数据库存在记录之后,将直接从数据库查询,而不会有任何拖慢速度感觉了!
当然,还是有朋友担心操作数据库会出问题,所以最后还是分享这个功能的实时查询版本:
①、编辑主题目录的functions.php,在最后一个?>之前添加如下代码并保存:
②、编辑文章模板文件(一般为single.php),在合适的位置添加如下代码并保存:
不出问题的话,访问文章页面也可以看到同样的效果了,当然这个是实时查询的,每次打开页面都要执行一遍curl,如果主机配置和网络不给力的话,可能会比较吃力!当然,你可以用wp-super-cache这类缓存插件通过缓存页面来解决这个问题!
以上2种版本可根据个人喜好以及主机实际情况选择一个即可!