Dočasné vypnutie webu a údržba bez straty pozícií v Google
Web občas treba odstaviť, či už pre aktualizáciu systému, prechod na nový hosting, alebo preto, že firma na pár týždňov nepredáva. Rozhodujúce nie je to, že je web nedostupný, ale akým spôsobom to robotovi Google oznámi. Tento článok vychádza z dokumentácie Google Search Central a z normy HTTP a ukazuje, kedy stačí obmedziť funkcie webu, kedy použiť stavový kód 503 s hlavičkou Retry-After a ktoré bežné riešenia vedú k vypadnutiu adries z indexu.
1. Čo urobí Google, keď je web nedostupný
Robot Google pri každej požiadavke najprv číta stavový kód, teda trojmiestne číslo, ktorým server oznamuje výsledok. Kódy začínajúce sa päťkou (5xx) znamenajú chybu servera a dokumentácia Google k nim uvádza, že spôsobia dočasné spomalenie prehľadávania. Už zaindexované adresy sa v indexe zachovajú, no nakoniec z neho vypadnú, a obsah, ktorý Google dostane spolu s kódom 5xx, ignoruje. Keď server znova začne odpovedať kódom 2xx, Google frekvenciu prehľadávania postupne zvýši (How HTTP status codes affect Google's crawlers, Google).
Ten istý dokument pri chybách 500 až 503 dodáva dve veci, ktoré sú pri plánovaní údržby podstatné. Zníženie frekvencie prehľadávania je úmerné počtu adries, ktoré vracajú chybu servera, a adresy, ktoré chybu servera vracajú trvalo, systém indexovania z indexu odstráni. Krátky výpadok teda Google zvládne, kým dlhý sa už prejaví na tom, čo vo vyhľadávaní zostane.
Z kódov 5xx je pre plánovanú údržbu určený kód 503. Norma HTTP ho opisuje ako stav, keď server momentálne nedokáže spracovať požiadavku pre dočasné preťaženie alebo plánovanú údržbu, ktoré pravdepodobne po určitom čase pominú (RFC 9110, sekcia 15.6.4, IETF). Kód 500 naproti tomu podľa tej istej normy znamená, že server narazil na neočakávaný stav, ktorý mu zabránil požiadavku vybaviť, takže zámerné odstavenie webu neopisuje. Ako sa líši od trvalých chýb typu 404, rozoberá článok o chybe 404 a soft 404.
2. Najlepšia voľba: web nechať zapnutý a obmedziť funkcie
Ak firma dočasne nemôže vybavovať objednávky, Google v návode na pozastavenie webu neodporúča web vypnúť. Odporúča ho nechať online a obmedziť jeho funkcie, lebo tento postup najmenej poškodí prítomnosť webu vo vyhľadávaní a ľudia si môžu ďalej pozerať produkty, čítať recenzie alebo si ukladať položky na neskorší nákup (Temporarily pause or disable a website, Google Search Central).
Návod uvádza tieto konkrétne kroky:
- Vypnúť košík. Podľa Google je to najjednoduchší prístup, ktorý na viditeľnosti webu vo vyhľadávaní nič nemení.
- Zobraziť lištu alebo okno na všetkých stránkach s informáciou o stave, oneskorení a možnostiach doručenia. Aby sa text lišty neobjavil v úryvku vo výsledkoch vyhľadávania, dostane HTML atribút
data-nosnippet. - Upraviť štruktúrované dáta tak, aby zodpovedali skutočnosti, napríklad dostupnosť produktov alebo zrušené podujatia. Firma s kamennou predajňou má podľa návodu upraviť otváracie hodiny v štruktúrovaných dátach LocalBusiness.
- Oznámiť zmeny Google: pri niekoľkých stránkach, napríklad domovskej, požiadať o opätovné prehľadanie v Search Console, pri veľkom počte stránok použiť sitemap.
Lištu treba urobiť tak, aby neprekážala obsahu, lebo návod sa pri nej odvoláva na pravidlá Google pre vyskakovacie okná a lišty. Na konkrétnej stránke to môže vyzerať takto:
<div class="oznam" data-nosnippet>
Od 20. 10. do 3. 11. objednávky neprijímame. Tovar si môžete uložiť
do zoznamu želaní, objednávky vybavíme od 4. 11.
</div>
Pri e-shope sa obmedzenie funkcií prekrýva s tým, ako sa pracuje s vypredaným tovarom. Google v časti s otázkami výslovne odmieta odstraňovanie vypredaných produktov cez nástroj na odstránenie a odporúča stránku ponechať a označiť tovar ako nedostupný, aby ľudia pochopili, čo sa deje. Podrobne to rozoberá článok o vypredaných a zrušených produktoch.
3. Krátka údržba: kód 503 a hlavička Retry-After
Niekedy sa web zapnutý nechať nedá, napríklad pri aktualizácii databázy alebo pri presune na iný server. Pre takú situáciu Google uvádza, že ak treba web naliehavo vypnúť na jeden až dva dni, má namiesto celého obsahu vracať informačnú chybovú stránku so stavovým kódom 503. Zároveň upozorňuje, že kým stránka vracia 503, Google nedokáže aktualizovať titulky, popisy, metadáta ani štruktúrované dáta webu (Temporarily pause or disable a website, Google Search Central).
Ku kódu 503 patrí hlavička Retry-After. Norma HTTP hovorí, že pri odpovedi 503 vyjadruje, ako dlho má byť služba pre klienta nedostupná, a jej hodnota je buď dátum vo formáte HTTP, alebo počet sekúnd; hodnota Retry-After: 120 teda znamená dve minúty (RFC 9110, sekcia 10.2.3, IETF). Google k samotnej stránke údržby odporúča tieto postupy, aby čo najmenej zaťažovala server aj prehliadač:
- poslať hlavičku
Retry-Afters čo najpresnejším odhadom dátumu alebo trvania, - použiť statické HTML,
- obmedziť externé súbory, teda vložiť štýly priamo do stránky a obrázky zakódovať do base64,
- dať návštevníkom jasné informácie: odkaz na podrobnosti, predpokladaný dátum obnovenia webu a kontakt na zákaznícku podporu.
Na hostingu s PHP stačí na začiatok stránky údržby niekoľko riadkov. Príklad je ilustračný, dátum a texty si upravte:
<?php
http_response_code(503);
header('Retry-After: 7200');
?>
<!doctype html>
<html lang="sk">
<head><meta charset="utf-8"><title>Web je v údržbe</title>
<style>body{font-family:sans-serif;max-width:40em;margin:3em auto}</style></head>
<body>
<h1>Web je dočasne v údržbe</h1>
<p>Predpokladaný návrat dnes o 14:00. Kontakt: info@vasafirma.sk</p>
</body>
</html>
Kód 503 sa ľahko pokazí, napríklad keď redakčný systém stránku údržby zobrazí, ale server pošle kód 200, prípadne keď presmeruje všetky adresy na jednu stránku. Google preto odporúča overiť odpoveď lokálne nástrojom curl alebo podobným nástrojom, napríklad príkazom curl -I -X GET "https://www.example.com/", ktorý má vrátiť riadok HTTP/1.1 503 Service Unavailable.
| Odpoveď počas vypnutia | Čo s ňou urobí Google | Vhodné na |
|---|---|---|
| 200 s obmedzenými funkciami | stránky ostávajú normálne vo vyhľadávaní | dočasné zatvorenie e-shopu alebo firmy |
| 503 s Retry-After | spomalí prehľadávanie, obsah ignoruje, adresy v indexe zatiaľ zachová | údržbu najviac na jeden až dva dni |
| 503 dlhodobo | adresy, ktoré chybu vracajú trvalo, z indexu odstráni | nevhodné |
403, 404, 410 alebo noindex | adresy webu odstráni z vyhľadávania | nevhodné na dočasné vypnutie |
| 200 len na domovskej stránke ako zástupnej | domovská stránka sa dá naďalej nájsť | dlhšie vypnutie webu |
Tabuľka zhŕňa návod Google na pozastavenie webu a dokument o stavových kódoch citovaný v prvej časti.
4. Čo pri vypnutí webu nerobiť
Najčastejšie chyby vznikajú z dobrého úmyslu: majiteľ chce, aby Google nevidel rozrobený web, a siahne po nástroji, ktorý slúži na trvalé skrytie. Návod Google na pozastavenie webu uvádza tieto zákazy výslovne:
- Nezakazovať prehľadávanie celého webu v robots.txt. Platný súbor robots.txt, ktorý zakazuje všetko prehľadávanie, môže z vyhľadávania odstrániť obsah webu a potenciálne aj jeho adresy.
- Nevracať kód 503 pre samotný súbor robots.txt, lebo to podľa Google zablokuje všetko prehľadávanie. Súbor robots.txt má počas údržby ďalej normálne odpovedať.
- Neblokovať web kódmi 403, 404, 410 ani pravidlom
noindexv meta značke alebo v hlavičkeX-Robots-Tag. Tieto kroky adresy webu z vyhľadávania odstránia. - Nepoužívať nástroj na dočasné odstránenie webu v Search Console pri zatvorení firmy. Ľudia by potom web nenašli a nedozvedeli by sa, v akom stave je, kým predajcovia alebo partneri vašich produktov by sa vo výsledkoch zobrazovať mohli.
- Neblokovať celé regióny. Google podľa návodu prehľadáva spravidla z USA, a ak blokujete USA, vyhľadávanie Google sa na web vôbec nedostane.
Pri robots.txt stojí za to poznať aj to, ako Google zaobchádza so súborom, ktorý vracia chybu servera. Špecifikácia robots.txt uvádza, že prvých 12 hodín Google prestane web prehľadávať a skúša súbor stiahnuť znova, potom 30 dní používa poslednú dobrú verziu a pri chybe 503 to skúša pomerne často (How Google interprets the robots.txt specification, Google). Ak teda pravidlo na presmerovanie do údržby zachytí aj /robots.txt, prehľadávanie celého webu sa zastaví, preto má byť tento súbor z údržby vždy vyňatý. Ako robots.txt funguje bežne, opisuje článok o robots.txt a sitemap.
5. Dlhšie zatvorenie a vývojová verzia webu
Ak má byť web vypnutý dlhšie než pár dní, Google kód 503 neodporúča. Vypnutie celého webu označuje za krajné opatrenie, ktoré sa má použiť len na veľmi krátky čas, najviac niekoľko dní, inak bude mať aj pri správnom vykonaní výrazné dôsledky vo vyhľadávaní. Pre dlhšie obdobie radí ponechať indexovateľnú domovskú stránku s kódom 200, ktorá slúži ako zástupná stránka a ľudia ju vo vyhľadávaní nájdu (Temporarily pause or disable a website, Google Search Central).
Návod zároveň menuje, čo firma pri úplnom vypnutí stráca. Panel znalostí môže prísť o údaje, ako sú telefón a logo, overenie v Search Console zlyhá a súhrnné prehľady prídu o dáta, keď stránky vypadnú z indexu. K návratu Google uvádza, že úplné odstránenie webu z indexu je veľká zmena, z ktorej sa web môže zotavovať dlho, pričom neexistuje pevná lehota ani spôsob, ako zotavenie urýchliť. Na otázku, či stačí web zavrieť len na pár týždňov, odpovedá, že aj také zatvorenie môže mať na indexovanie negatívne dôsledky.
Samostatný prípad je vývojová verzia webu, na ktorej sa pripravuje nový dizajn. Tú treba skryť pred vyhľadávaním, no robots.txt na to nestačí. Google uvádza, že robots.txt nie je spôsob, ako stránku udržať mimo Googlu, a že adresa zablokovaná v robots.txt sa vo výsledkoch môže objaviť, len bez popisu. Na skrytie odporúča noindex alebo ochranu heslom (Introduction to robots.txt, Google Search Central).
Pri vývojovej verzii je praktickejšia ochrana heslom, lebo pri spustení nového webu sa ľahko zabudne odstrániť noindex zo šablóny. Google k heslu uvádza, že zabráni zobrazeniu obsahu vo vyhľadávaní, a ak sa obsah už zobrazuje, časom ho z výsledkov odstráni (Control what you share with Google, Google Search Central). Ak je výsledkom prestavby aj zmena adries, postup opisuje článok o migrácii webu bez straty SEO.
6. Postup krok za krokom a návrat do prevádzky
Pred každým odstavením webu si najprv odpovedzte na otázku, či musí byť web naozaj nedostupný, alebo stačí vypnúť objednávky. Väčšina dočasných zatvorení firmy sa dá vyriešiť druhým spôsobom a kód 503 zostane len na technickú údržbu, ktorá trvá hodiny, nie týždne.
| Krok | Čo urobiť | Ako overiť |
|---|---|---|
| 1 | rozhodnúť, či stačí obmedziť funkcie, alebo treba web vypnúť | odhad trvania: hodiny, dni alebo týždne |
| 2 | pri obmedzení vypnúť košík, pridať lištu s data-nosnippet a upraviť štruktúrované dáta | kontrola stránky produktu a domovskej stránky |
| 3 | pri údržbe nastaviť stránku s kódom 503 a hlavičkou Retry-After | curl -I -X GET na niekoľko adries |
| 4 | vyňať /robots.txt z údržby | curl -I na /robots.txt vráti 200 |
| 5 | skontrolovať, že nikde nie je noindex, zákaz celého webu v robots.txt ani kódy 403, 404, 410 | zdrojový kód a hlavičky odpovede |
| 6 | po návrate overiť kód 200 na hlavných stránkach | curl -I, nástroj Kontrola webovej adresy |
| 7 | požiadať o opätovné prehľadanie domovskej stránky, pri veľkom počte stránok odoslať sitemap | Search Console |
Po návrate do prevádzky Google podľa dokumentácie frekvenciu prehľadávania postupne zvýši sám, len čo server začne znova odpovedať kódom 2xx. Ak sa pri obmedzení funkcií menili ceny, dostupnosť alebo otváracie hodiny, nezabudnite ich vrátiť aj v štruktúrovaných dátach a stránky potom nechajte Google prehľadať rovnakým spôsobom ako v kroku 7. Ako v Search Console požiadať o prehľadanie a sledovať indexovanie, ukazuje návod na Google Search Console.
Ak počas vypnutia zaťažoval server samotný Googlebot, Google pripúšťa aj zníženie frekvencie prehľadávania, hoci ho vo väčšine prípadov neodporúča, lebo sa tým môže spomaliť aktualizácia výsledkov. V takom prípade radí nastaviť si pripomienku, aby ste frekvenciu po návrate do prevádzky vrátili späť (Temporarily pause or disable a website, Google Search Central).
Časté otázky
Aký stavový kód má vracať web v údržbe?
Kód 503 Service Unavailable, ideálne s hlavičkou Retry-After, ktorá hovorí, kedy bude web znova dostupný. Google ho odporúča na naliehavé vypnutie webu na jeden až dva dni. Súbor robots.txt má počas údržby ďalej odpovedať normálne, nie kódom 503.
Ako dlho môže byť web v údržbe bez straty pozícií?
Google neuvádza presnú hranicu. Kód 503 odporúča na jeden až dva dni a vypnutie celého webu označuje za opatrenie najviac na niekoľko dní. Adresy, ktoré chybu servera vracajú trvalo, systém indexovania z indexu odstráni, a pri dlhšom zatvorení Google radí ponechať domovskú stránku s kódom 200.
Môžem počas údržby zakázať prehľadávanie v robots.txt?
Nie. Google upozorňuje, že platný robots.txt, ktorý zakazuje všetko prehľadávanie, môže z vyhľadávania odstrániť obsah webu a potenciálne aj jeho adresy. Robots.txt navyše nie je spôsob, ako stránku udržať mimo Googlu.
Ako dočasne zatvoriť e-shop bez straty pozícií v Google?
Nechajte web zapnutý a vypnite košík. Google to uvádza ako najjednoduchší prístup, ktorý nemení viditeľnosť vo vyhľadávaní. Pridajte lištu s informáciou o stave s atribútom data-nosnippet a upravte dostupnosť produktov v štruktúrovaných dátach.
Ako skryť vývojovú verziu webu pred Googlom?
Ochranou heslom alebo pravidlom noindex. Google uvádza, že robots.txt na skrytie stránky nestačí, lebo zablokovaná adresa sa môže vo výsledkoch objaviť bez popisu. Heslo je pri vývojovej verzii praktickejšie, lebo pravidlo noindex v šablóne sa pri spustení nového webu ľahko zabudne odstrániť.