公司网站主要是靠百度流量来赚钱,主要是做移民签证,品牌名称:移民内参。有运营部同时负责产品运营,每周汇报收录情况、收录率、收录文章链接等情况。闲暇之余写了一个小功能,就是统计每个编辑本周发文链接,并查询百度收录情况计算收录率。最后生成图标,进行数据汇总。
一、实现代码
代码语言:javascript复制/**
* 百度PC 收录检测
* @return thinkresponseJson
* @author 申霖
* @time 2019/7/22 0022 下午 7:37
*/
public function index()
{
$dataUrl = input('post.url');
if ($dataUrl) {
$baseUrl = 'http://www.baidu.com/s?wd=';
$data = explode("n", $dataUrl);
$res = [];
foreach ($data as $k => $v) {
$res[$k]['url'] = $v;
$res[$k]['status'] = $this->checkBaiDu($baseUrl . $v);
}
return json(['code' => 200, 'message' => 'success', 'data' => $res]);
} else {
return view('seo/index');
}
}
/**
* CURL 请求
* @param $url
* @return string
* @author 申霖
* @time 2019/7/22 0022 下午 7:36
*/
public function checkBaiDu($url)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$rs = curl_exec($curl);
curl_close($curl);
if (!strpos($rs, '没有找到')) { //没有找到说明已被百度收录
return '已收录';
} else {
return '未收录';
}
}
二、原理
通过长时间的seo经验,发现在百度收录网址链接时会出现收录链接的索引,当无收录时会出现提交网址字样,我们利用此规则进行判断。其他搜索引擎同理。
三、开发平台已更新
传送门:百度收录检测