Audit technického SEO je odovzdaný. Deväťdesiat nálezov zoradených podľa závažnosti, ku každému screenshot, všetko v jednom štyridsaťstranovom PDF.
Po ôsmich mesiacoch ten dokument niekto zase otvorí. Dvanásť z deväťdesiatich je hotových. Zvyšných sedemdesiatosem stále leží v súbore, ktorého sa už nikto nedotkne.
Na tom audite nebolo nič zlé. Problémy s crawlom tam naozaj boli. Konflikty canonicalov tiež. Len sa to nikdy nedostalo z toho PDF von.
Zostaviť audit nikdy nebolo to najťažšie. Väčšina odborníkov sa potichu dohodla, že bude predstierať opak.
Ten zoznam zostaví ktokoľvek
Screaming Frog, Search Console, pár ďalších nástrojov a týždeň práce stačia na to, aby ste zmapovali, čo je rozbité takmer na akomkoľvek webe. Obsahovo slabé šablóny. Reťazce presmerovaní. Nafúknutá mapa stránok. Nič z toho už dnes nie je žiadne umenie.
Nástroje sa zlepšili. Checklist sa ustálil.
To, čo vám nepovedia, je príčina.
Crawler zoskupuje nálezy podľa príznaku, nie podľa príčiny. Dvesto URL adries, ktorých canonical mieri na presmerovanie, sa v nástroji zobrazí ako jeden nález. Ten nález sedí. Len nevie povedať, či je za tým jedna rozbitá šablóna, alebo dvadsať samostatných chýb.
Funguje to aj naopak. Jeden komponent, ktorý sa nevykreslí na serveri, sa prejaví ako chýbajúce canonicaly a ako stránky bez obsahu. Dva riadky v reporte. Pod nimi jedna chyba.
Takže opravujete dvesto URL adries jednu po druhej namiesto šablóny, ktorá ich generuje. Alebo opravujete dva riadky zvlášť a tá chyba pod nimi produkuje ďalšie.
Za túto hranicu sa dostane len ten, kto si okrem reportu prečíta aj kód. A ani to nie je náročné.
Náročné je premeniť nálezy na uzavreté úlohy. Deväťdesiat nálezov skončí na stole tímu, ktorý má v tomto sprinte štyri iné priority a o SEO sám nevie nič.
To je tá skutočná práca. Väčšina konzultantov končí tesne predtým, než na ňu dôjde.
Nález nie je to isté ako priorita
Audit končí pri nálezoch. Crawler im priradí závažnosť – vysokú, strednú, nízku – a v tom poradí sa zoznam aj exportuje.
To nie je prioritizácia. To je názor nástroja vydávaný za odborný úsudok.
Štítok závažnosti netuší, akú má oprava cenu. Chyba 404 na stránke, na ktorú vedú tri odkazy, dostane vysokú. Rovnakú dostane aj noindex v šablóne kategórie so štyristo URL adresami. Rovnaký štítok. Následky úplne iné.
Závažnosť opisuje problém. Priorita hovorí, čo s ním ďalej. Málokedy z toho vyjde rovnaké poradie.
Ten rozdiel vypĺňajú veci, na ktoré žiadny crawler nevidí:
Koľko má projekt vývojárov a čo už má tím zabraté na najbližšie dva sprinty.
Či je tá oprava zmena v šablóne, ktorú jeden človek nasadí za popoludnie, alebo zásah do CMS, ktorý zožerie celý sprint.
Či je web uprostred prechodu na novú platformu. Ak áno, polovica nálezov zmizne sama a druhú polovicu postavia nanovo s tou istou chybou, pokiaľ na ňu teraz nikto neupozorní.
Či tá šablóna zarába, alebo existuje len preto, že ju niekto v roku 2019 postavil a zabudol na ňu.
Dva weby môžu mať takmer totožný report z crawlu a potrebovať úplne iné poradie práce.
Problém s vysokou závažnosťou, na ktorý v tomto kvartáli nikto nemá kapacitu, patrí v zozname nižšie než ten so strednou, ktorého oprava sa nasadí budúci týždeň. To nie je kompromis. To je presne to, čo znamená prioritizácia.
Väčšina špecialistov na technické SEO tento krok preskočí. Pošlú zoznam podľa závažnosti ďalej, akoby zoradiť veci podľa toho, ako vážne vyzerajú, bolo to isté ako zoradiť ich podľa toho, čo stoja.
Prečo audit umiera v backlogu
Ten vzorec sa opakuje príliš často na to, aby to bola smola.
Konzultant, ktorý audit napísal, nesedí na plánovaní sprintu. Vývojár, ktorý ho číta, nebol na hovore s klientom, kde sa to vysvetľovalo.
Z opravy pravidla pre presmerovanie sa tak stane dvojriadková úloha v Jire bez kontextu. Vezme si ju ten, kto má práve čas. A opraví to podľa toho, ako si vyloží, čo tým konzultant myslel.
Vo vývojovom tíme za výsledok nezodpovedá nikto, pretože vo vývojovom tíme pri tom rozhodnutí nikto nebol.
Potom dostane redizajn prednosť pred opravou crawl budgetu. Nová podoba domovskej stránky vyhrá ten spor zakaždým. Jedno je vidieť na deme. Druhé nie.
Audit neumiera na nesúhlas. Umiera na ticho. Nikto proti nemu aktívne nestojí. A nikto sa k nemu ani nehlási.
O rok neskôr sa robí nový audit. Polovica starých nálezov tam stále je a pribudne k nim tucet nových. Nikto tie dva zoznamy nespojí, lebo nikto nesledoval, ktoré opravy sa nasadili a čo sa po nich stalo.
Backlog sa len predlžuje. Zoradený stále rovnako.
Ako to vyzerá, keď pri tej práci zostanem
Nič z toho sa do štyridsaťstranového PDF nezmestí. Takže pri PDF nekončím.
Poradie priorít, ktoré odovzdávam, nie je ten zoznam, ktorý podľa závažnosti zoradil crawler. Staviam to poradie na tom, čo tím reálne nasadí, a na tom, čo mi na podobných weboch pohlo pozíciami vo vyhľadávaní a tržbami.
Vychádza to z rokov, keď som sledoval, ktoré opravy naozaj niečo zmenili a ktoré len vyzerali naliehavo. Zoznam priorít, podľa ktorého nikto nekoná, má presne takú cenu ako ten, ktorý nikto nenapísal.
A ani ten môj neprežije prvý kontakt s kódom. Vývojár sa pozrie na tretiu opravu v poradí a povie, že je to triviálne – polovica toho je už hotová kvôli niečomu inému. Ešte v ten deň sa posunie na prvé miesto.
Iná oprava nakoniec zasahuje do zdieľaného komponentu, ktorý pred releasom nikto nechce otvárať. Tá spadne dole a na jej miesto príde niečo zdola.
Mimo tímu z toho nie je vidieť nič. Dostanete sa k tomu jedine tak, že ste pri tom, keď sa tá práca robí.
Takže sedím na plánovaní sprintu, kde tá úloha súperí so všetkým ostatným o tých istých dvoch vývojárov.
Úlohu píšem sám. Jazykom vývojára, nie žargónom, ktorému rozumiem len ja.
Keď sa vývojár ozve, že mu tá oprava pripadá zbytočná, vysvetlím mu mechanizmus, nie len odporúčanie. „Verte mi“ neprežije kontakt s vývojárom, ktorý má päť ďalších úloh a jedno popoludnie.
Nevysvetľujem to len vývojárom. Zakladateľ chce vedieť, prečo oprava, ktorá znie ako maličkosť, stojí za dva dni kapacity v sprinte. Marketér chce vedieť, prečo má redizajn počkať. Obom to vysvetlím rovnako, len inými slovami.
A keď sa úloha označí za uzavretú, skontrolujem to na živom webe. Nie stav úlohy. Tú skutočnú stránku.
Videl som, ako sa oprava canonicalu nasadila so zlou URL adresou, lebo vývojár skopíroval kód z vedľajšej šablóny. Videl som, ako zmena v robots.txt zablokovala viac než ten jeden adresár, na ktorý mierila.
Uzavreté neznamená správne. Správne znamená jedine skontrolované.
Odísť po odovzdaní niečo stojí
Keď po tom PDF odídete, nejde len o to, ako rýchlo sa veci nasadia. Ide o to, koľkokrát sa to bude opravovať znovu.
Zle pochopené odporúčanie sedí na živom webe celé mesiace. Príde sa na to, až keď sa návštevnosť nepohne tak, ako mala. A vtedy si už nikto nepamätá, ktorá oprava mala spôsobiť ktorý výsledok.
Klient zvalí vinu na odporúčanie. To odporúčanie nebolo nikdy zlé. Len nikto nezostal dosť blízko, aby to zachytil včas.
Vídam to tak často, že som prestal audit brať ako produkt s dátumom ukončenia. Je to začiatok procesu, v ktorom zostávam, kým nie sú problémy uzavreté, overené a na živom webe.
Nie preto, že sa to dá viac fakturovať. Ale preto, že audit, ktorý nikto neimplementuje, neurobil nič, nech bol na prvej strane akokoľvek správny.
Výstupom nikdy nebol dokument. Vždy to bol opravený web.
Pôvodná verzia tohto článku je anglická. Do slovenčiny je preložená automaticky.

Martin Štěpánek
Konzultant enterprise technického SEO
Som konzultant enterprise technického SEO a vývojár. Vyše desať rokov som web staval, až potom som ho začal opravovať, a produkčný kód píšem dodnes. Čítam odpovede, ktoré váš web naozaj posiela, poviem vám, ktoré nálezy stoja za sprint, a opravu odovzdám vašim vývojárom sám.
Newsletter o technickom SEO, ktorý vývojári aj SEO špecialisti naozaj dočítajú
Jeden konkrétny problém rozoberiem do detailu a poviem jasne, čo s ním. Porovnám to s primárnou dokumentáciou aj s tým, čo vidím v auditoch. A k tomu tri správy z posledných dvoch týždňov, ktoré vyberiem a vysvetlím.



Prihlásiť sa
Nové vydanie každé dva týždne. Odhlásenie jedným klikom.
Iba v angličtine