0%

hexo手动百度推送

手动百度推送简单的逻辑就是先需要在百度站长上注册该域名下的信息,再用代码获取blog中所有文章的链接地址进行推送,除了手动之外还可以使用hexo自带的工具进行推送,实现的效果是一样,当然在百度SEO中,不管是自动推送还是手动推送,能达到的SEO效果还是很小,文章的质量、数量、访问量永远才是核心的因素,加油各位博主!

以下直接上代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
// 百度手动推送!!!!

// 获取blog中的所有有效链接,推送到百度站长
// token 的获取https://ziyuan.baidu.com/linksubmit/index?site=https://www.xiang007.com/

$path = './public';
$domain = 'https://www.xiang007.com';
$result = scanFile($path);
$urls = [];
foreach ($result as $key => $value) {
$all_url = $domain.str_replace($path,'',$value);
echo $all_url."\n";
$urls[] = $all_url;
}

$api = 'http://data.zz.baidu.com/urls?site=https://www.xiang007.com&token=nwmiI8Qsd5B4WRjJ';
$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;

function scanFile($path) {
global $result;
$files = scandir($path);
foreach ($files as $file) {
if ($file != '.' && $file != '..' && !in_array($file,
['css','images','img','js','lib','link','page','tags','archives','categories'])) {
if (is_dir($path . '/' . $file)) {
scanFile($path . '/' . $file);
$link_add = $path . '/' . $file;
$count = substr_count($link_add, '/');
if ($count >= 5) {
$result[] = $link_add;
}
}
}
}
return $result;
}