Technické SEO: rychlost načítání, sitemap a robots.txt

Technické SEO

Technické SEO představuje soubor praktik, které zabezpečují, aby vyhledávače efektivně procházely, interpretovaly a indexovaly váš web. Tři nejčastěji podceňované oblasti jsou rychlost načítání (Core Web Vitals), sitemapy a robots.txt. Tento článek nabízí komplexní návod, jak je navrhnout a spravovat s ohledem na škálování, crawl budget a dlouhodobou udržitelnost.

Rychlost a Core Web Vitals

  • LCP (Largest Contentful Paint): cílit na ≤ 2,5 s. Optimalizujte vykreslování kritického obsahu (nad ohybem), odstraňte render-blocking CSS/JS, používejte preload pro klíčové fonty a hlavní obrázek (hero image).
  • CLS (Cumulative Layout Shift): cílit na ≤ 0,1. Rezervujte rozměry pro média (pomocí atributů width/height, aspect-ratio), vyhněte se vkládání obsahu nad již vykreslený obsah.
  • INP (Interaction to Next Paint): cílit na ≤ 200 ms. Minimalizujte zatížení hlavního JS vlákna, využívejte code-splitting, defer/async, islands architecture a webové workery pro náročné úlohy.

Audit výkonu: metodika

  1. Field vs. lab data: kombinujte reálná data (CrUX, RUM) s laboratorními (Lighthouse). Realná data (RUM) jsou klíčová pro hodnocení.
  2. Identifikace „slow paths“: sledujte metriky per šabloně a per routě; dlouhé TTFB často signalizuje problém v databázi nebo šablonách.
  3. Prioritizace: řaďte úkoly podle vlivu na LCP > INP > CLS; zlepšení TTFB a critical request chain obvykle přináší nejvyšší návratnost.

TTFB a serverová optimalizace

  • Cache vrstvy: CDN edge cache, full-page cache (FPC), micro-cache (1–10 s) pro výkyvy v návštěvnosti, aplikace s ESI/SSI.
  • HTTP/2 a HTTP/3: multiplexing a nižší latence; nahraďte domain sharding moderními protokoly.
  • Komprese: aktivujte Brotli pro textové typy (text/html, text/css, application/javascript, application/json).
  • TLS a síť: 0-RTT použijte pouze po zvážení bezpečnostních rizik; optimalizujte TLS handshaky a používejte moderní šifry.

Front-end výkon: praktiky

  • Obrázky: responsive images (srcset, sizes), formáty AVIF/WebP, loading="lazy", fetchpriority="high" pro LCP.
  • Fonty: preload klíčových fontů, font-display: swap, variabilní fonty (single file), subsetování.
  • CSS/JS: kritický CSS inline, zbytek s atributy media a defer; odstraňte nepoužívaný kód (tree-shaking, purge CSS).
  • Prioritizace zdrojů: preconnect na klíčové domény (CDN, API), prefetch pro další navigace.

Renderování a JavaScript SEO

  • SSR/SSG/ISR: server-side rendering, statické generování nebo inkrementální revalidace zlepší LCP a indexovatelnost.
  • Hydratace na vyžádání: islands či partial hydration výrazně snižují nároky na JS na straně klienta.
  • SPA a indexace: zajistěte, aby HTML obsahovalo kanonický obsah. Vyhněte se zastaralému „prerenderingu pouze pro boty“; upřednostňujte univerzální renderování.

Crawl budget a struktura webu

  • Zkraťte hloubku kliknutí k důležitému obsahu (≤ 3), používejte interní linking s descriptive anchors.
  • Odstraňte parametrické duplicity; konsolidujte filtry pomocí kanonizace a noindex u nekatalogizovatelných kombinací.
  • Stabilní status kódy: důležité stránky → 200; migrující → 301; dočasně nedostupné → 302/307; odstraněné → 410.

XML sitemap: účel a zásady

XML sitemap je signál pro vyhledávače o objevování a prioritě procházení, nikoli však garance indexace. Je zvláště užitečná pro velké weby, e-shopy a dynamický obsah.

  • Maximálně 50 000 URL nebo 50 MB nekomprimovaného souboru na jednu sitemapu. Při větším rozsahu použijte sitemap index.
  • Uvádějte pouze kanonické URL vracející stavový kód 200; bez duplicit a parametrů s odlišným kanonickým cílem.
  • <lastmod> udržujte věrohodně (čas poslední významné změny obsahu). Nepoužívejte <priority> a <changefreq> – vyhledávače je ignorují.
  • Oddělte různé typy obsahu: sitemap_pages.xml, sitemap_products.xml, sitemap_categories.xml. Pro velké weby seskupujte logicky (podle sekcí či data).

Rozšířené sitemapy

  • Image sitemap: pro galerie a e-commerce; uvádějte <image:image> s elementy <image:loc>, <image:title>, <image:caption>.
  • Video sitemap: pro stránky s videem; doplňte thumbnail_loc, title, description, duration a značky rodinné vhodnosti.
  • News sitemap: pro zpravodajské weby – pouze obsah z posledních 48 hodin a maximálně 1 000 URL v souboru.
  • Hreflang a sitemapy: alternativní jazykové verze lze párovat pomocí <xhtml:link rel="alternate" hreflang="..." href="..." /> přímo v sitemapách.

Generování a aktualizace sitemap

  • Generujte ze stejných kanonizačních pravidel jako HTML (single source of truth). Automatizujte proces v CI/CD pipeline.
  • Aktualizujte inkrementálně: dynamické části častěji, archivní sekce méně často. Udržujte realistické hodnoty <lastmod>.
  • Validujte proti XSD a kontrolujte coverage pomocí nástrojů pro webmastery (porovnání indexace vs. hlášených URL).

Robots.txt: pravidla a strategie

robots.txt řídí procházení (crawl), nikoli indexaci. „noindex v robots.txt“ není podporováno – pro odindexování používejte meta tag robots nebo HTTP hlavičku X-Robots-Tag.

  • Základní direktivy: User-agent, Disallow, Allow (pro jemné výjimky), Sitemap (absolutní URL), volitelně Clean-param (podporováno některými vyhledávači).
  • Crawl-delay: není všeobecně podporováno; doporučuje se řídit rychlost v nástrojích pro webmastery a prostřednictvím serverových limitů.
  • Bezpečnost: neodhalujte citlivé cesty (např. administrativní rozhraní). Disallow nechrání obsah, pouze doporučuje jeho neprocházení.
  • Parametry a filtry: blokujte procházení „nekonečných“ kombinací (např. /search, ?sort=) a ponechte indexovatelné kanonické stránky.

Příklady pravidel robots.txt (ilustrativní)

  • User-agent: *
    Disallow: /search
    Disallow: /cart
    Allow: /media/*.css
    Allow: /media/*.js
    Sitemap: https://www.example.com/sitemap_index.xml
  • Jemnější výjimka: Disallow: /category/*?page= a současně Allow: /category/*?page=1 (pokud chcete crawlit pouze první stránku).
  • Nedělat: Disallow: / na produkčním prostředí; Disallow u stránek, které chcete indexovat (použijte raději noindex a přístupnost pro crawl).

Meta robots a X-Robots-Tag

  • Meta tag: <meta name="robots" content="noindex,follow"> – odindexuje stránku, ale zachová signál z odkazů.
  • HTTP hlavička: X-Robots-Tag: noindex, max-snippet:0, max-image-preview:none – vhodné pro soubory jako PDF nebo obrázky bez HTML.
  • Dbejte na kompatibilitu: noindex v kombinaci s canonical na indexovatelnou stránku je kontraproduktivní; preferujte konzistentní nastavení.

Kanonizace a duplicitní obsah

  • U všech variant (http/https, www/non-www, trailing slash, parametry) nastavte jednoznačný canonical odkaz.
  • Faceted navigace: indexujte pouze relevantní kombinace; ostatní používejte noindex,follow a/nebo blokujte v robots.txt (pro crawl, nikoli indexaci).
  • Pro stránkování používejte stabilní kanonický odkaz na sebe sama; nepoužívejte zastaralé rel="prev/next" jako indexační faktor.

Log analýza a řízení crawl

  • Sledujte serverové access logy a identifikujte, které sekce webu vyhledávače navštěvují a s jakými HTTP kódy.
  • Omezte crawl tzv. trappy (nekonečné kalendáře, neomezené parametry). Nasazujte rate limiting či crawl-budget guards na aplikační vrstvě.
  • Z metrik vyvozujte závěry: „málo crawl“ (přidejte interní odkazy a sitemapu), „příliš mnoho crawl na nízkohodnotné stránky“ (upravte robots.txt a kanonizaci).

Strukturovaná data a „discoverability”

  • Schema.org (JSON-LD) neurychluje crawl, ale zvyšuje kvalitu pochopení obsahu a potenciál pro bohaté výsledky ve vyhledávání.
  • Udržujte konzistenci mezi strukturovanými daty a viditelným obsahem; vyhněte se nesouladu, který může vést k ignorování dat.

Edge SEO a CDN

  • Přepisování hlaviček (Link: rel=preload, Cache-Control, Early Hints) na hraně sítě pro klíčové zdroje.
  • Selektivní využití stale-while-revalidate a stale-if-error zlepšuje dostupnost a vnímání rychlosti načítání.
  • Pro velké weby automatizujte generování sitemap a jejich publikaci pomocí edge workerů.

Kontrolní seznam: rychlost

  • CDN + HTTP/2/3 aktivní; Brotli zapnuto.
  • TTFB < 200–400 ms pro klíčové šablony; využijte full-page cache.
  • Hlavní obrázek: formáty AVIF/WebP, preload, fetchpriority="high".
  • Kritický CSS inline; zbytek s atributy media nebo defer. Minimální JS na above-the-fold.
  • INP ≤ 200 ms: redukce JS, code-splitting, web workery.
  • CLS ≤ 0,1: pevné rozměry médií, žádné dynamické vsuvky nad obsahem.

Kontrolní seznam: sitemap

  • Pouze kanonické URL s HTTP kódem 200; žádné 3xx/4xx/5xx.
  • Realistické <lastmod>; logické dělení do indexu.
  • Hreflang párování přes xhtml:link (volitelně).
  • Image/Video/News sitemapy podle potřeby; validace proti XSD.
  • Záznam o sitemapě v robots.txt a nahrání do nástrojů pro webmastery.

Kontrolní seznam: robots a indexace

  • Nezakazujte crawl stránek, které chcete indexovat.
  • Pro odindexování používejte noindex (meta tag nebo HTTP hlavička), ne robots.txt.
  • Blokujte procházení „low-value“ filtrů a interních vyhledávání.
  • Ověřte pravidla pro specifické bota (např. obrázkové či reklamní boti) pouze v případě potřeby.
  • Pravidelně revidujte pravidla po nasazení nových sekcí; testujte pomocí nástrojů „URL Inspection“ a robots testeru.

Časté chyby a jak se jim vyhnout

  • Globální blok v robots.txt na produkci po migraci z testovacího prostředí.
  • „Noindex“ na stránkách