沫延说
沫延说
网站添加主动推送和自动推送功能加速百度收录
网站添加主动推送和自动推送功能加速百度收录

前    言

百度搜索资源平台提供多种提交站点数据的方式用于加速收录,收录对于网站的利处也就不再赘述,下面就记录一下如何实现的。

 

实现方式

首先引入一个概念:

footer在网站中通常称为“脚页”,一般来说一个网站系统中基本上footer共用率是最高的,那么我们要想让尽可能所有的页面都可以触发到“推送代码”,放置代码的最优位置就是footer。当然将此类代码加入footer也是为了不拖累正常网页的加载效率。

1.自动推送

特点:难度较低,通用性极强,效果较好,无性能损耗

无论采用何种方式(有的程序、主题自带将代码加入脚页功能,不自带此功能的需要手动修改代码实现添加)将下面的代码添加于所有页面共用的footer中。

<script>
(function(){
    var bp = document.createElement('script');
    var curProtocol = window.location.protocol.split(':')[0];
    if (curProtocol === 'https') {
        bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
    }
    else {
        bp.src = 'http://push.zhanzhang.baidu.com/push.js';
    }
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();
</script>

 

 

2.主动推送(实时)

特点:难度相对高一些,不同的建站系统几乎都需要定制,效果较好,极其微小甚至忽略不计的性能损耗

代码以WordPress为例,在正在使用的主题的模板函数(一般为functions.php)中添加如下代码:

add_action('save_post', 'wpjam_save_post_notify_baidu_zz', 10, 3);
function wpjam_save_post_notify_baidu_zz($post_id, $post, $update){
if($post->post_status != 'publish') return;
$baidu_zz_api_url    = 'http://data.zz.baidu.com/urls?site=你的域名,例如morton.li&token=该站专属准入秘钥';
$response    = wp_remote_post($baidu_zz_api_url, array(
'headers'    => array('Accept-Encoding'=>'','Content-Type'=>'text/plain'),
'sslverify'    => false,
'blocking'    => false,
'body'        => get_permalink($post_id)
));
}

// ** 百度主动推送代码 - 结束 ** //

 

同时给出一些官方的示例:

curl推送示例:

将要提交的链接按照每行一条的格式写入一个文本文件中,命名此文件为urls.txt,然后进入该文件所在目录,执行如下命令:

curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=你的域名,例如morton.li&token=该站专属准入秘钥"

 

post推送示例

POST /urls?site=你的域名,例如morton.li&token=该站专属准入秘钥 HTTP/1.1
User-Agent: curl/7.12.1 
Host: data.zz.baidu.com 
Content-Type: text/plain 
Content-Length: 83

post内容格式为:

https://Morton.Li/example1.html
https://Morton.Li/example2.html

 

PHP推送示例

$urls = array(
    'https://Morton.Li/example1.html',
    'https://Morton.Li/example2.html',
);
$api = 'http://data.zz.baidu.com/urls?site=你的域名,例如morton.li&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;

 

ruby推送示例

require 'net/http'
urls = ['https://Morton.Li/example1.html', 'https://Morton.Li/example2.html']
uri = URI.parse('http://data.zz.baidu.com/urls?site=你的域名,例如morton.li&token=该站专属准入秘钥')
req = Net::HTTP::Post.new(uri.request_uri)
req.body = urls.join("\n")
req.content_type = 'text/plain'
res = Net::HTTP.start(uri.hostname, uri.port) { |http| http.request(req) }
puts res.body

 

以上几种方式推送成功则返回:

{
    "remain":4999998,
    "success":2,
    "not_same_site":[],
    "not_valid":[]
}

反之:

{
    "error":401,
    "message":"token is not valid"
}

 

 

百度支持的其他加速收录方式的提交方式

 

1.提交Sitemap

Sitemap 俗称站点地图,顾名思义,在文件内解释了各个页面的链接与联系甚至包括更新时间,以便搜索引擎可以更加智能地抓取网站。最简单的 Sitemap 形式就是XML 文件。

百度搜索资源平台中依次进入“用户中心”,“站点管理”,进入所要操作的站点,“链接提交”中的自动提交分类下的sitemap提交方式输入贵站站点地图的访问地址并提交。

其中:

a. 一次最多提交10个文件地址;

b. 文件地址格式为txt或xml,每个地址文件最多包含50,000个网址且需小于10MB;

c. 如果验证了网站的主域,那么sitemap文件中可包含该网站主域下的所有网址。

 

提交后百度后台会定期访问你的Sitemap地址并收录优质页面。

 

2.手动提交

顾名思义,一个一个地址的将页面提交给百度。因对绝大多数内容网站不切合实际,不再赘述。

 

 

 

 

感谢您阅读网站添加主动推送和自动推送功能加速百度收录

及时获取更多文章,欢迎关注“Topstalk”微信订阅号

Thank you for reading the 网站添加主动推送和自动推送功能加速百度收录

Get more articles in time,Welcome to follow the "Topstalk" WeChat subscription account

没有标签
首页      未分类      网站添加主动推送和自动推送功能加速百度收录

Morton.L

文章作者

发表评论

textsms
account_circle
email

沫延说

网站添加主动推送和自动推送功能加速百度收录
前    言 百度搜索资源平台提供多种提交站点数据的方式用于加速收录,收录对于网站的利处也就不再赘述,下面就记录一下如何实现的。   实现方式 首先引入一个概念: footer在网站…
扫描二维码继续阅读
2018-08-13