headerbanner

Hostshop - recenze stavu v roce 2013

Hostshop se od loňského roku vylepšil a mnohé, co jsem o něm psal, již neplatí. Některé dosud běžně dostupné funkce ale přesunul do nadstandardních balíčků.

Že se platí třeba za napojení na účetnictví je OK, ale zpoplatnění zasílání newsletteru zákazníkům nebo dopravy podle váhy a rozměrů patří mezi elementární funkce a zařazení do nadstandardu je docela hořká pilulka. Shop se díky "příplatkům" několikanásobně zdražil (hosting pro několik malých shopů dohromady je stále za celkem 60 Kč měsíčně, nyní nejlevnější nadstandardní balíček ale stojí 190, dražší 390 Kč/měsíc a příplatky se navíc počítají pro každý shop zvlášť) a poměr výkon/cena tak zůstává klíčovou výhodou spíš pro jednoduché shopy.

Hostshop sice stále považuji za dobré řešení zejména pro malé shopy a shopy s menší frekvencí nákupu, ale zřejmě mu chybí pevnější strategie rozvoje. Z novinek, které se objevují, neplyne žádoucí žebříček preferencí:

  1. uživatelská přívětivost pro návštěvníky (aby shop prodával),
  2. přívětivost pro vyhledávače (aby shop vůbec někdo nalezl) ,
  3. přívětivost pro administrátora.

Místo úpravy na pár minut s nejvyšší prioritou se  objevují programátorsky náročnější "vychytávky" pro administraci, které jsou z hlediska preferencí až druhé v pořadí. Navíc administrace jako celek je už dnes zastaralá, a ačkoli pracuje s jQuery knihovnou, nevyužívá běžných asynchronních postupů, jako je třeba změna pořadí položek přetahováním a pod. Při větším počtu položek se člověk "ukliká", většina postupů vyžaduje znovunačtení stránky a kdo nabídne moderní ajaxové řešení administrace za dobrou cenu, může Hostshopu zamotat hlavu.

Nyní se ale podívejme na konkrétní zdrojový kód frontendu, nejprve na sekci HEAD a na to, co je pro funkčnost shopu podstatné a co můžete relativně jednoduše srovnávat s jinými shopy.

Sekce HEAD - title a Open Graph

Do nejdůležitějšího tagu TITLE se automaticky připojuje část za svislítkem, což je možná dobré pro úplné laiky, ale znalí tak nad tagem ztrácejí plnou kontrolu.

spatne-fb-linky

Open Graph tagy jsou dobré pro facebookové "lajkování", ale og:image nabízí obrázky menší než požadovaných 200 px, což je chyba. V detailu zboží systém nabízí Facebooku náhled obrázku z karty, místo aby mu poskytl obrázek ve střední nebo plné velikosti.

OG meta tag title s autopropagačním textem Hostshopu se mi příliš nelíbí, i když jsem schopen pochopit námitku "takhle to prostě nabízíme a hotovo".

Rychlost načítání - gzip, ale množství CSS a JS souborů

Po mé loňské diskusi s helpdeskem o potřebě komprimovaného přenosu obsahu stránek se v administraci objevila volba "zapnout gzip" (důrazně doporučuji - proč přenášením nesmyslného množství dat ujídat uživatelům mobilních připojení z datového limitu). Není to sice dokonalé, protože třeba uživatelský hs-extra.css je stále zasílán v nekomprimované podobě, další soubory nejsou předem "minifikované" (tedy nemají odstraněné bílé znaky a zbytečné komentáře), navíc obsah nemá potřebné hlavičky pro internetové cache, takže všechny dotazy zpracovává server, ale částečný pokrok to je. Chybí však zrychlení spojením CSS (a obdobně javascriptových) souborů.

prilismnohocssajs

Prohlížeč uživatele se musí jen kvůli načtení CSS souborů 7x dotázat(!) serveru a časová režie HTTP dotazů je tak velká, že "gzipování" ve výsledku nic moc nezrychlí. To platí zejména pro homepage s minimem viditelných karet nebo pro ostatní stránky (kontakty, obchodní podmínky). Pro zobrazení kategorií zboží s velkým množstvím náhledových obrázků to už tolik podstatné není, protože každý obrázek generuje další HTTP dotaz. Nicméně - rychlost má vliv na pořadí v Google a každý stupínek nahoru znamená větší šanci na prodej zboží.

Open Graph tagy jsou dobré, ale daly by se oželet. Mnohem lepší by ovšem byl link na kanonické stránky, který by Google jasně dal najevo, na které adrese je klíčový (hlavní) obsah. Facebooková "přítulnost" (byť tak nešťastně degradovaná malým obrázkem) je dobrá jen pro některé shopy, ale přítulnost ke Google je podstatná pro všechny. A Googlu se přirozeně nelíbí, když se na webu nedokáže orientovat, když nerozezná, která ze stran je jen jinak seřazeným nebo modifikovaným zobrazením. Nespokojeně pak hlásí, že tyto stránky mají stejný titulek nebo meta tag description. Netuší, že kanonický obsah, tedy jakési "kompletní hlavní sdělení" (které je na detailech zboží nebo na stránce typu "obchodní podmínky" a pod.), na těchto stranách není:

hlavicky-google

Když už jsem u Google - shop automaticky umísťuje skritp pro měření Google Analytics až na konec stránky, ačkoli Google jasně říká, že má být v sekci HEAD. Skript na konci je důsledkem nemoudře aplikovaného - a zde v zásadě neplatného - faktu, že stránka se načítá až po načtení skriptu. Vzhledem k dříve zmíněnému počtu javascriptů (včetně celé knihovny jQuery), které naopak jsou v sekci HEAD, je přesunutí malého meřicího skriptu nakonec z hlediska rychlosti neúčinné. Protože se jedná o asynchronní skript, není překážkou ani případná pomalejší komunikace s Google servery a skript by prostě měl být v HEAD - protože to zajistí větší přesnost měření a Analytics může lépe "odchytit" i návštěvníky, kteří ze stránky prakticky okamžitě odejdou.

Pokud by se GA skript vkládal do HEAD, mělo by to ještě další výhodu - spolu s ním by šlo například vložit ověřovací META tag například pro Alexu. A vůbec nejlepší by bylo nechat na uživateli, co a kam chce vložit, tedy přidat do administrace pole s rozumně nastaveným filtrem, který by umožnil vložení korektních elementů do HEAD.

No a nakonec sice formální, ale eticky ne nepodstatný obsah HEAD.

spatne-copyright

Hostshop rozhodně není autorem ani majitelem copyrightu na stránky, vytvořené Hostshopem. V patě stránek to narozdíl od sekce HEAD přiznává:

copy-dole
Skutečným autorem webového obsahu je tvůrce šablony (což může být i designér Hostshopu v případě defaultní šablony) spolu s tím, kdo naplňuje obsah, copyright náleží provozovateli a Hostshop je tím, co stránky generuje.