jueves, octubre 20, 2005

(HTML)Metadatos

Metadatos en html


Si hay algo en lo que el W3C siempre insiste es en el significado del documento. Desde el punto de vista del W3C, internet debe ser información estructurada, y el html debe ser la herramienta para lograr esa estructuración.



Una página web debe ser un conjunto de datos organizado con sentido. Las etiquetas html deben insertarse con este fin organizativo (dejando la presentación para otros lenguajes, CSS). La sola lectura del código debería ofrecer información relevante sobre el documento. Se trata en definitiva de organizar internet, escribiendo páginas que contengan información sobre si mismas, de forma que pueda mecanizarse su clasificación y catalogación. El futuro de la metainformación pasa por la web semántica y por XML, pero mientras tanto podemos avanzar por ese camino con los metadatos.



Los metadatos (información sobre la información) no se visualizan, pero estan integrados en el documento ofreciendo información variada: desde el tipo de formato utilizado (html, xml ...) hasta el autor, editor con el que se ha confeccionado, información para los buscadores, etc.


La etiqueta meta


La forma usual de insertar metadatos en el documento es por medio de la etiqueta <META> en la sección <HEAD> de la página.



Esta etiqueta es de aquellas de las que llamabamos "elementos vacios" porque no lleva etiqueta de cierre. Su estructura es la de una declaración propiedad:valor. Por ejemplo:


<meta name="generator" content="HTML-Kit" />

etiqueta que contiene la metainformación de que el documento ha sido escrito usando dicho editor.



No existe ninguna regla acerca de la informacion que puedes o no puedes incluir en las metatags. El standard html define la estructura de una etiqueta META, pero no sus valores. Es perfectamente válido que inventes tus propias etiquetas META; sin embargo dado que no se visualizan en el navegador, y que realmente solo se aprovechan por los buscadores y otras herramientas informáticas (que lógicamente solo entienden las etiquetas META mas difundidas) tampoco tiene mucho sentido crear tu propia metainformación, salvo para uso propio.


Etiquetas META mas usuales


description


<meta name="description" content="Esta es la mejor pagina del mundo mundial" />

Mediante esta etiqueta podemos incluir como metadato una descripción de nuestra página. Esta descripción puede ser leida y utilizada por algunos buscadores

La etiqueta <meta> admite el atributo lang, que nos permite ofrecer información sobre el idioma:

<meta name="description" content="Esta es la mejor pagina del mundo mundial" lang="ES" />


keywords


<meta name="keywords" content="mp3, free, FREE, download, britney, spears" /> 

Las palabras clave son aquellas que resumen de forma significativa el contenido de la pagina. Por ejemplo keywords adecuadas para ignside.net podrían ser "noticias, internet, manuales, html"



Las dos etiquetas META que acabas de ver son las mas importantes. Como los buscadores leen estas etiquetas y pueden juzgar acerca de la importancia de la pagina segun ellas, existe una auténtica industria montada sobre estas dos sencillas lineas. Una buena selección de descripción y keywords puede suponer que tu página aparezca muy arriba en las búsquedas, y eso supone mucho dinero para las páginas comerciales.



Naturalmente no es tan sencillo ... a cualquiera se le ocurriria que unas keywords como las del ejemplo atraerian visitantes como moscas ... por eso mucha gente, en lugar de hacer páginas atractivas, se conforma con incluir keywords atractivas, pensando que actuarán de cebo, y los buscadores incluyen filtros para evitarlo. Por ejemplo, el filtro mas sencillo es comprobar si en el texto del documento aparecen las palabras usadas como keywords.


HTTP-EQUIV


Las páginas web se distribuyen por internet mediante el protocolo http, que viene a regular el diálogo entre el servidor y el navegador. Pues bien, con estas etiquetas, el autor de la página puede predeterminar aspectos de este diálogo.



Su sintaxis general es:


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

content-type


<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=ISO-8859-1"/>

Con esta etiqueta META indicamos al navegador el tipo de documento que es nuestra página: si es un documento html, o un documento de texto plano, o cualquier otra cosa:



En el ejemplo, significaria que es un documento texto-html y que usa un juego de carácteres ISO-8859-1 (esto es, que no usa letras chinas, ni cirílicas, ni nada raro). Esta información es útil para que el navegador de nuestros visitantes sepa que juego de carácteres debe emplear.


refresh


<meta http-equiv="refresh" content="5" />
<meta http-equiv="refresh" content="5;url=http://www.ignside.net/otra.htm/" />

Mediante esta etiqueta y el valor refresh podemos indicar al navegador que debe recargar la página una vez transcurridos el tiempo de segundos especificado. En la primera linea se ve un refresh simple, con orden de recarga a los cinco segundos. En la segunda línea, un refresh con redirección. El navegador debe refrescar la página a los cinco segundos, recargando en su lugar la especificada.



Advierte como las comillas abarcan todo el contenido, incluyendo segundos y url.


expires


<META HTTP-EQUIV="Expires" CONTENT="Tue, 04 Dec 2000 21:29:02 GMT">

Mediante la orden expires informamos de la vigencia del documento. Su utilidad principal es la de evitar que el navegador guarde indefinidamente en caché una página forzandole a cargar las nuevas versiones.


La fecha debe estar necesariamente en formato RFC840 (GMT), es decir:

dia_de_Semana, DD-Mon-YY HH:MM:SS TIMEZONE(Greenwich) todo ello en inglés



Por ejemplo Fri, 01 Jan 2003 07:20:55 GMT



Si la fecha está expresada en un formato distinto, el valor de expires será interpretado como now, es decir, se fija una caducidad inmediata.


pragma


Ordena al navegador que no almacene una copia cache de la página. Util cuando se trata de páginas dinamicas cuyo contenido cambia frecuentemente. Su unico valor aceptable es no-cache


<meta http-equiv="pragma" content="no-cache" />

set-cookie


Mediante esta metatag podemos enviar una cookie al navegador del usuario. Si contiene fecha de expiración, el navegador la conservará en el disco duro hasta dicha fecha; en caso contrario, se borrará al terminar la sesión de navegación.


<META HTTP-EQUIV="Set-Cookie"
CONTENT="nombre_cookie=valor_cookie;expires=fecha_valor;
path=/"
/>

Window-target


Sirve para especificar el nombre de la frame donde la página ha de ser cargada. Por ejemplo:


<META HTTP-EQUIV="Window-target" CONTENT="_top"> 

En fin, estas son las mas corrientes de entre las destinadas a tratar con los servidores; menos usadas son


<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript"> 
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

que informan respectivamente del tipo de lenguaje script utilizado, y del uso de CSS


Mas etiquetas, por favor


robots


Podemos dar instrucciones a los robots de los buscadores acerca de que páginas pueden incluir en sus bases de datos y cuales deben saltarse. Sus valores son index que indica que la página debe ser indexada; noindex es justo lo contrario, el robot debe saltarse esa página; follow pide al robot que siga los links que existan en la página e indexe las páginas resultantes; nofollow lo contrario. Los valores por defecto se entiende que son index, follow (separados por coma).


<META NAME="robots" CONTENT="noindex,follow">

Hay otras formas supuestamente mejores de tener tratos con los robots. Puedes enterarte como aqui.


PICS


Nada que ver con fotografias aqui (o si, indirectamente).



La etiqueta PICS se usa para facilitar la labor de filtrado de la página con arreglo a su contenido, advirtiendo de que puede tener, por ejemplo, contenido sexual, violencia o lenguaje ofensivo. Por ejempo:


<META http-equiv="PICS-Label" content='(PICS-1.1
"http://vancouver-webpages.com/VWP1.0/" l gen true comment "VWP1.0"
by "webmaster@ignside.net" on "2002.11.10T07:34-0800"
for "http://www.ignside.net" r (MC -1 Gam -1 Com 0 SF 0 Edu -2 S 0
Can 0 V 0 Env 0 P 0 Tol 0 ))'
/>

De utilidad dudosa (ya que la metatag por definicion la escribe el autor de la página), si tienes interés puedes probar este generador.


anti smart-tags


Las smart-tags fueron un invento de microsoft que sencillamente permitía alterar el contenido de una página web, insertando, insertandose enlaces aqui y allá al libre albedrío de sus creadores. El problema es que ya no es el autor de la página quien decide donde incluye links (y sobre todo, hacia donde enlaza) sino la propia microsoft. Naturalmente se levantó un clamor contra la idea, que de momento está aparcada.


<meta name="MSSmartTagsPreventParsing" content="TRUE">