A suszter és a sitemapje: lefuttattuk a robotcheck.coffee-t a robotcheckkel
Egy eszköznek, amely más weboldalak géppel való olvashatóságát osztályozza, a saját vizsgáján is át kell mennie. A miénk átment, 10-ből 8,6 ponttal. Az érdekesebb hibák azonban nem látszottak a pontszámban.
Van egy kellemetlen kérdés, amelyet mindenkinek fel kellene tennie, aki másokat osztályoz: vajon milyen lenne a saját jegyem? Egy szeptemberi vasárnapon feltettük magunknak, és a robotcheck.coffee-t lefuttattuk a robotcheck.coffee-n. Az eredmény 10-ből 8,6 lett, A osztályzat. Itt meg is lehetne állni, kicsit megveregetni a saját vállunkat, és továbblépni a következő témára.
Mi folytattuk, de nem az elemzővel, hanem valami régimódibbal: a saját sitemapünk minden URL-jét egyenként megnyitottuk, és megnéztük, mi jön vissza. Ez a bejegyzés beszámoló arról, amit találtunk. Egy tisztességes jegyről szól, nyolc halott linkről, és arról a kérdésről, hogy mit mér valójában egy pontszám.
Amit a sitemap ígért
A robotcheck.coffee sitemapje a projekt korai időszakából származott. A kezdőoldalt és az ellenőrző oldalt tizennégy nyelven sorolta fel, köztük dánul, finnül, norvégul és románul. Ez a négy nyelv nem létezik az oldalon, és soha nem is létezett. Mind a nyolc URL 404-et adott vissza. Közben hiányzott öt nyelv, amely ténylegesen létezik: az orosz, a japán, a kínai, a koreai és a török. Hiányzott az árazási oldal és az összes blogcikk is.
A sitemap olyan, mint a tartalomjegyzék, amelyet egy crawler kezébe adunk. A miénk nem létező fejezetekre mutatott, és a létező fejezetek harmadát elhallgatta. Egy crawler, amely megbízott benne, hamis képet kapott az oldalról.
A saját elemzőnk ezért a sitemapért 1-ből 0,75 pontot adott. Azt vizsgálja, hogy létezik-e érvényes sitemap, és megszámolja a bejegyzéseit. Azt nem vizsgálja, hogy a bejegyzések elérhetők-e. A javítás után a sitemap több mint száz URL-t tartalmaz, mindegyik elérhető, és mindegyik össze van kapcsolva a nyelvi változataival. A pontszám ezáltal a maximumra nő. Csakhogy nem azért, mert a sitemap most helyes, hanem mert hosszabb. Erre még visszatérünk.
Kerülőút a /de címen át
A második hiba finomabb volt. A robotcheck.coffee német változata nyelvi előtag nélkül, a főcímen érhető el. Aki a /de címet hívja meg, azt egy 307-es átirányítás a főcímre küldi. A HTML-ben lévő hreflang-jelölések, amelyekkel egy oldal közli a keresőkkel és a crawlerekkel, hol találhatók a nyelvi változatai, a német változatnál viszont éppen erre a /de címre mutattak. Minden oldal azt állította tehát, hogy a német változata egy olyan címen van, amely maga is csak egy másik címre mutat.
Egy ember számára ez mindegy, a böngésző követi az átirányítást, és senki sem veszi észre. Egy rendszer számára, amely a hreflang-jelöléseket értékeli, ez ellentmondás: a német kezdőoldal kanonikus címe és a hreflang-ben megadott cím eltér egymástól. Hasonló volt a helyzet az angol kezdőoldallal, amelynek canonical-ja a perjellel végződő /en/ címre mutatott, amely szintén továbbirányít. Néhány órával korábban pedig kiderült, hogy az árazási oldal és a changelog a kezdőoldalt adta meg kanonikus címként, vagyis minden crawlernek azt mondta magáról, hogy duplikátum.
Egyik hiba sem mozdította meg érezhetően a jegyet. A hreflang-ellenőrzés megállapítja, hogy vannak-e hreflang-jelölések. Hogy hová mutatnak, azt nem követi.
Mit változtattunk, és mi volt ebből csak kozmetika
Az őszinteség megkívánja, hogy azokat a változtatásokat is megnevezzük, amelyek kevesebbet értek el, mint amennyinek látszanak. A robots.txt-nkből hiányzott a Claude-SearchBot és a Claude-User. Az Anthropic crawler-dokumentációja ma már három ágenst különböztet meg: a ClaudeBot tanítóadatokat gyűjt, a Claude-SearchBot a kereséshez indexel, a Claude-User pedig akkor tölt le oldalakat, amikor valaki kérdez valamit a Claude-tól. Az Anthropic szerint mindhárom betartja a robots.txt-t, beleértve a nem szabványos Crawl-delay utasítást is.
Mindkét ágenst felvettük. Csakhogy az a crawler, amelyet a robots.txt nem nevez meg, az összes user agentre vonatkozó általános csoportra esik vissza, és ez nálunk az API kivételével amúgy is mindent engedélyezett. A Claude-SearchBot és a Claude-User tehát korábban is hozzáférhetett az oldalhoz. Az változott, hogy a fájl olvashatóbb azoknak az embereknek, akik tudni akarják, mit szeretnénk, és hogy mennyi pontot ad a saját szabályrendszerünk. A crawlerek viselkedésén ez nem változtat.
Hasonló a helyzet az llms.txt-vel, amely most minden linkhez leírást, a blogcikkek listáját és az elérhető nyelvek felsorolását tartalmazza. Egy korábbi bejegyzésben kielemeztük a szervernaplóinkat: 22 nap alatt egyetlen AI-crawler sem kérte le a fájlt. A jobb llms.txt tehát tisztességes kézműves munka, amelynek haszna egyelőre főleg abban áll, hogy ott lesz, ha ez megváltozik.
A kézenfekvő ellenvetés
Mindezt apróságnak is lehet tartani. Az oldal A-t kapott, és az AI-crawlerek a javítások előtt is rendszeresen jártak nála. Nyolc halott link egy sitemapben nem dönt be egy weboldalt, a Google és más keresőrendszerek pedig gyakorlottan javítják ki csendben az átirányításokat és az ellentmondó hreflang-jelöléseket.
Ez igaz, és mégis rossz érv. Abból, hogy a nagy keresők eltűrik a hibákat, nem következik, hogy minden rendszer eltűri, amely ma weboldalakat olvas. Az AI-crawlerek világa fiatal, heurisztikáik nincsenek dokumentálva, és a szolgáltatókon kívül senki sem tudja, mennyire elnéző egy adott ágens az ellentmondásokkal. Aki arra hagyatkozik, hogy a másik oldal majd úgyis megérti, mire gondolt, az a munkát egy olyan rendszerre hárítja, amelynek türelmét nem ismeri. Egy oldal, amely semmi ellentmondásosat nem mond, az egyetlen fogadás, amely mindenképpen bejön.
Amit egy pontszám nem lát
Ennek az öntesztnek az igazán fontos tanulsága nem a weboldalunkról, hanem az eszközünkről szól. A robotcheck azt vizsgálja, hogy valami megvan-e, és megfelelő-e a formája. Hogy igaz-e, azt sok esetben nem vizsgálja. Egy halott bejegyzésekkel teli sitemap átmegy az ellenőrzésen, egy hosszabb, halott bejegyzésekkel teli sitemap még jobban átmegy. Egy semmibe mutató hreflang-jelölés ugyanannyit ér, mint egy helyes.
Ez nem a robotcheck sajátossága, hanem minden olyan automatikus értékelőrendszerre igaz, amelynek néhány másodperc alatt kell ítéletet mondania egy teljes weboldalról. Mégis ok arra, hogy egy jó jegyet részeredménynek tekintsünk, ne bizonyítéknak. Számunkra ez feladat: a sitemap-ellenőrzésnek szúrópróbaszerűen ténylegesen meg kellene nyitnia a felsorolt URL-eket, a hreflang-ellenőrzésnek pedig fel kellene ismernie az átirányításokat. Mindkettő felkerült a listára.
Addig is érvényes a tanács, amelyet azon a vasárnapon magunknak adtunk. Vegye tudomásul a jegyet, aztán nyissa meg a saját sitemapjét, és kattintson végig néhány bejegyzést. Tíz percig tart. Nálunk ez a tíz perc többet talált, mint a pontszám.
— Andreas Kurt Peter Reuter