Řešil jsem nedávno detekci indexovacího robota v php přes HTTP_USER_AGENT. Bohužel to je nedostatečné.
Použil jsem klíčová slova jako ‚bot‘, ‚seznam‘, ‚google‘ apod. Stále však určité procento přístupů vykazovalo špatnou detekci. Ta špatná detekce byla pouze od serverů Googlu tohoto typu:
IP: 66–249–68–65
DN: crawl-66–249–68–65.googlebot.com
Tento typ robota vůbec nehlásí HTTP_USER_AGENT tak jak by měl a částečně se to vyřešilo použitím SERVER_NAME a detekcí ‚googlebot.com‘. Co je však nejzajímavější, že se tento robot ‚dívá‘ na stránku vzápětí po jejím navštívení uživatelem pomocí prohlížeče Internet Explorer 8 zhruba v časovém rozmezí do 10 sekund (max minutu). Vidím to jako nějakou užší spolupráci Microsoftu a Googlu zabudovanou přímo do IE 8. Problém je, že ta detekce nefunguje na 100%. Server, na kterém mi to běží, mi pravděpodobně nestihne přeložit IP na DN a přístup robota je započítán jako přístup návštěvníka. Nenapadá mě jiné řešení, než detekovat IP adresy podle tohoto klíče:
http://ws.arin.net/whois/?queryinput=google
Jenže tady není vidět, co je konkrétně IP adresa robota. Nebo se s touto chybovostí smířit a neřešit to. Možná, že detekce pomocí SERVER_NAME a ‚googlebot.com‘ začne po určitém čase fungovat spolehlivě až se ‚nakešují‘ na serveru všechny DNS záznamy pro *.googlebot.com, ale to není jisté.
[1] neřekl bych, že to je něco speciálního, je tam základní IE 8 aktualizovaný po webu a defaultní vyhledávač vpravo nahoře je změněn na Google, takže takhle se to chová naprosté většině uživatelů, co používají IE 8 na OS Windows... jinak řečeno, je to úmysl obou firem, jak MS, tak Googlu... Google z toho má výhodu, že indexuje to, na jaké stránky skutečně lidi chodí a ne slepé procházení obsahu webu robotem bez vazby na lidi
Slušný robot by měl stáhnout robots.txt a zařídit se podle něj.
Detekce přes DNS jména při každém stažení stránky asi není moc dobrý nápad. Pokud není jméno v DNS cachi, bude to zdržovat, nebo to (při krátkém timeoutu) nezafunguje vůbec. Ale můžete to řešit jinak - přepočítat návštěvnost až později, buď z IP adres uložených v databázi, nebo logu serveru.
[7] jo, je tam kontextová reklama. Jenže tomu by odpovídal přístup do 5-10 sekund při načtení stránky. Jsou tam ale přístupy i po minutě a půl a ty už tomu neodpovídají. Veškerý obsah kontextové reklamy (ta se dá i šipkama "přebírat") se načte právě současně se stránkou. Takže to bude ještě něco jiného. I když v tomhle případě to asi vysvětluje tu většinu přístupů robota Google. Každopádně vazba fulltextu Googlu a kontextové reklamy bude interně velice dobře využitelná při hodnocení relevance pro fulltext Googlu
[10] cloaking, tak jak ho definuje wiki, je případ, kdy robotovi předkládám jinou stránku než vidí uživatel... navíc je to penalizováno vyhledávači a zakázáno tuto techniku používat. V mém případě to tak není, já zobrazuju vždy uplně stejnou stránku, jen potřebuju započítávat a evidovat co nejpřesněji každý přístup člověka na konkrétní stránky webu
Přečteno 28 381×
Přečteno 19 363×
Přečteno 16 892×
Přečteno 15 030×
Přečteno 14 956×