wordpress每次发布新文章自动提交百度

PHP, 代码片段 2018/03/31

wordpress自带的PING服务可以在发表新文章时,自动通知站点更新服务。除去这种方式通知百度进行抓取,还可以通过百度提供的链接提交API进行推送。

详情见:https://ziyuan.baidu.com/linksubmit/index

百度的链接自动提交可以使用API、JS、sitemap等方式。所以我就想着直接在主题的functions.php添加这个功能。

原理很简单,当新文章发布时(包含更新),通过CURL访问百度提交链接的API即可。主要用到了wordpress的publish_post钩子

上代码:注意:token改为自己的

function push_to_baidu($ID) {
	//获取文章的链接
	$permalink = get_permalink($ID);
	$api = 'http://data.zz.baidu.com/urls?site=bugxia.com&token=百度链接提交API的TOKEN';
	$ch = curl_init();
	$options =  array(
		CURLOPT_URL => $api,
		CURLOPT_POST => true,
		CURLOPT_RETURNTRANSFER => true,
		CURLOPT_POSTFIELDS => $permalink,
		CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
	);
	curl_setopt_array($ch, $options);
	$result = curl_exec($ch);
	//下面这一行是写日志到主题目录,可选
	//file_put_contents(dirname(__FILE__)."/pushLog.txt",$result."\n",FILE_APPEND);
}
add_action('publish_post', 'push_to_baidu');

以上代码添加到主题的functions.php,每次发布、更新文章时就可主动提交文章的链接给百度,通知百度的蜘蛛前来抓取。

本文标签:


一条评论

  • 评论(本站已开启评论回复邮件通知功能,请如实填写邮箱以便及时收到回复)