Érdekes Tweet sorozatot tett közzé egy, a WordPress fejlesztésében is részt vevő programozó: a WordPress által dinamikusan létrehozott robots.txt fájl lekérésekor végbemenő folyamatokat sorolja fel.
Ha a weboldalunk gyökérkönyvtára nem tartalmaz egy “fizikai” robots.txt fájlt, akkor a sima szöveges fájl közvetlen kiszolgálása helyett a szerver-szoftver elindítja a PHP-t és betölti a WordPress-t, ami a következő műveleteket végzi el:
- Végrehajt 15 különböző MySQL lekérést.
- Beolvassa 61 fájl tartalmát a
file_get_contents()
függvénnyel, valamint kb. 100 fájl meglétét ellenőrzi afile_exists()
paranccsal. - Beregisztrál 22 bejegyzés típust, 24 bejegyzés státuszt, 12 taxonómiát, 22 widgetet, 7 blokk kategóriát, 10 blokk stílust és 3 képméretet.
- A
gettext
fordítási funkciókat (pl.__()
és_e()
) 1917-szer hívja meg, ebből 875-ször kontextussal együtt (ami némi extra terhelést jelent a szerver számára). Ezekből a szövegekből a robots.txt fájl nem tartalmaz egyet sem. - Ellenőrzi, hogy a webhely kezdőoldala sima oldal-e, vagy blog oldal, és aztán azt, hogy a jelenlegi lekérés a kezdőoldalra irányul-e. Ezután végigellenőrzi az összes többi lehetséges alap-lekérést is, úgymint az
is_single()
,is_feed()
,is_admin()
,is_category()
,is_search()
, stb. - Ellenőrzi, hogy a kérés egy bejelentkezett felhasználótól érkezik-e (összesen 14-szer), és hogy meg kell-e jeleníteni a felső admin sávot.
- Az
escape_html()
funkcióval 78 különböző szöveget escape-el – miközben a robots.txt egy szöveges fájl, ami nem tartalmaz semmiféle HTML-t. - Betölti a karaktereket smiley-vá alakító kódrészleteket.
- Lefut 83 úgynevezett “action hook” (ezek közül az egyik a lényeges
do_robotstxt
), és 530 különböző “filter hook” (amelyek egyike a fájl tartalmát adórobots_txt
).
Összesen több mint 42 ezer funkció fut le egy ilyen kérésnél, 5.46 megabájtos memóriahasználat mellett, miközben az átlagos robots.txt fájl mérete 1 kb alatt van. Ezek az adatok ráadásul egy “üres”, alap WordPress oldalra vonatkoznak – a bővítményekkel együtt a számok megsokszorozódhatnak.
Bár ez egy elég hosszú listának tűnhet, néhány dolgot érdemes azért megjegyezni:
- Mindezen folyamatok egy rendes (a weboldal komplexitásához és látogatottságához megfelelően felszerelt) szerveren minimálisan növelik csak a betöltési időt – a különbség általában századmásodpercekben mérhető.
- Egy megfelelően beállított cache-megoldás gyorsítótárazza a robots.txt-re irányuló lekérést is, és ezzel lényegében megszünteti a problémát.
- A Google és más keresők számára nem lényeges a robots.txt fájl betöltési ideje – nem ezen fog múlni a site keresőoptimalizáltsága.