WordPress: miért jobb egy statikus robots.txt fájl?

É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:

  1. Végrehajt 15 különböző MySQL lekérést.
  2. Beolvassa 61 fájl tartalmát a file_get_contents() függvénnyel, valamint kb. 100 fájl meglétét ellenőrzi a file_exists() paranccsal.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. Betölti a karaktereket smiley-vá alakító kódrészleteket.
  9. 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:

  1. 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ő.
  2. 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.
  3. 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.

A Szerzőről
Piller Balázs senior webfejlesztő, SEO specialista, és a WordPress szakértője. Számos sikeres projektben vett részt vezető fejlesztőként. Az általa írt kód jelenleg több mint 1 000 000 webhelyen fut.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.