WordPress 神马搜索 MIP 数据提交代码教程

leixue WordPress优化/百度MIP 2019-03-28 11:17:07 阅读(...) 评论(8)

子凡去年开始关注神马搜索的越来越多了,其中最大的关系源自于神马开始给网站带来了一些还不错的流量,算是得到了我的青睐吧,当然神马近年来最大的一个变化可能就属支持百度开源的 MIP 技术了,并且子凡也关注到一些 MIP 网站页面开始在什么生效和展现。

WordPress 神马搜索 MIP 数据提交

在神马上线支持 MIP 数据提交的第一时间,子凡就曾批量推送过 MIP 数据,由于泪雪博客采用 UA 方式实现的 MIP 页面适配,及时针对神马搜索的 UA 做了处理,无奈至今也并没有在神马搜索结果生效 MIP 缓存页面,而通过神马站长平台却无法得知具体原因,不过唯一可以肯定的是泪雪博客是绝对支持 MIP 技术和规范的,这点毋庸置疑。所以对于做独立 MIP 域名的站点来说,这或许会在神马得到一个抓取生效的优势哦,别问我为什么,直觉和经验。

好啦,说了这么多,其实是因为有人在泪雪博客留言问怎么把网站数据推送到神马,本来是想添加到原有的 MIP 插件中,斟酌后还是觉得目前不太合适,会给插件带来不必要的冗余,所以决定单独分享一个简单的教程和代码,想要折腾神马 MIP 数据提交或者 MIP Cache 清理功能的就动动手咯。

1
2
3
4
5
6
7
8
9
10
11
12
13
//WordPress 神马 MIP 数据提交代码
add_action('save_post', 'fanly_sm_mip_add', 10, 3);
function fanly_sm_mip_add($post_id, $post, $update){
	if($post->post_status != 'publish') return;
	$api = 'http://data.zhanzhang.sm.cn/push?site=&user_name=&resource_name=mip_add&token=';
	//请到神马站长平台 http://zhanzhang.sm.cn/open/mip 中复制接口调用地址过来即可
	$response = wp_remote_post($api, array(
		'headers' => array('Accept-Encoding'=>'','Content-Type'=>'text/plain'),
		'sslverify' => false,
		'blocking' => false,
		'body' => get_permalink($post_id)
	));
}

把以上代码加到你当前主题的 functions.php 文件中即可,如果你使用的是属于独立 MIP 域名版本,记住你是在那个主题下面发布文章,就添加到对应的主题中。

然后顺便贴出一下非 WordPress 的 PHP 版本利用 curl 功能推送数据,也可以实现批量推送,自由度比较高。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 神马 MIP 数据提交代码 (PHP CURL 方式)
$urls = array(//此处 URL 部分根据自己实际情况调用
    'http://www.example.com/1.html',
    'http://www.example.com/2.html',
);
//请到神马站长平台 http://zhanzhang.sm.cn/open/mip 中复制接口调用地址过来即可
$api = 'http://data.zhanzhang.sm.cn/push?site=&user_name=&resource_name=mip_add&token=';
$ch = curl_init();
$options =  array(
    CURLOPT_URL => $api,
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => implode("\n", $urls),
    CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
echo $result;

如果你使用的其它程序,或者想要半自动或者手动提交,使用上面的代码应该还是非常容易实现的,例如你可以载入一个 txt 文件,每行一个,然后读取这个 txt 文件内容转换为数组,在执行这个 php 文件就可以实现自主批量提交啦,大家自由发挥吧!

另外在贴出一个 WordPress 神马 MIP-Cache 清理代码,基本用不带,手动清理的效果并不大,如果你还是想用,那就拿去吧!

1
2
3
4
5
6
7
8
9
10
11
12
13
//WordPress 神马 MIP-Cache 清理代码
add_action('save_post', 'fanly_sm_mip_add', 10, 3);
function fanly_sm_mip_add($post_id, $post, $update){
	if($post->post_status != 'publish') return;
	$api = 'http://data.zhanzhang.sm.cn/push?site=&user_name=&resource_name=mip_add&token=';
	//请到神马站长平台 http://zhanzhang.sm.cn/open/mip 中复制接口调用地址过来即可
	$response = wp_remote_post($api, array(
		'headers' => array('Accept-Encoding'=>'','Content-Type'=>'text/plain'),
		'sslverify' => false,
		'blocking' => false,
		'body' => get_permalink($post_id)
	));
}

好啦,其实 WordPress 推送数据真的非常简单,大多都是利用 WordPress 函数 wp_remote_post 来实现,其实也就是 WordPress 封装过的 curl 功能,多的就不介绍了,贴出代码完全是给一些不是特别熟悉 WordPress 的用户来直接使用。

除非注明,否则均为泪雪博客原创文章,禁止任何形式转载

本文链接:https://zhangzifan.com/wordpress-sm-mip-add.html

发表评论

登录 后参与评论
  1. voice站点
    1楼
    voice站点 1个月前 (07-15)

    wordpress程序,将第一个代码添加到function文件里,以后发文mip页面就能自动推送吗

  2. 邓邓
    2楼
    邓邓 2个月前 (06-13)

    有神马MIP的开发文档和在线检测工具吗

    • 张子凡
      张子凡 2个月前 (06-14)
      回复 @邓邓 :神马MIP就是百度MIP,以MIP官方的规范为标准,神马并没有重复提供相关文档和工具。MIP官网:https://www.mipengine.org
  3. 唯美图
    3楼
    唯美图 5个月前 (03-30)

    神马一直不收录的站……….并且之前还有显示提交的sitemap 超过1W条限制,其实我才几百篇文章,1000多个链接~~

    • 张子凡
      张子凡 5个月前 (04-01)
      回复 @唯美图 :神马收录本身就很慢,并且对于许多小站点的收录并不友好。
  4. 鸟叔
    4楼
    鸟叔 5个月前 (03-28)

    不知道咋回事,sm站长平台登陆无反应。

    • 张子凡
      张子凡 5个月前 (03-29)
      回复 @鸟叔 :可能是你该换电脑了,哈哈哈,我表示一直都在正常使用