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 相关文章推荐
简单采集了yahoo的一些数据
Feb 14 PHP
一贴学会PHP 新手入门教程
Aug 03 PHP
在PHP中实现Javascript的escape()函数代码
Aug 08 PHP
PHP常用的文件操作函数经典收藏
Apr 02 PHP
linux系统下php安装mbstring扩展的二种方法
Jan 20 PHP
php获取文件夹路径内的图片以及分页显示示例
Mar 11 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
Jul 24 PHP
基于JQuery+PHP编写砸金蛋中奖程序
Sep 08 PHP
php array_walk_recursive 使用自定的函数处理数组中的每一个元素
Nov 16 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
Jan 19 PHP
php微信公众号开发之翻页查询
Oct 20 PHP
PHP示例演示发送邮件给某个邮箱
Apr 03 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
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
PHP+AJAX实现投票功能的方法
2015/09/28 PHP
PHP利用APC模块实现大文件上传进度条的方法
2015/10/29 PHP
PHP实现的XXTEA加密解密算法示例
2018/08/28 PHP
Thinkphp 3.2框架使用Redis的方法详解
2019/10/24 PHP
MooTools 页面滚动浮动层智能定位实现代码
2011/08/23 Javascript
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
2011/09/27 Javascript
js将json格式内容转换成对象的方法
2013/11/01 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
2017/06/08 Javascript
详解Angular CLI + Electron 开发环境搭建
2017/07/20 Javascript
checkbox:click事件触发span元素内容改变的方法
2017/09/11 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
Vue实现根据hash高亮选项卡
2019/05/27 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
2019/09/02 Javascript
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
PHP webshell检查工具 python实现代码
2009/09/15 Python
把pandas转换int型为str型的方法
2019/01/29 Python
python3实现带多张图片、附件的邮件发送
2019/08/10 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
Python ADF 单位根检验 如何查看结果的实现
2020/06/03 Python
详解基于python的图像Gabor变换及特征提取
2020/10/26 Python
python tkinter实现下载进度条及抖音视频去水印原理
2021/02/07 Python
全世界最美丽的四星和五星级酒店预订:Prestigia.com
2017/11/15 全球购物
教师求职推荐信范文
2013/11/20 职场文书
七年级地理教学反思
2014/01/26 职场文书
工程项目建议书范文
2014/03/12 职场文书
三年级班级文化建设方案
2014/05/04 职场文书
缅怀革命先烈演讲稿
2014/05/14 职场文书
数学教师个人工作总结
2015/02/06 职场文书
2015元旦感言
2015/12/09 职场文书