Nedávno jsem vyslovil domněnku, že mě Google nemá rád, protože mi neindexuje nové články. Proto jsem si napsal malý skriptík, který ukládá přístupy vyhledávacích botů do databáze. Ze všech vyhledávačů jsem se zaměřil pouze na Google a Jyxo, protože mě zajímalo, který mi první najde nový článek.
Předpokládám, že v PHP něco málo umíte a tak nebudu psát, jak se připojuje k databázi. Nejprve si ale vytvoříme následující tabulku.
CREATE TABLE roboti ( datum datetime, robot varchar(50), z_url varchar(200), KEY (datum) );
Do tabulky budeme, pomocí funkce Roboti
, vkládat čas přístupu, jméno robota a adresu stránky, kterou prohlížel.
function Roboti($z_url) { $ip_adresa = getenv('REMOTE_ADDR'); $robot = gethostbyaddr($ip_adresa); if (eregi("google", $robot) OR eregi("jyxo", $robot)) { $datum = date("Y-m-d H:i:s"); @mysql_query("INSERT INTO roboti VALUES ('$datum','$robot','$z_url')"); } }
Potom se jen stačí na vaší stránce připojit k databázi a zavolat funkci Roboti
.
//pripojeni k databazi if ($_SERVER['QUERY_STRING']) @Roboti($_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'. $_SERVER['QUERY_STRING']); else @Roboti($_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
Můžete se podívat na výpis z tabulky a zjistíte, že Google ke mně chodí velmi často, ale většinou prohlíží jen staré články. Zato Jyxo přijde na hlavní stránku a z ní projde jen nové jen věci. Navíc mám ten pocit, že mě Google prochází nějak chaoticky. Ale možná, že je v tom nějaký řád, který prostě nechápu.
Nebylo by lepsi zjistovat robota podle User Agenta? Lepe receno zapisovat vsechny roboty co na stranky chodi?
Reakce na Ondra D. #1Načítám náhled komentáře...: V tomto pripade mi slo POUZE o Google a o Jyxo. Ale mas pravdu slo by to i pres HTTP_USER_AGENT
.
Divam se, ze dnes v 17:54 mi Google prosel i tento clanek, tak uvidime, kdy se objevi ve vyhledavani.
Zaujímavý algoritmus. Možno to vyskúšam na vlastných stránkach.
Web je nyní kompletně uzavřen. Od této chvíle není možné přidávat žádné komentáře!
Další informace naleznete zde.