子凡去年开始关注神马搜索的越来越多了,其中最大的关系源自于神马开始给网站带来了一些还不错的流量,算是得到了我的青睐吧,当然神马近年来最大的一个变化可能就属支持百度开源的 MIP 技术了,并且子凡也关注到一些 MIP 网站页面开始在什么生效和展现。
在神马上线支持 MIP 数据提交的第一时间,子凡就曾批量推送过 MIP 数据,由于泪雪博客采用 UA 方式实现的 MIP 页面适配,及时针对神马搜索的 UA 做了处理,无奈至今也并没有在神马搜索结果生效 MIP 缓存页面,而通过神马站长平台却无法得知具体原因,不过唯一可以肯定的是泪雪博客是绝对支持 MIP 技术和规范的,这点毋庸置疑。所以对于做独立 MIP 域名的站点来说,这或许会在神马得到一个抓取生效的优势哦,别问我为什么,直觉和经验。
好啦,说了这么多,其实是因为有人在泪雪博客留言问怎么把网站数据推送到神马,本来是想添加到原有的 MIP 插件中,斟酌后还是觉得目前不太合适,会给插件带来不必要的冗余,所以决定单独分享一个简单的教程和代码,想要折腾神马 MIP 数据提交或者 MIP Cache 清理功能的就动动手咯。
//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./push?site=&user_name=&resource_name=mip_add&token=';
//请到神马站长平台 /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 部分根据自己实际情况调用
'/1.html',
'/2.html',
);
//请到神马站长平台 /open/mip 中复制接口调用地址过来即可
$api = 'http://data./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./push?site=&user_name=&resource_name=mip_add&token=';
//请到神马站长平台 /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 的用户来直接使用。
更多关于 WordPress 优化及疑问可以添加 QQ 群:255308000
除非注明,否则均为泪雪博客原创文章,禁止任何形式转载