typecho文章页面显示是否已被百度收录的方法
in 建站教程 with 2 comments

typecho文章页面显示是否已被百度收录的方法

in 建站教程 with 2 comments

今天有朋友问我能不能自动检测typecho博客文章是否被百度收录了,然后查询结果展示在typecho文章页面,也就是我们常说的“文章页面展示百度是否收录这个功能”。

其实这方面的教程很多,但是大多都是wordpress博客上使用;后来我帮朋友弄好了,这篇文章就做下记录吧。

(关于判断百度是否收录的这段代码,网上有好多版本,有的准确有的准确度差些,如果有更好的代码,非常恳切能告知我!)

亲测截图

(本地所建网站所以显示未收录)

QQ截图20170904212142.jpg

QQ截图20170904212202.jpg

第一步

使用ftp软件(或者在线ftp工具)把你模板中的 function.php 文件和 post.php 下载到本地

文件具体路径为:

/根目录/usr/themes/你正在用的模板/

第二步

先把下载的文件分别备份,然后使用代码编辑器(如HBuilder、Notepad++等)打开function.php 加上这段代码

//判断内容页是否百度收录

function baidu_record() {
$url='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 

if(checkBaidu($url)==1)
{echo "百度已收录";
}
else
{echo "<a style=\"color:red;\" rel=\"external nofollow\" title=\"点击提交收录!\" target=\"_blank\" href=\"http://zhanzhang.baidu.com/sitesubmit/index?sitename=$url\">百度未收录</a>";}
}

   function checkBaidu($url) { 
    $url = 'http://www.baidu.com/s?wd=' . urlencode($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 -1; 
    } 
}

QQ截图20170904211432.jpg

第三步

使用代码编辑器打开 post.php 在合适的位置加上这段代码(建议加在文章标题下面)

<?php echo baidu_record() ?>

QQ截图20170904212242.jpg

第四步

上传覆盖文件

第五步

清理网站及浏览器缓存,查看效果(效果不好的话请自行调整或修改样式)

Responses
  1. 非常感谢,正需要这个

    Reply
    1. @大话

      感谢您的支持

      Reply