Определение поисковиков на PHP. Как?

12
SX
На сайте с 05.04.2004
Offline
83
3302

Подскажите, как определить поисковик, чтобы "подсунуть" ему нужный шаблон без картинок?

С делаю так

<?php


$CONF['bots']=array(
"Accoona-AI-Agent",
"Adre/",
"Alexibot",
"Aport",
"AppleSyndication",
"BackDoorBot",
"Baiduspider",
"BecomeBot",
"BeijingCrawler",
"Bloglines Title Fetch/1.0",
"BlowFish",
"BotALot",
"BuiltBotTough",
"Bullseye",
"BunnySlippers",
"CheeseBot",
"CherryPicker",
"CherryPickerElite",
"CherryPickerSE",
"ConveraCrawler/0.9d",
"Copernic",
"CopyRightCheck",
"Crescent",
"DataPalm/PHP",
"DISCo Pump 3.2",
"DISCoFinder",
"DittoSpyder",
"Dumbot",
"EDI/1.6.5",
"EmailCollector",
"EmailSiphon",
"EmailWolf",
"Enterprise_Search",
"EroCrawler",
"Exabot",
"ExtractorPro",
"Feedfetcher-Google",
"Feedster Crawler",
"Foobot",
"FreeFind",
"Gaisbot",
"Geomaxenginebot",
"Gigabot",
"Googlebot-Image",
"Googlebot-Mobile/2.1",
"Googlebot/2.1",
"Harvest",
"Hatena Antenna",
"HouxouCrawler/",
"IRLbot/2.0",
"InfoNaviRobot",
"Java/",
"JennyBot",
"Jetbot",
"Kenjin Spider",
"Keyword Density",
"LNSpiderguy",
"Larbin",
"LexiBot",
"Liferea/",
"LinkScan",
"LinkWalker",
"LinkextractorPro",
"LocalcomBot",
"Lupa.ru",
"MJ12bot/v",
"MSIECrawler",
"MSRBOT",
"Mediapartners-Google/2.1",
"Microsoft Data Access Internet Publishing Provider Protocol Discovery",
"Microsoft URL Control",
"Microsoft-WebDAV-MiniRedir",
"Mister PiX",
"Mnogosearch-",
"NG/2.0",
"NICErsPRO",
"NetAnts",
"NetMechanic",
"NetResearchServer",
"Nutch",
"NutchCVS",
"Offline Explorer",
"OmniExplorer_Bot",
"OpenIntelligenceData/",
"Openbot",
"Openfind",
"OrangeSpider",
"OutfoxBot/",
"PerMan",
"Pompos/",
"ProPowerBot",
"ProWebWalker",
"Python-urllib",
"SBIder/0.8-dev",
"SPD",
"Shim-Crawler",
"SiteSnagger",
"SpankBot",
"SpiderMan",
"sproose/",
"StackRambler/",
"Stanford",
"SurveyBot",
"SyndicAPI/1.0",
"Syntryx ANT Scout Chassis Pheromone",
"TheNomad",
"True_Robot",
"TurnitinBot/",
"TurtleScanner",
"Twiceler",
"UMBC-memeta-Bot",
"UNTRUSTED",
"URL Control",
"URL_Spider_Pro",
"URLy Warning",
"W3C_Validator",
"WWW-Collector-E",
"Web Downloader",
"Web Image Collector",
"WebAlta Crawler",
"WebAuto",
"WebCAT",
"WebCopier",
"WebEnhancer",
"WebSauger",
"WebStripper",
"WebVac",
"WebmasterWorldForumBot",
"Webster Pro",
"Wget",
"Xenu Link Sleuth",
"Yahoo! Slurp China;",
"Yahoo! Slurp;",
"Yandex/",
"YandexBlog/",
"ZyBorg/1.0",
"adre.ru",
"aipbot/1.0",
"almaden.ibm.com/cs/crawler",
"appie 1.1",
"asterias",
"bot/1.0",
"ccubee/3.5",
"cosmos",
"eStyleSearch",
"findlinks/1.0.9",
"findlinks/1.1",
"g2Crawler",
"geniebot",
"grub crawler",
"grub-client",
"gsa-crawler",
"hloader",
"httplib",
"humanlinks",
"ia_archiver",
"ichiro/1.0",
"ichiro/2.0",
"larbin",
"libWeb/clsHTTP",
"libwww-perl",
"looksmart",
"lwp-trivial",
"moget",
"msnbot-media/",
"msnbot/",
"msnbot-Products",
"naver",
"nope",
"psbot",
"psycheclone",
"schibstedsokbot",
"searchmee_v0.1a",
"snap.com beta crawler",
"sogou spider",
"spanner",
"Speedy Spider",
"toCrawl/UrlDispatcher",
"turingos",
"uaportalbot",
"updated/0.1beta",
"virus_detector",
"voyager/1.0",
"wwwster/"
);

if(!in_array($_SERVER['HTTP_USER_AGENT'],$CONF['bots']))
{
// выводим общий шаблон
}
else
{
// выводим для поисковика шаблон
}
?>

но поисковики (проверял на Google и Yandex) индексируют общий шаблон.

в чём косяк?

Marketing2.Ru (http://Marketing2.Ru)
Progr@mmer\.
На сайте с 14.10.2007
Offline
44
#1

В том, что in_array() делает точное сравнение. Посмотрите строковые функции, ответ найдете там.

P.S. найдите полные юзер-агенты поисковиков и проверяйте свой скрипт через броузер, ну или на худой конец через Reget Delux.

Вашей девушке не хватает романтики? Черпните её на сайте «Я Люблю Романтику» (http://iloveromantics.ru/). Романтический форум (http://forum.iloveromantics.ru/) для отдыха от нудной работы.
SJ
На сайте с 16.03.2008
Offline
78
#2
Progr@mmer\.:
В том, что in_array() делает точное сравнение. Посмотрите строковые функции, ответ найдете там.

+1.

А еще не забывайте, что стоит и списки IP адресов Гугла и Яндекса найти и точно так же фильтровать. Потому как показывает практика есть обращения с этих адресов но с "нормальными" USER AGENT.

Скорее, сравнение юзерагента уже как дополнительную проверку делать.

Любимый хостинг (http://beget.ru?id=2902) How can we grow old when the soundtrack of our lives is rock-n-roll?
malls
На сайте с 08.08.2005
Offline
255
#3
sokol_jack:
А еще не забывайте...

А еще о бане за клоакинг не забывайте... 😂

tommy-gung
На сайте с 22.11.2006
Offline
304
#4

malls, самый ценный совет ;)

Здесь не могла быть ваша реклама
[Удален]
#5
Progr@mmer.:
В том, что in_array() делает точное сравнение. Посмотрите строковые функции, ответ найдете там.

+1

SplideX:
if(!in_array($_SERVER['HTTP_USER_AGENT'],$CONF['bots']))

if(!strstr($_SERVER['HTTP_USER_AGENT'],$CONF['bots']))

SJ
На сайте с 16.03.2008
Offline
78
#6
malls:
А еще о бане за клоакинг не забывайте... 😂

😂

Я как разработчик ответил, а не как СЕОшник ;)

Если человек УЖЕ спрашивает про технологические моменты, а не "А что будет за это?", то и ответ ему нужен "технологический" ;)

П.С. А я - белый и пушистый. Честно. Знаю только что такое СДЛ :D

Dreammaker
На сайте с 20.04.2006
Offline
569
#7
COMKIT:
if(!stristr($_SERVER['HTTP_USER_AGENT'],$CONF['bots']))

на всякий случай :)

update: это если не брать во внимание, что вторым параметром должна быть строка и функция может возвращать и FALSE, и 0 , поэтому сам подход нужно поменять немного, лень пистаь эти несколько строк :)

SX
На сайте с 05.04.2004
Offline
83
#8

а причём тут Клоакинг?

просто картинки - это доп трафик, а у меня он лиммитирован.

поэтому я просто в шаблоне тэги с картинками поубирал.

контент я не менял.

[Удален]
#9

<?php


$CONF['bots']=array(
"Accoona-AI-Agent",
"Adre/",
"Alexibot",
"Aport",
"AppleSyndication",
"BackDoorBot",
"Baiduspider",
"BecomeBot",
"BeijingCrawler",
"Bloglines Title Fetch/1.0",
"BlowFish",
"BotALot",
"BuiltBotTough",
"Bullseye",
"BunnySlippers",
"CheeseBot",
"CherryPicker",
"CherryPickerElite",
"CherryPickerSE",
"ConveraCrawler/0.9d",
"Copernic",
"CopyRightCheck",
"Crescent",
"DataPalm/PHP",
"DISCo Pump 3.2",
"DISCoFinder",
"DittoSpyder",
"Dumbot",
"EDI/1.6.5",
"EmailCollector",
"EmailSiphon",
"EmailWolf",
"Enterprise_Search",
"EroCrawler",
"Exabot",
"ExtractorPro",
"Feedfetcher-Google",
"Feedster Crawler",
"Foobot",
"FreeFind",
"Gaisbot",
"Geomaxenginebot",
"Gigabot",
"Googlebot-Image",
"Googlebot-Mobile/2.1",
"Googlebot/2.1",
"Harvest",
"Hatena Antenna",
"HouxouCrawler/",
"IRLbot/2.0",
"InfoNaviRobot",
"Java/",
"JennyBot",
"Jetbot",
"Kenjin Spider",
"Keyword Density",
"LNSpiderguy",
"Larbin",
"LexiBot",
"Liferea/",
"LinkScan",
"LinkWalker",
"LinkextractorPro",
"LocalcomBot",
"Lupa.ru",
"MJ12bot/v",
"MSIECrawler",
"MSRBOT",
"Mediapartners-Google/2.1",
"Microsoft Data Access Internet Publishing Provider Protocol Discovery",
"Microsoft URL Control",
"Microsoft-WebDAV-MiniRedir",
"Mister PiX",
"Mnogosearch-",
"NG/2.0",
"NICErsPRO",
"NetAnts",
"NetMechanic",
"NetResearchServer",
"Nutch",
"NutchCVS",
"Offline Explorer",
"OmniExplorer_Bot",
"OpenIntelligenceData/",
"Openbot",
"Openfind",
"OrangeSpider",
"OutfoxBot/",
"PerMan",
"Pompos/",
"ProPowerBot",
"ProWebWalker",
"Python-urllib",
"SBIder/0.8-dev",
"SPD",
"Shim-Crawler",
"SiteSnagger",
"SpankBot",
"SpiderMan",
"sproose/",
"StackRambler/",
"Stanford",
"SurveyBot",
"SyndicAPI/1.0",
"Syntryx ANT Scout Chassis Pheromone",
"TheNomad",
"True_Robot",
"TurnitinBot/",
"TurtleScanner",
"Twiceler",
"UMBC-memeta-Bot",
"UNTRUSTED",
"URL Control",
"URL_Spider_Pro",
"URLy Warning",
"W3C_Validator",
"WWW-Collector-E",
"Web Downloader",
"Web Image Collector",
"WebAlta Crawler",
"WebAuto",
"WebCAT",
"WebCopier",
"WebEnhancer",
"WebSauger",
"WebStripper",
"WebVac",
"WebmasterWorldForumBot",
"Webster Pro",
"Wget",
"Xenu Link Sleuth",
"Yahoo! Slurp China;",
"Yahoo! Slurp;",
"Yandex/",
"YandexBlog/",
"ZyBorg/1.0",
"adre.ru",
"aipbot/1.0",
"almaden.ibm.com/cs/crawler",
"appie 1.1",
"asterias",
"bot/1.0",
"ccubee/3.5",
"cosmos",
"eStyleSearch",
"findlinks/1.0.9",
"findlinks/1.1",
"g2Crawler",
"geniebot",
"grub crawler",
"grub-client",
"gsa-crawler",
"hloader",
"httplib",
"humanlinks",
"ia_archiver",
"ichiro/1.0",
"ichiro/2.0",
"larbin",
"libWeb/clsHTTP",
"libwww-perl",
"looksmart",
"lwp-trivial",
"moget",
"msnbot-media/",
"msnbot/",
"msnbot-Products",
"naver",
"nope",
"psbot",
"psycheclone",
"schibstedsokbot",
"searchmee_v0.1a",
"snap.com beta crawler",
"sogou spider",
"spanner",
"Speedy Spider",
"toCrawl/UrlDispatcher",
"turingos",
"uaportalbot",
"updated/0.1beta",
"virus_detector",
"voyager/1.0",
"wwwster/"
);

$isSearchEngineUserAgent = false;
reset($CONF['bots']);
while ( list($key, $val) = each($CONF['bots']) )
{
if( stristr($_SERVER['HTTP_USER_AGENT'], $val) !== false )
{
$isSearchEngineUserAgent = true;
break;
}
}

if( $isSearchEngineUserAgent )
{
// выводим для поисковика шаблон
}
else
{
// выводим общий шаблон
}
?>
SJ
На сайте с 16.03.2008
Offline
78
#10
SplideX:
а причём тут Клоакинг?
просто картинки - это доп трафик, а у меня он лиммитирован.
поэтому я просто в шаблоне тэги с картинками поубирал.
контент я не менял.

Жуть.

Скажите, а что мешает картинки юзерам через Javascript отдавать?

Ведь "просто в шаблоне теги поубирал" ПС не интересует. Ее интересует то, что выдача для бота и пользователя - разная. Все.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий