php 向访客和爬虫显示不同的内容
程序员文章站
2023-11-18 22:44:58
听说本方法会触犯搜索引擎的一些操作原则, 有可能被被各搜索引擎处罚, 甚至删除网站. 所以我刚刚已经撤下这样的处理, 直到确定其不属于作弊. 有魄力的朋友可以继续使用, 但...
听说本方法会触犯搜索引擎的一些操作原则, 有可能被被各搜索引擎处罚, 甚至删除网站. 所以我刚刚已经撤下这样的处理, 直到确定其不属于作弊. 有魄力的朋友可以继续使用, 但后果自负.
本博客的首页和存档页面以列表的形式显示文章, 在访客点击展开文章时才加载文章的内容. 因为文章的内容部分包含了大量的文字和图片, 需要大量的加载时间和流量. 尽快地向访客展示网页可以挽留大量的来访者. 而对于手机用户来说, 加载时间和流量则更为重要.
一般来说, 网站的首页是搜索引擎访问最多的页面, 应该尽可能的向它们展示有意义的内容, 但是要以列表的形式显示文章的话, 访客和搜索引擎只能获取到文章标题信息. 文章内容或者摘要 (尤其是文章的第一句) 对于 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;
}
这是我使用的方法, 各爬虫以访问评论由高到低进行排序. 然后通过下面的的方法向爬虫和自然人显示不同的内容
本博客的首页和存档页面以列表的形式显示文章, 在访客点击展开文章时才加载文章的内容. 因为文章的内容部分包含了大量的文字和图片, 需要大量的加载时间和流量. 尽快地向访客展示网页可以挽留大量的来访者. 而对于手机用户来说, 加载时间和流量则更为重要.
一般来说, 网站的首页是搜索引擎访问最多的页面, 应该尽可能的向它们展示有意义的内容, 但是要以列表的形式显示文章的话, 访客和搜索引擎只能获取到文章标题信息. 文章内容或者摘要 (尤其是文章的第一句) 对于 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;
}
这是我使用的方法, 各爬虫以访问评论由高到低进行排序. 然后通过下面的的方法向爬虫和自然人显示不同的内容