阿里云

PHP检测url是否被百度PC收录

公司网站主要是靠百度流量来赚钱,主要是做移民签证,品牌名称:移民内参。有运营部同时负责产品运营,每周汇报收录情况、收录率、收录文章链接等情况。闲暇之余写了一个小功能,就是统计每个编辑本周发文链接,并查询百度收录情况计算收录率。最后生成图标,进行数据汇总。


一、实现代码

/**
 * 百度PC 收录检测
 * @return \think\response\Json
 * @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收录

二、原理


通过长时间的seo经验,发现在百度收录网址链接时会出现收录链接的索引,当无收录时会出现提交网址字样,我们利用此规则进行判断。其他搜索引擎同理。


三、开发平台已更新


传送门:百度收录检测

喜欢就点个赞吧