No Future

Weblog přesunut na atd.havrlant.net

Nenechte uživatele čekat

17 listopad 2005, 14:03
rubrika XHTML-semantika

Co je horší než nelogicky uspořádaná stránka, nepodtržené a špatně výrazné odkazy, nesprávně formátovaný text nebo přemnoho animovaných gifů na každé stránce? Odpověď je jednoduchá – stránka, která se načítá déle, než si průměrný uživatel stačí uvařit kávu.

Není snad nic horšího, než když kliknete na odkaz a ještě dlouho vidíte, že se prakticky nic neděje. Támhle je načtený nějaký obrázek, počítadlo ukazuje kolikátý jste návštěvník, nahoře bliká relkamní banner, ale samotný obsah stránky nikde. To je pochopitelně špatně.

Z tohoto příkladu plyne jedno jednoduché ponaučení. Obsah stránky by měl být ve zdrojovém kódu pokud možno co nejvíce vepředu. Nemělo by před ním být velké množství obrázků – pokud možno žádný (i logo se může vkládat jako pozadí nějakého divu nebo až na konec stránky s tím, že se potom napozicuje nahoru). Stejně tak není dobré mít před obsahem spoustu externích skriptů jako vkládání reklamních bannerů nebo počítadel. Ve chvíli, kdy bude načtený obsah, uživatel si již může číst a mohou tak být vesele načítány další a další obrázky.

Dále si je nutné uvědomit, že pro každý externí objekt (obrázek, flash, css soubor atp.) musí být vyslán http požadavek, což znamená další zdržování načítání. Neboli jeden obrázek o velikosti sto kilobajtů se načte rychleji než sto obrázků každý o velikosti jeden kilobajt.

Poslední věc, kterou může webdesigner lehce ovlivnit, aby se stránka načítala co nejrychleji, je pochopitelně velikost stahovaného souboru. Což znamená upravit html kód (nebo css) tak, aby byl co nejmenší. Musíte si uvědomit, že každý zbytečný bajt může nepříjemně navýšit výslednou velikost souboru, tudíž je nutné, se takovýchto zbytečných bajtů zbavit. K tomu se moc nehodí novodobý a postmoderní jazyk xhtml, kde žádné z následujících úprav zdaleka nejsou validní, takže se hodí spíše na obyčejné a zastaralé html. Ale už jen tím, že se odhodlám psát v html namísto xhtml ušetřím několik bajtů, protože nemusím psát všude lomítka, nemusím psát namísto hodnotahodnota="hodnota" apod.

Úpravy v html kódu

Úpravy v css

h1, h2, h3, h4 {color:green; text-decoration:underline;font-style:italic;padding:5px;margin:10px;font-size:2em}

h2{font-size:1.8em}
h3{font-size:1.6em}
h4{font-size:1.4em}


Poznámka na konec: Tento článek je silně inspirovaný knihou Zrychlete své www stránky, kdo ji četl, patrně to již poznal. Chtěl jsem napsat takovýto článek již dlouho a na pomoc jsem si právě koupil tuto knihu, leč nic převratného v ní nebylo. Většinou potvrdila mé domněnky. Takže tento článek by se dal brát za krátký a stručný výcuc z oné knihy (plus několik mých postřehů, které v knize nebyly).

Nemá cenu optimalizovat pouze nějakou část kódu. Buď provedu optimalizaci všeho (nebo alespoň většiny) nebo vůbec. Nemá smysl si říct, no dobře, tak já vymažu všechny </li> a bude to. To nemá prakticky žádný význam. Já jsem se zde zabýval pouze html+css, protože javascript nebo třeba php neumím prakticky vůbec. Můžete také optimalizovat obrázky, tam se většinou projeví změna nejvíce.

Související:
Na co stránka při vykreslování čeká
Co ovlivňuje rychlost stránek

komentáře
  1. Lukáš - #
    —    18. listopad 2005, 11:42   

    „Vynechte zbytečné ukončovací tagy“… „Nepoužívejte uvozovky, když nemusíte“… „většina vyhledávačů klíčová slova stejně nebere v potaz“

    Tak to je snad špatný vtip :))). To by mě zajímalo, kdo hlavně ty první dvě „pravidla“ vymyslel, jistě to byl nějaký velký profík :))).

  2. Timy - #
    —    18. listopad 2005, 11:56   

    Lukáš: Vítej, jmenovče. A k čemu jsou ukončovací tagy? Uvozovky jsou také vcelku k ničemu, když to prohlížeče berou a pokud vím, tak klíčová slova už bere v potaz snad jenom jyxo.

    Navíc všechny úpravy jsou validní.

  3. Lukáš - #
    —    18. listopad 2005, 14:22   

    Já vím z vlastní zkušenosti, že z webu stačí oddělat všechny tabulky, veškeré formátování zahrnout do CSS a strukturu stránky udělat pomocí divů a výsledné načítání je pak mnohem rychlejší, než u stejně udělaná stránky v tabulkách i bez ukončovacích tagů. A navíc je to i XHTML 1.1 validní.

    Tenhle článek si pak třeba přečte plno lidí, kteří se chtějí naučit tvořit web, a potom to taky tak dopadne – prasácký sránky s ještě prasáčtějším kódem :/. Dřív jsem to taky dělal tak, jak radíš, ale zjistil sem, že tudy cesta nevede… Tvoje změny jsou sice validní v HTML, ale to už se pěkně dlouho nevyvíjí, takže nevidím důvod, proč dělat v něm…

  4. Lukáš - #
    —    18. listopad 2005, 14:25   

    Teď mě tak napadlo… jak uděláš bez uvozovek:

    div style=font-size: 11px; border: 0px;

    Toto by asi neprošlo… a to je jen příklad.

  5. Timy - #
    —    18. listopad 2005, 15:13   

    Lukáš: prasácký sránky s ještě prasáčtějším kódem – nevybízím k prasáckému kódu. Všechny úpravy jsou html strict validní. Ale zase na druhou stranu – většina sránek bývá prasácká, už to tak bude;-)

    mnohem rychlejší, než u stejně udělaná stránky v tabulkách – v celém článku se spojení tabulkový layout nevyskytuje, nereaguj na něco, co jsem nenapsal. Já sám snad ani tabulkový layout neumím.

    Tvoje změny jsou sice validní v HTML, ale to už se pěkně dlouho nevyvíjí, takže nevidím důvod, proč dělat v něm – já zase nevidím jediný rozumný důvod, proč by měl průměrný (případně i neprůměrný) webdesigner psát v xhtml.

    K tomu tvému příkladu – viz článek: u každého atributu, v jehož hodnotě se nevyskytuje nějaký zvláštní znak – dvojtečka, středník, mezera. Navíc mě něco takového ani nenapadlo, to se přiznávám, měl jsem na mysli běžné html atributy, ne přímý zápis stylů.

  6. Lukáš - #
    —    18. listopad 2005, 15:36   

    „mnohem rychlejší, než u stejně udělaná stránky v tabulkách – v celém článku se spojení tabulkový layout nevyskytuje, nereaguj na něco, co jsem nenapsal. Já sám snad ani tabulkový layout neumím.“

    viz. "Vynechte zbytečné ukončovací tagy jako například , " (to byla reakce na toto) :)

  7. Lukáš - #
    —    18. listopad 2005, 15:37   

    Tak ještě jednou, „Vynechte zbytečné ukončovací tagy jako například /td, /tr“

  8. Timy - #
    —    18. listopad 2005, 15:47   

    No ale tabulka má i jiné uplatnění než tabulkový layout. Dokonce bych řekl, že i sémanticky správnější. A přesně v těchto případech nejsou ty ukončovací tagy nutné.

    I mimochodem – i stránka psaná v html může mít moderní css layout;-)

  9. Lukáš - #
    —    18. listopad 2005, 15:49   

    Dobře, dělej jak myslíš…

  10. Acci - #
    —    19. listopad 2005, 11:40   

    A proč se svými radami neřídíš? ;)

  11. Timy - #
    —    19. listopad 2005, 12:00   

    Acci: tak textpattern produkuje xhtml, takže se do toho jen těžko napasuje html. I když – zvaliduj si tenhle weblog… Musím s tím něco udělat, buď to přemluvím na html nebo se budu muset smířit s xhtml a psát xhtml.

    Jinak oflashi.net je moc velké, to se mi předělávat nechce (navíc tam 90% velikosti souboru tvoří prostý text – je to přece jenom informační web – který zkrátit nejde, protože je tak akorát) a na těch pár ostatních webů teprve přijde řada, neboj.

  12. Bubák - #
    —    30. listopad 2005, 19:57   

    Perfektní článek. 80% popisovaných věcí používám, na nadpisy používám stejnou vychytávku s hromadnou deklarací a následným přepisem pouze těch vlastností, které se mění. Jako perličku mám, že jsem v diskusi na JPW našel odkaz na CSS optimalizátor, pár lidí si pochvalovalo, jak jim smrsknul css kódy a po prohnání optimalizátorem mi vypadl delší kód, než jsem do něj vložil. Musím ale uznat, že pár míst skutečně zoptimalizoval lépe, než já. Jak se tak dívám na tvůj článek, i tobě by z optimalizátoru vypadlo větší CSS, než do něho „hodíš“.

  13. tracy - #
    —    25. leden 2006, 02:31   

    Skvělé. Při čtení mě však napadla ještě geniálnější myšlenka:

    Pryč s XHTML a zpět ke starému dobrému HTML! Proč psát tak dlouhé ‹br /›, když můžeme psát pouze ‹br›. To je úspora celých dvou znaků!! A to nemluvím o ušetřeném X v DTD…

    Děkuji za tento revoluční článek. Jsem rád, že alespoň někdo si uvědomuje rozsah, jakým tvůrci stránek plýtvají kapacitou linek. Tedy spíš ti tvůrci, kteří ještě neslyšeli o mod_gzip

Jméno
Zapamatovat
http://
Zpráva

formátování: *kurzíva* **tučné písmo** `kód` "text odkazu":cíl odkazu

Tady formátuje Texy!

Rubriky

  • No Future
  • Internet
  • Se špetkou ironie
  • XHTML a sémantika
  • Testy
  • Oblíbené weblogy

  • La Trine
  • Derův zápisník
  • Yuhůův weblog
  • acciBlog
  • Martyho weblog
  • Ronnieho weblog
  • zimmiho blog
  • conBLOG
  • Klokynov blog
  • Buchtič blog
  • Dům mlhy
  • Anne’s Weblog
  • Mabfredův básnický blog
  • Další odkazy

  • Sémantika
  • MiSHAK
  • můj starší blog
  • Textpattern česky
  • Textpattern oficiální web
  • Jakpsatweb
  • Kocourek Koudy
  • Webylon