Přeskočit na obsah
Inflexion

Případová studie · NETMA

Jak jsme webu NETMA vzali WordPress a nechali mu vzhled, na kterém značka stála.

bylo 214 kB

efekt kouře v heru: z pluginu Slider Revolution do vlastního kódu

z WordPressu na statiku · 8 stránek · 2 případové studie

  • 63 kBJavaScriptu při načtení homepage
  • 4 × 100Lighthouse na mobilu, všechny kategorie

Všechno, co tu tvrdíme, si můžete přeměřit v nástrojích prohlížeče.

Rámec

Web marketingové agentury není vizitka. Je to ukázkový kus.

NETMA dělá výkonnostní marketing, sociální sítě a branding. Staví značky pro druhé. Její vlastní web je to první, co si klient prohlédne dřív, než zavolá.

U běžné zakázky se rozhodnutí obhajuje odborností. Tady ji má druhá strana taky – a tím padá poslední výmluva. Každý prvek, u kterého neumíme říct proč, je vidět okamžitě. Premium tu proto neznamená lesk. Znamená obhajitelnost.

A pak je tu věc, kterou nemá smysl obcházet: za Inflexion i za NETMA stojí stejní lidé. Nepíšeme o cizí zakázce, píšeme o vlastním domě. Nejde se schovat za to, že si to tak přál klient – tady jsme si to přáli sami, a pak jsme si to sami museli obhájit.

Výchozí stav

Značka rostla rychleji než její vlastní prezentace.

Web NETMA běžel na WordPressu. První verze byla jednoduchá: nadpis vlevo, neonový graf vpravo. Hero s kouřem přišlo až o roky později a nebylo to samozřejmost – Slider Revolution je placený plugin, který se pořizuje právě kvůli jednomu takovému efektu. Značka na něm pak stála.

Cena za to byla vidět až po změření. Samotné hero stálo přes 250 kB JavaScriptu a fontů a vykreslilo se až po 2,6 s. A nebylo to jen hero: ze stejného pluginu byla i hlavička a kolotoč s klienty, takže na telefonu se pomalu načítalo i to, co s efekty nemá nic společného.

Zadání nebylo vymyslet nový web. Bylo zachránit ten stávající. Bez jediného ústupku na vzhledu.

Dřív a dnes

Dva skoky. Vidět je jen jeden.

První verze webu NETMA: nadpis vlevo, jednoduchý neonový graf vpravo

Etapa 01První verze – nadpis vlevo, neonový graf vpravo

Web NETMA na WordPressu se Slider Revolution: hero s kouřem

Etapa 02WordPress se Slider Revolution – hero s kouřem

Dnešní hero webu NETMA: stejná kompozice, tmavší podklad

DnesVlastní kód – kompozice beze změny, podklad zpátky do černé

#1b1d21#08090b

Mezi první verzí a WordPressem se Slider Revolution je skutečný vizuální skok. Hero s kouřem se stalo poznávacím znamením značky.

Mezi ním a dneškem už skoro žádný – a to je splněné zadání. NETMA si hero chtěla nechat. Změnilo se, co za ním stojí.

Kód za efektem
214 kB20 kB
Vykreslení hera
2,6 splynule

Fáze 01Vizuální jazyk

Prémiovost není lesk. Je to sebejistota nechat na stránce prázdno.

Sekce pod herem vznikaly každá zvlášť a bylo to na nich poznat: tři různé černé, dvě jména pro tutéž mátovou a písma stahovaná ze tří odkazů na Google Fonts. Každá sekce sama o sobě vypadala v pořádku. Vedle sebe působily jako čtyři weby.

Sjednotili jsme to na jeden materiál: Archivo Black na nadpisy, Archivo na text, jediný podklad a mátová jako jediný akcent. Písmo leží na vlastní doméně, žádný požadavek na Google.

Případové studie mají vlastní podsystém: jiné písmo, ještě tmavší podklad a zlatou jen tam, kde patří k identitě klienta. Není to nálada. Je to systém, kterým jde obhájit každá barva na stránce.

VzorníkČtyři fragmenty, jeden systém

Podklad

#030305
#080808
#08090b
#08090bjediný podklad

Mátová

--neon-cyan
--mint
#66FCF1jeden token

Písmo

<link 1>fonts.googleapis.comInter
<link 2>fonts.googleapis.comPoppins
<link 3>fonts.googleapis.comInter + Poppins
ArchivoArchivo Blackvlastní doménažádný požadavek na Google

Případové studie

#020203ještě tmavší podklad
zlatájen u studie Moje zlato

Fáze 02Hero

Zadání znělo: nechte to vypadat stejně.

NETMA si hero chtěla nechat. Líbilo se jí a lidé si ho se značkou spojovali. Úkolem nebylo vymyslet nové, ale to stávající doladit, přepsat z pluginu do vlastního kódu a hlavně zrychlit. Že nová verze vypadá skoro stejně jako stará, není nouze. Je to splněné zadání.

Kouř poháněl doplněk Slider Revolution pro dynamiku tekutin a WebGL vrstva, kterou potřeboval, dohromady 214 kB cizího kódu. Napsali jsme vlastní Navier–Stokesův solver na WebGL2 o 20 kB, po kompresi 5,5 kB. Parametry jsme nevymýšleli, opsali jsme je z panelu pluginu: vír 15, rozptyl hustoty 0,69, tlak 0,75. Není to nápodoba. Je to přenos.

Proto tu nefunguje obvyklá dvojice před a po: viděli byste dva skoro stejné obrázky. Rozdíl je jinde: staré hero se sekalo a načítalo 2,6 s, nové jede plynule.

Kouř zůstal. Plugin ne.

Slider Revolutionpanel pluginu

fluid.jsnáš kód

  1. Curl15CURL:15
  2. Radius15SPLAT_RADIUS:0.15
  3. Density69DENSITY_DISSIPATION:0.69
  4. Velocity96VELOCITY_DISSIPATION:0.96
  5. Pressure75PRESSURE:0.75
  6. Color 1#66fcf1colorA
  7. Color 2#8e8e93colorB
  8. Color Change Timed1COLOR_CYCLE:1.0

Fáze 03Pohyb jako materiál

Animace, která běží pořád, není efekt. Je to hluk.

V heru jede místo kurzoru mátová koule s režimem prolnutí difference: text se pod ní invertuje, takže nadpis čte i pod ní. Jakmile ukazatel opustí hero, koule se prolne do jednoduchého kurzoru. Rozhoduje o tom jediný skript; původně na stránce běžely tři nezávislé kurzorové systémy, každý z jiného fragmentu.

Karty se naklánějí podle ukazatele. Na dotyku až po prodlevě 100 ms v okruhu 10 px, aby se náklon nepral se scrollem, když člověk jen jede prstem po stránce.

A pak disciplína, kterou nikdo nevidí, ale každý pozná. Kouř se mimo obraz zastaví. Trvale povýšených vrstev ubylo z 21 na 8. Na telefonu zmizelo všech 12 rozmazávaných vrstev. Pohyb se tu dávkuje, ne rozdává.

Ukázka · hero NETMA

Text pod koulí se invertuje. Čte se dál.

PráceKontakt

300 px koule · 0,2 v klidu · 0,34 nad odkazem · 1 nad nadpisemNa dotykovém displeji se efekt nespouští – kurzor, který by ho řídil, tam není. Koule proto stojí a ukazuje jen výsledné prolnutí.

Fáze 04Co jsme vyhodili

Třetí slib jsme škrtli. Místo něj tři čísla, na která jde kliknout.

V sekci O nás stály tři marketingové sliby. Sliby se píšou snadno a čtou se ještě snadněji. Třetí jsme nahradili třemi čísly z práce NETMA: 47,6 milionu obratu, ROAS 82, proklik za 1,15 Kč. Každé vede do studie, kde je k němu rozepsaný výpočet.

Druhý škrt míří dovnitř. Na kartách se nabízely ikony: vlaštovka, terč, žárovka. Vypadaly dobře a neznamenaly nic: každá z těch metafor by seděla na kteroukoli ze tří karet. Místo nich tam stojí číslice 01–03, které navazují na číslování služeb o sekci níž.

Dekorace, která nenese informaci, je jen šum s dobrým vkusem.

  1. 01Rozumíme vašemu byznysu.
  2. 02Data místo dojmů.
  3. 03Máme výsledky, které mluví za nás.
Třetí slib nahradila tři čísla. U každého je na jeden klik výpočet.

Fáze 05Konstrukce

WordPress ven, statika dovnitř.

Nový web je čisté HTML bez build kroku. Jediná serverová část jsou dvě funkce: sken webu a odeslání přihlášky. Homepage si při načtení stáhne 63 kB JavaScriptu včetně celého solveru kouře; původně stálo přes 250 kB jen samotné hero.

Přechod nesměl nic rozbít. Na staré adresy případových studií odkazují cizí weby, takže je deset pravidel přesměrovává trvalým 308 na nové. Odkazy fungují dál a vyhledávače vědí, kam se obsah přestěhoval.

Žádný plugin k aktualizaci. Žádná databáze. Žádný build, který by se musel udržovat.

JavaScript při načtení · stejné měřítko

Původní hero, samo o sobě

250+ kB

JavaScript a fonty pluginu

Dnešní homepage, celá

63 kB

z toho 20 kB vlastní solver kouře

Vlevo stojí jen hero, vpravo celá stránka – srovnání je schválně v náš neprospěch. Fonty (88 kB) jedou z vlastní domény, deset starých adres WordPressu vede na nové trvalým přesměrováním.

Důkaz

Číslo bez výpočtu je marketing. Číslo s výpočtem je důkaz.

Obě případové studie na webu NETMA stojí na jednom pravidle: u každého čísla je vidět, odkud je. Moje zlato neuvádí 47,6 milionu jako tvrzení, ale jako součet: 37,01 z Mety a 10,6 z Googlu. A hned vedle přiznává, co sečíst nejde: organické profily vlastní tržby přiřazené nemají, a vydávat u nich číslo by byl odhad, ne měření.

To pravidlo se obrátilo i proti nám. U druhé studie stránka tvrdila cenu prokliku −1104 %. Snížit cenu o víc než sto procent nelze: šlo o dvanáctkrát levnější proklik, vydávaný za procenta. U CTR jsme dohledali zdroj a opravili průměr trhu. Všude, kde se to číslo objevilo, včetně náhledového obrázku pro sociální sítě.

Chybu jsme nenašli v datech. Našli jsme ji v tom, že čísla na stránce nešla sečíst.

Moje zlato · přiřazené tržby

37,01Meta Ads10,6Google Ads47,61součetM Kč

Organické profily a branding tržby přiřazené nemají. Vydávat u nich číslo by byl odhad, ne měření – a tenhle součet by přestal být kontrolovatelný.

Oprava · cena prokliku

13,85Kč dřív1,15Kč dnes12,04× levnější

Na stránce přitom stálo −1104 % – o víc než sto procent cenu snížit nelze. Není to překlep v datech, je to špatná jednotka: násobek vydávaný za procenta.

Akvizice

Nechtěli jsme po lidech hovor dřív, než jim něco dáme.

Tlačítka v hlavičkách vedla na rezervaci hovoru, tedy „věnujte nám půl hodiny“. Otočili jsme to. Návštěvník zadá adresu svého webu a server ho opravdu projde: hledá měřicí a reklamní kódy, lišty souhlasu a základy SEO. Výpis běží naživo, řádek po řádku, jak přichází ze serveru. Za zhruba sekundu má člověk skóre z devíti a teprve pak se ho ptáme, jestli chce spolupracovat.

Nástroj má jedno pravidlo poctivosti: nikdy nepíše „nemáte pixel“, vždycky „nenašli jsme“. Měření nahrané za běhu nebo ze serveru ze zdroje stránky vidět není, a vydávat to za nález by bylo lhaní s dobrým úmyslem.

A detail, který v B2B prodává víc než design: sken stahuje adresu, kterou zadal cizí člověk, takže je to učebnicový cíl útoku. Odmítá přihlašovací údaje v adrese a teprve po překladu jména odmítne i vnitřní síť: loopback, adresu metadat cloudu, privátní rozsahy i IPv4 zabalenou do IPv6.

Vědomá ztráta

Web nemá cookie lištu. Marketingová agentura se tím připravila o vlastní retargeting.

Zápis identifikátoru do prohlížeče je v Česku od ledna 2022 možný jen se souhlasem. Pro web to znamená volbu: buď lišta souhlasu a s ní retargeting, nebo ani jedno. NETMA zvolila čistý první dojem – a tím i to, že žádný marketingový identifikátor se do prohlížeče nezapíše.

Neznamená to, že web neměří. Návštěvnost se počítá hned, Google Analytics se načte až po první interakci a běží se zamítnutým souhlasem, takže nezakládá své identifikátory. Do prvního pohybu tak stránka nestáhne nic z cizí domény.

Cena je skutečná: konverze v Ads jsou neúplné a Meta Pixel na webu není. Byla to vědomá volba, ne opomenutí.

Řemeslo

Web působil v pořádku. Audit našel, že čtečka obrazovky dostávala na mobilu rozbitý strom.

Přepínač služeb je na desktopu sada záložek. Na úzkém displeji se panel přestěhoval dovnitř seznamu záložek, kam patří jen záložky. Čtečka obrazovky pak dostala strukturu, která nedávala smysl. Oprava nebyla doplnit atribut. Byla uznat, že na dotyku to už záložky nejsou, a udělat z nich harmoniku.

Stejně tiše přibylo chybějící ohraničení hlavního obsahu, srovnaly se tři kontrasty a IČO v patičce z 2,65 na 4,66 : 1, nad hranici WCAG AA. Loga klientů po převodu do WebP klesla ze 474 na 142 kB.

Pod tím leží vrstva, kterou neuvidí nikdo: serverové funkce, formulář přes ověřenou doménu, bezpečnostní hlavičky a pravidla cache. Mobil dnes v Lighthouse dává 100 ve všech čtyřech kategoriích, desktop 99 ve třech měřeních za sebou.

Naměřeno · před → po
Kontrast IČO v patičce
z 2,65na 4,66: 1
hranice WCAG AA 4,5 : 1
Klientská loga (WebP)
z 474na 142kB
Rozmazávané vrstvy na mobilu
z 12na 0
Trvale povýšené vrstvy
z 21na 8
Výška sekce DNA na mobilu
z 1575na 1063px

Lighthousemobil 4 × 100desktop 99

Závěr

Kdybychom to neuměli na vlastní rodině, neměli bychom to prodávat.

Web běží od přelomu srpna a září. Vypadá tak, jak si ho NETMA přála – kouř v heru zůstal, vizuální jazyk zůstal, hlavička zůstala. Změnilo se to, co vidět není: stránka se načte zlomkem původního kódu a na telefonu se přestala sekat.

Nejvíc řemesla padlo do obou případových studií. Sdílenou kostru – hero, souhrn čísel, fázovou osu, roadmapu – má každá stejnou, zbytek si nese sama: šest panelů, které na webu existují jen jednou. Každá zakázka má jiná data a ta si žádají jiný vizuál, ne přebarvenou šablonu.

Výsledek téhle práce proto není v tabulce. Je v tom, jak se web chová, když na něj člověk přijde – nic neposkakuje, nic nečeká na doplněk, nic nevyskočí přes obsah. U agentury, pro kterou je vlastní web hlavní ukázka práce, se počítá přesně tohle.

Vypadá stejně. Chová se úplně jinak.

Metodika

Co v téhle studii nenajdete.

Ceny, rozsah zakázky ani interní čísla klienta. Všechno ostatní (velikosti souborů, skóre, přesměrování, chování formuláře) si můžete ověřit sami na www.net-ma.cz, v nástrojích vývojáře kteréhokoli prohlížeče.

Chcete být naší další případovou studií?

Popište nám projekt, nebo si nejdřív spočítejte, co by vám vlastní systém ušetřil.