Kompletní prohlídka hostingu, rychlosti, zabezpečení a viditelnosti ve vyhledávačích. Co už šlape, co drhne a co doladit jako první.
Web stojí na kvalitním a moderním základu — běží na aktuálním WordPressu, rychlém serveru a produktové stránky jsou pro vyhledávače dobře postavené. Největší rezervy jsou tři: nevyužitá mezipaměť (web je zbytečně pomalejší, než by mohl být), několik otevřených bezpečnostních vstupů a slabší úvodní stránka z pohledu SEO. Žádný z nálezů není havárie — jde o vyladění, které web posune z „funguje" na „šlape naplno a je chráněný".
Aktuální systém. WordPress 6.9.7 a PHP 8.2 — žádný zastaralý základ.
Rychlá infrastruktura. HTTP/3, komprese Brotli, obrázky ve formátu WebP.
Bezpečné připojení. Platný HTTPS certifikát, přesměrování z www i http funguje.
Aktivní ochranná zeď. Server odchytává roboty a nápor požadavků (WAF).
Silné produktové stránky. Správné nadpisy, popisy i data o ceně pro „bohaté" výsledky v Googlu.
Mapa webu v pořádku. Sitemapy a robots.txt vedou vyhledávače správně.
Dost místa. Databáze zabírá 79 MB z 6 GB — velká rezerva do růstu.
Slušný rozsah. 74 produktů, 25 stránek a 5 článků bez problémů.
Základ je špičkový. Chybí ale poslední článek, který má největší dopad: funkční mezipaměť.
| Váha úvodní stránky | Přenos | Poznámka |
|---|---|---|
| HTML dokument | 108 KB | Brotli ~18 KB |
| Styly (CSS) | 87 KB | 38 samostatných souborů |
| Skripty (JS) | 55 KB | 24 samostatných souborů |
| Fonty | ~990 KB | 4× starý formát .ttf, nekomprimované |
| Obrázky | ~1 490 KB | 40 ks, WebP, průměr 37 KB |
| Celkem | ≈ 2,6 MB | fonty + obrázky = 95 % váhy |
Plugin pro zrychlení je nainstalovaný, ale reálně nekešuje — každé otevření stránky se počítá od nuly. Odezva serveru naměřena stabilně 0,40–0,51 s. Web běží zbytečně pomaleji, než by mohl.
Řešení Správně zapnout mezipaměť stránek → odezva ~0,08 s. Nejcitelnější efekt z celého auditu.
Písma se stahují jako nekomprimované .ttf soubory: Regular 238 KB, Bold 255 KB, Italic 261 KB — plus duplikát téhož Regular (238 KB). Dohromady skoro 1 MB jen za písma.
Řešení Převod do formátu woff2 a zahození duplikátu: ~990 KB → ~130 KB.
V hlavičce stránky je 35 stylů a 8 skriptů, které musí prohlížeč stáhnout dřív, než něco zobrazí. Klasický nános Elementoru a WooCommerce.
Řešení Sloučit styly a skripty, neklíčové odložit.
Jen 2 ze 40 obrázků mají odložené načítání. Zbytek se stahuje hned, i když ho návštěvník ještě nevidí — zbytečně tažených ~1,4 MB.
Řešení Zapnout lazy-loading pro vše pod ohybem stránky.
Skript se tahá z externí domény místo z vlastního webu. Přidává čekání a závislost na cizí službě.
Řešení Načítat vlastní verzi z webu.
Ochranná zeď hostingu odvádí kus práce. Pár vstupů, které web nepotřebuje, je ale zbytečně otevřených dokořán.
Staré rozhraní WordPressu je plně dostupné včetně funkcí pro hromadné dotazy. Oblíbená brána pro automatizované hádání hesla a zneužití webu k útokům na cizí weby.
Řešení Web ho nepotřebuje — kompletně zablokovat.
Přes veřejné rozhraní lze získat seznam uživatelských jmen i jejich přihlašovací podobu. Útočníkovi tím zbývá „jen" uhodnout heslo.
Řešení Zavřít výpis uživatelů a znepřístupnit autorské profily.
Serveru chybí několik ochranných nastavení — vynucené HTTPS do budoucna, ochrana proti vložení webu do cizího rámu a další. Standard, který dnes prohlížeče očekávají.
Řešení Doplnit sadu bezpečnostních hlaviček.
Soubor readme.html je volně přístupný a hlásí přesnou verzi WordPressu. Usnadňuje cílený útok na známé slabiny dané verze.
Řešení Soubor smazat, skrýt verzi.
Odpovědi serveru prozrazují přesnou verzi PHP a přihlašovací cookies nemají ochranné příznaky.
Řešení Vypnout hlášení verze, zapnout ochranu cookies.
Opakované pokusy o přihlášení hlídá zatím jen hosting. Vlastní pojistka na úrovni webu chybí.
Řešení Nasadit limit počtu pokusů o přihlášení.
Produktové stránky jsou postavené vzorně. Úvodní stránka — ta nejnavštěvovanější — ale ztrácí pár snadných bodů.
Homepage nemá žádný hlavní nadpis (H1). Vyhledávač i čtečky pro nevidomé hůř poznají, o čem stránka je.
Řešení Doplnit jeden výstižný nadpis se zaměřením obchodu.
V záložce prohlížeče i ve výsledcích Googlu se stránka jmenuje Homepage – Dobré Bydlo. Obecné slovo bez klíčových slov je promarněné místo.
Řešení Přepsat na popis nabídky, např. „Ručně šité bytové doplňky a textil".
Všech 29 obrázků na úvodní stránce má prázdný popisek. Fotky se pak neukazují ve vyhledávání obrázků a stránka je hůř přístupná.
Řešení Doplnit stručné popisky, hlavně k produktovým fotkám.
Text pod odkazem ve vyhledávání je useknutý odstavec o autorce. Nezve k nákupu a působí nedotaženě.
Řešení Napsat krátký lákavý popis obchodu do ~155 znaků.
V neviditelných datech pro Google je homepage vedená jako blogový článek. Matoucí zařazení, které tam nepatří.
Řešení Opravit typ stránky v nastavení SEO pluginu.
Nejsilnější oblast. Server má rezervu, systém je aktuální — pár drobností k úklidu.
Web má aktivní dva nástroje na vlastní kód současně. Riziko, že se stejná úprava spustí dvakrát nebo se ztratí přehled.
Řešení Sjednotit do jednoho, druhý vypnout.
Najednou lze nahrát jen 5 souborů. Při vkládání více fotek naráz zbytek tiše propadne.
Řešení Zvýšit limit na běžných 20.
Hosting nabízí novější PHP 8.3 / 8.4. Novější verze běží rychleji a jsou déle podporované — zdarma v ceně hostingu.
Řešení Po záloze přepnout na PHP 8.3.
Tuhle část nejde posoudit zvenku — závisí na tom, co s webem obchodně děláte. Změřil jsem ale, co na webu reálně běží, a z toho vyplývá několik otázek. Odpovědi můžou zásadně změnit priority.
| Co jsem naměřil | Stav |
|---|---|
| Google Analytics Měření návštěvnosti přes Site Kit | Běží |
| Meta (Facebook) Pixel Měření reklam na Facebooku a Instagramu | Chybí úplně |
| Produktové feedy Heureka, Zboží.cz, Google Nákupy | Žádný nenalezen |
Pokud ano, je to problém: na webu není žádný Meta Pixel. Znamená to, že Facebook nevidí, které reklamy vedly k objednávce — nedá se měřit návratnost, nejde dělat retargeting ani optimalizace na nákup. Peníze za reklamu se utrácejí naslepo.
Návrh Nasadit Meta Pixel + Conversions API (server-side měření). Klasický pixel dnes kvůli blokování cookies ztrácí zhruba 20–40 % konverzí, server-side to z velké části dorovná.
Google Analytics na webu běží, ale zvenku nepoznám, jestli má nastavené e-commerce měření — tedy jestli hlásí dokončený nákup a jeho hodnotu, ne jen návštěvy. Bez toho nevíte, které kanály reálně vydělávají.
Návrh Ověřit měření nákupů v GA4 a doplnit hodnotu objednávky.
Nenašel jsem žádný produktový feed pro Heureku, Zboží.cz ani Google Nákupy. U e-shopu se 74 produkty jsou srovnávače často nejsilnější prodejní kanál — a bez feedu se na nich nedá být.
Návrh Vygenerovat feedy a napojit na vybrané srovnávače.
Web má lištu se souhlasem, ale nezjistím zvenku, jestli je propojená s měřením (tzv. consent mode). Špatné nastavení znamená buď ztrátu dat, nebo měření bez souhlasu — a to je riziko podle GDPR.
Návrh Ověřit napojení souhlasu na Google i Meta měření.
Pokud web spravuje agentura nebo někdo další, potřebuji vědět, kdo má přístupy k měřicím účtům. Aby se změny nepřekrývaly a nic se nerozbilo.
Návrh Ujasnit si přístupy do Google Analytics, Google Ads a Meta Business.
Seřazeno podle poměru přínos / náročnost. První tři body dají největší efekt při nejmenší práci.
| # | Co udělat | Přínos | Náročnost |
|---|---|---|---|
| 1 | Zapnout mezipaměť (cache) Nejrychlejší web za nejmíň práce | Rychlost ↑↑ | nízká |
| 2 | Fonty do woff2, zahodit duplikát Úspora skoro 900 KB na každé návštěvě | Rychlost ↑↑ | nízká |
| 3 | Zablokovat XML-RPC, skrýt jména Zavře nejčastější brány útoků | Bezpečnost ↑↑ | nízká |
| 4 | Bezpečnostní hlavičky, smazat readme Standardní ochranné minimum | Bezpečnost ↑ | nízká |
| 5 | Opravit úvodní stránku Nadpis, titulek do Googlu, popisky obrázků | SEO ↑↑ | střední |
| 6 | Sloučit styly a skripty, lazy obrázky Dotažení rychlosti po zapnutí cache | Rychlost ↑ | střední |
| 7 | PHP 8.3 a úklid pluginů Výkon a pořádek pod kapotou | Technika ↑ | nízká |
Tato analýza vychází z veřejně dostupných dat webu a správy hostingu. Hlubší část — kontrola verzí a aktualizací všech pluginů, prověření na škodlivý kód a rozbor databáze — vyžaduje přímý přístup k serveru. Rád ji doplním jako druhý krok, jakmile bude přístup k dispozici.
Na základě téhle analýzy jsem připravil konkrétní návrh prací — včetně doporučení, jak se zbavit každoročních poplatků za licenci builderu.