向百度主动提交自己的网站链接数据一般三种方式
1 、主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。
2 、 sitemap:您可以定期将网站链接放到 sitemap 中,然后将 sitemap 提交给百度。百度会周期性的抓取检查您提交的 sitemap,对其中的链接进行处理,但收录速度慢于主动推送。
3 、手工提交:一次性提交链接给百度,可以使用此种方式。
根据百度 2015 年 5 月的公告,第二种 sitemap 提交的方式即将终止使用,以后主要以主动推送 (实时)为主。
WordPress 不用插件如何实现这个功能呢?
1 、请将以下代码加入主题文件中的 function.php 文件中
2 、然后修改代码 $Push=后面的 「接口调用地址」 为你自己网站的即可,如下图
//WordPress 集成百度 Sitemap" 主动推送 (实时)" 代码
function PushBaiDu($post_id,$post){
////设置接口调用地址 (在百度站长平台 「链接提交里开通 sitemap 权限后获得」)
$Push = '接口调用地址';
$PushUrl = get_permalink($post_id);
$PushDate = $post->post_data;
//构造推送 xml 数据
$PushXml = '<?xml version="1.0" encoding="UTF-8"?>
<urlset>
<url>
<loc><![CDATA['.$PushUrl.']]></loc>
<lastmod>'.$PushDate.'</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
</urlset>';
//创建 http 请求对象
$wp_http_obj = new WP_Http();
//发送 http post 请求提交 xml 数据
return $wp_http_obj->post($Push, array('body' => $PushXml, 'headers' => array('Content-Type' => 'text/xml')));
}
add_action('publish_post', 'PushBaiDu');
function PushBaiDu($post_id,$post){
////设置接口调用地址 (在百度站长平台 「链接提交里开通 sitemap 权限后获得」)
$Push = '接口调用地址';
$PushUrl = get_permalink($post_id);
$PushDate = $post->post_data;
//构造推送 xml 数据
$PushXml = '<?xml version="1.0" encoding="UTF-8"?>
<urlset>
<url>
<loc><![CDATA['.$PushUrl.']]></loc>
<lastmod>'.$PushDate.'</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
</urlset>';
//创建 http 请求对象
$wp_http_obj = new WP_Http();
//发送 http post 请求提交 xml 数据
return $wp_http_obj->post($Push, array('body' => $PushXml, 'headers' => array('Content-Type' => 'text/xml')));
}
add_action('publish_post', 'PushBaiDu');