php 搜索引擎优化(如何通过UserAgent来判断访问者是否为爬虫,? )
优采云 发布时间: 2021-10-23 02:06php 搜索引擎优化(如何通过UserAgent来判断访问者是否为爬虫,?
)
为了提高网页的用户体验,我们经常会做一些对搜索引擎不友好的事情,但在某些情况下,这并不是不可逆转的。我们可以通过向自然人和搜索引擎机器人展示不同的内容来提供好的用户。经验和搜索引擎优化。
听说这种方法会违反搜索引擎的一些运行原则,可能会被各种搜索引擎处罚,甚至删除网站。所以我刚刚删除了这个处理,直到确定它不是作弊。勇敢的朋友可以继续使用它,但风险自负。
本博客首页和存档页以文章列表的形式显示。文章的内容在访问者点击展开文章时加载。因为文章的内容收录大量的文字和图片,需要大量的加载时间和流量。尽快向访问者显示网页可以留住大量访问者。对于手机用户来说,加载时间和流量更为重要。
一般来说,网站的首页是搜索引擎访问量最大的页面,应该尽可能的向他们展示有意义的内容,但是如果你想以列表的形式展示文章 ,只有访问者和搜索引擎才能获得文章标题信息。文章 内容或者摘要(尤其是文章的第一句)对于SEO来说是极其重要的,所以我们要尽量把这些内容发送给爬虫。
好吧,我们可以使用用户代理来确定访问者是否是爬虫。如果是,则以一般形式显示文章,否则以列表形式显示文章列表。可以使用以下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; } <p>这是我使用的方法, 各爬虫以访问评论由高到低进行排序. 然后通过下面的的方法向爬虫和自然人显示不同的内容:
************************************************************function isCrawler() { echo $agent= strtolower($_SERVER['HTTP_USER_AGENT']); if (!empty($agent)) { $spiderSite= array( "TencentTraveler", "Baiduspider+", "BaiduGame", "Googlebot", "msnbot", "Sosospider+", "Sogou web spider", "ia_archiver", "Yahoo! Slurp", "YoudaoBot", "Yahoo Slurp", "MSNBot", "Java (Often spam bot)", "BaiDuSpider", "Voila", "Yandex bot", "BSpider", "twiceler", "Sogou Spider", "Speedy Spider", "Google AdSense", "Heritrix", "Python-urllib", "Alexa (IA Archiver)", "Ask", "Exabot", "Custo", "OutfoxBot/YodaoBot", "yacy", "SurveyBot", "legs", "lwp-trivial", "Nutch", "StackRambler", "The web archive (IA Archiver)", "Perl tool", "MJ12bot", "Netcraft", "MSIECrawler", "WGet tools", "larbin", "Fish search", ); foreach($spiderSite as $val) { $str = strtolower($val); if (strpos($agent, $str) !== false) { return true; } } } else { return false; } } if (isCrawler()){ echo "你好蜘蛛精!"; } else{ echo "你不是蜘蛛精啊!"; } </p>