Flarum社区插件现在只发现sitemap 推送到百度,说白了就是等 百度过来抓取,这个得看度娘的心情,还有网站的权重。
百度搜索资源平台描述如下:
普通收录
使用说明
1、普通收录工具可以向百度搜索主动推送资源,缩短爬虫发现网站链接的时间,不保证收录效果。
2、API提交和手动提交共享配额,每日至多提交10万条有价值的内容,sitemap提交配额不与其他方式共享,具体配额以站点页面显示数据为准,提交内容会进入百度搜索统一管理。
3、仅限提交关联过主体的站点下的内容,否则无法成功提交,配额不可累计,当日有效。
4、若链接存在跳转关系,请直接提交跳转后链接。如网站换域名,需提交新域名资源;进行HTTPS改造页面,请提交HTTPS资源。
所以主动推送的意义非常有必要:
所以动手写了个将sitemap.xml中的网址提取出来,通过 api接口做定时推送。
首先在网站的public目录(任何可以通过 url进行访问的位置 )创建文件,如: push2baidu.php
把以下代码复制过来,保存。
<?php
$content = file_get_contents('http://iot.hnai.net/sitemap.xml');
preg_match_all('/<loc>(.*?)<\/loc>/', $content, $sitemap, PREG_PATTERN_ORDER);
//二维数据转一维数组
$urls = array_reduce($sitemap, 'array_merge', array());
//token换成自己的
$api = 'http://data.zz.baidu.com/urls?site=iot.hnai.net&token=k8BHWo0rNB3VsMkq';
$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;
其次测试:
在浏览器中打开: http://iot.hnai.net/push2baidu.php
返回:
{“remain”:2883,“success”:117}
表示推送成功。
定时推送的时机就有很多,看各位的心情了,我用“宝塔”面板的定时任务,每天推次。配置如图:
本人的刚建的小站,坐等 测试收录结果: site:iot.hnai.net ,文章来源