Přejít na úvodní stránku

Lukáš Klika.cz

Co všechno umí tento web

Na začátku všeho byl blog...

Jako PHP programátor bych měl mít svůj vlastní web. Mám na mysli SKUTEČNĚ vlastní - mám na mysli hlavně kód. Tak jsem si naprogramoval vlastní blog, který od svého vzniku (21. 3. 2008) prošel poměrně velkými změnami. A stále prochází. Prakticky každý den pořád něco vylepšuji, dolaďuji či dokonce přidávám nové funkce. Vlastně víc než psaní článků do blogu mě baví psaní zdrojových kódů blogu :)

SEO - optimalizace pro vyhledávače

Velmi důležitá věc, která je však (pro mě) velmi jednoduchá na zpracování. Pro dobrou optimalizaci pro vyhledávače není třeba prakticky nic jiného, než dodržovat jisté zavedené standardy tvorby webu. Tento web je serverem seo-servis.cz ohodnocen počtem 100 bodů ze 100 (viz odkaz SEO v patičce).

Moje optimalizace pro vyhledávače funguje docela dobře, Google mě sice nechce moc posouvat nahoru, zato na Seznamu šplhám tak rychle, že se tomu sám někdy divím. Zkuste si například vyhledat "levný webdesign" a mezi těmi odkazy na různé firmy či živnostníky naleznete i odkaz na můj web a to dokonce hned na první straně! Moje SEO funguje.

Pár screenshotů z vyhledávačů ze dne 6. 1. 2010 (vyhledávače jsou dynamické, dnes to může být jinak):

Seznam.cz, "levný webdesign", 8. pozice
Seznam.cz, "abe's exoddus", 1. pozice
Seznam.cz, "saw 4", 1. pozice

Stránkování

Základní věc každého webu, který sype jeden článek za druhým. Nachází se ve spodní části webu - uživatel čte web (resp. projíždí nadpisy) shora dolů, když chce přejít na další stránku, klepne na ni.

Stránkování je samozřejmě dynamicky generované, tudíž po napsání dalších 10 článků se automaticky přidá další stránka.

Stránkování

Kategorie

Samozřejmostí běžných webů je logické rozřazení do kategorií. Na tomto webu je logika tak trochu problém už od začátku zvolením nevhodných názvů kategorií, tudíž některé články tak úplně nesedí. Toto se nově snažím řešit tzv. tagy (štítky).

Kategorie

Tagy (štítky)

Jeden článek může teoreticky sedět do více kategorií. Proto je každému článku přiřazeno několik klíčových slov, které tvoří tagy. Je možné klepnutím na tag zobrazit všechny články, které mají přiřazený stejný tag.

Tagy

Navigační lišta

Jde o tenkou lištu, která zobrazuje uživatelovu pozici na webu. Slouží pro lepší orientaci a pro rychlý přístup do nadřazených částí webu.

Navigace

Verze pro mobilní telefony

Každý slušnější web počítá i s mobilními návštěvníky. Ne každý má HTC Touch HD s obřím displejem a neomezený tarif s rychlým připojením, aby si mohl dovolit plnohodnotnou verzi webu. Proto vznikla velmi osekaná verze webu, která by měla fungovat správně snad úplně ve všem, neboť neobsahuje žádné styly :) Mobilní verze se nachází na m.lukasklika.cz nebo na lukasklika.cz/m.

Mobilní verze

RSS

Spousta uživatelů chce mít předhled o nových článcích, proto používají RSS čtečky. I tento web má své kanály. Mluvím v množném čísle, protože je možné sledovat buď všechny články, nebo jen články ve vybrané sekci (v budoucnu možná přidám i články podle tagu). Příslušný odkaz na RSS sekce se zobrazuje, pokud se uživatel nachází v nějaké sekci nebo si čte nějaký článek. RSS je samozřejmě dynamicky generované.

Komentáře

Je naprosto běžné, že uživatelé chtějí ke článku něco napsat. Ať už je to nějaký postřeh, nesrovnalost nebo dotaz, mělo by být uživateli umožněno se (svobodně) vyjádřit. Web nemusí ani být nijak extra navštěvovaný a komentovaný. Je to vidět i na tomto webu: spousta článků má nula komentářů a přece ta tu možnost komentování je. Občas se to prostě hodí.

Bohužel je tu jeden zádrhel, který potrápí hlavně uživatele - bez zaregistrování nic nenapíšou!

Uživatelé

Aby bylo zajištěno, že každý uživatel bude psát sám za sebe (ne za někoho jiného), je nutné se zaregistrovat. Registrace je však velice rychlá - stačí vyplnit čtyři políčka (jméno, e-mail a dvakrát heslo) a je to!

Zaregistrovaní uživatelé mají oprávnění číst některé články, které nejsou určeny anonymním čtenářům. Zaregistrovaným uživatelům je vyjádřen po přihlášení můj dík tím, že se jim skryjí reklamní bloky.

Už se tu někdo ptal na jednu zajímavou věc - proč prý ukládám e-mailové adresy, když se při registraci vůbec nekontrolují? Odpověď je jednoduchá - aby bylo možné si heslo v případě jeho zapomenutí obnovit. K ničemu jinému se nepoužívá a ani se nikde na webu nezobrazuje, takže není třeba se bát dalších spamů (může se jednou za čas stát, že napíšu nějakou informaci, ovšem to se zatím ještě nestalo ani jednou).

Zmíněná obnova hesla funguje velmi jednoduše: uživatel zadá do políčka svou e-mailovou adresu, kterou uvedl při registraci. Obratem mu přijde e-mail s dvěma odkazy: jeden odkaz celou operaci zruší (pro ten téměř nemožný případ, že by někdo uhádl uživatelovu mejlovou adresu) a druhý odkaz uživatele přesune na stránku, kde si může znovu své heslo nastavit.

Formulář na nastavení nového hesla se zobrazí pouze uživateli, který obdržel e-mail. V URL se nachází jedinečný identifikátor, složený ze 40 znaků (0-9;a-f), který by pro zneužití musel hacker rychle (dokud uživatel všechno nezruší nebo dokud si heslo nezmění) zjistit, aby mohl nastavit vlastní heslo a zmocnit se účtu.

"Widgety" (pracovní název)

Jedná se o miniaplikace, které se nacházejí v pravé části webu. Jejich účelem je dát uživateli další informace. Postupně plánuji jejich možnosti ještě více rozšířit. Jejich hlavní předností je využití technologie AJAX, díky které je možné kdykoliv dynamicky načítat vhodný obsah bez nutnosti znovu načíst celou stránku. Navíc si widgety pamatují svá nastavení.

Widgety jsou zatím ve stádiu vývoje a testování. Je nutné pro ně vytvořit jakési rozhraní, kterým se budou řídit všechny widgety. Kvůli komplexnosti a plánovaným možnostem je toto velmi obtížné a časově náročné.

Widgety

Dynamicky generované styly

Dynamické styly jsou na tomto webu použity například při volbě šířky monitoru - do cookie se uloží zvolená hodnota a ta je použita po celý zbytek sezení pro počítání správné šířky stránky.

Dynamicky generované scripty

Zatím nemám pro dynamicky generované scripty (myšleno JavaScripty) žádné využití, nicméně implementace je prakticky totožná s dynamickými styly.

CAPTCHA

Klasické opisování textu z obrázku. Slouží k ošetření formuláře před roboty a před blbci, kteří rádi mačkají F5 pro zahlcení databáze zbytečnými daty. Samozřejmě nechci, aby byla CAPTCHA příliš otravná, proto stačí opsat jen 4 znaky, nezáleží na velikosti písmen, uživatel nemusí rozeznávat nulu od O (vždy jde o nulu) a navíc se text zobrazuje takovou barvou, aby byl na pozadí vidět. Všimněte si prvního písmena, které je záměrně nastavené tak, aby nikdy nemělo příliš tmavou barvu. A pokud to stejně nemůžete rozluštit, stačí jen klepnout na obrázek a on se okamžitě vytvoří nový. To si můžete klidně vyzkoušet i na tomto náhledu.

Opište text z obrázku

Filtrování sekcí na úvodní stránce

Zaregistrovaným uživatelům dávám možnost si vybrat, jaký obsah si chtějí zobrazit na úvodní stránce. Mají tedy možnost skrýt články z některých sekcí podle vlastního výběru. Nastavení se automaticky pomocí AJAXu ukládá ihned po klepnutí na zaškrtávací políčko. Zvolenému obsahu se přizpůsobí i stránkování v dolní části - pokud uživatel odfiltruje 30 článků ze 100, zobrazí se mu odkazy pouze na stránky 0 - 70 namísto 0 - 100.

Filtrování

A spousta dalšího...

Samozřejmě to nejsou všechny věci, které tento web umí. Pozornější a šťouravější uživatelé si určitě všimnou dalších vychytávek, které mají zpříjemňovat pobyt na webu. Ať už jde o zbytečné tlačítko "celý článek" (článek je totiž možné zobrazit klepnutím na jeho nadpis) nebo o ještě zbytečnější tlačítko "sdílet na Facebooku", na tom nesejde. Prostě je to tady, ten web to umí a kdo chce, může tyto věci (svobodně) využívat.

Hledat

Vlastní vyhledávání