无崖子资源网
做有态度的分享学习平台!

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

首页广告

很多人为了节约时间,都选择了自动提交的方式。然而你们知道的,自动提交又可以分为主动推送(实时)、自动推送和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?site=https://www.fbisb.com/&token=O3P1sRgRjui3bs9p&type=daily'; 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.fbisb.com&token=O3P1sRgRjui3bs9p';
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/主题模板/,你们自己找找吧。

赞(1)
未经允许不得转载:无崖子资源网 » wordpress实现发布文章主动推送(实时)给百度的方法

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)

你想要的这里都有!

淘宝福利TOP100请收藏好本站