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 相关文章推荐
使用PHP提取视频网站页面中的FLASH地址的代码
Apr 17 PHP
php数组声明、遍历、数组全局变量使用小结
Jun 05 PHP
Session服务器配置指南与使用经验的深入解析
Jun 17 PHP
php foreach循环中使用引用的问题
Nov 06 PHP
PHP获取MySql新增记录ID值的3种方法
Jun 24 PHP
PHP错误Warning:mysql_query()解决方法
Oct 24 PHP
php面向对象值单例模式
May 03 PHP
PHP合并数组函数array_merge用法分析
Feb 17 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
Apr 20 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
Aug 07 PHP
PHP attributes()函数讲解
Feb 03 PHP
Laravel 关联模型-关联新增和关联更新的方法
Oct 10 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
PHP 的几个配置文件函数
2006/12/21 PHP
使用php实现快钱支付功能(涉及到接口)
2013/07/01 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
php rmdir使用递归函数删除非空目录实例详解
2016/10/20 PHP
php+Ajax处理xml与json格式数据的方法示例
2019/03/04 PHP
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
2010/03/15 Javascript
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
js实现拉幕效果的广告代码
2015/09/02 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
Vue2.0权限树组件实现代码
2017/08/29 Javascript
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
JavaScript之数组扁平化详解
2019/06/03 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
2019/06/18 Javascript
vue之组件内监控$store中定义变量的变化详解
2019/11/08 Javascript
在vue中使用防抖函数组件操作
2020/07/26 Javascript
[01:04:39]OG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python使用cPickle模块序列化实例
2014/09/25 Python
python实现百万答题自动百度搜索答案
2018/01/16 Python
Django框架model模型对象验证实现方法分析
2019/10/02 Python
python socket 聊天室实例代码详解
2019/11/14 Python
pycharm2020.2 配置使用的方法详解
2020/09/16 Python
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
小学生自我鉴定
2013/10/12 职场文书
物业管理专业个人的自我评价
2013/11/19 职场文书
医校毕业生自我鉴定
2014/01/25 职场文书
公益广告宣传方案
2014/02/28 职场文书
超市开店计划书
2014/04/26 职场文书
社区母亲节活动总结
2015/02/10 职场文书
医院员工辞职信范文
2015/05/12 职场文书
开学第一天的感想
2015/08/10 职场文书
职场新人知识:如何制定一份合理的工作计划?
2019/09/11 职场文书
gtx1650怎么样 gtx1650显卡相当于什么级别
2022/04/08 数码科技
vue实现简易音乐播放器
2022/08/14 Vue.js