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 相关文章推荐
Session的工作方式
Oct 09 PHP
做一个有下拉功能的留言版
Oct 09 PHP
使用eAccelerator加密PHP程序
Oct 03 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
Jun 10 PHP
使用Linux五年积累的一些经验技巧
Jun 20 PHP
解析PHP正则提取或替换img标记属性
Jun 26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
Jun 30 PHP
yii去掉必填项中星号的方法
Dec 28 PHP
PHP6连接SQLServer2005的三部曲
Apr 15 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
Nov 25 PHP
PHP单例模式简单用法示例
Jun 23 PHP
PHP 中魔术常量的实例详解
Oct 26 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 daodb插入、更新与删除数据
2009/03/19 PHP
php验证身份证号码正确性的函数
2016/07/20 PHP
PHP查询分页的实现代码
2017/06/09 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
javascript编程起步(第六课)
2007/01/10 Javascript
Javascript 类与静态类的实现(续)
2010/04/02 Javascript
JavaScript继承方式实例
2010/10/29 Javascript
jquery应该如何来设置改变按钮input的onclick事件
2012/12/10 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
jquery高级编程的最佳实践详解
2014/03/23 Javascript
jQuery判断div随滚动条滚动到一定位置后停止
2014/04/02 Javascript
javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2015/04/01 Javascript
JavaScript获取URL汇总
2015/06/08 Javascript
用JS实现图片轮播效果代码(一)
2016/06/26 Javascript
基于WebUploader的文件上传js插件
2016/08/19 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
2016/12/08 Javascript
jQuery时间验证和转换为标准格式的时间格式
2017/03/06 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
详解JS中的柯里化(currying)
2017/08/17 Javascript
微信小程序使用request网络请求操作实例
2017/12/15 Javascript
微信小程序手机号码验证功能的实例代码
2018/08/28 Javascript
Python备份Mysql脚本
2008/08/11 Python
django认证系统实现自定义权限管理的方法
2018/07/16 Python
python3 线性回归验证方法
2019/07/09 Python
Python selenium抓取虎牙短视频代码实例
2020/03/02 Python
Django实现图片上传功能步骤解析
2020/04/22 Python
python代码中怎么换行
2020/06/17 Python
意大利自行车商店:Cingolani Bike Shop
2019/09/03 全球购物
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
护理助产毕业生的求职信
2014/03/02 职场文书
村委会换届选举方案
2014/05/03 职场文书
计算机应用专业毕业生求职信
2014/06/03 职场文书
企业趣味活动方案
2014/08/21 职场文书
2015年服务员个人工作总结
2015/05/27 职场文书
2015大学迎新标语
2015/07/16 职场文书