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

yipeiwu_com6年前PHP代码库
听说本方法会触犯搜索引擎的一些操作原则, 有可能被被各搜索引擎处罚, 甚至删除网站. 所以我刚刚已经撤下这样的处理, 直到确定其不属于作弊. 有魄力的朋友可以继续使用, 但后果自负.

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

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

引用类型(Reference)在许多计算机语言中都被使用,而且是作为一个非常强大而实用的特性存在。它有类似指针(Pointer)的实现,却又有不同于指针的表现。例如C++的引用,可以让不...

深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表

PHP几个算法整理 涉及到以下几个示例。PHP冒泡PHP二分法PHP求素数PHP乘法表 PHP冒泡法 示例复制代码 代码如下://PHP冒泡  从小到大function mao...

PHP面向对象程序设计之类与反射API详解

本文实例讲述了PHP面向对象程序设计之类与反射API。分享给大家供大家参考,具体如下: 了解类 class_exists验证类是否存在 <?php // TaskRun...

joomla内置的表单验证功能使用方法

以下说一下使用方法: 在要使用表单功能的页面的最上面输入如下代码 JHTML::_('behavior.formvalidation'); 然后把如下脚本加入页面上 复制代码 代码如下:...

浅析ThinkPHP中的pathinfo模式和URL重写

复制代码 代码如下:http://serverName/appName/module/action/id/1/ 这个就是pathinfo模式 在不考虑路由的情况下,第一个参数会被解析成模...