Formato XML de Sitemaps

Ir a:
Definiciones de la etiqueta XML
Caracteres de escape de entidad
Uso de archivos del índice de Sitemaps
Otros formatos de Sitemap
Ubicación del archivo de Sitemap
Validación de su Sitemap
Ampliación del protocolo Sitemaps
Información para los rastreadores del motor de búsqueda

Este documento describe el esquema XML para el protocolo Sitemap.

El formato del protocolo Sitemap consta de etiquetas XML. Todos los valores de datos de un Sitemap deben incluir caracteres de escape de entidad. El propio archivo debe estar codificado en UTF-8.

El Sitemap debe:

Las demás etiquetas son opcionales. La compatibilidad de estas etiquetas opcionales puede variar en función del motor de búsqueda. Consulte la documentación específica de cada uno de ellos para obtener información detallada.

Además, todas las direcciones URL de un Sitemap deben proceder de un único host, como www.example.com o store.example.com. Para obtener más detalles, consulte Ubicación de archivos de Sitemap

Ejemplo de un Sitemap en formato XML

El siguiente ejemplo muestra un Sitemap que contiene únicamente una URL y usa todas las etiquetas opcionales. Las etiquetas opcionales están en cursiva.


<?xml version="1.0" encoding="UTF-8"?><

urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"

>   <url

>      <loc>http://www.example.com/</loc>

      <lastmod>2005-01-01</lastmod>

      <changefreq>monthly</changefreq>

      <priority>0.8</priority>

   </url></urlset> 

También puede consultar nuestro ejemplo con varias URL.

Definiciones de las etiquetas XML

Las etiquetas XML disponibles se describen a continuación.

Atributo Descripción
<urlset> obligatorio

Encapsula el archivo y hace referencia al protocolo estándar actual.

<url> obligatorio

Etiqueta principal de cada entrada de URL. Las demás etiquetas son secundarias de esa.

<loc> obligatorio

URL de la página. Esta URL debe comenzar con el protocolo (por ej., http) y acabar con una barra diagonal, si su servidor web así lo requiere. Este valor debe contener menos de 2.048 caracteres.

<lastmod> opcional

Fecha de la última modificación del archivo. Esta fecha debe encontrarse en formato Fecha y hora de W3C. Este formato le permite omitir la parte referente a la hora, si así lo desea, y utilizar AAAA-MM-DD.

Tenga en cuenta que esta etiqueta es independiente de la cabecera “If-Modified-Since (304)” que puede mostrar el servidor y que los motores de búsqueda pueden utilizar la información de ambas fuentes de forma diferente.

<changefreq> opcional

Frecuencia con la que puede cambiar esta página. Este valor proporciona información general a los motores de búsqueda y es posible que no se corresponda exactamente con la frecuencia de rastreo de la página. Valores aceptados:

  • always
  • hourly
  • daily
  • weekly
  • monthly
  • yearly
  • never

El valor "always" (siempre) debe utilizarse para describir documentos que cambian cada vez que se obtiene acceso a ellos. El valor "never" (nunca) debe utilizarse para describir direcciones URL archivadas.

Tenga en cuenta que el valor de esta etiqueta se considera una sugerencia y no una orden. A pesar de que los rastreadores de motores de búsqueda puedan tener en cuenta esta información a la hora de tomar decisiones, pueden rastrear páginas marcadas "hourly" (cada hora) con menor frecuencia de lo que indica la marca, así como rastrear páginas marcadas "yearly" (cada año) con más asiduidad. Asimismo, pueden rastrear periódicamente páginas marcadas "never" (nunca) para poder manejar los cambios inesperados que se produzcan en ellas.

<priority> opcional

La prioridad de esta dirección URL es relativa con respecto a las demás URL de su sitio. Los valores válidos abarcan desde 0,0 a 1,0. Este valor no afecta a la comparación de sus páginas con respecto a las de otros sitios; únicamente permite informar a los motores de búsqueda de las páginas que considera más importantes para los rastreadores.

La prioridad predeterminada de una página es 0,5.

Tenga en cuenta que la prioridad que asigne a la página no suele influir en la posición de sus URL en las páginas de resultados de los motores de búsqueda. Los motores de búsqueda pueden utilizar esta información para elegir entre varias URL del mismo sitio, de modo que puede emplear esta etiqueta para incrementar las probabilidades de que sus páginas más importantes se incluyan en un índice de búsqueda.

Asimismo, tenga en cuenta que la asignación de alta prioridad a todas las URL de su sitio probablemente no le servirá de ayuda, dado que la prioridad es relativa y sólo se utiliza para elegir entre las distintas URL de su sitio.

Volver al principio

Caracteres de escape de entidad

Su archivo de Sitemap debe tener codificación UTF-8; habitualmente puede establecerlo así al guardar el archivo. Al igual que con los archivos XML, los valores de datos (incluidas las URL) deben utilizar caracteres de escape de entidad para los caracteres de la tabla que encontrará más abajo.

Carácter Código de caracteres de escape
Símbolo de unión & &amp;
Comillas simples ' &apos;
Comillas " &quot;
Mayor que > &gt;
Menor que < &lt;

Además, todas las direcciones URL (incluida la de su Sitemap) deben contener caracteres de escape y estar codificadas de modo que el servidor Web en el que se encuentran las pueda leer. No obstante, si emplea cualquier tipo de script, herramienta o archivo de registro para generar sus direcciones URL (cualquier método a excepción de la escritura a mano), esto se suele hacer automáticamente. Asegúrese de que sus direcciones URL se ajustan al estándar RFC-3986 para direcciones URI, al estándar RFC-3987 para direcciones IRI y al estándar XML.

A continuación se incluye un ejemplo de una dirección URL que emplea un carácter no ASCII (ü), así como un carácter que necesita escape de entidad (&):

http://www.example.com/ümlat.html&q=name

A continuación se encuentra la misma URL, con codificación ISO-8859-1 (para su alojamiento en un servidor que utiliza esa codificación) y la URL con caracteres de escape:

http://www.example.com/%FCmlat.html&q=name

A continuación se encuentra la misma URL, con codificación UTF-8 (para su alojamiento en un servidor que utiliza esa codificación) y la URL con caracteres de escape:

http://www.example.com/%C3%BCmlat.html&q=name

A continuación encontrará la misma URL, pero también caracteres de escape de entidad:

http://www.example.com/%C3%BCmlat.html&amp;q=name

Sitemap XML de ejemplo

El siguiente ejemplo muestra un Sitemap en formato XML. El Sitemap en cuestión contiene un número reducido de URL, cada una de las cuales presenta un conjunto diferente de parámetros opcionales.


<?xml version="1.0" encoding="UTF-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

   <url>

      <loc>http://www.example.com/</loc>

      <lastmod>2005-01-01</lastmod>

      <changefreq>monthly</changefreq>

      <priority>0.8</priority>

   </url>

   <url>

      <loc>http://www.example.com/catalog?item=12&amp;desc=vacation_hawaii</loc>

      <changefreq>weekly</changefreq>

   </url>

   <url>

      <loc>http://www.example.com/catalog?item=73&amp;desc=vacation_new_zealand</loc>

      <lastmod>2004-12-23</lastmod>

      <changefreq>weekly</changefreq>

   </url>

   <url>

      <loc>http://www.example.com/catalog?item=74&amp;desc=vacation_newfoundland</loc>

      <lastmod>2004-12-23T18:00:15+00:00</lastmod>

      <priority>0.3</priority>

   </url>

   <url>

      <loc>http://www.example.com/catalog?item=83&amp;desc=vacation_usa</loc>

      <lastmod>2004-11-23</lastmod>

   </url>

</urlset>

Volver al principio

Uso de archivos de índice de Sitemap (para agrupar varios archivos de Sitemap)

Puede proporcionar varios archivos de Sitemap, pero cada uno de ellos deberá contener un máximo de 50.000 direcciones URL y no superar los 10 MB (10.485.760 bytes). Si lo desea, puede comprimir sus archivos de Sitemap con gzip para reducir sus requisitos de ancho de banda; no obstante, el archivo de Sitemap comprimido no debe superar los 10 MB. Si desea incluir más de 50.000 direcciones URL, deberá crear varios archivos de Sitemap.

Si proporciona varios Sitemaps, debe enumerarlos todos en un archivo de índice de Sitemap. Los archivos de índice de Sitemap no pueden contener más de 50.000 Sitemaps y no deben superar los 10 MB (10.485.760 bytes), aunque se pueden comprimir. Es posible disponer de más de un archivo de índice de Sitemap. El formato XML de un archivo de índice de Sitemap es muy parecido al formato XML de un archivo de Sitemap.

El archivo de índice de Sitemap debe:

La etiqueta opcional <lastmod> también está disponible para archivos de índice de Sitemap.

Nota: Un archivo de índice de Sitemap sólo puede especificar Sitemaps que se encuentren en la misma ubicación que el archivo de índice de Sitemap. Por ejemplo, http://www.susitio.es/sitemap_index.xml puede incluir Sitemaps en http://www.susitio.es, pero no en http://www.ejemplo.es o http://suhost.susitio.es. Igual que ocurre con los Sitemaps, el archivo de índice de su Sitemap debe estar codificado en UTF-8.

Índice XML de Sitemap de ejemplo

El siguiente ejemplo muestra un índice de Sitemap que incluye dos Sitemaps:


<?xml version="1.0" encoding="UTF-8"?>

<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

   <sitemap>

      <loc>http://www.example.com/sitemap1.xml.gz</loc>

      <lastmod>2004-10-01T18:23:17+00:00</lastmod>

   </sitemap>

   <sitemap>

      <loc>http://www.example.com/sitemap2.xml.gz</loc>

      <lastmod>2005-01-01</lastmod>

   </sitemap>

</sitemapindex>

Nota: las direcciones URL de Sitemap, como todos los valores de sus archivos XML, deben incluir caracteres de escape de entidad.

Definiciones de etiquetas XML de índice de Sitemap

Atributo Descripción
<sitemapindex> obligatorio Encapsula información acerca de todos los Sitemaps del archivo.
<sitemap> obligatorio Encapsula información acerca de un Sitemap concreto.
<loc> obligatorio

Identifica la ubicación del Sitemap.

Esta ubicación puede ser un Sitemap, un archivo Atom, un archivo RSS o un archivo de texto.

<lastmod> opcional

Identifica la hora a la que se modificó el Sitemap correspondiente. No es la hora de modificación de alguna de las páginas incluidas en el Sitemap. El valor de la etiqueta lastmod debe encontrarse en formato Fecha y hora de W3C.

Al proporcionar la marca horaria de la última modificación, permite que los rastreadores de motores de búsqueda obtengan únicamente un subconjunto de los Sitemaps del índice, es decir, el rastreador sólo podrá obtener Sitemaps que han sido modificados a partir de una fecha concreta. Este mecanismo de obtención de Sitemap incremental permite un rápido descubrimiento de nuevas URL en sitios de gran tamaño.

Volver al principio

Otros formatos de Sitemap

El protocolo Sitemap permite proporcionar los detalles sobre las páginas a los motores de búsqueda y recomendamos que lo utilice puesto que de este modo puede proporcionar información adicional acerca de las páginas del sitio y no sólo la URL. Sin embargo, además del protocolo XML también admitimos feeds RSS y archivos de texto, que proporcionan información más limitada.

Feed de distribución

Puede proporcionar feeds RSS (Real Simple Syndication) 2.0 o Atom 0.3 o 1.0. Por lo general, si su sitio ya cuenta con un feed de distribución, utilizará únicamente este formato. Tenga presente que este método puede que no permita a los motores de búsqueda conocer todas las URL del sitio, ya que el feed puede que sólo proporcione información sobre las URL recientes, aunque no obstante, los motores de búsqueda pueden utilizar esta información para averiguar sobre otras páginas del sitio durante los procesos normales de rastreo siguiendo los enlaces internos de las páginas del feed. Asegúrese de que el feed se encuentre en el directorio de nivel más alto que desea que rastreen los motores de búsqueda. Los motores de búsqueda extraen la información del feed como sigue:

Archivo de texto

Puede proporcionar un archivo de texto simple que incluya una URL por línea. El archivo de texto debe cumplir las siguientes directrices:

A continuación se muestran unas entradas de ejemplo del archivo de texto.

http://www.example.com/catalog?item=1


http://www.example.com/catalog?item=11

Volver al principio

Ubicación de archivos de Sitemap

La ubicación de un archivo de Sitemap determina el grupo de URL que se pueden incluir en ese Sitemap. Un archivo de Sitemap ubicado en http://ejemplo.es/catalog/sitemap.xml puede incluir URL que empiecen por http://ejemplo.es/catalog/, pero no URL que empiecen por http://ejemplo.es/images/.

Si tiene permiso para cambiar http://ejemplo.org/ruta/sitemap.xml, puede suponer que también tiene permiso para proporcionar información para las URL con el prefijo http://ejemplo.org/ruta/. Los ejemplos de URL que se consideran válidas en http://ejemplo.es/catalogo/sitemap.gz incluyen:


http://example.com/catalog/show?item=23

http://example.com/catalog/show?item=233&user=3453

Las URL que no se consideran válidas en http://ejemplo.es/catalog/sitemap.xml incluyen:


http://example.com/image/show?item=23

http://example.com/image/show?item=233&user=3453

https://example.com/catalog/page1.html

Tenga en cuenta que todas las URL enumeradas en el Sitemap deben utilizar el mismo protocolo (http, en este ejemplo) y residir en el mismo host que el Sitemap. Por ejemplo, si el Sitemap se encuentra en http://www.ejemplo.es/sitemap.xml,no puede incluir URL de http://subdominio.ejemplo.es.

Las URL que no se estiman válidas dejan de tenerse en cuenta. Le recomendamos encarecidamente colocar su Sitemap en el directorio raíz de su servidor web. Por ejemplo, si su servidor web está ubicado en ejemplo.es, el archivo del índice de su Sitemap se encontrará en http://ejemplo.es/sitemap.xml. En determinados casos tal vez necesite crear varios Sitemaps para rutas diferentes, por ejemplo, si los permisos de seguridad dividen el acceso de escritura a diversos directorios.

Si utiliza una ruta con un número de puerto para enviar un Sitemap, debe incluir dicho número de puerto de la ruta en todas las URL que aparecen en el archivo del Sitemap. Por ejemplo, si el Sitemap se encuentra en http://www.ejemplo.es:100/sitemap.xml, todas las URL que aparecen en él deben empezar por http://www.ejemplo.es:100.

Sitemaps y envíos cruzados

Para enviar Sitemaps de varios host desde un único host, tiene que "demostrar" la propiedad de los host cuyas direcciones URL se están enviando en un Sitemap. A continuación se incluye un ejemplo. Supongamos que desea enviar Sitemaps de tres host:


www.host1.com con archivo de Sitemap sitemap-host1.xml

www.host2.com con archivo de Sitemap sitemap-host2.xml

www.host3.com con archivo de Sitemap sitemap-host3.xml

Además, desea colocar los tres Sitemaps en un único host: www.sitemaphost.com. Así, las direcciones URL del Sitemap serán:


http://www.sitemaphost.com/sitemap-host1.xml

http://www.sitemaphost.com/sitemap-host2.xml

http://www.sitemaphost.com/sitemap-host3.xml

De forma predeterminada, eso provocará un error de "envío cruzado", ya que está intentando enviar direcciones URL de www.host1.com a través de un Sitemap hospedado en www.sitemaphost.com (y lo mismo ocurre con los otros dos host). Una forma de evitar este error es demostrar que posee (es decir, que tiene autoridad para modificar archivos) www.host1.com. Puede hacerlo mediante la modificación del archivo robots.txt en www.host1.com de modo que apunte al Sitemap de www.sitemaphost.com.

En este ejemplo, el archivo robots.txt en http://www.host1.com/robots.txt incluiría la línea "Sitemap: http://www.sitemaphost.com/sitemap-host1.xml". Al modificar el archivo robots.txt en www.host1.com y hacer que apunte al Sitemap de www.sitemaphost.com, ha demostrado de forma implícita que posee www.host1.com. En otras palabras, quien controla el archivo robots.txt en www.host1.com confía en que el Sitemap de http://www.sitemaphost.com/sitemap-host1.xml incluye direcciones URL de www.host1.com. Es posible repetir el mismo proceso para los otros dos host.

Ahora puede enviar los Sitemaps de www.sitemaphost.com.

Cuando el archivo robots.txt de un host concreto, por ejemplo http://www.host1.com/robots.txt, apunta a un Sitemap o al índice de un Sitemap de otro host, se espera que todas las direcciones URL de los Sitemaps de destino, como http://www.sitemaphost.com/sitemap-host1.xml, pertenezcan al host al que se apunta. Esto se debe a que, como ya se ha indicado anteriormente, se espera que un Sitemap sólo incluya direcciones URL de un único host.

Volver al principio

Validación de su Sitemap

Los siguientes esquemas XML definen los elementos y atributos que pueden aparecer en su archivo de Sitemap. Puede descargar este esquema desde cualquiera de los siguientes vínculos:

Para Sitemaps: http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd
Para archivos de índice de Sitemap: http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd

Existen varias herramientas que le pueden ayudar a validar la estructura de su Sitemap según este esquema. Puede encontrar una lista de herramientas útiles para XML en las siguientes ubicaciones:

http://www.w3.org/XML/Schema#Tools
http://www.xml.com/pub/a/2000/12/13/schematools.html

Para poder validar su archivo de Sitemap o su archivo de índice de Sitemap en función de un esquema, el archivo XML necesitará cabeceras adicionales, tal y como se muestra a continuación.

Sitemap:


<?xml version='1.0' encoding='UTF-8'?>

<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"

         xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

   <url>

      ...

   </url>

</urlset>

Archivo de índice de Sitemap:


<?xml version='1.0' encoding='UTF-8'?>

<sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd"

         xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

   <sitemap>

      ...

   </sitemap>

</sitemapindex>

Volver al principio

Ampliación del protocolo Sitemaps

Puede ampliar el protocolo Sitemaps con su propio espacio de nombre. Sólo debe especificar este espacio de nombre en el elemento raíz. Por ejemplo,


<?xml version='1.0' encoding='UTF-8'?>

<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"

         xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"

         xmlns:example="http://www.example.com/schemas/example_schema"> <!-- namespace extension -->

   <url>

      <example:example_tag>

         ...

      </example:example_tag>

      ...

   </url>

</urlset>

Volver al principio

Información para los rastreadores de motores de búsqueda

Una vez que haya creado el archivo de Sitemap y lo haya colocado en su servidor web, deberá informar a los motores de búsqueda compatibles con el protocolo acerca de su ubicación. Esto se puede realizar:

Los motores de búsqueda podrán obtener su Sitemap y poner las URL a disposición de sus rastreadores.

Envío del Sitemap mediante la interfaz de envío del motor de búsqueda

Para enviar el Sitemap directamente a un motor de búsqueda, que le permitirá recibir información de estado así como los errores de procesamiento, consulte la documentación de los motores de búsqueda correspondientes.

Especificación de la ubicación del Sitemap en el archivo robots.txt

Puede especificar la ubicación del Sitemap utilizando un archivo robots.txt. Para ello, tan solo tiene que añadir la línea siguiente:

Sitemap: http://www.example.com/sitemap.xml

Esta directiva es independiente de la línea user-agent de modo que no tiene importancia el lugar en que se coloca en el archivo. Si tiene un archivo de índice de Sitemap, puede incluir la ubicación de únicamente este archivo. No es necesario que enumere todos los Sitemaps individuales enumerados en el archivo de índice.

Puede especificar más de un archivo de Sitemap por archivo robots.txt.

Sitemap: http://www.example.com/sitemap-host1.xml

Sitemap: http://www.example.com/sitemap-host2.xml

Envío del Sitemap mediante una solicitud HTTP

Para enviar el Sitemap utilizando una solicitud HTTP (sustituya la <URL del motor de búsqueda> con la URL proporcionada por el motor de búsqueda), envíe la solicitud a la URL siguiente:

<searchengine_URL>/ping?sitemap=sitemap_url

Por ejemplo, si su Sitemap está en http://www.ejemplo.es/sitemap.gz, su URL será:

<searchengine_URL>/ping?sitemap=http://www.example.com/sitemap.gz

La URL ha codificado todos los elementos que siguen a /ping?sitemap=:

<searchengine_URL>/ping?sitemap=http%3A%2F%2Fwww.susitio.es%2Fsitemap.gz

Puede enviar la solicitud HTTP utilizando wget, curl o el mecanismo que prefiera. Si la solicitud se procesa correctamente, recibirá un código de respuesta HTTP 200. Si recibe una respuesta diferente, debe volver a enviar la solicitud. El código de respuesta HTTP 200 sólo indica que el motor de búsqueda ha recibido su Sitemap, no que el Sitemap o las URL que incluye sean válidas. Una forma fácil de hacerlo es configurar una tarea automatizada que genere y envíe Sitemaps periódicamente.
Nota: Si proporciona un archivo del índice de Sitemap, bastará con que envíe una solicitud HTTP que incluya la ubicación del archivo del índice de Sitemap; no es necesario que envíe solicitudes para cada Sitemap que se especifica en el índice.

Volver al principio

Exclusión de contenido

El protolo Sitemap permite indicar a los motores de búsqueda qué contenido se quiere indexar. Para indicar a los motores de búsqueda el contenido que no quiere indexar, utilice un archivo robots.txt o la etiqueta meta. Para obtener más información sobre cómo excluir contenido de los motores de búsqueda, visite la página robotstxt.org.

 

Volver al principio

Última actualización: 21 de marzo de 2008