让你的WordPress的文章页面显示百度是否已收录有两个方法,一个是简单的通过安装WP-Baidu-Record插件来解决,还有一个稍复杂一点方法——添加代码。下面一一详细道来。
一,WordPress文章百度是否已收录查询插件WP-Baidu-Record
- 插件:WP-Baidu-Record
- 版本: 1.0.8
- 作者: 张戈
- 需要WordPress版本: 3.0或更高
Added Baidu Record Check result for The Single of WordPress blog. 在WordPress文章页面添加一个百度是否收录的查询和显示功能。
插件特色:
这个功能实际上已有人开发了插件,我只是在原来的基础上做了一些改进,具体如下:
原版特性:通过curl在百度查询本页url并获取结果,如果存在就输出已收录,否则就是未收录,并且可点击提交url
原版缺点:每次打开页面都需要在百度查询一遍,严重拖慢速度!当然可以利用缓存插件解决此问题。
改进特性:
i. 通过curl在百度查询url收录结果,如果已收录就将结果写入到文章的post meta记录中。待下一次再次打开页面时,先检查文章自定义栏目字段来判断是否已收录,若已收录则直接输出,而不再执行curl查询,从而解决了curl实时查询拖慢速度的问题!
ii. 若查询结果为已收录,亦会输出一个在百度查询文章标题的a标签,用于查看文章排名,甚至可以查看是否被人转载或篡改!
iii. 管理员可以随时在后台文章编辑界面中的自定义栏目来修改是否已收录的结果,自定义名称为baidu_record,1为已收录,0为未收录。
改进之后,如果是已收录的文章,将不会重复查询,从而解决了原版代码严重拖慢网站速度的缺憾。
插件安装:
可以通过以下两种方法的其中一种来安装wp-baidu-record 插件:
1.将下载的文件解压缩,然后将wp-baidu-record文件夹 上传到 /wp-content/plugins/目录,在插件后台启用即可。
2.直接在后台-安装插件,搜索’wp-baidu-record’,按照提示安装启用,简单快捷。这里强烈推荐第2中安装方法,简单安全。
二,代码添加到当前主题的 functions.php
如果你不想安装插件,怕插件降低网站运行速度,直接将下面的代码添加到当前主题的 functions.php 即可:
- /*
- Plugin Name: Baidu-Accept
- Plugin URI: http://www.d4v.com.cn
- Description: 判断当前文章是否被百度收录,若没有被收录则可点击提交至百度,加速收录!(此插件在文章页面仅管理员可见)
- Version: 1.0
- Author: Jovae
- Author URI: http://www.d4v.com.cn
- License: GPL
- */
- function d4v($url){
- $url='http://www.baidu.com/s?wd='.$url;
- $curl=curl_init();
- curl_setopt($curl,CURLOPT_URL,$url);
- curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
- $rs=curl_exec($curl);
- curl_close($curl);
- if(!strpos($rs,'没有找到')){
- return 1;
- }else{
- return 0;
- }
- }
- add_filter( 'the_content', 'baidu_submit' );
- function baidu_submit( $content ) {
- if( is_single() && current_user_can( 'manage_options') )
- if(d4v(get_permalink()) == 1)
- $content="<p align=right>百度已收录(仅管理员可见)</p>".$content;
- else
- $content="<p align=right><b><a style=color:red target=_blank href=http://zhanzhang.baidu.com/sitesubmit/index?sitename=".get_permalink().">百度未收录!点击此处提交</a></b>(仅管理员可见)</p>".$content;
- return $content;
- }
以上代码来源于:wordpress大学 https://www.wpdaxue.com/baidu-accept.html