php 向访客和爬虫显示不同的内容


Posted in PHP onNovember 09, 2009

听说本方法会触犯搜索引擎的一些操作原则, 有可能被被各搜索引擎处罚, 甚至删除网站. 所以我刚刚已经撤下这样的处理, 直到确定其不属于作弊. 有魄力的朋友可以继续使用, 但后果自负.

本博客的首页和存档页面以列表的形式显示文章, 在访客点击展开文章时才加载文章的内容. 因为文章的内容部分包含了大量的文字和图片, 需要大量的加载时间和流量. 尽快地向访客展示网页可以挽留大量的来访者. 而对于手机用户来说, 加载时间和流量则更为重要.

一般来说, 网站的首页是搜索引擎访问最多的页面, 应该尽可能的向它们展示有意义的内容, 但是要以列表的形式显示文章的话, 访客和搜索引擎只能获取到文章标题信息. 文章内容或者摘要 (尤其是文章的第一句) 对于 SEO 来说是极其重要的, 所以我们要设法向爬虫发送这些内容.

好, 我们可以通过 User Agent 来判断访问者是否为爬虫, 如果是, 则以一般形式显示文章, 否则以列表形式显示文章列表. 可以用以下的 PHP 方法判断是否为爬虫:

function is_crawler() { 
$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']); 
$spiders = array( 
‘Googlebot', // Google 爬虫 
‘Baiduspider', // 百度爬虫 
‘Yahoo! Slurp', // 雅虎爬虫 
‘YodaoBot', // 有道爬虫 
‘msnbot' // Bing爬虫 
// 更多爬虫关键字 
); 
foreach ($spiders as $spider) { 
$spider = strtolower($spider); 
if (strpos($userAgent, $spider) !== false) { 
return true; 
} 
} 
return false; 
}

这是我使用的方法, 各爬虫以访问评论由高到低进行排序. 然后通过下面的的方法向爬虫和自然人显示不同的内容
PHP 相关文章推荐
实例(Smarty+FCKeditor新闻系统)
Jan 02 PHP
php curl常见错误:SSL错误、bool(false)
Dec 28 PHP
强烈声明: 不要使用(include/require)_once
Jun 06 PHP
php读取csv数据保存到数组的方法
Jan 03 PHP
通过php修改xml文档内容的方法
Jan 23 PHP
php解析字符串里所有URL地址的方法
Apr 03 PHP
php数组索引与键值操作技巧实例分析
Jun 24 PHP
ThinkPHP表单数据智能写入create方法实例分析
Sep 27 PHP
Paypal实现循环扣款(订阅)功能
Mar 23 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
Jan 27 PHP
PHP PDOStatement::closeCursor讲解
Jan 30 PHP
php swoft框架实例用法
Dec 22 PHP
php 将excel导入mysql
Nov 09 #PHP
PHP CKEditor 上传图片实现代码
Nov 06 #PHP
PHP 压缩文件夹的类代码
Nov 05 #PHP
PHP 向右侧拉菜单实现代码,测试使用中
Nov 03 #PHP
网页游戏开发入门教程三(简单程序应用)
Nov 02 #PHP
网页游戏开发入门教程二(游戏模式+系统)
Nov 02 #PHP
初学CAKEPHP 基础教程
Nov 02 #PHP
You might like
Nginx下配置codeigniter框架方法
2015/04/07 PHP
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
常规表格多表头查询示例
2014/02/21 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
Javascript中的delete操作符详细介绍
2014/06/06 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
2015/09/04 Javascript
JavaScript中字面量与函数的基本使用知识
2015/10/20 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
AngularJS入门教程之表单校验用法示例
2016/11/02 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
2017/01/16 Javascript
基于ExtJs在页面上window再调用Window的事件处理方法
2017/07/26 Javascript
浅谈Vue.js中的v-on(事件处理)
2017/09/05 Javascript
基于Vue实现图书管理功能
2017/10/17 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
微信小程序实现图片上传、删除和预览功能的方法
2017/12/18 Javascript
Vue中全局变量的定义和使用
2019/06/05 Javascript
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
使用Python3编写抓取网页和只抓网页图片的脚本
2015/08/20 Python
Python编程实现删除VC临时文件及Debug目录的方法
2017/03/22 Python
Python3 实现随机生成一组不重复数并按行写入文件
2018/04/09 Python
Anaconda下配置python+opencv+contribx的实例讲解
2018/08/06 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
python3格式化字符串 f-string的高级用法(推荐)
2020/03/04 Python
Python无头爬虫下载文件的实现
2020/04/02 Python
浅谈Python中re.match()和re.search()的使用及区别
2020/04/14 Python
Python中的wordcloud库安装问题及解决方法
2020/05/27 Python
日本动漫周边服饰销售网站:Atsuko
2019/12/16 全球购物
如何进行有效的自我评价
2013/09/27 职场文书
实习生个人找工作的自我评价
2013/10/30 职场文书
大学同学聚会邀请函
2014/01/19 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
调查研究项目计划书
2014/04/29 职场文书
新郎答谢词
2015/01/04 职场文书
单位考核聘任报告
2015/03/02 职场文书
结婚堵门保证书
2015/05/08 职场文书