公司网站主要是靠百度流量来赚钱,主要是做移民签证,品牌名称:移民内参。有运营部同时负责产品运营,每周汇报收录情况、收录率、收录文章链接等情况。闲暇之余写了一个小功能,就是统计每个编辑本周发文链接,并查询百度收录情况计算收录率。最后生成图标,进行数据汇总。
一、实现代码
/** * 百度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经验,发现在百度收录网址链接时会出现收录链接的索引,当无收录时会出现提交网址字样,我们利用此规则进行判断。其他搜索引擎同理。