前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >wordpress实现发布文章主动推送(实时)给百度的方法

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

作者头像
可定
发布2020-04-20 14:56:00
1.2K0
发布2020-04-20 14:56:00
举报
文章被收录于专栏:细嗅蔷薇细嗅蔷薇

很多人为了节约时间,都选择了自动提交的方式。然而你们知道的,自动提交又可以分为主动推送(实时)、自动推送和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模板里面,发布文章的时候就会自动推送到百度了。

代码语言:javascript
复制
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=155928620287932&token=ami4Q0OsrEjWnKw&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.wnag.com.cn&token=RyVub79SqbRkLu0k';
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/,你们自己找找吧。

版权所有:可定博客 © WNAG.COM.CN

本文标题:《wordpress实现发布文章主动推送(实时)给百度的方法》

本文链接:https://cloud.tencent.com/developer/article/1616882

特别声明:除特别标注,本站文章均为原创,本站文章原则上禁止转载,如确实要转载,请电联:wangyeuuu@qq.com,尊重他人劳动成果,谢过~

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、主动推送(实时)
    • 2、自动推送
      • 3、Sitemap提交
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档