php 向访客和爬虫显示不同的内容

 更新时间:2009年11月09日 18:59:56   作者:  
为了提高网页的用户体验, 我们经常会做一些对搜索引擎不太友好的事情, 但某些情况下这并不是无法挽回的, 可以通过向自然人和搜索引擎机器人显示不同的内容来提供好的用户体验和 SEO.
听说本方法会触犯搜索引擎的一些操作原则, 有可能被被各搜索引擎处罚, 甚至删除网站. 所以我刚刚已经撤下这样的处理, 直到确定其不属于作弊. 有魄力的朋友可以继续使用, 但后果自负.

本博客的首页和存档页面以列表的形式显示文章, 在访客点击展开文章时才加载文章的内容. 因为文章的内容部分包含了大量的文字和图片, 需要大量的加载时间和流量. 尽快地向访客展示网页可以挽留大量的来访者. 而对于手机用户来说, 加载时间和流量则更为重要.

一般来说, 网站的首页是搜索引擎访问最多的页面, 应该尽可能的向它们展示有意义的内容, 但是要以列表的形式显示文章的话, 访客和搜索引擎只能获取到文章标题信息. 文章内容或者摘要 (尤其是文章的第一句) 对于 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简单实现上一页下一页功能示例

    这篇文章主要介绍了PHP简单实现上一页下一页功能,结合实例形式较为详细的分析了php实现上一页下一页功能的原理与具体实现技巧,需要的朋友可以参考下
    2016-09-09
  • PHP入门教程之上传文件实例详解

    PHP入门教程之上传文件实例详解

    这篇文章主要介绍了PHP入门教程之上传文件的方法,结合实例形式详细分析了php上传文件的步骤与相关实现技巧,需要的朋友可以参考下
    2016-09-09
  • php使用Jpgraph绘制3D饼状图的方法

    php使用Jpgraph绘制3D饼状图的方法

    这篇文章主要介绍了php使用Jpgraph绘制3D饼状图的方法,涉及jpgraph使用PiePlot3D创建3D饼状图的技巧,需要的朋友可以参考下
    2015-06-06
  • CURL状态码列表(详细)

    CURL状态码列表(详细)

    本篇文章是对CURL状态码列表进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php strcmp使用说明

    php strcmp使用说明

    Strcmp()函数对两个字符串进行二进制安全的比较,并区分大小写。
    2010-04-04
  • phpMyAdmin链接MySql错误 个人解决方案

    phpMyAdmin链接MySql错误 个人解决方案

    phpMyAdmin 试图连接到 MySQL 服务器,但服务器拒绝连接。您应该检查 config.inc.php 中的主机、用户名和密码,并且确定这些信息与 MySQL 服务器的管理员所给出的信息一致。
    2009-12-12
  • php实现图片按比例截取的方法

    php实现图片按比例截取的方法

    这篇文章主要介绍了php实现图片按比例截取的方法,涉及php针对图形的读取、运算及生成相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • 浅谈PHP中的<<<运算符

    浅谈PHP中的<<<运算符

    本文给大家介绍的是PHP中提供了<<<运算符的使用方法,非常的简单,有需要的小伙伴可以参考下
    2016-04-04
  • php程序内部post数据的方法

    php程序内部post数据的方法

    这篇文章主要介绍了php程序内部post数据的方法,涉及curl的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • php中session_unset与session_destroy的区别分析

    php中session_unset与session_destroy的区别分析

    关于session_unset()和session_destroy()的函数使用进行介绍。学习php的朋友可以参考下。
    2011-06-06

最新评论