OBSAH ÚVOD ............................................................................................................................................................... 7 1
VZNIK A VÝVOJ INTERNETOVÉ SÍTĚ ......................................................................................... 8 1.1 VZNIK INTERNETOVÉ SÍTĚ ............................................................................................................... 8 1.1.1 TCP (Transmission Control Protocol) .................................................................................... 10 1.1.2 IP (Internet Protocol) .............................................................................................................. 10 1.1.3 Aplikační protokoly TCP/IP .................................................................................................... 10 1.1.4 Nástup NSFNETu .................................................................................................................... 15 1.1.5 WWW prostředí a jeho vývoj ................................................................................................... 16 1.1.6 Vývoj internetu v České republice ........................................................................................... 17
2
ANALÝZA A PŘEHLED TECHNOLOGIÍ PRO TVORBU INTERNETOVÝCH APLIKACI . 19 2.1 2.2
3
TECHNOLOGIE NA STRANĚ KLIENTA .............................................................................................. 19 TECHNOLOGIE NA STRANĚ SERVERU ............................................................................................. 21
ÚVOD DO PROBLEMATIKY SEO.................................................................................................. 32 3.1 DŮVODY PRO VZNIK SEO ............................................................................................................. 32 3.1.1 Stručný úvod do SEO ............................................................................................................... 35
4
NÁSTROJE A MOŽNOSTI SEO ...................................................................................................... 37 4.1 ZÁKLADY OPTIMALIZACE .............................................................................................................. 37 4.1.1 Úvodní elementy analýzy ......................................................................................................... 37 4.1.2 On-page faktory stránky .......................................................................................................... 38 4.1.3 Off-page faktory stránky .......................................................................................................... 43 4.1.4 Black Hat SEO – podvodné techniky optimalizace .................................................................. 46
5
VYHODNOCENÍ UPLATNĚNÍ SEO ............................................................................................... 50 5.1 NÁSTROJE PRO VYHODNOCENÍ OPTIMALIZACE WEBOVÉ STRÁNKY ................................................ 52 5.1.1 Stručné vyhodnocení SEO........................................................................................................ 54
ZÁVĚR ........................................................................................................................................................... 56 SEZNAM POUŽITÉ LITERATURY ........................................................................................................... 57 SEZNAM OBRÁZKŮ ................................................................................................................................... 59 SEZNAM TABULEK ................................................................................................................................... 59
6
Úvod Internetová síť a podnikání v rámci ní je dnes běžnou a možná již nepředstavitelnou součástí našich životů. Pokud chceme najít nějaké informace, obracíme se právě na internet, jako na nevyčerpatelný zdroj informací, který se každým okamžikem rozrůstá nepředstavitelným tempem. Málokdo si však při surfování položí otázku, jak je ta webová stránka či aplikace udělaná. Na světě existuje mnoho programovacích jazyků, které jsou primárně určeny pro vývoj internetových aplikací. Některé jsou vhodné na malé aplikace typu osobních stránek apod. Jiné jako převodní můstek mezi různými jazyky. Další možnost je jejich použití jen na oblasti, kde daný programovací jazyk vyniká nad ostatními. Např. ve zpracování textových řetězců, manipulací s databázovým systémem, zabezpečením apod. Některé jazyky jsou navrhnuty, a počítá se s nimi na opravdu rozsáhlé a zatěžované aplikací, kde je nutná součinnost několika desítek programátorů a kde je zde zapotřebí vhodného vývojového nástroje a snadná tvorba dokumentace přímo v něm. První část této bakalářské práce je věnována zmapování vývoje nejvýznamnější sítě současnosti, jejím prvkům, které celou síť spojují do logického celku a zajišťují tak její fungování. Druhá tematická část se týká SEO optimalizace webových aplikací. Důležitá podmínka je nejen být na internetové síti, ale mnohem důležitější je být na ní také viděn. SEO v sobě obsahuje mnoho technik, které se stále vyvíjejí a zdokonalují stejně tak, jako vyhledávací algoritmy, jejichž autoři chtějí poskytovat stále relevantnější výsledky na hledaný dotaz. Trendem poslední doby, i když zatím ve velmi raném stádiu je nalezení hledaného výrazu, tak jak ho člověk zadal, tj. schopnost vyhledávacího robota porozumět lidským potřebám a zvykům při hledání a ne, aby se člověk přizpůsoboval vyhledávacímu stroji. Současné možnosti vyhledávačů jsou velmi značné nikoli však dokonalé a lze je snadno pomocí neetických technik přivést na stránku, která je ve vyhledávání velmi vysoko, ale nemá žádnou vypovídací hodnotu. Taková stránka je optimalizována jen k účelu přilákat návštěvníka na určité klíčové slovo, které se stránkou nikterak nesouvisí, ale může ho přimět kliknout na odkazy, které se na stránce nacházejí. Úspěšná optimalizace vyžaduje velké úsilí a analyzování speciálními nástroji k tomu určenými a rozhodně nekončí při zaregistrování stránek do několika katalogů. Odměnou za dobrou optimalizaci je však umisťování stránky na předních pozicích, které zajistí minimálně dobrou návštěvnost.
7
1 Vznik a vývoj internetové sítě 1.1 Vznik internetové sítě Během studené války ministerstvo obrany v USA naléhavě potřebovalo bezpečný systém velení (např. spojení důležitých vojenských zakladen), jež by umožnil spojit strategické počítače do jednotné sítě. Mezi hlavními požadavky bylo zachování funkčnosti sítě při výpadku dílčích uzlů, do té doby se používalo „centrální řízení“. To však během studené války nemohlo být použito, neboť nepřítel by se zaměřil na tento centrální systém jako první bod určený k likvidaci. Zakázka na vybudování takovéto sofistikované sítě byla zadána firmě RAND Corporation, která byla dodavatelem systémů obrany USA. RAND Corporation tento problém vyřešila a výsledky řešení byly roku 1964 i zveřejněny. Mezi hlavními body byla revoluční myšlenka decentralizovaného systému, jehož funkce nebude ohrožena výpadkem či zničením některé její části. Tato myšlenka spatřila světlo světa počátkem 60. let minulého století v USA a byla geniálně jednoduchá. Jednotlivé uzly sítě tedy byly koncipovány v zásadě tak, aby si byly rovnocenné a za předpokladu, že přenosy mezi uzly nebyly spolehlivé. Přenášená data byla rozdělena na jednotlivé části tzv. pakety. Každá část je samostatný prvek, který se dokáže dostat do cíle určení i po změněné trase následkem výpadku nějakého uzlu. Všechny části pracují nezávisle na sobě, mají pouze společnou cílovou adresu. Tato technika byla nazvaná přepojování paketů (packet switching). Dnes je uváděna jako datagramová služba (datagram service). Myšlenka rovnocenných uzlů na principu paketů sice vznikla v USA, ale poprvé byla implementována ve Velké Británii v roce 1968, a to v experimentální síti Národní laboratoře pro fyziku (National Physical Laboratory). Experimentální sít‘ poté zbudovali i Američané za podpory ministerstva obrany z její grantové agentury nazvané ARPA (Advanced Research Projects Agency). Odtud se sít‘ pojmenovala na ARPANET, i když později se agentura přejmenovala na DARPA (Defense Advanced Research Projects Agency), u názvu sítě ARPANET se už zůstalo. Prověřovalo se na ni zejména přepojování paketů a sloužila i jako spojovací článek do superpočítačů, umístěných na univerzitách. První uzly vznikaly přímo na univerzitách, jeden z prvních byl umístěn na uznávané University of California Los Angeles. Uzel byl realizován univerzálním počítačem Honeywell DDP516, který zprostředkovával
8
komunikaci. Přenosový protokol byl NPC (Network Control Protocol) a přenosová rychlost 50 kbps. První věta, která byla odeslána, zněla: „Are you receiving this?“. Psal se rok 1969 a základ pro síť ARPANET byl položen. Tvořily ho 4 uzly: University of California Los Angeles, Stanford Research Institute, UC Santa Barbara a University of Utah v Salt Lake City. Za dva roky, v roce 1971, již měl ARPANET 15 uzlů a rychle rostl. O rok déle to již byl více než dvojnásobek a roku 1973 se k němu připojily uzly umístěné ve Velké Británii a Norsku. Vedle původní myšlenky využití výpočetních kapacit a spolupráce na vojenské a vědecké činnosti se síť využívala i na zcela lidskou komunikaci o aktuálním dění mezi oceánem. Možnost běžné lidské komunikace se stala základem rozšíření sítě i mezi laickou veřejnost. Postupem času, jak začal ARPANET růst do počtu uzlů, začalo se postupně pracovat i na jeho technickém zdokonalování, zejména na technice přenosu. Původní protokol NCP přestával vyhovovat a začal se prosazovat protokol TCP/IP (Transmission Control Protocol / Internet Protocol). Základní koncepce byla spolehlivost. Zajištění spolehlivosti byla však při přenosu věnována určitá část režie, která se odrazila v nižší přenosové rychlosti. V protokolu TCP/IP je schována celá množina protokolů, které tvoří páteř komunikace i v dnešní internetové síti a nepochybně i v budoucnu, proto je vhodné popsat tento významný protokol detailněji, včetně jeho vybraných aplikačních protokolů. Nejprve však bude nastíněn krátký historický přehled: • • • • • • • •
1973 - Myšlenka protokolu TCP/IP prvně představena veřejnosti na konferenci v Anglii 1974 - Koncepce TCP/IP byla publikována v IEEE Transaction on Computers (C. Cerf a R. Kahn) 1977 - První praktické vyzkoušení 1978 - 1979 - Protokoly TCP/IP získávají „dnešní“ podobu 1980 - Ministerstvo obrany USA schválilo protokoly TCP/IP 1982 - Ministerstvo obrany USA nařídilo použití protokolů TCP/IP u všech sítí nově připojovaných k síti Internet 1. 1. 1983 - Celý Internet přechází na protokoly TCP/IP. Použití zastaralého protokolu NCP bylo ukončeno 1983 – 1986 - Využití protokolů TCP/IP v praxi Autorství TCP/IP protokolu je připisováno americkému informatikovi Vintovi
Grayi Cerfovi (v současné době pracuje ve společnosti Google) a jeho kolegovi Bobovi Kahnemovi. [1]
9
1.1.1 TCP (Transmission Control Protocol) Tento protokol má na starosti transportní vrstvu, získává elektronické zprávy a převádí je do sekvence paketů (většinou je velikost paketu 64 kb) a poté je opět sestavuje v cílovém uzlu sítě. Řídící software může díky tomu posílat zprávy po částech a každou zkontrolovat. Pokud se paket nepřenese, přenos se znovu opakuje, při chybě se tedy odešle jen chybná část nikoliv celek.
1.1.2 IP (Internet Protocol) IP protokol obstarává validaci každého paketu a jeho adresování i přes sítě, které pracují s odlišnými komunikačními protokoly, tj. nejen s NCP protokolem, ale i Ethernetem, FDDI nebo X.25. Zajišťuje též posílání paketů ve správném pořadí i s ohledem na cesty přenosu. Verze IP V současné době je nejpoužívanější verzí číslo 4, která je známá pod zkratkou IPv4. Tato verze již však pomalu přestává vyhovovat (rozsah 32 bitové adresy je v řádu několika miliard), proto se připravuje jeho nástupce v podobě IPv6 (verze IPv5 byla „přeskočena“ – sloužila pouze pro testovací účely), který má rozsah adresy 128 bitů. IPv6 je mnohem dokonalejší a navíc má v sobě i podporu bezpečnosti, podporu pro mobilní zařízení, které ve stále větší míře umožňují připojení ke světové síti, takže mnohem více odráží v sobě současné požadavky. IPv6, pokud to provider umožní, je koncipované pro snadný přechod od IPv4. Podporu IPv6 v sobě již implicitně mají moderní operační systémy jako např. WindowsXp, Mac OS X, Linux. Bude však nutné upravit síťové aplikace.
1.1.3 Aplikační protokoly TCP/IP V současných aplikacích se vyskytuje velké množství protokolů a dále přibývají. TCP/IP zastřešuje v sobě mnoho protokolů, proto se o nich mluví v množném čísle. Uvedeme si některé významnější aplikační protokoly, které dnes neodmyslitelně patří do rodiny protokolů TCP/IP.
10
Vznik a stručný popis vybraných aplikačních protokolů TCP/IP 1. HTTP (HyperText Transfer Protocol) HTTP je relativně mladý komunikační protokol, jehož první oficiální verze pod číslem 0.9 byla uvedena v roce 1991. Umožňuje komunikaci mezi webovými servery na jedné straně a klienty (prohlížeči) na straně druhé. Klient vyšle požadavek na webovou stránku a server mu odpoví zasláním požadované stránky. Nevýhoda protokolu zejména pro vývojáře je jeho bezestavovost, při každém dalším požadavku se vytvoří nové spojení a staré zanikne, server si tedy neukládá žádnou historii a navazující požadavek řeší jako by byl první. Současná nejaktuálnější verze je 1.1.
2. FTP (File Transfer Protocol) Protokol s bohatou historií, jehož první RFC (Request for Comments) norma pochází z roku 1970. Je určený pro přenos souborů. V síti musí být dostupné FTP servery, které umožní vzdálený přístup do jejich úložiště. Spojení se serverem zprostředkovává FTP klient, pomocí něhož uživatel data může buď na server umístit (upload) nebo naopak stáhnout (download). V rámci FTP může mít každý uživatel nadefinovaná svá individuální přístupová práva. V základu FTP protokol neobsahuje řídící instrukce pro šifrování.
3. SMTP (Simple Mail Transfer Protocol) Tento protokol byl navržen pro komunikaci mezi poštovními servery a byl definován v roce 1980. Při odeslání elektronické pošty se předpokládá existence cílového adresáta. Pokud se nepodaří spojit s přijímacím poštovním serverem, proces odeslání se opakuje. Protokol standardně nepoužívá žádné šifrování. V součastné době se již většinou standardní SMTP nepoužívá a byl nahrazen rozšířenou verzí ESMTP, který definuje nové příkazy pro navázání spojení, potvrzení o přijetí zprávy apod.
4. POP3 (Post Office Protocol, verze 3) POP3 protokol byl standardizován v roce 1996. Jeho účelem je jednoduché a rychlé stahování elektronické pošty. Komunikace probíhá střídavě mezi klientem a serverem. Postupně je nahrazován IMAP protokolem.
11
5. IMAP (Internet Message Access Protocol) IMAP je složitější a propracovanější protokol než POP3. Je optimalizován pro dlouhodobé připojení v rámci zpracování el. pošty. Navíc umožňuje práci se zprávami i na straně serveru, kde zprávy zůstávají i po stažení. Dále je optimalizován pro práci s mobilními zařízeními, které nemají požadovanou rychlost stahování a využijí tak možnost selektivního načítání emailových zpráv. IMAP byl vyvinut Markem Crispinem v roce 1986.
6. NNTP (Network News Transfer Protocol) Tento protokol byl navržen pro diskuzní skupiny, kterým umožňuje se aktivně podílet na obsahu diskuzí. Veřejnou složku lze přes protokol NNTP zobrazit pouze tehdy, pokud její název neobsahuje prázdnou mezeru nebo tečku. Zabezpečená verze NNTP je skryta pod zkratkou NNTPS a komunikace je šifrována pomocí SSL. NNTP vznikl v roce 1986.
7. SNMP (Simple Network Management Protocol) SNMP protokol se začal vyvíjet od roku 1988 jako nástroj pro správu počítačové sítě. Podporu tohoto protokolu mají v sobě vestavěné i velmi rozšířené programovací jazyky (PHP, Python, Java, ASP). Umožňuje příjem a zpracování asynchronních událostí, průběžné shromažďování dat a jejich vyhodnocování.
8. NFS (Network File System) NSF protokol je využíván zejména v lokálních sítích. Na rozdíl od FTP protokolu je zajištěno, že uživatel své soubory vidí jako místní a nemusí se připojovat, aby data získal či jinak speciálně manipuloval s těmito daty. Tato data jsou tedy od lokálních nerozeznatelná a jsou označována jako plně transparentní. Technologie NFS byla uvedena a bezplatně licencována v roce 1984.
9. Telnet (Telecommunication Network) Jeden z nejstarších protokolů (prvně byl termín Telnet použit v roce 1969), který má kořeny již v síti ARPANET. Je postavený na aplikační vrstvě, která umožňuje vytvořit spojení na straně klient-server. Umožňuje též uživateli využít podobná práva pro spouštění programů, jako má uživatel na cílové stanici nebo využít výpočetní prostředky daného
12
počítače. Telnet je nezávislý na platformě (uživatel s operačním systémem MS Windows tak může pracovat s Unixovými aplikacemi a naopak). Ovšem je důležité, aby se obě strany dohodly na pravidlech komunikace. K záporným vlastnostem patří bezpečnost. Protokol vznikl v roce 1969, kdy na nebezpečnost nebyl brán takový ohled jako dnes a počet uživatelů internetu, kteří chtěli získat neoprávněně data, byl veskrze nulový. Protokol Telnet byl postupně nahrazen šifrovaným a tedy o hodně bezpečnějším protokole SSH.
10. NTP (Network Time Protocol) Jeden ze starších internetových protokolů (první implementace se datuje kolem roku 1980) sloužící k synchronizaci časových údajů, které si mohou dílčí uzly nastavit individuálně. Synchronizační proces může například komunikovat vztahem klient-server, kdy server předá na požádání klientovi údaje o čase nebo formou Peer (rovný s rovným). V tomto případě si minimálně dva stroje vymění přesný čas s tím, že ten s přesnějším časem má funkci serveru.
11. LDAP (Lighweight Directory Access Protocol) Protokol vyvinutý pro práci s daty na adresářovém serveru, kde jsou položky uloženy ve stromové struktuře. Je vhodný pro vyhledávání strukturovaných dat s informacemi o uživatelích. Komunikace probíhá na úrovni klient-server, tj. klient naváže komunikaci a proběhne autentizace. Poté již může klient provádět různé operace nad adresářem. Tento protokol vznikl roku 1995 jako odlehčený standard x.500.
12. WHOIS WHOIS je protokol pro vedení databáze a vyhledávací služba v této databázi. Zprostředkovává údaje o internetových doménách a vrací strukturovaný záznam o ní. Dokonalejší verze je tzv. WHOIS (referral WHOIS). Služba je zpravidla součástí webových stránek u registrátorů domén. Standardizován byl v roce 1980. [2]
13
Síťový model protokolu TCP/IP: 1. Aplikační vrstva - (HTTP, POP3, …) 2. Transportní vrstva - (TCP) 3. Síťová vrstva - (IP) 4. Vrstva síťového rozhraní - tato vrstva se netýká přímo TCP/IP. V této vrstvě se přímo použijí fyzické přenosové protokoly jednotlivých druhů sítí (např. Ethernet, Token Ring)
Obr. 1 Schéma zapouzdření dat v síti TCP/IP dle [14] 1. Aplikační vrstva Tato nejvyšší vrstva neobsahuje nástroje pro šifrování, synchronizaci přenosu, konverzi dat atd. Je nutné, aby tyto funkcionality obsahovala samotná aplikace. Aplikační vrstva slouží ke komunikaci s uživatelským rozhraním aplikace, z které je možné její další ovládání. 2. Transportní vrstva Transportní vrstva je nejčastěji provozována právě TCP protokolem. Sice se nachází nad síťovou vrstvou, ale zpravidla neobsahuje mechanismy spolehlivosti přenosu. Je to však dáno typem aplikace, některé aplikace například prvky spolehlivosti nevyžadují. Dalším protokolem, který se používá v transportní vrstvě, je protokol UDP (User
14
Datagram Protocol). UDP na rozdíl od TCP nezajišťuje spolehlivost přenosu, tedy pro aplikace, které to na úrovni transportní vrstvy nevyžadují. 3. Síťová vrstva Priorita této vrstvy je zprostředkovat maximální přenosovou rychlost. Je to však vykoupeno spolehlivostí, kterou přejímají vyšší vrstvy TCP/IP modelu. Nedá se však tvrdit, že se nestará o bezchybný přenos. Pouze se nestará o data, která byla při přenosu poškozena či ztracena. Data posílá po datagramech (blocích), které obsahují cílovou adresu. Avšak nepočítá se spojením na adresáta při začátku přenosu. Tímto chováním je zabezpečen přenos dat, protože nastane-li někde na cestě výpadek, datagramy si sami zvolí cestou jinou. 4. Vrstva síťového rozhraní Je možné pro tuto vrstvu použít i název Ethernetová vrstva, z důvodů připojování uzlů na lokální sítě typu Ethernet. Vrstva síťového rozhraní může být tvořena jednoduchým ovladačem v případě připojení lokální sítě nebo může tato vrstva představovat složitou podmnožinu s vlastním přenosovým protokolem. Její protokoly umožňují vzájemnou komunikaci systémů v síti, musí ale vědět na rozdíl od vyšších vrstev, jaké jsou detaily konkrétní sítě. IP adresy převádí na fyzické adresy dle typu média. [16]
Úspěch TCP/IP Model TCP/IP požadovanou problematiku přenosu elegantně vyřešil. Bylo tedy zajištěno spojení mezi různými druhy sítí s přihlédnutím na optimalizaci spojení i při výpadku části sítě. Pomocí TCP/IP byly od roku 1977 k ARPANETu připojovány další sítě. V roce 1983, který byl do té doby pod kontrolou ministerstva obrany, se oddělila vojenská složka pod názvem MILNET. I když se ARPANET rozrůstal, nedokázal držet krok s tempem připojením jiných počítačů.
1.1.4 Nástup NSFNETu Jedna z nejvýznamnějších sítí, která využila stávajícího ARPANETu, byla akademická síť NSFNET, která byla založena institucí NSF (National Science Foundation). NSF má na starosti podporu vědy a výzkumu v USA. Její výpočetní střediska vybavená superpočítači potřebovala vzájemně propojit, aby je mohlo využít co nejvíce
15
vědců. S vedením ARPANETu však nebylo možné se dohodnout, a tak NSF vybudovala vlastní síť NSFNET. Obě sítě se propojili a staly se součástí internetu. Agentura NSF disponovala velkými finančními prostředky, díky nimž se k NSFNETu připojovaly další akademické organizace. V roce 1987 se pro vzájemně propojené sítě zrodil název Internet. Přenosová rychlost 56 kbps, která byla využívána při zrodu sítě již přestala rychle se rozrůstající síti vyhovovat. Ve zvyšování přenosové rychlosti však nestálo nic v cestě, tak např. v roce 1989 byly páteřní spoje NSFNETu připojeny rychlostí 1,54 Mbps. Později přenosová rychlost ještě vzrostla, a to na 45 Mbps. Postupně byl ARPANET z role páteřní sítě vytlačován, tj. zprostředkovatele největší části provozu v rámci Internetu, která byla roku 1990 definitivně v tajnosti zrušena úplně. Veškerou úlohu páteřní sítě přebral NSFNET, na kterém spočívala celá soustava sítí, která tvořila Internet.
Nahrazení NSFNETu komerčními sítěmi NSFNET pokračoval ve svém rozvoji a technickém zdokonalování z výzkumné sítě na síť určenou na běžný přenos objemných dat. Agentura NSF (správce páteřní sítě internetu) si však postupnou změnu ve využití sítě ke komerčním účelům uvědomila a NSFNET se rozhodla postupně odstavit. Tak se opakovala stejná situace jako v případě ARPANETu. V roce 1992 bylo povoleno připojení prvním komerčním sítím a tyto sítě postupně vytvořily páteřní síť. [17]
1.1.5 WWW prostředí a jeho vývoj Rozmach mezi uživateli způsobil rok 1989, kdy vznikly první hypertextové dokumenty, které byly vzájemně provázány odkazy na další dokumenty umístěné na jiném počítači kdekoliv na světě. Toto pracovní prostředí bylo pro uživatele velmi jednoduché a získalo si nesmírnou oblibu mezi velmi rychle rostoucím počtem uživatelů. Dnes je toto prostředí známe jako World Wide Web a je řízeno W3C konsorciem, které se stará o vývoj a tvorbu internetových standardů. Předsedou W3C je Tim Berners-Lee, který je autorem základních pilířů internetu (WWW, URL, HTTP a HTML). První WWW server a klient byl zrealizován v roce 1990 ve středisku CERN (Evropská organizace pro jaderný výzkum). V roce 1992 bylo připojeno k Internetu již milión počítačů a o rok později, kdy vznikl v americkém Národním středisku první uživatelsky přívětivý WWW klient Mosaic, to bylo již více než 1,5 miliónů počítačů. WWW klienty pak rozšířila v roce 1994 společnost Netlape Communication Corp, která
16
vytvořila dlouho nejpoužívanější prohlížeč Netscape Navigátor, který byl však postupně vytlačen Internet Explorerem od společnosti Microsoft, zejména díky integraci v operačním systému Windows, jinak tento prohlížeč byl v porovnání s Netlape Navigátorem krokem zpět. V současné době jsou nejpoužívanějšími prohlížeči Mozilla Firefox, Inernet Explorer a Opera, pro které se taky WWW stránky či aplikace nejčastěji odlaďují. [18] Vedle služby WWW existovala služba Gopher. Její výhoda spočívala v nenáročnosti na přenosovou kapacitu, nevýhoda pak byla, že nedokázala vizuálně nabídnout takové možnosti jako WWW a postupně upadla v zapomnění.
Obr. 2 Gopher dle [15]
1.1.6 Vývoj internetu v České republice V době kdy se začínal rodit ARPANET, byly u nás k dispozici sálové počítače pracující s děrnými štítky (Ruský MINSK a později TESLA 200). Přelomovým rokem byl rok 1976, kdy byl zakoupen britský systém ICL 4-72, který byl instalován na ČVUT a na Karlově Universitě v Praze. Jednotlivé stanice byly propojeny s centrálním počítačem telefonními linkami o přenosové rychlosti 2,2 kbps. Na počítačové sítě se specializoval slovenský Ústav technické kybernetiky, avšak jen s dílčími úspěchy, které byly daleko od zahraničních.
17
V roce 1991 proběhly úspěšné pokusy propojení ČVUT a Lince. O rok později byla Doména cs byla oficiálně zavedena do DNS záznamů. Téhož roku se vybudovala i páteřní síť, která spojovala univerzitní města a dostala název FESNET. Doména pro samostatnou Českou republiku, tj. cz se pak přibližně rok po rozdělení ČSFR rozdělila na CESNET (Czech Educational and Scientific Network) a slovenskou část SANET. Doména cs byla poté zrušena. Vůbec první poskytovatel českého komerčního připojení byla firma Conet s.r.o. (později byla přejmenována na Internet CZ). V roce 1996 bylo založeno sdružení právnických osob pod názvem NIX (Neutral Internet eXchange), které sdružuje cca 11 českých poskytovatelů internetu. Roku 2001 vznikla nová národní páteřní akademická síť s přenosovou rychlostí 2,5 Gb/s. Hlavním koordinátorem pro připojení do celosvětové sítě byl pověřen Ing. Jan Gruntorád, CSc. Začátkem devadesátých let minulého století byl vedoucím oddělení počítačových sítí na ČVUT v Praze. Nejprve bylo testováno již zmíněné spojení s Lincem, později se díky americké nadaci George Mellon Foundation podařilo realizovat nákup kvalitních modemů a směrovačů, které umožnily větší přenosovou kapacitu. [3]
18
2 Analýza a přehled technologií pro tvorbu internetových aplikaci 2.1 Technologie na straně klienta Tyto technologie slouží především pro vizuální formátování webových aplikací (XHTML, CSS) nebo jako výměnné standardy pro výměnu informací pro programátorské účely (XML), ale i jako prostředník k serverové komunikaci (AJAX).
(X)HTML a CSS Základní stavební prvek webových aplikací z pohledu prezentační vrstvy je XHTML (Extensible Hypertext Markup Language – „rozšiřitelný hypertextový značkovací jazyk“). XHTML je nástupcem HTML. Na rozdíl od HTML se více blíží strukturovanému dokumentu a jeho prvky jsou definovány jako párové. První verze HTML označována jako 0.9 vznikla již v roce 1991 a nepodporovala grafický režim. Podporu grafiky a navíc i specifikaci formulářů přináší až verze 2.0. Tato verze již plně odpovídala syntaxi SGML (Standard Generalized Markup Langure– univerzální značkovací metajazyk). Další verze vydaná v roce 1997 pod označením 3.2 přidala tagy pro tabulky a stylově formátovací prvky pro text. Verze 4.0 poté rozšířila tabulky, interaktivní formuláře, prvky pro vnořené stránky (frames) a v neposlední řadě má být vzhled formátován připojenými kaskádovými styly. Kaskádové styly (CSS - Cascading Style Sheets) byly navrženy W3C konsorciem a hlavním účelem CSS je možnost oddělení vzhledu dokumentu od jeho strukturovaného obsahu. CSS nabízejí mocné formátovací prvky pro specifikaci vzhledu pod různými zobrazovacími prvky, avšak jsou náročnější na odladění pod různými prohlížeči. V současné době existuje již třetí verze kaskádových stylů CSS3. V prohlížečích je však zatím implementována v nejlepším případě verze CSS2.
Javascript Javascript je klientský programovací jazyk, který se může zapisovat přímo do zdroje webové aplikace nebo se může použít externí odkaz, kde je javascriptový kód definován samostatně. Javascipt je interpretovaný jazyk, používá objektový přístup a je v prohlížečích relativně dobře interpretovaný. Jako velice vhodný se jeví jeho použití při
19
kontrole dat v interaktivních prvcích, jako jsou např. formuláře. Nicméně z profesionálního hlediska se tento kód doplňuje i na straně serveru. Další jeho vlastnost je možnost navázání komunikace se serverem a patří tedy mezi základní prvky populárního AJAxu. Ukázka javascriptu (efekt výměny obrázku při najetí myší – v současnosti řešeno spíše přes CSS): … <script> function default(){ document.obrazek.src="1.jpg"; } function hover(){ document.obrazek.src="2.jpg"; }
XML XML (eXtensible Markup Langure, tj. rozšiřitelný značkovací jazyk) je značkovací jazyk, vyvinutý W3C konsorciem. HTML jazyk přestal pro výměnu dat časem vyhovovat pro svou postupnou komplikovanost a relativní nepřehlednost. Naproti tomu dokument v XML je silně strukturovaný a nemá žádné implicitně definované tagy. Je tedy jen na vývojáři, jaké označení pro rozlišení elementu v dokumentu zvolí. XML je jednoduchý multiplatformní otevřený systém pro výměnu dat, který je využíván například v RSS čtečkách, elektronických obchodech nebo jako prvek AJAxu. Ukázka XML dokumentu pro export zboží z elektronického obchodu může vypadat například takto: <SHOP> <SHOPITEM>
Procesor Intel Velmi výkonný procesor http://www.eshop.cz/procesory/ http://www.eshop.cz/procesory/ intel/ 4700 5600
20
AJAX AJAX (Asynchronous JavaScript and XML) je termín, který vznikl v roce 2005. Skládá se z HTML a CSS pro vizuální prezentaci Javascriptu a objektového modelu dokumentu (DOM) a prvku XMLHttpRequest – rozhraní, které zprostředkovává přes HTTP protokol komunikaci se serverem a klientem. Fungování AJAXU je založeno na tomto principu (viz obr 3): klient kontaktuje server a obdrží od něj XML data, bez nutnosti znova aktualizovat stránku.
Obr. 3 AJAX dle [19] Jako první začala technologie AJAX využívat společnost Google. V současnosti najdeme AJAXovou technologii v různých našeptávačích (při vyhledávání postupně nabízí doplněné výrazy pro hledání), validačních aplikací uživatelských vstupů - tedy všude tam, kde chceme uživateli poskytnout data bez opětovné nutnosti načítat stránku. Tato vlastnost má však i svoji negativní stránku – neumožňuje použití tlačítka zpět v prohlížeči. Další nevýhoda spočívá v neměnném URL stránky, takže nelze uložit či odeslat stránku, která je výsledkem AJAXu. AJAX i přes své velké možnosti je vhodné použít spíše jako doplněk tam, kde uživateli ulehčíme nejvíce práci.
2.2 Technologie na straně serveru Tyto technologie se zpracovávají na straně serveru na základě požadavku, které obdrží od klienta. Často komunikují s další vrstvou aplikace, jako je např. databázový 21
systém. Zdrojové kódy by měly být optimalizovány, aby zatěžovaly server co nejméně a poskytovaly tak rychlou odezvu.
PHP První verze PHP vznikla v roce 1995 jako soukromý projekt programátora Rasmuse Lerdorfa. Bylo to spojení PHP (Personal Home Page) a FI (Form Interpreter), které se zkrátilo na PHP, jež je dnes chápáno jako Hypertextový preprocesor. Počáteční verze PHP byla souhrnem skriptů v Perlu za účelem sledování soukromých statistik webových stránek, neboť v té době nebyl odpovídající nástroj, který by tuto funkcionalitu jednoduše a transparentně řešil. Tato první verze obsahovala komunikaci s dalším velmi používaným „klasickým“ jazykem C a navíc i komunikaci s databázemi. Toto spojení tedy umožnilo tvorbu prvních dynamicky generovaných stránek. Syntaxe PHP byla analogická s Perlem, jen byla jednodušší a nebyla tak striktní. PHP / FI pod názvem PHP 2 bylo vydáno oficiálně 8. června 1995. Dva roky po vydání PHP 2, které bylo přijato velice kladně, a které sloužilo i k mnohem komplikovanějším věcem než jen pro statistiky privátních stránek, se postupně vývoj přesunul z jednoho člověka na tým programátorů. Mezi hlavní vývojáře se zařadili izraelští programátoři Zeev Suraski a Andi Gutmans, kteří vylepšili skriptovací jádro a přidali jednoduché API, které umožňovalo i dalším programátorům možnost přidávání vlastních funkcí pomocí modulů. Syntaxe byla též postupně zdokonalována a rozšiřována o další konstrukce, které byly rozšířeny mezi ostatními jazyky. V roce 1997 vznikl tak již dobře použitelný a rychle se šířící skriptovací jazyk označovaný jako PHP3, který byl oficiálně uvolněn v červnu roku 1998. PHP3 se již velmi přiblížilo současnému pojetí jazyka PHP a disponovalo silnou stránkou v podobě podpory nejrůznějších databází a vývojáři tedy nebyli databázovým strojem nijak omezováni. Mezi hlavní nevýhody však patřila např. absence sessions, tj. uchovávání uživatelských dat v bezestavovém protokolu http. Naštěstí Cookies implementovány byly. Ke konci roku 1998 PHP používalo již několik desítek tisíc uživatelů – vývojářů a bylo nainstalováno na stovkách tisíců webů, zejména na webovém serveru Apache. Zeev Suraski a Andi Gutmans se ovšem s tímto úspěchem nespokojili a začali opět přepisovat a zdokonalovat jádro PHP, které bylo pojmenováno jako Zend Engine (název Zend byl odovzen z křestních jmen, Zeev a Andi). Založili též společnost Zend Technologies. Cílem vylepšování jádra byl zejména výkon pro rozsáhlejší projekty, na
22
které nebylo PHP implicitně navrženo a zvyšování modulárnosti kódové báze. Zend Engine byl úspěšně dokončen v polovině roku 1999 a nasazen v květnu 2000 ve verzi PHP4. Nová verze přinesla nejen očekávané zvýšení výkonu rozsáhlejších aplikací, ale i podporu pro mnoho WWW serverů, sessions, buffering výstupu, nové jazykové konstruktory a bezpečnější zpracování uživatelských vstupů, které hraje ve webové aplikaci klíčovou roli. V PHP4 byl vylepšen objektově orientovaný přístup, ale stále měl k typicky objektově orientovaným jazykům velmi daleko. Využitelný princip OOP přinesla až verze označovaná jako PHP5, kde se mimo jiných rozšíření v rámci OOP přidala možnost deklarace atributů a metod na privátní, veřejné či chráněné bázi. Vydání PHP5 v roce 2004 předcházelo po mnoho let ladění, několik předverzí či opětovné přepsání jádra označované jako Zend Engine II. V současné době je PHP5 poslední stabilní a vyvíjená verze PHP. Předchozí vývoj PHP4 byl již oficiálně ukončen a nebude již na ní vydán ani bezpečnostní balíček. Verze 4.4.9 je tedy pro PHP4 již poslední. PHP5 je rozšířena na několika miliónech serverů – odhaduje se 20% domén na internetu. Komunitu tvoří stovky tisíc vývojářů, které možnosti PHP využívají či přímo zdokonalují. V přípravě je nová verze PHP6, která by měla přinést plnou podporu Unicode kódování, dále se předpokládá odebrání magických uvozovek, které přidělalo více škody než užitku nebo uměle udržované při životě register globals či odebráni safe mode. Vývoj bude probíhat paralelně s PHP5.
Analýza použitelnosti Z historie vývoje je patrné, že PHP bylo primárně určeno pro webové aplikace a je to jeho velice silná stránka. Mezi jeho další klady patří rychlost vývoje a také zde neexistuje žádná deklarace proměnných. Proměnné lze téměř libovolně přetypovávat. Pro zkušeného a pečlivého programátora to je výhoda, pro začínajícího tvůrce webových aplikací to není úplně vhodný potenciál, neboť lehce svádí k nečitelnosti či v horším případě ke špatné bezpečnosti a výkonu celé aplikace, nemluvě o „nečistotě“ konstrukcí. PHP podporuje celou řadu databází (MySQL, SQLite, PostgreSQL a další), přes ODBC API lze navíc použít další databázové systémy. Např spojení k MySQL je velmi jasné a stručné, viz kód níže. $conn = @mysql_connect($server,$login,$password) or die('Nastala chyba při připojení k databázi !'); mysql_select_db($db) or die('Nastala chyba při výběru databáze !');
23
Nyní již můžeme provádět operace nad databázi (proměnná db) resp. jejími tabulkami. V praxi se toto řeší spíše třídou, která toto vše zapouzdří do sebe a volali bychom tedy jen její metody. V neposlední řadě lze uvést výhody PHP jako multiplatformovost. Nezáleží mu tedy na operačním systému kde běží (pod Microsoft Windows to je IIS server, pod Linuxem pak webový server Apache). PHP je otevřený projekt, tj. je poskytován zdarma, jeho rozšíření je tedy i díky jeho vlastnostem značné a komunita vývojářů je velmi početná. To zajišťuje PHP stálý vývoj a podporu. Ne vše je však ideální. Jelikož je PHP otevřený projekt, nastává někdy zmatek, i přesto, že je samozřejmě vývoj usměrňován, a to v jeho dalším vývoji a kompatibilitě s předchozími verzemi. PHP nedisponuje také žádným vestavěným smysluplným debuggerem na odladění chyb. Externích debuggerů je také žalostně málo. V PHP
se
dají
dělat
i
velké
projekty,
např
samotná
Wikipedie
(http://www.wikipedia.org/) a spousta dalších. Na opravdu velké projekty však nemá dostatečný výkon a také vhodné nástroje. Bez problému lze však nasadit tam, kde je očekáván rychlý a dynamický vývoj aplikace.
CGI CGI (Common Gateway Interface) je starší než PHP o několik let, ale též nabízí možnost, jak vytvářet dynamické stránky (v mnohem jednodušší formě) na straně serveru. Tyto skripty nelze spouštět z bezpečnostních důvodů kdekoli na serveru. Většinou se toto řeší se správcem serveru, který povolí dané skripty spouštět. CGI funguje tak, že WWW klientovi pošle výsledný kód, který se provedl na serveru v těle skriptu. Tento kód je napsaný v běžném jazyce, např. Perl. Máme-li ve skriptu nějaký výstup, musíme je zapsat na standardní výstup (STDOUT). Uvedeme krátký názorný přiklad: #!/bin/sh echo Content-type: text/html echo echo "" echo "" echo "
Hello world!
" echo "" echo ""
Komentář: nejprve nadefinujeme, jaký typ dokumentu bude na výstupu a oddělíme ho prázdným řádkem od definice html stránky. [20]
24
CGI v současné době, na rozdíl od 90. let minulého století nepatří mezi významné webové technologie, slouží pouze pro drobné funkcionality, nicméně jistý užitečný potenciál nabízí. Analýza použitelnosti CGI skripty mají nevýhodu ve své rychlosti, resp. zátěži serveru při inicializaci skriptu, proto se v současnosti k tvorbě webových aplikací nepoužívají nebo se využívají jen k dílčím nezatěžovaným komponentám. Jako vhodné použití je například počítadlo nebo kniha návštěv na webové stránce.
Perl Perl (Practical Extraction and Report Language) je univerzálně použitelný skriptovací jazyk. Obsahuje v sobě ideální kombinaci programovacích jazyků z unixu s jazykem C. Vznikl v roce 1987 pro potřeby autora Larryho Walla, který jej potřeboval pro své soukromé účely a žádný z dostupných prostředků nebyl dostatečný. Jazyk se postupně rozvíjel a získával na oblibě. V roce 2000 Larry Wall obdržel od komunity požadavky na změny a vylepšení, které jsou postupně dle priorit implementovány. Současná připravovaná verze je označována jako Perl 6. Tato verze je vyvíjena již několik let. Nevýhodou je, že nebude zpětně kompatibilní na úrovni zdrojových kódů, avšak moduly z předchozí verze, tj. Perl 5 bude možno použít. Perl obsahuje v sobě spoustu knihoven. Ladící prostředky a dokumentace je též na výborné úrovni. Je snadný pro naučení. Dílčí syntaxi přebralo též PHP. To má mocnou podporu v regulárních výrazech, které jsou opravdu vynikající pomůckou při práci s webovými aplikacemi resp. ošetřování uživatelského vstupu v aplikaci. Na následujícím příkladu je patrná robustnost regulárních výrazů a jejich snadnost použití. (/[0-9]/ and /[a-zA-Z]/ and /\W/ and /.{8,}/)
Tato maska může například posloužit k otestování bezpečnosti hesla. Musí se skládat z čísla, písmena, znaku, který není písmeno a celková délka musí být větší než 8 znaků, horní limit není ukončen. Analýza použitelnosti Perl je vynikající optimalizovaný nástroj pro práci s textem, což se při zpracování textu v dynamické webové aplikaci určitě hodí. Dále nabízí možnost rychlého vývoje 25
aplikace, napojení na databáze, práci s asociativním polem, podporu znakové sady Unicode a je zahrnut v nabídce webhostingů pro serverové programování. Perl je též velice vhodný programovací jazyk pro psaní CGI skriptů. Nevýhodou je pak podobně jako u PHP určitá možná nedisciplinovanost v psaní kódu a jeho následná srozumitelnost a v neposlední řadě je to i větší náročnost na paměť. Jeho použití je vhodné na menší webové aplikace, kde se často pracuje s textem nebo kde je nutnost nasazení regulárních výrazů.
Python Python je multiplatformní programovací jazyk, který vznikl v roce 1990. Jeho autorem je nizozemský programátor Guido van Rossum. V roce 2001 byla založena společnost Python Software Foundation, jež celý vývoj zastřešuje. Název Python neznamená had, ale autorův oblíbený pořad komiků z Monty Python's Flying Circus. Python je šířen jako open-source, tedy jako aplikace s otevřeným zdrojovým kódem. Je stále vyvíjen a současná verze, jemuž předcházel projekt nazvaný Python 3000 (Py3k) je verze Python 3. Oficiálně byla uvolněna a vypuštěna v prosinci 2008. Přináší nové vlastnosti i vylepšení (řetězce se mění na typ unicode, konstrukce print se mění na funkci apod.). Jeho nevýhodou je zpětná nekompatibilita s předchozí verzí 2.x. Zajímavá ukázka pro filosofii tohoto jazyka je např. spojení parametrů ve funkci: def foo(par1, par2): return par1 + par2 foo(7, 4) # funkce vrátí 11 foo('hello', " world!") # funkce vrátí spojený řetězec "hello world!"
Nevýhodou nové verze je zpětná nekompatibilita. Přechod umožňuje alespoň částečně verze 2.6, která obsahuje upozornění při syntaxi neplatné ve verzi 3.0. Python má velice dobrou rychlost zpracovaní kódu a vývoj v něm je velmi rychlý (např. proměnné se nemusí předem deklarovat). Má totiž v sobě implementováno již poměrně mnoho knihoven a též názvy funkcí jsou krátké a výstižné, takže se může kolikrát ušetřit i čas při nahlížení do dokumentace. Zdrojový kód se může psát objektově i procedurálně. Zajímavá vlastnost Pythonu je v odsazování, které je nutno striktně dodržovat. Tak je zajištěna alespoň určitá přehlednost v kódu.
26
Nevýhodou je jeho menší rozšířenost, resp. podpora u webhostingových společností. I když i toto se v poslední době zlepšuje, ale stále to je spíše výjimkou. Analýza použitelnosti Python lze nasadit i na větší projekty. V praxi se ale spíše nasazuje jako mezičlánek tam, kde by byl vývoj příliš časově náročný nebo komplikovaný, např. u rozsáhlých webových aplikací psaných v Javě. Python lze snadno implementovat nejen do Javy, ale i ostatních jazyků či platforem (C, C++, NET).
Ruby on Rails Ruby on Rails je relativně mladý převratný programovací nástroj, který významně urychluje práci při vývoji webových aplikací i pro nepříliš zkušené programátory. Vše je v tomto prostředí založeno na interpretovaném programovacím jazyku Ruby. Ruby (z anglického názvu pro rubín) má jednoduchou syntaxi, je plně objektově orientovaný a výkonný tak, že může směle konturovat dalším podobně orientovaným jazykům, jako jsou například Python nebo Perl. Autorem je jediný člověk, japonský programátor Yukihiro Matsumoto, který řešil problém s neúplnou objektovostí u Pythonu a nižší výkonnost u Perlu. S nápadem pak využit Ruby v Ruby on Rails přišel dánský programátor David Heinemeier Hansson. Ruby tedy kromě plné objektovosti (vše je v Ruby objekt) nabízí výbornou podporu pro regulární výrazy, dynamické datové typy a možnost psaní i GUI aplikací. Samotný Ruby on Rails nabízí MVC model (model view controller), tedy odlišení vrstev pracujících s daty, s grafickým rozhraním a vstupem od uživatele. Mezi těmito vrstvami zajišťuje Ruby on Rails v základu předávání dat. Dále tento framework umožňuje automatické provázání URL na vnitřní řídící prvky nebo využití rozsáhlého množství knihoven na generování html prvků na výstup, a také pokročilou práci s technologií AJAX. [21] Jednoduchost a účelnost Ruby on Rais demonstruje následující kód: def zobraz # logická část metody ... render(:template => 'zobraz_tmpl') end
27
Analýza použitelnosti Framework Ruby on Rails je pro svůj sofistikovaný návrh vhodný i pro velké aplikace. Jeho nevýhodou je menší rozšiřitelnost oproti ostatním programovacím jazykům určených pro webové aplikace a v neposlední řadě také méně dostupná dokumentace. Mezi webové aplikace napsané v Ruby on Rais patří například známý web Flickr (www.flicrk.com). Technologie.NET Technologie.NET v sobě obsahuje hned několik programovacích jazyků. Mezi hlavní patří Visual Basic.NET, C#, C++, J# nebo IronPython. Velkou výhodou tohoto prostředí je pro programátory designový model, který je stejný napříč programovacími jazyky v .NET a nemusí se tedy složitě předprogramovávat. Součástí frameworku je samozřejmě i technologie ASP.NET pro tvorbu webových aplikací, jehož předchůdce se jmenoval ASP (Active Server Pages) a byl to čistě skriptovací jazyk. ASP jazyk však neexistoval. Pro psaní kódu se využíval zejména VBScript (Visual Basic Script) a pro programování na straně klienta JScript (vlastní návrh od Microsoft podobný JavaScriptu). Avšak mohl se použít téměř jakýkoliv skriptovací jazyk. ASP je v současné době ze strany Microsoft již několik let nepodporovaná technologie. Jeho nástupcem je právě ASP.NET. ASP.NET je však od svého předchůdce zcela odlišný, první rozdíl je v rychlosti. Aplikace jsou nyní předkompilovány do souborů typu DDL, což je výrazně rychlejší, než jak je tomu u skriptovacích jazyků, které jsou vždy znovu parsovány a navíc se při kompilaci lépe aplikace odladí. Další výhodou je množství knihoven, které jsou k dispozici a které značně urychlují vývoj aplikace, stejně jako vytvoření šablony pro ovládací prvky. ASP.NET též umožňuje snižovat zátěž serveru tím, že dané stránky dokáže uložit do cache. V neposlední řadě je velmi dobrá vlastnost generování validního kódu dle W3C konsorcia. Technologie se stále vyvíjí a podobně jako Ruby on Rails, ASP.NET nabídlo MVC. Model. MVC je alternativou používaného WebForms. WebForms se skládá z ViewState, které obstarává uchovávání informací pro opakovaně odesílané formuláře v zakódovaném stavu, avšak při nesprávném návrhu může být tato komunikace mezi klientem a serverem datově náročnější a tím pádem celá aplikace velmi pomalá. Další element WebForms je SessionState, ten uchovává resp. řeší nestavovost HTTP protokolu pomocí cookies nebo sessions. Toto řešení však může zvyšovat nároky na server. ASP neumožňovalo ukládání
28
tohoto procesu samostatně, což byla velká nevýhoda zejména pro přehlednost. Následující kód názorně ukazuje některé prvky ASP.NET (použitý jazyk je C#): <%@ Page Language="C#" %> <%@ Import Namespace="System.Web.Mail" %> <script runat="server"> void Button1_Click(Object sender, EventArgs e) { MailMessage EMail = new MailMessage(); EMail.To = "
[email protected]"; EMail.From = "
[email protected]"; EMail.Cc = "
[email protected]"; EMail.Subject = "Test Email"; EMail.Body = "Testovaci text emailu"; SmtpMail.SmtpServer = "localhost"; try{ SmtpMail.Send(EMail); } catch (Exception exc){ Response.Write("Odeslani selhalo: " + exc.ToString()); } }
Jako každý systém má i ASP.NET své nevýhody. Některé části HTML, které generují serverové komponenty jsou sice validní, ale strojově zapsané a zkušený programátor by je dokázal zapsat mnohem lépe. Dále je zde závislost na Javascriptu u mnoha komponent a menší podpora webhostingů, které ASP.NET nabízí. Analýza použitelnosti Technologie ASP.NET se hodí pro svou robustnost zejména na rozsáhlejší a zatěžované projekty, kde je akceptována vyšší nákladovost na webový server IIS a MS SQL databázi. ASP.NET nabízí i relativní rychlost vývoje, přesto jsou skriptovací jazyky (PHP, Python) pro svou příjemnou syntaxi i zvyšující se výkonnost vhodnější.
29
Java Java je plně objektově orientovaný programovací jazyk vyvinutý společností Sun Microsystems v roce 1995. Java se skládá hned z několika platforem. Mezi ně patří: Java ME (Micro Edition - slouží pro vývoj aplikací pro mobilní zařízení), dále Java SE (Standard Edition – pro vytváření klientských desktopových aplikací) a Java EE (Enterprise Edition – tvorba serverových internetových aplikací). Současná verze Java EE 5 byla uvolněna v roce 2006 a její součástí jsou zejména technologie pro vývoj webových aplikací, jako jsou Java Servlets. Java Servlets jsou komponenty běžící na straně, jsou nezávislé na platformě i na protokole. Java servlety pouze vyžadují JVM (Java Virtual Machine – run-time prostředek pro spouštění aplikací v Javě) a webový server, na kterém je možnost spustit Javu. Jak Java Servlets fungují je ukázáno na obrázku 4. Na začátku komunikace je tedy klient, který požádá server o službu. Server předá požadavek konkrétnímu servletu. Servlet vytvoří odpověď a předá ji zpět serveru. Server potom kompletní výsledek předá zpět klientovi.
Obr. 4 Java Servlets dle [4] Další technologií pro tvorbu webových aplikací v Javě jsou JSP (Java Server Pages). Ty umožňují stejně jako například PHP či ASP vkládat serverový kód mezi HTML tagy. Více vysvětluje krátká ukázka: <strong>Nyní je: <%= new Date() %>
O podporu kódu mezi znaky uvozených resp. ukončených znakem pro procenta obstarává právě JSP, které obdrží požadavek od webového serveru, který však pochopitelně musí mít v sobě podporu pro zpracování Javovského kódu. Takový
30
požadavek řeší webový server nazvaný Apache Tomcat od organizace Apache Software Foundation, která vyniká špičkovými nástroji pro podporu internetových aplikací. Pomocí JSP můžeme přistupovat k dalšímu prvku obsaženému v Java EE a to jsou Java Beans. Java Beans jsou třídy v napsané v Javě a přistupuje se k nim pomocí setterů a getterů, tj. nastavení nebo vrácení atributu. JSP umožňuje snadnější tvorbu servletů a hodí se zejména tam kde je nutno použít rozsáhlejší bloky kódu v HTML. Další významný prvek pro tvorbu webových aplikací v Javě jsou JSF (Java Server Faces). JSF je prostředí pro tvorbu uživatelských rozhraní v prostředí WWW, autorem je opět firma Sun. Úlohou JSF je integrace výhod, které poskytují JSP a servlety do jednoho prostředí a dále také oddělení designové a programové části, tj. zvlášť pro grafika a pro programátora. JSF poskytuje komfortní programování, kde nemusíme psát celý kód, ale postačí pouze kliknout na požadovanou komponentu, která má již v sobě danou funkcionalitu. Designéři mají velký výběr vizuálních prvků pro definování uživatelského rozhraní. Nevýhodou je paměťová náročnost na pracovní stanici při psaní JSF aplikace. Analýza použitelnosti Java je ideální nástroj pro vývoj rozsáhlých a zatěžovaných webových aplikací. Plně objektový přístup a deklarace proměnných napomáhá určitou měrou čitelnosti kódu. Nevýhodou však je, že vše musí být uvozeno do třídy. Není tedy na výběr řešit danou problematiku například procedurálně. Horší je též i rychlost zpracování, neboť se při prvním spuštění vše překládá do „mezikódu“, který je pak vykonán pomocí JVM. Po prvním spuštění však aplikace běží již poměrně svižně. V neposlední řadě je Java méně podporována u poskytovatelů webhostingů. Doménou aplikací napsaných v Javě jsou tedy rozsáhlé projekty, které jsou nasazeny na odpovídajícím hardwaru, který odpovídá značným možnostem a nárokům aplikací psaných v Javě.
31
3 Úvod do problematiky SEO 3.1 Důvody pro vznik SEO Se vzrůstajícím rozmachem internetu, jak do počtu webových stránek, tak připojených uživatelů se začalo tohoto média využívat zejména jako zdroje nepřeberného množství informací nejen pro komerční účely, ale i pro poučení a zábavu. Stále rostoucí kvalita i rychlost připojení společností, které nabízejí připojení na internet, zlevnila připojení na takovou cenu, že si to může dovolit opravdu každý. Statistiky o vývoji a využívání internetu, ale i zajímavém rozložení uživatelů ze sociodemografického hlediska v českém prostředí, které poskytuje společnost Netmonitor (www.netmonitor.cz ) jsou toho důkazem. Statistiky jsou veřejně přístupné a nabízejí opravdu podrobné členění. Zde však budou uveřejněny jen ty nejdůležitější (statistiky jsou za měsíc prosinec 2008): a) Počet uživatelů internetu Tab. 1 Počet uživatelů internetu dle [5]
Jak je z tabulky vidět, internet v České republice využívá již každý druhý obyvatel, což vypovídá o velmi dobrém rozšíření resp. přístupu k využití internetu. b) Využívání internetu dle umístění použití Tab. 2 Využívání internetu dle umístění použití dle [6]
32
Překvapivý je relativně vysoký ukazatel využití internetu v zaměstnání. Otázkou je, zda je využíván k pracovní činnosti nebo k soukromým účelům. c) Využití internetu dle věku Tab. 3 Věk uživatelů internetové sítě dle [6]
Další zajímavý ukazatel ohledně věku uživatelů internetové sítě, jehož nejsilnější skupinou jsou uživatelé nad 20 let. Silnou skupinou jsou ale i velmi mladí uživatelé či uživatelé kolem 40 let. V současnosti si již firmy či běžný uživatel, který se sám aktivně účastní na internetovém obsahu, nepokládají otázku, zda být na internetu, ale jak být na něm viděn. Internet je díky své rozšířenosti vnímám jako velice mocné a snadno dostupné reklamní médium a je také tak využíván. Nabízí pohodlnost nákupů v případě elektronických obchodů, rychlost v přehledu novinek na trhu či získávání nových zákazníků. Toto vše hraje z obchodního hlediska svou roli a je tedy důležité, aby stránky, které chtějí přilákat své návštěvníky byly na internetu vidět a z potencionálního zákazníka se stal zákazník stálý. K tomu však vede někdy dlouhá cesta. Naštěstí však existují možnosti, jak tuto cestu urychlit a zpříjemnit. Uživatelé využívají při cestě k hledanému cíli různých metod a právě mezi ty, které nabízejí nejrychlejší a nejpříjemnější cestu patří katalogy a fulltextové vyhledávače. Katalog Katalog je webová aplikace, která poskytuje svou vlastní databázi odkazů, které jsou rozděleny do jednotlivých skupin, jako jsou např: služby, úřady, elektronika apod. Do jednotlivých skupin je možno přidat odkaz na konkrétní web, který spadá svým zaměřením do oborové skupiny. Přidání odkazu do katalogu se schvaluje administrátorem obsahu. Katalog nabízí na rozdíl od fulltextového vyhledávače vyhledávání jen ve své databázi odkazů. Je tedy závislý na kvalitě a množství svých odkazů, které nabízí. Výhodou katalogu je možnost zakoupení přední pozice při zadání konkrétního klíčového slova a 33
následného barevného odlišení od ostatních konkurenčních odkazů. Reklamních kampaní může být v daném katalogu hned několik. Čím více uživatel za reklamu platí, tím větší mají jeho stránky v katalogu váhu. Mezi nejznámější katalogy ve světě patří Yahoo (www.yahoo.com), The Open Directory Project (dmoz.org) a Microsoft's MSN Search (www.msn.com). V české republice jsou pak nejznámější Seznam (www.seznam.cz), Centrum (www.centrum.cz), Atlas (www.atlas.cz). Katalogy Centrum a Atlas mají po nedávném spojení (pro zvětšení konkurenceschopnosti) jednoho majitele, avšak značky zůstaly zachovány.
Fulltextový vyhledávač Fulltextový vyhledávač pracuje zcela rozdílně než katalog. Jeho podstatou je tzv. robot (anglicky crawler nebo spider). Robot v podání vyhledávače je sofistikovaný softwarový program, který prochází obsah celého internetu a jednotlivé dokumenty zpracovává a ukládá do své rozsáhlé databáze - indexuje. Robot se pohybuje po webovém obsahu zcela nezávisle a zpravidla jeho první kroky vedou do své databáze, kde si zvolí jakou stránku na internetu navštíví. Pochopitelně jako první stránka, kterou při návštěvě načte bude strana úvodní, od které se odvíjí další obsah webové prezentace. Pokračuje po odkazech dále do nižších úrovní celého webu. Robotů existuje několik druhů. Některý se specializuje na určité druhy dokumentů (XLS, DOC, PDF – i oskenovaný text), jiný zmapuje textové prvky, tj. např. počet klíčových slov v textu, jejich souvislost s okolním textem apod. Další robot se zaměří na obrázky, jeho atributy V HTML kódu a blízký text kolem obrázku. Tyto a mnozí další roboti dají dohromady jakýsi otisk stránky, který se pak dále zpracovává a určuje tak kvalitu dané stránky, resp. pozici v zobrazení hledaných výsledků. O zobrazení indexovaného obsahu se pak stará webové rozhraní, které hledaný text zobrazí uživateli a zvýrazní hledaný řetězec pro lepší orientaci. Mezi české vyhledávače patří Jyxo (www.jyxo.cz), který nedávno zakoupila společnost
CME
vlastnící
televizi
Nova),
Morfeo
(http://morfeo.centrum.cz)
a nepoužívanější Seznam (www.seznam.cz). Ve světě je nejpoužívanější vyhledávač Google (www.google.com), který patří mezi absolutní špičku. Google založili dva studenti Larry Page a Sergey Brin v roce 1998 a prakticky vyřešili problém s vrácením relevantních výsledků u vyhledávačů, což nebylo dříve tak úplně reálné. Jako základ byl zvolen počet odkazů směrujících na danou adresu. Čím více odkazů, tím je daný dokument důležitější. Je to však jen jeden atribut, na základě kterého
34
se určuje váha dokumentu ve vyhledávači. Ostatní atributy nejsou veřejnosti známy a jsou autory pečlivě tajeny. V současnosti se odhaduje, že Google indexuje na 20 miliard stránek. Při hledání konkrétního produktu nebo služby určitě není problém se ztratit nebo zamířit na stránky konkurence a odlákat tak potencionální zákazníky či čtenáře. To však není žádoucí, a proto i z těchto důvodů vznikla technika, která dokáže zviditelnit požadované stránky, aby je uživatel našel ke svému a našemu prospěchu. Tato technika se jmenuje SEO.
3.1.1 Stručný úvod do SEO SEO (Search Engine Optimization) – je zkratka pro optimalizaci webových stránek pro vyhledávače, která působí jako magické zaklínadlo posledních několik let. Zkratka SEO byla poprvé použita v roce 1997 a obsahuje v sobě soubor několika technik. Tyto techniky slouží pro umístění webové stránky na předních pozicích vyhledávače pro klíčové slovo či fráze. Pro toto umístění se používá zkratka SERP (Search Engine Results Page). Takto nalezené výsledky mají uvedené titulky a krátký popis stránky. Techniky SEO se snaží vyjít vstříc robotům, které dané stránky navštěvují a indexují, avšak zároveň je nutno zachovat vhodnou strukturu a přístupnost i pro uživatele. Technik existuje mnoho. Některé jsou opravdu účinné, jiné méně. Používají se však i podvodné metody, které mají za úkol přilákat vyhledávací roboty a zmást je, aby stránku považovaly za důležitou a dali jí vysoké hodnocení. V případě, že na to robot přijde, je stránka penalizována snížením hodnocení nebo v horším případě, pokud je provinění závažné odstranění z databáze. Dříve se zejména pro Google a jeho systém zpětných odkazů na stránku (stránka má pak větší důležitost) dala bez velkých nákladů udělat tzv. Google bomba. Pokud na stránku odkazovalo opravdu velké množství odkazů s urážlivým textem, tak Google uváděl cílovou stránku mezi výsledky urážlivého textu. V algoritmu Googlu došlo na základě této možnosti k přepracování a od roku 2005, je tato možnost silně omezená, nikoliv však vyloučena. Z dlouhodobého hlediska se vyplatí čisté techniky pro SEO, jako je přístupný a validní XHTML kód. Dále kvalitní a pro návštěvníky čtivý obsah. Využití příslušných XHTML tagů jakou jsou title, descriptions, keywords, H1,H2…, strong, alt apod. V neposlední řadě je důležité pro SEO budování zpětných odkazů, ať placených nebo zdarma vložených do ostatních katalogů. V případě placených odkazů je využíváno SEM (Search Engine Marketing). V základě se SEO dělí na off-page a on-page faktory. Mezi
35
off-page faktory patří právě zpětné odkazy. Do on-page faktorů se řadí prvky stránky jako jsou texty a obrázky a kvalita programového kódu stránky. Na těchto i dalších utajovaných faktorech závisí hodnocení stránky vyhledávačem a její následná pozice v zobrazení výsledků.
36
4 Nástroje a možnosti SEO 4.1 Základy optimalizace 4.1.1 Úvodní elementy analýzy Plánování Nejdříve, jako každému projektu musí předcházet analýza, které se má věnovat dle ověřených postupů 40% z celkového času. Čas strávený úvodní analýzou se rozhodně vrátí v podobě ošetření možných rizik, které mohou nastat v případě nedostatečného rozvržení jednotlivých kroků. Jako velmi vhodné je použití analýzy známé pod zkratkou SWOT. Obsahuje v sobě silné stránky (strengths), slabé stránky (weaknesses), příležitosti (opportunities) a ohrožení (threats). Pokud si pod tyto jednotlivé elementy uvedeme reálnou situaci, je možné získat velmi dobrou představu jak a kam projekt směrovat. Je též velmi vhodné odpovědět si na základní otázky typu: 1) Co je cílem stránek? 2) Jak je silná konkurence? 3) Co je možné nabídnout lepšího než konkurence? 4) Pro jaký typ zákazníků budou stránky? 5) Pro jaká klíčová slova bude stránka navrhnuta? 6) Jak docílit, aby si návštěvník výrobek či službu koupil i příště?
Doména Vhodný výběr domény je jeden z klíčových prvků pro SEO – optimalizaci, která může do budoucna výrazně přispět k dobrému hodnocení. Je vhodné, aby obsahovala alespoň jedno klíčové slovo, na které chceme stránky optimalizovat. V případě více slovných názvů u domén, tedy pokud to je nutné je nejlépe zakoupit doménu s pomlčkami i bez pomlček, aby se předešlo spekulacím od konkurence, která by na tom mohla profitovat,
tj.
například
vlastnit
variantu
www.nazev-domeny.cz
nebo
www.nazevdomeny.cz. Při dotazu jsou jednotlivá hledaná slova spojena a vyhledávač tak zjišťuje zda neexistuje doména obsahující spojená slova. Pomlčka v doméně je chápana vyhledávačem jako oddělovač slov, nikoliv podtržítko („_“). Při zakoupení obou variant je však silně doporučeno jednu doménu vybrat za hlavní a tu druhou na ní jen směrovat, jinak
37
hrozí, že by hodnota stránky pro vyhledávače mohla být poloviční. Svůj význam hraje i typ TLD (Top Level Domain), tj. zda doména je zaregistrována jako .cz (pro české prostředí), .com (komerční stránky bez rozlišení jazyka), .org (organizace) nebo .name (pro osobní stránky, hobby apod). Pro stránky v českém jazyce je tedy jednoznačná volba .cz, pokud není již obsazená. Obsazená může být buď legálně, nebo internetovým spekulantem, který doménu může jen blokovat z důvodu možné finanční atraktivity při prodeji vážnému zájemci. Pro návštěvníky je dobré mít přístupné stránky jak s www prefixem, tak i bez něj. Někteří uživatelé zkrátka tento prefix nezadávají. Svou roli v SEO hraje i stáří domény, čím je starší, tím je brána důležitěji.
Výběr webhostingu Webhosting je většinou placená služba, která umožní pronajmout si diskový prostor na serveru poskytovatele a vystavit tak své stránky na internetovou síť. Nemusí se tak stavět a pracně konfigurovat vlastní server, i když i to je možná varianta, ale spíše výjimečná.
Pro
nenáročné
projekty,
zejména
osobní
stránky
stačí
využít
tzv. freewebhosting, který je poskytován zdarma. Nevýhod je však velké množství. Největší je v doméně, která je třetího řádu. Další nevýhody jsou v nutnosti zobrazovat reklamu od provozovatele služby, nižší dostupnost nebo chybějící technická podpora. Pokud je spouštěn projekt komerčního charakteru se značným rozsahem služeb a nepřetržitou dostupností je nutno volit placený hosting. V současnosti je velká nabídka dobrých webhostingů, kde nejdůležitější parametry jsou dostupnost služby, odezva technické podpory, zálohování a cena. Na opravdu náročné projekty je pak využíván tzv. virtuální server. Takovýto server je speciálně připraven pro danou doménu a nabízí maximální výkon a komfort. Je to jednoznačně nejlepší a časem nevyhnutelná volba pro všechny velké a úspěšné projekty.
4.1.2 On-page faktory stránky On-page faktory stránky pro optimalizaci v sobě zahrnují elementy zdrojového kódu, který tvoří nosnou kostru pro logiku a grafiku celé stránky. Důležité je, aby zdrojový kód byl validní, tj. neobsahoval syntaktické chyby (lze zjistit validátorem, např. na http://validator.w3.cz). Dále je nutné zachovat čitelnost stránky i po odstranění obrázků, Flashe, CSS stylů či Javascriptu. Robot, který přijde na stránky, tyto prvky nevidí, proto je
38
důležité, aby navigace, nadpisy a jiné výrazné atributy pro optimalizaci byly psány v čistém (X)HTML.
Meta data Pro optimalizaci jsou důležité zejména meta tagy descriptions, keywords, robots a googlebot. Prvek descriptions by měl krátce a výstižně charakterizovat obsah dané stránky a měl by být vždy jedinečný podle obsahu stránky. Text by neměl být extrémně dlouhý, jinak totiž může být stránka penalizována. Doporučuje se délka do 200 znaků. Pro značku keywords platí to samé, co pro descriptions, jen s tím rozdílem, že má v sobě obsahovat klíčová slova dané stránky. Vhodné je použít kolem deseti klíčových slov. Další významnější prvek v meta datech je robots. Robots určuje, jak chceme přístup robota na stránky řídit. Můžeme mu sdělit, jestli má stránku indexovat nebo následovat další odkazy na stránce. Poslední zajímavý element v meta datech je googlebot. Má atributy snippet / nosnippet a archive / noarchive. Snipett znamená, že Google vypíše úryvek textu ze stránky. Nosnippet pak určuje, že Google vypíše popisek z descriptions. Archive má význam pro archivaci staré verze stránky a je možné zobrazit z Gogolu verzi, která již fyzicky na serveru neexistuje. Atribut noarchive je pravý opak k archive. Výchozí hodnoty pokud se googlebot nepoužije, jsou implicitně nastaveny na snippet a archive.
Title Title je poměrně významný prvek. Opět by měl být na každé stránce individuální a měl by obsahovat klíčová slova. Doporučená délka je do 70 znaků.
Nadpisy typu H Z pohledu vyhledávacího robota je tento prvek velmi významný. Zejména nadpis uzavřený do H1, který je na stránce vždy jen jednou. Ten by neměl na stránce nikdy chybět. H1 je silný prvek zejména v kombinaci s klíčovým slovem, proto by ho měl vždy obsahovat. Další nadpisy nižšího řádu, jako jsou H2, H3 se mohu vyskytovat již vícekrát a též by měly obsahovat klíčové slovo, i když jejich váha pro vyhledávače je již nižší, nikoliv však zanedbatelná.
39
Zvýraznění textu Pokud je nutné zvýšit důležitost slova textu, použijí se zvýrazňovací tagy. Pro tučný text strong (nahradilo starší tag b - bold) či pro kurzívu em (dříve i - italic). Vyhledávač takto označený text vezme jako významnější.
Alt Google též nabízí vyhledávání obrázků, kde prvek alt má při optimalizaci svou roli a je dobré ho u obrázku použít. Navíc je vhodný i pro uživatele, který nemá zapnutou podporu obrázků a vidí jen text nebo u velkých obrázků, kde se text uvedený v alt vypíše, než je obrázek načten.
SEO URL 1) Statické stránky Ve staticky řešených stránkách má každá html stránka obsahovou část v sobě. Nepotřebuje tedy data získávat z jiného zdroje. Zde je jen důležité zachovat pomlčku („-“) pro oddělení slov u víceslovných názvů stránky a volit vhodný název pro danou stránku. 2) Dynamické generované stránky a mod_rewrite U dynamického obsahu je situace složitější, proto je dobré použít prvek mod_rewrite. Mod_rewrite je modul do webového serveru Apache, který umožní dělat s URL velmi zajímavé věci. Zajistí nejen pěkné SEO URL u obsahu, který je načítán např. z databáze a mění se dle parametrů, které uživatel zadal, ale také podstrkávání obsahu, přesměrovaní nebo zakázání přístupu k daným souborům, chybová stránka 404 apod. Pravidla pro mod_rewrite se zapisují do speciálního souboru nazvaného .htacces. Základní prvek pro SEO URL vypadá obecně v .htaccess takto: # presmerovani RewriteEngine on RewriteRule
požadovaná stránka
[parametry]
40
vrácená stránka
Konkrétní příklad může vypadat takto: RewriteEngine on RewriteRule ^([a-zA-Z0-9/\\]*)$ index\.php?URL_dokumentu=$1 [L,NC]
Vysvětlení: Uživatel si vyžádá konkrétní dokument a v případě, že splňuje danou masku regulárního výrazu (může obsahovat velká i malá písmena, číslice a pomlčku) obsah ohraničený závorkou se uloží do $1. Skript.php se již postará o načtení požadovaného dokumentu.
Takže
uživatel
ve
skutečnosti
URL http://www.nejakafirma.cz/pozadovany-dokument/
uvidí a
ne
jen ve
pěkné skutečnosti
nepřehledné http://www.nejakafirma.cz/index.php?=pozadovany-dokument. Parametr [L] značí, že pokud požadavek vyhoví regulárnímu výrazu, je toto pravidlo poslední a žádné další nebude provedeno. Druhý parametr [NC] označuje, že se nebude rozlišovat v URL velikost písmen (Case iNsensitive). Některé další používané parametry pro přepis: •
R = přesměrování. Například [R=301] znamená moved permanently – trvale přesměrováno
•
T = MIME typ. Nastaví MIME typ dokumentu
•
QSA
=
zachová
vše,
co
je
za
otazníkem
v původní
adrese
(např. index.php?id=1&name=value) •
S = přeskočí další pravidlo [S=x], přeskočí x pravidel
•
F = zakáže dané URL
•
OR = používá se u RewriteCond (podmínka pro provedení), když je vyžadováno splnění první nebo další podmínky
SEO copywriting Tato technika je velice důležitá, a to jak pro návštěvníky, tak i zejména pro vyhledávače. SEO copywriter napíše poutavý text pro návštěvníka, ale zároveň do textu vhodně implementuje klíčová slova (3 až 5 %). Vhodně použitá klíčová slova jednak nenaruší čtivost článku a navíc lépe ji vyhledávač najde dle klíčových slov, na které je text optimalizován.
41
Robots.txt Robots.txt je jednoduchý textový soubor, který dokáže určit chování konkrétního vyhledávacího robota na stránce. Umisťuje se do kořenového adresáře webu. User-agent: * Disallow: /
Tento kód zakáže indexaci všem robotům. Pokud chceme omezit indexaci jen na určité roboty a adresáře může se použít tento zápis: User-Agent: Googlebot Disallow: /private/ Disallow: /photos/
V tomto případě zakážeme robotovi od Googlu indexovat vše, co je v adresářích private nebo photos.
Sitemap Sitemap je užitečný soubor nejčastěji v XML, který má za úkol usnadnit vyhledávačům orientaci v rozsáhlé struktuře webové prezentace.
http://www.domena.cz/novinky.html <priority>0.8 2009-02-25T11:59:33+00:00 weekly http://www.domena.cz/nakupujte-vyhodne.html <priority>0.64 2009-02-25T11:59:33+00:00 weekly
Z ukázky je zřejmá důležitost použití sitemap. Robot má všechny odkazy pohromadě a nic mu nebrání je ihned zaindexovat.
42
Vnitřní navigace Odkazy vedoucí z hlavní stránky, která je hodnocena zpravidla nejvýše, na další vnořené stránky, pomáhají zvyšovat jejich hodnocení a návštěvníka ihned nasměrují kam je potřeba. Je tedy důležité, aby významné webové stránky byly mezi sebou propojeny a vedli na ně odkazy hned z titulní stránky, aby je roboti mohly bez zbytečné prodlevy zaindexovat do své databáze.
4.1.3 Off-page faktory stránky Off-page faktory v SEO optimalizaci zahrnují všechny elementy, které se nedají ovlivnit přímo na stránce, ale které s hodnocením stránky vyhledávačem významně souvisí. Mezi tyto prvky se počítají zejména zpětné odkazy a jejich výstavba tzv. link building. Tato činnost je časově náročná a musí se provádět pravidelně, aby přinesla očekávané výsledky. S touto činností souvisí analýza výsledků k cenovým nákladům. Odkazy, které mají určitou váhu totiž nelze získat zdarma. Jak je stránka atraktivní určuje, kolik dalších stránek na ni odkazuje. To je jedna z klíčových hodnot pro výpočet PageRanku. PageRank je algoritmus od zakladatelů (Lawrence Page a Sergey Brin) Googlu, neznámějšího a nejpoužívanějšího vyhledávače na světě.
Google PageRank Hodnotu PageRanku a tím pádem důležitost dané stránky můžeme snadno vypočítat. Pro výpočet PageRanku stránky nazvané PR(A) se použije následující vzorec: PR(A) = (1-d) + d (PR(T1)/C(T1) + … + PR(Tn)/C(Tn)) Kde:
d – tzv. tlumící faktor, jeho hodnota se uvádí 0,85 C(Tn) – počet odkazů ze stránky Tn na stránku A PR(T1) až PR(Tn) - PageRank stránek, které odkazují na stránku A [13]
Čím více stránek na stránku A odkazuje, tím lépe. Zvýhodněno je dle vzorce také pokud odkazující stránka má sama velký PageRank a co nejméně odkazů na své stránce. Tím předá cílové stránce nejvíce ze svého PageRanku. Graficky je předávaní PageRanku znázorněno na následujícím obrázku:
43
Obr. 5 Pagerank dle [7]
Linkbuilding Jak bylo patrno z výpočtu PageRanku, odkazy vedoucí na požadovanou stránku jsou velice důležité. Zpětné odkazy jsou navíc vhodné i pro návštěvníky, kteří se tak dostanou na stránky nejen z katalogů či vyhledávačů. Budování zpětných odkazů (linkbuilding) můžeme realizovat několika způsoby: •
výměnou odkazů s tématicky podobně zaměřenými stránkami
•
zakoupením odkazů
•
zakoupením inzerce na inzertních serverech
•
registrací do katalogů
•
PR články na cizích stránkách
•
odkazováním v diskuzních fórech nebo na chatu
•
na přidružených mikrostránkách (produktové – lze zakoupit specifické zboží, informační – detailní informace o zboží, blog – komunitní účel) k vlastním stránkám
•
podvodnými technikami (zejména spam) Umísťování zpětných odkazů má však své zákonitosti, které je nutno dodržovat.
Není vhodné vkládat odkaz do stránky, která je vyhledávači nízko hodnocená. Efekt, který by takový odkaz přinesl, by byl minimální. Dobré je však odhadnout potenciál dané stránky. Na začátku může sice mít slabé hodnocení, ale za několik měsíců se může propracovat a bude hodnocen velmi dobře. Je však velmi těžké toto odhadnout. Důležitá je
44
také rovnoměrnost přidávání odkazů v čase. Pokud vyhledávač zjistí, že na stránku přibývaly za měsíc desítky odkazů a pak náhle stovky, bude se domnívat, že zpětné odkazy jsou koupené a stránku může penalizovat jako méně důvěryhodnou. V případě, že máme odkazy na svých mikrostránkách, které mají za úkol směrovat návštěvníky na mateřskou stránku, měly by být rovnoměrně rozloženy v textu a ne pohromadě, např. v patičce webu. Vyhledávač toto může penalizovat, jako zakoupené zpětné odkazy. Použití zpětných odkazů v textu působí přirozeně a vyhledávač nebude mít k penalizaci důvod. Přidání zpětného odkazu do katalogu je zpravidla velmi rychlé a technicky nenáročné. Každý katalog má podmínky pro přidání mírně odlišné. Vyskytují se i takové, které vyžadují přidání odkazu na samotný katalog, jinak odkaz nebude přidán. U ostatních stačí zadat krátký název stránky, URL, detailní popis (většinou 250 nebo 500 znaků) a vybrat vhodnou kategorii. Pro ověření je nutno někdy vložit i e-mail zadávající osoby. Po schválení nezávadnosti odkazu administrátorem katalogu je odkaz přidán do 14 dnů, někdy ihned. Nejdůležitější je text odkazu. Text by měl obsahovat vhodně zakomponovaná klíčová slova. Jak v názvu stránky tak zejména v jejím popisu. Odkazy můžeme i zakoupit. K tomu je dobré využít některý z PPC (pay per click – zaplacení za kliknutí) systémů. Nejpropracovanější reklamní systém nabízí Google Adwords. Nejprve je nutné zvolit nadpis a popis reklamy, poté je nutno vybrat klíčová slova, na která bude zobrazena ve vyhledávači. Nakonec se vybere cena za kliknutí. Úspěšnost prokliku lze vyjádřit následujícími hodnotami:
0,3 % - 1 % - dostatečné 1 % - 3% - dobré 3 % - 6 % - chvalitebné 6 % a více - výborné [23] Další významný způsob reklamy je tzv. kontextová reklama. U nás je nejznámější službou Google AdSense a Etarget. Pracují na společném principu. Výhodou je cílení reklamy na cizí stránky s tematicky podobným obsahem, který inzerent nabízí. Není tedy nic lepšího než čtenáři při čtení poutavého článku o určitém produktu ihned nabídnout možnost produkt zakoupit. Podobně jako do katalogů se odkazy přidávají i do specializovaných inzertních serverů. Inzertní server neobsahuje nic jiného než tématicky rozdělené inzeráty. Zadávaný
45
inzerát lze spravovat přes vytvořený účet. Inzerát lze za příplatek různými způsoby zviditelnit či po sobě několikrát opakovat. S výhodou lze využít výměnu odkazů s podobně zaměřenými stránkami. Obvykle na samostatné stránce „partneři“, lze najít tzv. „spřátelené weby“, na které se odkazuje. Smysl má vyměnit odkaz jen s podobně hodnoceným webem. V případě výměny s nízko hodnocenými stránkami je přínos spíše pro druhou stranu, proto je vhodné před výměnou odkazu zjistit jeho hodnocení a na základě této skutečnosti se rozhodnout. V propagaci webové stránky jsou velké možnosti, proto není od věci napsat poutavý a v rozumné míře vychvalující článek na poskytovanou službu či produkt a umístit na vhodný server, které dané PR články eviduje a zvýšit tak zájem o stránky. Zájem o web u vyhledávačů i uživatelů můžeme podpořit vytvořením mikrostránek na samostatných doménách, které mají za cíl zvýšit návštěvnost mateřského webu. Mikroweb je vhodný pro detailnější popis nabídky, která se na původní web z různých důvodů nehodila či nevešla. Většinou je takovýto web silně optimalizovaný na specializovanou nabídku, za účelem nalákání uživatele na domovský web dané mikrostránky. Je ale důležité, v případě nabídky stejného zboží, vyskytujícího se na mikrostránce i na domovském webu se duplicitnímu obsahu, za který může vyhledávač mikrostránku penalizovat. Je proto vhodné obsah odlišit. K budování povědomí o značce mezi komunitou uživatelů dobře poslouží i blog. Blog je systém pro vytváření krátkých článků, ke kterým se může návštěvník vyjádřit. Články musí mít odbornou úroveň, čtivost, pozitivnost a držet se tématu. Uživatelé novinky z oboru na blogu uvítají a rádi se zapojí do diskuze a mohou přidat i odkaz na daný článek sami na svoje stránky, či na svůj blog, pokud ho mají. Na blogu pochopitelně nesmí chybět odkaz a grafická návaznost na domovský web, který blog provozuje, aby si uživatel tuto skutečnost asocioval. Nesmí chybět ani RSS kanál pro odběr novinek.
4.1.4 Black Hat SEO – podvodné techniky optimalizace Kromě etických technik je někdy využíváno i těch neetických. Efekt je velmi dobrý, avšak krátkodobý. Pro solidní web je lepší se těchto technik vyhnout. Dříve nebo později na to vyhledávače přijdou a můžou web úplně vyřadit z indexace.
46
Doorway page (podstrčení vstupní stránky) Speciálně vytvořená stránka vysoce optimalizovaná pro vyhledávače. Téměř vždy se jedná o záměrně sestavenou stránku obsahující velké množství klíčových slov. Možnosti podvodné vstupní stránky jsou: •
stránka obsahuje množství placených PPC odkazů (návštěvník se nechá nalákat na tuto stránku a pokračuje dále přes placený proklik)
•
na stránce je umístěno přesměrování na normální stránku
•
mezi reklamou a klíčovými slovy se v iframu nachází stránka s normálním obsahem
Cloaking (podstrčení obsahu) Tato technika spočívá v podstrčení jiného obsahu pro návštěvníky stránek a jiný pro vyhledávací roboty. Princip je velmi jednoduchý. Každý robot má svoji identifikaci a podle této identifikace skript provede podstrčení příslušného obsahu, pochopitelně velice optimalizovaného. Deceptive redirect (klamavé přesměrování) Podobná technika jako cloaking, návštěvník je přesměrován javasriptovým kódem (zatím ho neumějí vyhledávače správně interpretovat) na jinou stránku než očekával. Přesměrování HTTP hlavičkou a meta tagem refresh již vyhledávač rozpozná. Stuffing (opakovaná a matoucí slova) Stránka obsahuje nesouvislé věty s mnoha klíčovými slovy, které pak celý text udělají nečitelným. Stuffing se používá i pro meta data, zejména pro keywords a descriptions. Tyto tagy jsou pak naprosto přehlceny údaji. Dále se používá i pro tagy title a alt. V těchto případech však na opakující se slova není brán zřetel a stránka může být za takto zahlcené tagy penalizována. Hidden kontent (skrytý obsah) K této technice se snižují zejména autoři webů, kteří nejsou schopni implementovat klíčová slova do běžného textu. Pro zakrytí textu slouží zejména CSS styly, kde je definována struktura stránky. Většinou se používá pro tento účel nulová velikost písma
47
nebo použití barvy písma shodné s barvou podkladu. Podobně se toto praktikuje pro odkazy, kde robot odkaz normálně následuje, ale pro návštěvníka je odkaz neviditelný. Duplicitní stránky Duplicitní obsah je pro vyhledávacího robota nepříjemná záležitost. V takovém případě nejprve zjišťuje, jaký obsah je starší a na jaký vede více odkazů a je tím pádem pro vyhledávač důležitější a dá mu přednost. Duplicita se může vyskytnout v rámci jedné domény nebo i na různých doménách. V případě stejného obsahu na více doménách se jedná o vykrádání webu a tedy porušování autorských práv. [22] Komentářový a katalogový spam Podle Kubíčka (2008, str. 288-289): Velmi rozšířenou technikou je komentářový spam. Vyskytuje se zejména v nechráněných blokovacích systémech. Často se jedná o spamy vytvořené automatickými roboty a programy. Jedním z takových je například volně dostupný skript Dity (Did I tell you?), kde stačí zadat jméno, odkaz a text. Skript automaticky zadá dotaz vyhledávačům, od nich získá podle určitých symptomů adresy takových nechráněných diskuzí, fór a komentářů na blozích a vzápětí zašle komentářový spam. Vše je otázkou několika málo sekund. Jako reakce na tento nešvar se objevuje u zavedených
blokovacích
programů
(Blogger,
WordPress)
hodnota
nofollow
(nenásledovat) parametru rel. To v praxi znamená, že odkaz s tímto parametrem je pro robota neviditelný. Nenásleduje ho a nepředává mu žádný PageRank. Hodnota nofollow se automaticky přidává do odchozích odkazů, které může dos stránky vložit kdokoli, také otevřená encyklopedie Wikipedia, která se v minulosti stávala cílem nájezdů spamerů s odkazy. Takový odkaz vypadá ve zdrojovém kódu následovně:
rel=“nofollow“>odkaz [23]
Link farms (odkazové farmy) Autor stránek vytvoří několik stovek či tisíců stránek, které následně umístí na subdoménu. Vyhledávací robot pak toto množství navzájem provázaných stránek najde a zaindexuje. Jelikož mají stránky dostatečné množství zpětných odkazů, přiřadí jim relativně vysoké hodnocení. Sami o sobě však nemají užitnou hodnotu, ale vyskytují se ve výsledcích vyhledávače značně vysoko, proto není problém, aby se na ně uživatel dostal. Jestliže je uživatel takto polapen, je ihned přesměrován na cílovou stránku nebo na tu
48
možnost upozorněn výrazným odkazem. Tato metoda je velice účinná a i pokud dojde k penalizaci odkazující farmy, je možnost ji velmi rychle zhotovit někde jinde. Subdoménám zbudovaným jen pro tento účel se říká throwaway domains (jednorázové domény). Penalizována je v tomto případě stránka odkazující na farmu stránek, nikoliv stránky, které jsou v odkazující farmě uvedeny. V takovém případě by mohl kdokoliv vytvořením link farmy poškodit svou konkurenci. Obrana vyhledávačů proti podvodným technikám Vyhledávače se snaží uživatelům předkládat co nejoptimálnější výsledky a jakékoliv podvodné techniky penalizují. Stránku, která obsahuje podvodnou techniku, vyřadí robot sám nebo ji je možné nahlásit do tzv. spam report formuláře, kde se uvede URL stránky, vyhledávací fráze a co je na stránce závadného. V případě schválení, jestli se nejedná o nahlášení od konkurence apod., je pak stránka odstraněna z vyhledávače. Pokud důvod pro penalizaci pominul, administrátor vrátí ručně stránku zpět do indexu. Než si stránka získá zpět určité hodnocení, může to trvat několik měsíců. Je tedy lepší se podvodným technikám vyhnout, i když mají svou roli, je však nutno také za ně přijmout odpovídající trest v podobě penalizace.
49
5 Vyhodnocení uplatnění SEO Při tvorbě internetové krabicové aplikace (např. elektronického obchodu) je její vývoj ohledně základní SEO optimalizace on-page faktorů (validita kódu, správné využití nadpisů H1..H3, SEO URL atd.) víceméně rutinní záležitostí a tvoří jen zlomek ceny, která je potřeba k vybudování opravdu dobře hodnocené webové aplikace mezi vyhledávači. Při spuštění nové domény ji roboti, zejména googlebot od Googlu najde relativně rychle. Závisí to na množství odkazů vedoucích na stránku. Pokud jich je opravdu hodně, robot ji může indexovat již po několika málo hodinách. Běžná doba indexace je přibližně 14 dní až měsíc. Majitel stránek uvidí většinou svou novou stránku na dobré pozici, bez velké pracnosti. Jaké je pak zklamání, když se stránka po čase ve výsledcích propadne katastrofálně dolů. Toto chování je zcela přirozené. Nová doména je Googlem mírně zvýhodněna, poté se propadne do propadliště tzv. sandboxu. Sandbox je součástí tzv. Google dance (tanec Googlu). V sandboxu je stránka několik měsíců, než se vrátí na své původní místo ve výsledcích. Google se tímto opatřením brání odkazujícím farmám, které mají v sobě spoustu klíčových slov s fiktivním obsahem. Důležité je budovat i nadále zpětné odkazy, aktualizovat web a trpělivě čekat, až se stránka ze sendboxu dostane. Po spuštění stránek SEO optimalizace stránek nekončí. Naopak. Je důležité sledovat mnoho faktorů souvisejících se stránkami. Pro sledování je u nás několik velmi dobrých služeb (navrcholu.cz, toplist.cz), ze kterých vyčnívá výborně propracovaný Google Analytics (dále jen GA).
Obr. 6 Google Analytics dle [8]
50
Jako jiná počítadla se i GA vkládá do stránek jednoduchým Javascriptovým kódem, který obecně vypadá takto (číselné ID bylo nahrazeno písmenem X): <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "googleanalytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); <script type="text/javascript"> var pageTracker = _gat._getTracker("UA-XXXXXXX-X"); pageTracker._trackPageview();
Kód se vkládá do patičky webu. Místo vložení je velmi důležité z důvodů načítání celé stránky. V případě umístění sledovacího kódu do hlavičky stránek nehrozí přerušení načítání při nedostupnosti GA hned v úvodu. GA nabízí sledování a analýzu mnoha faktorů provozu stránek. Zde jsou uvedeny ty nejdůležitější: •
Nejnavštěvovanější stránky v rámci webu
•
Klíčová slova použitá návštěvníky
•
Odkud návštěvníci přicházejí (fyzicky i „síťově“)
•
Čas strávený na stránce
•
Akce návštěvníka (nákup zboží, odeslání dotazu)
•
Odchozí stránka
Z těchto parametrů a mnoha dalších lze provést analýzu, která věrohodně vypovídá o chování návštěvníků stránek. Je-li čas strávený návštěvníky na stránkách nízký (do 10 vteřin) a ve vnořených stránkách je ještě nižší, je třeba se zamyslet, kde se stala chyba. Nejprve je nutno provést analýzu nad obsahovou a designovou atraktivností webu. Další krok je navigační struktura. Zda je navigace zřetelná na první pohled a lze se v ní lehce orientovat i při procházení webu (dobré je použít drobečkovou navigaci – plochý navigační strom, který umožní návrat zpět až do kořenového adresáře stránek). Není nic horšího, než když se návštěvník na stránkách ztratí. Platí zlaté pravidlo, aby návštěvník nemusel při procházení webu přemýšlet jak a kam kliknout, což ho ve většině případu odradí a již se na stránky nemusí vrátit. Zde ani sebelepší optimalizace nepomůže, pokud má web nevhodnou navigační strukturu.
51
5.1 Nástroje pro vyhodnocení optimalizace webové stránky Jak je SEO optimalizace úspěšná či nikoliv se lze snadno přesvědčit různými nástroji k tomu určenými. Tyto nástroje dokážou poskytnout základní charakteristiku kde má web své silnější stránky nebo kde je nutno na optimalizaci výrazně přidat. Vynikající je pro tyto účely integrovaná sada nástrojů SEO Administrátor. Utilita Ranking Monitor Utilita Ranking Monitor slouží pro zjištění pozice požadované stránky ve vyhledávačích na klíčová slova. Obsahuje seznam 30 nejvýznamnějších vyhledávačů, jako jsou Google, Yahoo, MSN, Altavista, HotBot a další. Z českých vyhledávačů jsou zastoupeny Seznam, Centrum a Atlas. Nástroj SEO Link popularity checker Tento program analyzuje zpětné odkazy, které jsou významným prvek v optimalizaci. Sleduje vývoj a zánik odkazů, které řadí do srovnávacího seznamu. Je schopen analyzovat i stránky konkurence a vyhledávat zdroje pro možnou výměnu odkazů. Utilita Site indexation tool Kontrola indexování stránek je zajištěna tímto nástrojem. Než je stránka obsažena ve výsledcích vyhledávání, musí být i zaindexována. Program poskytuje přehled stránek, které byly zaindexovány nejrůznějšími vyhledávacími roboty a podporuje nejen hlavní světové, ale i české vyhledávače. Soubor nástrojů Link exchange tool Program je určen pro práci s výměnnými a zpětnými odkazy. Nalezne stránky, kde lze umístit odkazy na partnerské projekty, stránky které zveřejnili odkazy na konkurenční weby. Vygeneruje souhrnný seznam stránek související s obsahem požadovaného webu. Velkou výhodou je i zjištění stavu partnerských odkazů, zda jsou stále funkční a správa databáze těchto odkazů. Program Log analyzer log analyzer Tato aplikace slouží pro analýzu log souborů stránek. Poskytuje srovnávací přehled o počtu návštěvníků, vyhledávaných frázích použitých při vyhledání stránky, odkazujících stránek nebo zemí, odkud návštěvníci pocházejí apod. Výstup z této aplikace je vidět na obrázku níže.
52
Obr. 7 Log Analyzer dle [9]
Nástroj SEO Page Rank analyzer Aplikace je schopna automaticky získat hodnoty Google PageRanku pro seznam analyzovaných URL. Odkazy, které směřují na stránku, se také analyzují. Každé URL je otestováno na přítomnost v uznávaném katalogu DMOZ a Yahoo. Nástroj Keyword suggestion Klíčová slova je jedna z nejdůležitějších věcí v optimalizaci. Tento výborný SEO program používá různé zdroje tak, aby byl schopen navrhnout klíčová slova vzhledem k tematickému obsahu webu. Dokáže také určit konkurenci klíčových slov a doporučit na jaké klíčové slovo je dobré stránku optimalizovat pro vyšší hodnocení vyhledávači. Modul HTML analyzer Tento modul analyzuje pečlivě obsah html stránky a poskytuje tak kompletní zprávu o hustotě a váze jednotlivých klíčových slov a frází. Lze ho využít i pro analýzu konkurenčních stránek. Program Google Data Center Důležitý program pro zaslání dotazu jednotlivým Google data centrům (Google’s Data Centers) z jednoho rozhraní. Mapu jednotlivých data center ukazuje následující obrázek.
53
Obr. 8 Centra Googlu dle [10] Google provozuje v současnosti aktuálně 36 datacenter (1x Sao Paulo, 1x Moskva, 3x Asie, 11x Evropa a 20x USA) [12] SEO nástroj Snippets viewer Snippet viewer zobrazuje automatický popis stránky, tak jak je zobrazován vyhledávači. Atraktivní a dobře čtivý popis tak snadněji naláká možného návštěvníka. Program analyzuje tyto popisky a vytváří si jejich databázi. [11]
5.1.1 Stručné vyhodnocení SEO V současné době, kde je konkurence všudypřítomná se využívá každé možnosti, jak získat před ostatními náskok. Technologie SEO je toho důkazem. Pro toho, kdo to myslí se svým projektem na internetu vážně, dříve nebo později SEO optimalizaci využije. Nejlépe pochopitelně ihned při vývoji stránek. Mnoho firem se zabývá SEO optimalizací a následnou analýzou. Mezi nimi se však najde jen několik málo procent, které optimalizaci opravdu rozumí a dokážou stránky dostat na přední místa ve vyhledávačích, alespoň po určitou dobu. Google i ostatní vyhledávače velmi rychle mění své dobře utajené algoritmy pro hodnocení stránek, a tak se tento trend musí velmi pečlivě sledovat. Jen Google používá pro hodnocení minimálně 200 parametrů. Výstavba kvalitní SEO optimalizace je dlouhodobá a také nejdražší investice. Naštěstí existuje mnoho nástrojů, jak si spočítat náklady na reklamu a návratnost této investice v podobě zisku. Služby nabízející placené odkazy toto mají přístupné ve svém webovém rozhraní. Uživatel si tak může lehce ověřit, zda se mu placené odkazy či reklama vyplatí nebo nikoliv a stanovit si kampaň přesně dle jeho požadavků a možností investování. Neustálé sledování a analýza stránek pomocí SEO nástrojů je nezbytná stejně tak jako pravidelná aktualizace stránek a zvyšování on-page i off-page faktorů. Jediné co SEO nedokáže je donutit návštěvníka ke koupi. To musí zajistit jen žádané a dobře prezentované zboží. Při optimalizaci se však nesmí zapomenout na návštěvníka samotného, který by tak sice na stránky zavítal, ale hned
54
by z nich odešel bez požadovaného efektu. SEO je vhodné tak budovat pro vyhledávače ale s ohledem na návštěvníka.
55
Závěr Zdokumentování vývoje internetové sítě a zejména jejich protokolů přineslo zjištění, že množství protokolů bylo a je nezabezpečených. Například FTP, SMTP a další. V dnešní době je bezpečnost aplikací brána velmi vážně a na zabezpečení se vynakládají nemalé prostředky. Na druhou stranu se ukázalo, že stále mají své uplatnění protokoly vzniklé pře několika desítkami let (SNMP, NFS, WHOIS). Je nutno také uvést, že filosofie protokolu TCP/IP i protokol samotný byl navržen opravdu dokonale, což potvrzuje jeho dlouholeté používání a předpokládané využití i do budoucna. Rozbor serverových programovacích jazyků pro internetové aplikace přinesl zajímavé závěry ohledně jejich použití s ohledem na jejich silné a slabé stránky. PHP vyniká v rychlosti tvorby a rozsáhlých možnostech v podpoře databází, grafiky, PDF, XML. Vhodné je na malé až střední aplikace. Podobné je to s dalšími programovacími jazyky, jako jsou Python a Perl. Opravdu robustní jazyky s vynikajícími vývojovými prostředími jsou Java, Ruby on Rails a technologie .NET. Nelze opomenout ani programovací jazyky na straně klienta. Zde si prioritu vydobyl Javascipt a v několika posledních letech jeho spojení s XML v technologii AJAX. AJAXová technologie má opravdu velmi široké použití a je synonymem Webu 2.0. Stálicí v návrhu struktury stránek zůstává stále XHTML ve spojení S CSS. Nové standardy sice již jsou navrženy, ale jejich rozšíření brání pomalá implementace v prohlížečích. Stále je nutné odlaďovat webové stránky pro několik prohlížečů, což není mnohdy lehký úkol. Vyčerpávajícím přehledem řadou technik pro SEO optimalizaci webových stránek byla ukázána velká propracovanost a téměř vědní disciplína technologie SEO. Optimalizace je jedna z nejrychleji se vyvíjejícího odvětví v IT. Také je tato technika velmi dobře placená neboť opravdu kvalitních SEO odborníků je velmi málo. Neustále se musejí sledovat trendy a změny ve vyhledávacích algoritmech. Při optimalizaci se však nesmí opomenout návštěvník, aby neviděl jen špičkově optimalizovanou stránku, ale také její dobře navigačně propracovanou strukturu. SEO optimalizace je v dnešní době nevyhnutelný prvek pro návštěvnicky úspěšný web.
56
Seznam použité literatury [1] Internet, připojení k němu a možný rozvoj (Část 2 - Historie a vývoj internetu) [online]. 2006,
[cit.
2009-01-16].
Dostupné
z:
[2] Aplikační protokoly TCP/IP [online]. 2004, [cit. 2009-01-16]. Dostupné z:
[3] Co bylo, než vznikl český Internet? – LUPA [online]. 2002, [cit 2009-01-18]. Dostupné z:
[4]
Obrázek
Java
Servlets.
[online].
[cit.
2009-01-28].
Dostupné
z:
[5] NetMonitor - SPIR - Mediaresearch & Gemius [online]. 2008, [cit. 2009-02-01]. Dostupné z: [6] SPIR NetMonitor Výzkum sociodemografie návštěvníků internetu v České Republice [online].
2008,
[cit.
2009-02-01].
Dostupné
z:
[7]
Wikipedie.
Soubor:
Pagerank1.png
[cit.
2009-02-10].
Dostupné
z:
[8] Google Analytics. Web 71 [online]. 2008, [cit. 2009-02-11]. Dostupné z: [9]
Obrázek
Log
Analyzer.
[online].
[cit.
2009-02-18].
Dostupné
z
[10] Map of all Google data center locations. Royal Pingdom [online]. [cit. 2009-02-22]. Dostupné
z:
locations/> [11]
Seo
administrator
[online].
2007,
[cit.
2009-02-27].
Dostupné
z:
[12] Kde má své datacentra Google [online]. [cit. 2009-02-27]. Dostupné z: [13] ROGERS, Ian. The Google Pagerank Algorithm and How It Works [online]. 2002, [cit. 2009-02-24]. Dostupné z: [14] Wikipedie. Soubor: Tcpip zapouzdreni.svg. [cit. 2009-01-16]. Dostupné z: .
57
[15] PETERKA, Jiří. Historie českého internetu: Gopher [online]. 2005, [cit. 2009-01-16]. Dostupné
z:
125585/default.aspx> [16] PETERKA, Jiří. Síťový model TCP/IP [online]. [cit 2009-01-17]. Dostupné z: < http://www.earchiv.cz/a92/a231c110.php3 /> [17] Vznik internetu [online]. [cit. 2009-01-17]. Dostupné z: [18] CERN - místo, kde se narodil Web [online]. [cit 2009-01-18]. Dostupné z: [19] HOSCHKA, Philipp. Trend: W3C Web Applications [online]. [cit. 2009-01-22]. Dostupné z: [20] ŠRÁMEK, Dalibor. Jak na CGI - Daliho průvodce [online]. 1998, [cit 2009-01-20]. Dostupné z: [21] Ruby on Rails a revoluce ve vývoji pro web. Část první: Ruby | Karmi is on Rais [online]. 2007, [cit 2009-01-20]. Dostupné z: [22] Podvodné optimalizační techniky [online]. [cit 2009 02-10]. Dostupné z: [23] KUBÍČEK, M. Velký průvodce SEO: Jak dosáhnout nejlepších pozic ve vyhledávačích. 1. vyd. Brno: Computer Press, a. s., 2008. 318 s. ISBN 978-80-2512195-5.
58
Seznam obrázků Obr. 1
Schéma zapouzdření dat v síti TCP/IP
Obr. 2
Gopher
Obr. 3
AJAX
Obr. 4
Java Servlets
Obr. 5
Pagerank
Obr. 6
Google Analytics
Obr. 7
Log Analyzer
Obr. 8
Centra Googlu
Seznam tabulek Tab. 1
Počet uživatelů internetu
Tab. 2
Využívání internetu dle umístění použití
Tab. 3
Věk uživatelů internetové sítě
59