懂一些SEO优化知识的亲们都知道,文章发布以后,只有被搜索引擎收录,才有可能通过搜索引擎带来一些自然流量。如果文章发布以后迟迟不被搜索引擎收录,那么很大概率是这篇文章内容的质量不达标,网页亦是如此。

一,那么如何才能判断你的文章或者一个网页是否被搜索引擎收录呢?

其实最简单的办法就是手动复制网址直接百度回车搜索,然后看搜索结果即可。不过这种方法仅仅适合于一次性的查看,如果需要检测大批量的网址是否被百度收录,这种方法真的会累死人。
但是我们可以用程序来解决这个重复的检测工作,刚好我今天就用PHP实现了这个功能点,所以就用这篇文章整理记录,顺便分享出来。

比如我们需要判断“网址1”和“网址2”和“网址3”这三个网址是否被百度搜索引擎收录,只需要逐一手动复制网址到百度搜索框,然后回车搜索即可。

网址1的搜索结果截图如下,从搜索结果我们可以看出,该网址已经被百度收录了。

网址2的搜索结果截图如下,从搜索结果我们可以看出,该网址还没有被百度收录,而且搜索结果中出现了“没有找到该URL”这个关键字。

网址3的搜索结果截图如下,从搜索结果我们可以看出,该网址也没有被百度收录,且搜索结果中出现了“抱歉没有找到”,“请检查您的输入是否正确”,“网页未收录”等关键字。

二,判断网页/网址是否被收录的原理又是什么呢?

到这一步,其实我们的判断原理已经有了,就是看搜索结果。如果搜索结果中有“没有找到该URL”,“抱歉没有找到”,“请检查您的输入是否正确”,“网页未收录”这4个关键字中的一个,那么基本上就可以确定这个网址还没有被百度收录。

三,具体怎么实现这个功能?实现的思路是怎样的?

现在需求明确了,原理也清楚了,那一般这种情况我们该怎么实现呢?我本次采用的是PHP中的一项基础技术,也就是CURL采集功能。
我的实现思路就是先通过分析百度搜索结果的链接地址得出需要采集的目标URL的地址结构,然后使用CURL去采集目标URL地址的结果,再通过strpos()这个函数来判断采集的结果中有没有包含上面提到的4个关键字,如果有的话,那就说明该网址还没有被收录,如果没有的话,就说明该网址已经被百度收录了。

下面就是我今天用PHP实现这个功能的具体代码:

<?php
function checkBaiduInclude($url){$url = 'http://www.baidu.com/s?wd='.$url;$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$result = curl_exec($ch);curl_close($ch);if(strpos($result, '没有找到该URL')){return 0;}elseif(strpos($result, '抱歉没有找到')){return 0;}elseif(strpos($result, '请检查您的输入是否正确')){return 0;}elseif(strpos($result, '网页未收录')){return 0;}else{return 1;}
}$url = "https://www.hubaye.com";
if(checkBaiduInclude($url) == 1){var_dump("该网页已经被百度收录了");
}else{var_dump("该网页还没有被百度收录");
}

四,为什么只写了如何用PHP判断网址是否被百度收录,没有写如何判断网页是否被其它搜索引擎收录呢?

因为如今国内的搜索领域,百度依旧是搜索引擎领域的巨头。我们平时做国内SEO优化工作的时候,基本上也只做百度的优化。
所以我们这次也只写了如何用PHP判断网址是否被百度收录,但其实代码的原理是通用的,需要判断是否被其它搜索引擎收录的亲们,可以自行更改CURL采集的URL地址。

如何用PHP判断一个网址是否被百度搜索引擎收录,判断的原理是什么?相关推荐

  1. 如何判断一个网站是否被百度处罚中

    很多人问我是如何判断网站是否被百度处罚中?在过去从事几年的网站推广工作中总结出几个不成文的方法,借此机会写出来和大家分享下,希望能给大家带来帮助. 1.了解网站上线日期. 2.了解网站PR变化. 3. ...

  2. 怎么快速准确的把网址提交给百度搜索引擎

    怎么快速准确的把网址提交给百度搜索引擎 这是我在一个百度知道上找到的方法 我觉得特别好 所以想写个博客 我第一次写博客想提交的时候直接复制了博客地址黏贴到百度链接申请上 http://zhanzhan ...

  3. python怎么判断一个文件是否存在-利用Python如何判断一个文件是否存在

    通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错.所以最好在做任何操作之前,先判断文件是否存在. 这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块.Try ...

  4. php判断一个字符串是否为纯数字,php判断变量是否为纯数字字符串的方法

    在php中有时候需要判断一个变量的值是否为数字或是否为数字字符串,而php中也提供了一个很好用的内置函数 is_numeric(),可以很轻松的来检测变量. php is_numeric() 函数介绍 ...

  5. java判断一个文件有多少行_Java关于条件判断练习--统计一个src文件下的所有.java文件内的代码行数(注释行、空白行不统计在内)...

    要求:统计一个src文件下的所有.java文件内的代码行数(注释行.空白行不统计在内) 分析:先封装一个静态方法用于统计确定的.java文件的有效代码行数.使用字符缓冲流读取文件,首先判断是否是块注释 ...

  6. wpf判断一个窗体是否运行_算法8 判断一个数是否是回文数

    问题描述: 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数,正着念和反着念都一样,例如:"上海自来水来自海上". 示例 1: 输入: 123 ...

  7. C语言中判断一个三位数是否是水仙花数,判断三位数是否为水仙花数

    用C语言写出判断一个三位数是否为水仙花数的程序 请给正确的答案,不懂的别进 1.一个主程序,输出所有的水仙花数程序,可参考如下: #include int main(int argc, char *a ...

  8. php判断一个字符串是否为纯数字,php判断字符串是否纯数字

    推荐手册:php完全自学手册 is_numeric()函数用于检测变量是否为数字或数字字符串. is_numeric()语法 (推荐学习:PHP视频教程)bool is_numeric ( mixed ...

  9. 判断一个序列是否是栈的输出序列(原理和源码(C语言))

    [问题描述] 给出一个堆栈的输入序列,试判断一个序列是否能够由这个堆栈输出.如果能,返回总的出栈次数,如果不能,返回0.序列的输入及输出都是从左往右.(输入输出序列皆为整数且没有重复的数字,如果一个数 ...

最新文章

  1. Java 8 Date-Time API 详解
  2. Java自定义Exception
  3. 时间设置偏移秒_零偏移有源低通滤波器,第2部分
  4. primefaces_PrimeFaces在GlassFish 3.1.2.2上推动大气
  5. cocostuff10k数据集介绍_(六)COCO数据集的简单介绍
  6. AndroidStudio_你的主机中的软件中止了一个已建立的连接---Android原生开发工作笔记123
  7. vue 加载太慢_如何提高Vue项目首页的加载速度
  8. 传统服务化(SOA)与微服务(Micro Service)的融合之道 1
  9. 数据面最流行的工具包dpdk的前世-现在和未来
  10. 仿网易评论盖楼的留言板插件demo
  11. 微信开发之小程序分享设置图片标题
  12. 05月11日三支有望飙涨股与操盘策略分析
  13. 中国石油大学华东2013-2014-1c语言a卷_答案,中国石油大学(华东)2012—2013学年第二学期期中A卷试卷答案...
  14. DFROBOT Mind+ 掌控板 人工智能测温实验
  15. 程序员独特的浪漫:拿女朋友的照片做成动漫人物当头像
  16. python用什么软件编程好-初学python编程,有哪些不错的软件值得一用?
  17. jsp全是问号_JSP response,request中文乱码(出现问号)总结
  18. 调用notify方法
  19. 不想再错过下一个风口?机器视觉技术的亿万级市场
  20. NBA总决赛。。。。

热门文章

  1. [转载]C++URL编码转换
  2. 【蓝牙开发】转发-信号强度(RSSI)知识整理
  3. 服务器主板主要组成部分(个人笔记,请勿参考)
  4. css圣杯布局与双飞翼布局_CSS布局研讨会已于2018年更新
  5. 新型冠状病毒的初期症状有哪些?(Java绘图)
  6. odroid平台——ASUS Xtion Pro Live + Openni + ROS搭建(Xu4升级版)
  7. 安卓手机里的短信删除了如何恢复
  8. 学生计算机教室怎么连接网络,计算机(网络)教室学生使用守则
  9. 笔记-pd.set_option()
  10. 浅议初中语文微写作(语文教师论文)