现在的位置:首页>wordpress>正文

wordpress代码实现文章页面显示该文章是否被百度收录

2015年03月14日 ⁄ 共 2125字 评论 2 条

使用wordpress来做一个网站,是很多朋友的选择.部落也使用了很多年,只能说功能实在强大.今天要说到的是,用代码实现文章页面显示该文章是否被百度收录,文章是否被收录,是每一个站长都关心的话题,正常情况下我们要查询一篇文章是否被百度收录,会通过设置条件来使用site语句查询,或者通过一些站长工具来查询,而现在,如果您使用的是wordpress,那么可以直接在文章显示出来.

这里首先说明一下,这个方法来源自张戈博客,同时也有这样一个插件,实现在上述效果可以直接使用WP-Baidu-Record插件,官网下载地址是:由此直达.

wordpress代码实现文章页面显示该文章是否被百度收录

这里我们主要来看看如何用代码来实现.先来看看效果,如下图:

显示该文章是否被百度收录

操作过程如下:

1.编辑WordPress主题目录下的functions.php文件,在最后一个?>标签之前,添加如下代码并保存:

  1. // 查询百度是否收录文章 from www.mfbuluo.com
  2. function baidu_check($url){
  3.     global $wpdb;
  4.     $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
  5.     $baidu_record  = get_post_meta($post_id,'baidu_record',true);
  6.     if$baidu_record != 1){
  7.         $url='http://www.baidu.com/s?wd='.$url;
  8.         $curl=curl_init();
  9.         curl_setopt($curl,CURLOPT_URL,$url);
  10.         curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
  11.         $rs=curl_exec($curl);
  12.         curl_close($curl);
  13.         if(!strpos($rs,'没有找到该URL。您可以直接访问') && !strpos($rs,'很抱歉,没有找到与') ){
  14.             update_post_meta($post_id, 'baidu_record', 1) || add_post_meta($post_id, 'baidu_record', 1, true);
  15.             return 1;
  16.         } else {
  17.             return 0;
  18.         }
  19.     } else {
  20.        return 1;
  21.     }
  22. }
  23. function baidu_record() {
  24.     if(baidu_check(get_permalink()) == 1) {
  25.         echo '<a target="_blank" title="点击查看" rel="external nofollow" href="http://www.baidu.com/s?wd='.get_the_title().'">百度已收录</a>';
  26.    } else {
  27.         echo '<a style="color:red;" rel="external nofollow" title="点击提交,谢谢您!" target="_blank" href="http://zhanzhang.baidu.com/sitesubmit/index?sitename='.get_permalink().'">百度未收录</a>';
  28.    }
  29. }

2.然后编辑WordPress主题下的文章模板(一般是single.php),在想要显示收录结果的位置添加如下代码并保存:

<?php echo baidu_record(); ?>

具体位置如下图:

显示该文章是否被百度收录

代码说明如下:

1、通过curl在百度查询url收录结果,如果已收录就将结果写入到文章的post meta记录中。待下一次再次打开页面时,先检查文章自定义栏目字段来判断是否已收录,若已收录则直接输出,而不再执行curl查询。

2、若查询结果为已收录,亦会输出一个在百度查询文章标题的a标签,用于查看文章排名,甚至可以查看是否被人转载或篡改!

3、 管理员可以随时在后台文章编辑界面中的自定义栏目来修改是否已收录的结果,自定义名称为baidu_record,1为已收录,0为未收录。

如果您使用插件的话,就没有什么好说的了.

 

 

小结

文章内容来源自张戈博客,由免费部落整理发布.

部落之前发文章时,一般都会在隔几个小时之后去查询一下,文章是否被收录,不过现在,我已经不怎么关心这些百度收录的问题了.说句实话,新网站的话,加一下这个功能还是不错的,老网站,收录良好的网站,像这个功能就没有多少意义了,所以部落没有加个功能.

评论 2 条 评论内容很精采,有内幕,而且绝对有干货

  1. 夏日博客 2015年03月16日 15:15  @回复  Δ-49楼 回复

    这个倒没有安装,查看是否收录直接把网址在百度里搜下就知道了。

    • 管理员 2015年03月16日 18:43  @回复  ∇地下1层 回复

      百度收录有时候不稳定,有时候查询会显示收录,有时候则显不没收录,新手用用这个功能吧.

给我留言