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项目的方法
Oct 09 PHP
PHP 的几个配置文件函数
Dec 21 PHP
php 智能404跳转代码,适合换域名没改变目录的网站
Jun 04 PHP
php 归并排序 数组交集
May 10 PHP
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
Jul 17 PHP
php将图片保存为不同尺寸图片的图片类实例
Mar 30 PHP
PHP中常用的数组操作方法笔记整理
May 16 PHP
php微信公众平台交互与接口详解
Nov 28 PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
Mar 14 PHP
PHP实现文件上传后台处理脚本
Mar 04 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
Apr 14 PHP
php封装实现钉钉机器人报警接口的示例代码
Aug 08 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下读取文本文件的代码
2008/07/02 PHP
php 论坛采集程序 模拟登陆,抓取页面 实现代码
2009/07/09 PHP
GBK的页面输出JSON格式的php函数
2010/02/16 PHP
Linux fgetcsv取得的数组元素为空字符串的解决方法
2011/11/25 PHP
PHP中如何定义和使用常量
2013/02/28 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
Javascript入门学习资料收集整理篇
2008/07/06 Javascript
jQuery库与其他JS库冲突的解决办法
2010/02/07 Javascript
IE的fireEvent方法概述及应用
2013/02/22 Javascript
javascript函数作用域学习示例(js作用域)
2014/01/13 Javascript
jQuery将表单序列化成一个Object对象的实例
2016/11/29 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
2017/01/11 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
2017/07/12 jQuery
简单实现jquery隔行变色
2017/11/09 jQuery
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
用Python的pandas框架操作Excel文件中的数据教程
2015/03/31 Python
linux环境下的python安装过程图解(含setuptools)
2017/11/22 Python
python ddt实现数据驱动
2018/03/14 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
深入浅析Python2.x和3.x版本的主要区别
2018/11/30 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
2019/01/23 Python
python实现抽奖小程序
2020/04/15 Python
Django组件cookie与session的具体使用
2019/06/05 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
HTML5移动端开发中的Viewport标签及相关CSS用法解析
2016/04/15 HTML / CSS
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
介绍一下Ruby的特点
2013/01/20 面试题
九年级政治教学反思
2014/02/06 职场文书
终止劳动合同协议书
2014/10/05 职场文书
乱丢垃圾袋检讨书
2014/10/08 职场文书
2014年幼儿园园务工作总结
2014/12/05 职场文书
公务员的复习计划书,请收下!
2019/07/15 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书