Popisek = description - Další informace pro vyhledávače - Čeština - Automatické přesměrování - Generator - Author apod. - Neukládání a vypršení - Pics-label - Microsoftí meta tagy - Vlastní meta tagy - Atribut Lang - Obecná syntaxe
Meta tagy jsou zvláštní značky, které se píšou do hlavičky stránky. V každé stránce je potřeba použít:
Většina ostatních meta tagů se použije zřídka, ale je dobré vědět, co umějí. Spousta autorů meta tagy plýtvá, aby ukázali, jak jsou strašně chytří. Méně je ale více.
Když jsem před sedmi lety (aktualizováno 2005) tuto stránku začínal psát, byly meta tagy velmi důležité. Postupem času ale jejich význam zásadně klesá.
Popis obsahu stránky se zadává meta tagem description, např:
<meta name="description" content="Popis
tvorby a publikování WWW stránek pro začátečníky i profesionály.">.
Některé starší vyhledávací stroje (např. Altavista) si všímaly popisu stránky zadaného autorem a pokud stránku vypisují v seznamu nalezených, připojují k titulku stránky i tento popis. Google vypisoval popisek tehdy, pokud obsahuje hledané slovo. Takže se ve výpisu pod titulkem objeví
Popis tvorby a publikování WWW stránek pro začátečníky i profesionály.
Kdybych výše zmíněný tag nevložil, tak by se mohlo objevit třeba:
V této sekci: Základní kurz Prvky stránek Barvy Provoz webu Další
sekce:
to je začátek zmíněné stránky a vypadá trochu blbě.
Jak si postupem času vyhledávače přestávají meta tagu description všímat, jeho smysl se poněkud ztrácí.
Nejdůležitější vyhledávač Google dnes (2002) klíčová slova už ignoruje. Aby starší vyhledávací stroje (Altavista a spol.) snadněji pochopily, o čem se na té které stránce píše, lze jim sdělit, jaká jsou klíčová slova textu. Do hlavičky dokumentu se vloží tag
<meta name="keywords"
content="hudba,kytara,flétna,fletna,Oldfield,Asonance,Spirituál">.
Tato klíčová slova mám na stránce hudby. Když do Altavisty zadám kytara, moje stránka bude pravděpodobně nalezena (spolu s miliónem dalších). Klíčová slova se oddělují čárkami bez mezer. Mám-li klíčová slova s diakritikou, zapisoval jsem je dvakrát, jednou s nabodeníčky a podruhé bez nich. To je dnes (2003) už naprostá zbytečnost, protože všechny důležité české vyhledávače hledají česky a diakritiku překlápějí. Google, který diakritiku nepřeklápí, zase ignoruje keywords.
U keywords se dá použít atribut lang, ale nevím, zda to má nějaký význam.
<meta name="robots" content="noindex,follow">
říká robotům vyhledávačů (Altavista, Webfast, Google apod.), že stránku nemají zařazovat do seznamů, ale že mají sledovat hyperlinky v ní obsažené. To se vyplatí jenom u naprostého minima stránek (například obsah levého rámu s obsahem, ten by zobrazen v celém okně mátl). Další hodnoty index nebo nofollow jsou zřejmé. Více v textu o vyhledávacích robotech.
Google akceptuje meta tag googlebot. Příklad zakázání výpisu úryvku stránky a zákazu archivovat:
<meta name="googlebot" content="nosnippet,noarchive">
<meta http-equiv="Content-language" content="cs">
Informace o použitém jazyce. Slouží prý zejména pro automatické přepínání jazyka, pokud je dokument ve více verzích. Nevěřím tomu.
Existuje spousta pracných způsobů, jak zajistit na Internetu správné kódování češtiny. Jednoduše se to dá udělat využitím následujícího tagu, který se zadává do hlavičky html souboru:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
Tím říkám, že dokument je kódován v kódování windows-1250. V případě jiných kódování se namísto windows-1250 píše norma kódování, která může být různá.
Lepší než kódování windows-1250 je používat Latin-2 (ISO 8859-2). Pak to vypadá takto:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
Charset pro kódování UTF-8:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Tento meta tag se má správně používat ještě před titulkem (tag <title>), protože kdyby titulek obsahoval čárkovaná písmena, a meta tag by byl až za ním, nemusí se pak v Exploreru stránka vůbec zobrazit.
Češtinou se zabývám na samostatné stránce.
Do hlavičky (to jest mezi tagy <head> a </head>) se vloží tento tag:
<meta http-equiv="refresh" content="6;URL=http://www.nekam.cz/cokoliv">
,
kde 6 je počet sekund, který server vyčká před začátkem přesměrování, a adresa se zřejmě zadává jiná. Http protokol se potom pokusí do stejného okna načíst stránku specifikovanou v URL. Zadá-li se bez URL, obnovuje se tatáž stránka, teoreticky donekonečna. Více o přesměrování.
Specializované programy na psaní HTML vkládají do svých výtvorů meta tag s popisem, že stránka vznikla s jejich pomocí. Například FrontPage tam vkládá
<meta name="generator" content="Microsoft FrontPage 3.0">
Tato informace nemá praktické využití, proto tento řádek zásadně mažu. Navíc například FrontPage při každém ukládání tento tag přepíše, jakoby stránku udělal on, i když ji neudělal.
Některé HTML editory si do dokumentů vkládají meta tagy, které používají pro svoji potřebu. Například FrontPage si tak drží informace o použití sdílených okrajů (shared borders) nebo použitých motivů (themes).
<meta name="author" content="Dušan Janovský">
Je to úplně na nic, ale já to dávám do stránek, když jsem smutný a chci se proslavit.
Občas jsou na zdrojových kódech k vidění meta informace typu copyright, company a podobné. Nemá to žádný praktický účel, je to podobné, jako když pejskové počůrávají patníky.
Pomocí meta tagů se dá také omezeně nastavit, že se stránka nemá ukládat na počítači klienta a ve vyrovnávacích pamětech cache.
<META http-equiv="cache-control"
content="no-cache">
Kromě hodnoty no-cache, která zabraňuje cacheování obecně, se uvádějí nepoužitelné hodnoty public, private (neukládat ve veřejných cache) a no-store (ukládat ale nearchivovat). Cache-control má i více vlastností, které jsou specifikovány v protokolu http 1.1.
Ukládání obecně by měl zabránit také zápis
<META http-equiv="pragma" content="no-cache">
ale v některých verzích Internet Exploreru prý nefunguje. Bude to patrně tím, že pragma není součástí http standardu.
Varování: dobře si rozmyslete, než zakážete pro stránky ukládání a cacheování! Odříznete si tak nezanedbatelnou část čtenářů, kteří si prohlížejí stránky z domova offline. Také zvýšíte průtok dat ze serveru. Doporučuji nastavovat to jenom u stránek, které se opravdu často mění.
<meta http-equiv="expires" content="Sat 21
Jun 2003 20:04:00">
Prohlížeč si stránku uloží a u takto označené stránky zapamatuje, že je platná jenom do konce jara 2003. Kdyby se na ní chtěl uživatel z téhož počítače podívat v létě 2003, prohlížeč si určitě sáhne na server, protože ví, že to, co má uložené, už neplatí.
Konkrétní chování prohlížeče závisí na jeho nastavení, dá se třeba nastavit, že si prohlížeč pro novou verzi stránek sáhne vždy.
Žádná cache fungující na serveru (nejčastěji squid) nečte html zdroj, takže nemá šanci všimnout si meta cache nastavení.
Meta nastavení cacheování tedy funguje pouze na cache prohlížečů (Temporary Internet Files). Pokud na vypršení opravdu záleží, je třeba, aby hlavičky o expiraci posílal server.
Vizte též kešovací návod pro autory webu a webmastery.
Informace o (ne)závadnosti obsahu zejména z morálního hlediska. Nevím přesně, jak se používá, ale v kódu na weblogu Martina Michálka jsem našel příklad. Sice mu nerozumím, ale pro úplnost jej uvádím:
<meta http-equiv="pics-label" content='(pics-1.1 "http://www.icra.org/ratingsv02.html"
comment "ICRAonline v2.0" l gen true for "http://machal.creativity.cz" r (nz
1 vz 1 lz 1 oz 1 cz 1) "http://www.rsac.org/ratingsv01.html" l gen true for
"http://machal.creativity.cz" r (n 0 s 0 v 0 l 0))' />
Další informace mi mailem poslal Jersywoo:
Probíhá to asi takhle(americký model):
Na pornostránky vložíš tag pics-label. Nějaká maminka svému děcku nastaví v IE, že se nemají zobrazovat stránky s erotickým obsahem. Když bude se to dítě chtít podívat na tu stránku, tak se mu nezobrazí, kurňa musím frčet do Opavy na služebku, dopíšu to jindy.
Nějaké info na www.icra.org (anglicky).
<meta http-equiv="imagetoolbar" content="no" />
zruší v Internet
Exploreru 6 taková ta tlačítka, když se jede myší přes obrázek (totéž se dá
vypnout pomocí nestandardního atributu
<meta http-equiv="MSThemeCompatible" content="no">
v systému
Win XP vykresluje stránky jakoby stylem 2000 (lišty a tlačítka).
<img ... galleryimg="no">
už si nepamatuju,
co dělá.
<meta name="mssmarttagspreventparsing" content="true" />
popisuje Michal Illich v
konferenci SEO, má jít o vypnutí smart tags.
<meta http-equiv="Site-Exit" content="revealTrans(Duration=1.0,Transition=12)">
přechodový filtr při natažení stránky. Má to víc nastavení, podporuje to Internet Explorer. Doporučuji nepoužívat.
Do name a content si teoreticky můžete dát cokoliv, aniž byste narušili význam stránky.
<meta name="hocičo" content="jakákoliv hodnota">
Takové meta tagy se pak dají použít zejména pro různé programy, které si pro práci se stránkami napíšete.
U klíčových slov a popisu se dá vyznačit, v jakém jazyce klíčová slova jsou, aby je roboti snáze zařadili. Dělá se to přidáním atributu lang do tagu meta, například
<meta name="keywords" content="hudba,kytara,flétna,fletna,Oldfield,Asonance,Spirituál"
lang="cs">
<meta name="keywords" content="music,guitar,recorder,Oldfield,Asonance,Spiritual"
lang="en">
Zřejmě je možné zaklíčování pro více jazyků. Stejně se používá u popisu (name=description). HTML verze 4.0 přináší nový obecný atribut LANG, který lze použít u čehokoliv. U meta tagů je jedno, v jaké verzi HTML je dokument psán, protože meta tagy nejsou interpretovány prohlížečem, ale HTTP protokolem nebo vyhledávacími službami. Tady se užívá "CS" (a ne CZ), protože CS je v normě ISO, která to řídí. Chápu to tak, že CZ je země, CS je jazyk.
Slovo "meta" pochází tuším z řečtiny a znamená "něco, co je nad" nebo "za". Pokud html stránky chtějí říci něco, co je svou podstatou nadřazeno jejich vlastnímu obsahu, použijí tag meta.
Tagy meta se zadávají do hlavičky HTML dokumentu:
<html>
<head>
<title>...</title>
<meta ...>
<meta ...>
</head>
<body>
... dokument...
Prvním atributem meta je buďto
V tomto atributu je napsáno, jaký druh metainformace bude sdělován (např.
meta="keywords"
=> budou sdělována klíčová slova). Obecně
zapsáno:
<meta name="druh informace" content="obsah informace">
nebo
<meta http-equiv="druh informace" content="obsah informace">
Druhým povinným atributem je "content", což znamená "obsah". Ten je roven
vlastnímu obsahu metainformace. Například content="housle, smyčce,
kalafuny"
. Existují i další nepovinné atributy, z nichž uvádím pouze
lang.
Jak psát web píše Yuhů, Dušan Janovský. Kontakt. Poslední aktualizace 13. února 2005.