刘连康:wordpress实现发布文章主动推送(实时)给百度的方法

刘连康发布时间:2019年4月9日23:17:18 发表评论 有656人看过

参加过SEO培训的同学,都应该学习到了百度搜索资源平台的链接提交,总共有两种提交方式,一种是自动提交,另外一种就是手动提交。

 

在去年的8月份,康哥已经给大家分享过了织梦dedecms程序实现发布文章主动推送(实时)给百度的方法,受到了广大网友的喜爱。

 

今天呢,康哥就再次来给大家分享一下wordpress实现发布文章主动推送(实时)给百度的方法。Wordpress相对来说简单一些,只需要改造一下funtions.php模板就可以搞定了。

 

现在的人都懒得要命,很多人为了节约时间,都选择了自动提交的方式。然而你们知道的,自动提交又可以分为主动推送(实时)、自动推送和sitemap三种链接提交通道。

 

现在康哥就给你们分析一下这三种链接提交通道的利与弊,看看我们适合使用哪种。

 

  1、主动推送(实时)

 

这是一种最为快速的提交方式了,通过技术改造之后,你的站点每更新一篇文章,就可以立即通过此方式主动推送给百度,以保证新链接可以及时被百度收录。不过有个缺点,就是需要依赖技术开发出来后才可以使用。

 

  2、自动推送

 

自动推送是百度搜索资源平台为提高站点新增网页发现速度推出的工具,安装自动推送JS代码的网页,不管是哪个页面被访问,页面URL都将立即被自动推送给百度。

 

使用方法就是需要把JS代码安装在网站整站共用的模板页面中,比方说在header.htm类似的页头模板页面中安装,以达到一处安装,全站皆有的效果。

 

这种方式是很好了,非常适合懒人,安装完成后才可以实现链接自动推送功能。不过,这样的js代码会拖慢网站速度,一点都不友好。

 

  3、Sitemap提交

 

Sitemap就是站点地图的意思,指的就是你网站上各网页的列表,创建并提交Sitemap有助于百度发现并了解你网站上的所有网页。

 

除了这个便捷的功能,你还可以使用Sitemap提供有关你网站的其他信息,比方说上次更新日期、Sitemap文件的更新频率等等,仅仅是供给百度Spider参考而已。

 

百度对已提交的Sitemap数据,不保证一定会抓取及索引所有网址。但是,百度搜索引擎会使用Sitemap中的数据来了解网站的结构等信息,这样可以帮助百度搜索引擎蜘蛛改进抓取策略,并在日后能更好地对网站进行抓取。

 

对了,Sitemap网站地图可以使用爱站SEO工具包和SitemapX等工具进行制作。另外还需要说明的一点就是,百度搜索引擎蜘蛛也不会经常性的过来更新Sitemap网站地图。

 

这个Sitemap和搜索排名也没有任何的关系,并不是说你更新Sitemap越频繁,网站排名就越靠前,没这回事的。

 

所以,综上所述,最适合我们的链接提交方式就是第一个——主动推送(实时)。

 

接下来康哥就教你们怎么改造API提交,从而实现只要在wordpress后台点击发布文章,就可以实现把文章主动推送(实时)给百度。

 

其实方法是很简单的,我们只要把下面的代码写到funtions.php模板里面,发布文章的时候就会自动推送到百度了。

date_default_timezone_set('Asia/Shanghai'); add_action('publish_post', 'publish_bd_submit', 999);
function publish_bd_submit($post_ID){ global $post;
$bd_submit_enabled = true;
if($bd_submit_enabled){
$api ='http://data.zz.baidu.com/urls?appid=1559286202874932&token=ami4Q0OsrEjPWnKw&type=realtime'; if($post->post_status != "publish"){
$url = get_permalink($post_ID);
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => $url,
CURLOPT_HTTPHEADER => array('Content-Type: text/plain')
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
// $result = json_decode($result, true);
$time = time();
$file = dirname(__FILE__).'/by_baiduSubmit.txt';//生成日志文件,与代码所处文件同目录
if(date('Y-m-d',filemtime($file)) != date('Y-m-d')){
$handle = fopen($file,"w");
}else{
$handle = fopen($file,"a");
}
$resultMessage="";
if($result['message']){
$resultMessage= date('Y-m-d G:i:s',$time)."\n提交失败".$result['message'].":\n网址:".$url."\n\n".$result;
}
if($result['success']){
$resultMessage= date('Y-m-d G:i:s',$time)."\n提交成功".":".$url."\n\n";
}
fwrite($handle,$resultMessage);
fclose($handle);
}
}
if($bd_submit_enabled){
$api ='http://data.zz.baidu.com/urls?site=https://www.liuliankang.com&token=RyVub75SqbRkLu0k';
if($post->post_status != "publish"){
$url = get_permalink($post_ID);
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => $url,
CURLOPT_HTTPHEADER => array('Content-Type: text/plain')
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
// $result = json_decode($result, true);
$time = time();
$file = dirname(__FILE__).'/by_baiduSubmit.txt';//生成日志文件,与代码所处文件同目录
if(date('Y-m-d',filemtime($file)) != date('Y-m-d')){
$handle = fopen($file,"w");
}else{
$handle = fopen($file,"a");
}
$resultMessage="";
if($result['message']){
$resultMessage= date('Y-m-d G:i:s',$time)."\n提交失败".$result['message'].":\n网址:".$url."\n\n".$result;
}
if($result['success']){
$resultMessage= date('Y-m-d G:i:s',$time)."\n提交成功".":".$url."\n\n";
}
fwrite($handle,$resultMessage);
fclose($handle);
}
}
}

上面这段代码有两个api,把它们都改成你自己的就可以了。注意一下:第一个api是天极收录的接口调用地址,这个只有原创保护的站长才有资格使用哦。第二个api地址是主动推送(实时)的接口调用地址,可别搞错了。

 

还有一个就是关于funtions.php模板的路径,现在给你们指点一下吧。目前康哥所用的wordpress主题是知更鸟,而这个funtions.php模板的路径就在根目录/wp-content/themes/begin/,你们自己找找吧。

 

 

本文为原创文章,版权归作者所有,未经授权,禁止抄袭,否则将追究法律责任!

欢迎转载,转载请注明作者和出处,谢谢!

作者:刘连康

首发:刘连康博客

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: