子凡去年开始关注神马搜索的越来越多了,其中最大的关系源自于神马开始给网站带来了一些还不错的流量,算是得到了我的青睐吧,当然神马近年来最大的一个变化可能就属支持百度开源的 MIP 技术了,并且子凡也关注到一些 MIP 网站页面开始在什么生效和展现。
WordPress 神马搜索 MIP 数据提交" src="https://im.25qi.com/d/file/wordpresscms/20210830WordPress-SM-mip-add.png" style="height: 400px; width: 600px;" />
在神马上线支持 MIP 数据提交的第一时间,子凡就曾批量推送过 MIP 数据,由于泪雪博客采用 UA 方式实现的 MIP 页面适配,及时针对神马搜索的 UA 做了处理,无奈至今也并没有在神马搜索结果生效 MIP 缓存页面,而通过神马站长平台却无法得知具体原因,不过唯一可以肯定的是泪雪博客是绝对支持 MIP 技术和规范的,这点毋庸置疑。所以对于做独立 MIP 域名的站点来说,这或许会在神马得到一个抓取生效的优势哦,别问我为什么,直觉和经验。
好啦,说了这么多,其实是因为有人在泪雪博客留言问怎么把网站数据推送到神马,本来是想添加到原有的 MIP 插件中,斟酌后还是觉得目前不太合适,会给插件带来不必要的冗余,所以决定单独分享一个简单的教程和代码,想要折腾神马 MIP 数据提交或者 MIP Cache 清理功能的就动动手咯。
12345678910111213 |
//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 功能推送数据,也可以实现批量推送,自由度比较高。
|
// 神马 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 清理代码,基本用不带,手动清理的效果并不大,如果你还是想用,那就拿去吧!
|
//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 的用户来直接使用。