Meta tagy

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 - 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 šesti lety (aktualizováno 2005) tuto stránku začínal psát, byly meta tagy velmi důležité. Postupem času ale jejich význam poněkud klesá.

Popisek = description pro vyhledávače

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.">.

Google i Seznam vypisuji description tehdy, pokud obsahuje hledané slovo (nebo většinu hledaných slov). 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 jako popisek (tak zvaný snippet) zobrazuje kousek textu stránky, který obsahuje vyhledávaná slova. Takže by se mohlo objevit třeba:

V této sekci: Základní kurz Prvky stránek Barvy Provoz webu Další sekce:

což je například začátek zmíněné stránky a vypadá trochu blbě.

Další informace pro vyhledávače

Klíčová slova

Nejdůležitější vyhledávače Google a Seznam klíčová slova ignorují. Já osobně jsem dříve používal keywords pouze kvůli internímu vyhledávači (Atomz). Aby takové primitivnější vyhledávače 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">.

Výše zmíněná klíčová slova jsem kdysi dávno měl na své stránce o hudbě. Klíčová slova se oddělují čárkami, za čárkami mohou být mezery.

Při příležitosti 15. výročí vzniku tohoto návodu (vznikl v dubnu 1998) uvedu malé opakování. Soudě podle dotazů v diskusích je to pořád potřeba. Takže opakujte po mně: "Zadávání meta keywords už 15 let nemá vůbec žádný smysl!"

Zákaz indexování

<meta name="robots" content="noindex,follow">

říká robotům vyhledávačů (Seznam, Google, Bing), že stránku nemají zařazovat do svých indexů, ale že mají sledovat odkazy v ní obsažené. To se vyplatí jenom u naprostého minima stránek (například registrační formulář, formulář na zapomenuté heslo apod.). Další hodnoty index nebo nofollow jsou zřejmé. Více v textu o robots.txt.

Pro Google

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">

Jazykové nastavení

<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. Vyhledávače by se teoreticky podle tohoto tagu mohly řídit, ale v praxi to pokud vím nedělají (řídí se raději textovým obsahem stránky).

Čeština, nastavení kódování

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 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á.

Jiný dobrý způsob na kódování češtiny je používat Latin-2 (ISO 8859-2). Pak to vypadá takto:

<meta charset="iso-8859-2">

Charset pro kódování UTF-8:

<meta 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.

Dříve (asi tak před rokem 2011) se meta tag kódování zapisoval složitěji. Já ještě dnes používám starší zápis kvůli kompatibilitě s některými staršími programy, kterými stránky zpracovávám. Pro prohlížeče to není nutné, ty všechny zvládají novější zápis zmíněný výše. Starší zápis vypadá např. takto:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Češtinou se zabývám na samostatné stránce.

Automatické přesměrování

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 samozřejmě zadává jiná. Prohlížeč se potom pokusí do stejného okna načíst stránku specifikovanou v URL podobně, jako kdyby dostal příkaz HTTP protokolem. Zadá-li se bez URL, obnovuje se tatáž stránka, teoreticky donekonečna. Více o přesměrování.

Generator

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).

Author apod.

<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.

Neukládání a vypršení

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 prohlížečích 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ří z nějakého důvodu potřebují přistupovat k obsahu offline. Také zvýšíte průtok dat ze serveru a svým uživatelům stránky znatelně zpomalíte! Doporučuji nastavovat to jenom u stránek, které se opravdu často mění.

Vypršení

<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.

A proč to nefunguje

Žádná cache fungující na serveru (např. squid) nečte html zdroj, takže nemá šanci všimnout si meta cache nastavení. Je to začarovaný kruh -- keš si může teoreticky meta tagu všimnout až poté, co stránku uloží (a tedy jej chtě nechtě nerespektuje).

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 a Na co stránka čeká.

Pics-label

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 (když ještě fungoval) 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).

Microsoftí meta tagy

<meta http-equiv="imagetoolbar" content="no" />

zruší v Internet Exploreru 6 a mladších taková ta tlačítka, když se jede myší přes obrázek (totéž se dá vypnout přímo u obrázku pomocí nestandardního atributu galleryimg="false").

<meta http-equiv="MSThemeCompatible" content="no">

v systému Win XP vykresluje stránky jakoby stylem 2000 (lišty a tlačítka).

<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.

Vlastní meta tagy

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.

Obecná syntaxe tagu meta

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.

 

Reklama

www.webhosting-c4.cz, webhosting s doménou v ceně. 20GB

 

 

 

o tvorbě, údržbě a zlepšování internetových stránek

Návody HTML CSS JavaScript Články Ostatní

Základy Prvky stránek Tvorba webu

 

Jak psát web píše Yuhů, Dušan Janovský. Kontakt. Poslední aktualizace 01. října 2014.