沫延说
沫延说

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

前    言

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

 

实现方式

首先引入一个概念:

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.手动提交

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

 

 

 

 

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

Morton.L

文章作者

发表回复

textsms
account_circle
email

沫延说

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