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 相关文章推荐
截获网站title标签之家内容的例子
Oct 09 PHP
安装APACHE
Jan 15 PHP
让PHP支持页面回退的两种方法
Jan 10 PHP
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
Jul 18 PHP
php的chr和ord函数实现字符加减乘除运算实现代码
Dec 05 PHP
洪恩在线成语词典小偷程序php版
Apr 20 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
Nov 18 PHP
php给一组指定关键词添加span标签的方法
Mar 31 PHP
Laravel实现构造函数自动依赖注入的方法
Mar 16 PHP
PHP查看SSL证书信息的方法
Sep 22 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
Nov 04 PHP
CentOS系统中PHP安装扩展的方式汇总
Apr 09 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面向对象全攻略 (五) 封装性
2009/09/30 PHP
CI框架自动加载session出现报错的解决办法
2014/06/17 PHP
destoon实现公司新闻详细页添加评论功能的方法
2014/07/15 PHP
简单实用的网站PHP缓存类实例
2014/07/18 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
Javascript实现div层渐隐效果的方法
2015/05/30 Javascript
详解maxlength属性在textarea里奇怪的表现
2015/12/27 Javascript
angularjs实现下拉列表的选中事件示例
2017/03/03 Javascript
js绑定事件和解绑事件
2017/04/27 Javascript
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
Bootstrap 中data-[*] 属性的整理
2018/03/13 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
详解微信UnionID作用
2019/05/15 Javascript
JavaScript canvas基于数组生成柱状图代码实例
2020/03/06 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
2020/05/10 Javascript
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
2014/11/18 Python
Python 正则表达式入门(中级篇)
2016/12/07 Python
python实现数据图表
2017/07/29 Python
关于python写入文件自动换行的问题
2018/06/23 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
django 做 migrate 时 表已存在的处理方法
2019/08/31 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
numpy实现RNN原理实现
2021/03/02 Python
美国一家全面的在线零售鞋类公司:SHOEBACCA
2017/01/06 全球购物
意大利专业化妆品品牌:KIKO MILANO
2017/02/01 全球购物
美国宠物用品网站:Value Pet Supplies
2018/03/17 全球购物
Ryderwear美国官网:澳大利亚高端健身训练装备品牌
2018/04/24 全球购物
Boden澳大利亚官网:英国在线服装公司
2018/08/05 全球购物
教师党员承诺书
2014/03/25 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
运动会加油稿20字
2014/11/15 职场文书
销售会议开幕词
2015/01/28 职场文书
Pygame Time时间控制的具体使用详解
2021/11/17 Python