Presione ESC para cerrar

SEO Magazine La revista SEO ofrece las últimas actualizaciones sobre SEO, marketing digital, IA, consejos para agencias, nuevas tendencias y más.

Robots.txt y sitemap.xml explicados

Los archivos robots.txt y sitemap.xml son dos elementos técnicos fundamentales que controlan cómo los motores de búsqueda interactúan con tu sitio web. Aunque son archivos simples de texto, su configuración correcta puede significar la diferencia entre un sitio perfectamente indexado y uno con problemas graves de visibilidad.

En esta guía aprenderás qué son estos archivos, cómo funcionan, cómo crearlos correctamente y cómo evitar errores críticos que pueden bloquear tu sitio completo de los resultados de búsqueda.

En este artículo

Qué es el Archivo Robots.txt

El archivo robots.txt es un archivo de texto simple ubicado en la raíz de tu dominio (ejemplo.com/robots.txt) que proporciona instrucciones a los robots de motores de búsqueda sobre qué partes de tu sitio pueden o no rastrear.

Es parte del Robots Exclusion Protocol, un estándar creado en 1994 que los bots web respetan voluntariamente. No es un mecanismo de seguridad, cualquiera puede leer tu robots.txt, y bots maliciosos pueden ignorarlo.

Ubicación obligatoria: siempre en la raíz del dominio. https://www.ejemplo.com/robots.txt es correcto, https://www.ejemplo.com/blog/robots.txt no funcionará.

Acceso público: el archivo es públicamente accesible. No coloques información sensible en él.

Para Qué Sirve Robots.txt

El robots.txt tiene varios propósitos importantes en tu estrategia SEO.

Controlar el presupuesto de rastreo: Googlebot y otros bots tienen un límite de páginas que rastrearán en cada visita. Bloqueando secciones irrelevantes (admin, búsqueda interna, parámetros innecesarios), permites que los bots enfoquen su presupuesto en contenido importante.

Prevenir indexación de contenido sin valor: puedes bloquear áreas de tu sitio que no deben aparecer en resultados de búsqueda como páginas de agradecimiento, carritos de compra, archivos de sistema, páginas duplicadas generadas dinámicamente.

Proteger recursos del servidor: si ciertos bots o scrapers consumen demasiados recursos, puedes limitarlos o bloquearlos.

Indicar ubicación del sitemap: puedes especificar dónde está tu sitemap.xml, facilitando que los bots lo descubran.

Importante: robots.txt previene rastreo, NO indexación. URLs bloqueadas en robots.txt pueden seguir apareciendo en resultados si tienen enlaces externos. Para prevenir indexación, usa meta noindex.

Estructura Básica de Robots.txt

Un archivo robots.txt sigue una sintaxis simple pero estricta.

Sintaxis Fundamental

User-agent: [nombre del bot]
Disallow: [ruta que no debe rastrear]
Allow: [ruta que sí puede rastrear]

User-agent: especifica a qué bot se aplica la regla. * significa todos los bots.

Disallow: rutas o páginas que el bot NO debe rastrear.

Allow: excepciones dentro de un Disallow. Útil para permitir subcarpetas dentro de carpetas bloqueadas.

Case-sensitive: robots.txt distingue entre mayúsculas y minúsculas. /Pagina y /pagina son diferentes.

Ejemplo Básico

User-agent: *
Disallow: /admin/
Disallow: /carrito/
Allow: /admin/public/

Sitemap: https://www.ejemplo.com/sitemap.xml

Interpretación: todos los bots (*) no pueden rastrear /admin/ ni /carrito/, excepto /admin/public/ que sí está permitido. El sitemap está en la ubicación especificada.

Reglas Importantes de Sintaxis

Una directiva por línea: cada Disallow o Allow debe estar en su propia línea.

Las líneas vacías son ignoradas: puedes usar espacios en blanco para organizar.

Comentarios con #: líneas que comienzan con # son comentarios.

# Este es un comentario
User-agent: *
Disallow: /privado/  # Esto también es un comentario

El orden importa: las reglas más específicas deben ir primero. Los bots aplican la regla más específica que coincida.

Sin punto y coma final: a diferencia de CSS o JavaScript, no uses ; al final de líneas.

User-Agents Comunes

Diferentes bots tienen diferentes nombres. Puedes crear reglas específicas para cada uno.

User-Agents Principales

Googlebot: bot principal de Google para web.

User-agent: Googlebot
Disallow: /no-google/

Googlebot-Image: bot específico para imágenes de Google.

User-agent: Googlebot-Image
Disallow: /imagenes-privadas/

Googlebot-News: bot para Google News.

User-agent: Googlebot-News
Disallow: /blog-personal/

Bingbot: bot principal de Bing.

User-agent: Bingbot
Disallow: /no-bing/

Todos los bots: comodín para cualquier bot.

User-agent: *
Disallow: /para-todos/

User-Agents de Redes Sociales

Twitterbot: para tarjetas de Twitter.

User-agent: Twitterbot
Disallow:

Facebot: para Open Graph de Facebook.

User-agent: Facebot
Disallow:

User-Agents de Herramientas SEO

AhrefsBot: bot del crawler de Ahrefs.

User-agent: AhrefsBot
Crawl-delay: 10

SEMrushBot: bot de SEMrush.

User-agent: SemrushBot
Disallow: /

Importante: bloquear bots de herramientas SEO impide que aparezca información de tu sitio en esas plataformas, pero no afecta tu posicionamiento en Google.

Directivas y Patrones

Robots.txt soporta patrones para crear reglas flexibles.

Comodines

Asterisco (*): coincide con cualquier secuencia de caracteres.

Disallow: /*.pdf$

Bloquea todos los PDFs.

Disallow: /*?

Bloquea todas las URLs con parámetros de consulta.

Signo de dólar ($): indica fin de URL.

Disallow: /*.php$

Bloquea URLs que terminan en .php, pero permite /pagina.php/otra

Ejemplos de Patrones Útiles

Bloquear parámetros específicos:

Disallow: /*?sessionid=
Disallow: /*?sid=

Bloquear tipos de archivo:

Disallow: /*.pdf$
Disallow: /*.doc$
Disallow: /*.xls$

Bloquear búsquedas internas:

Disallow: /buscar?
Disallow: /search?
Disallow: /?s=

Bloquear faceted navigation en ecommerce:

Disallow: /*?color=
Disallow: /*?talla=
Disallow: /*?precio=

Directiva Allow

Allow crea excepciones dentro de Disallow.

User-agent: *
Disallow: /admin/
Allow: /admin/css/
Allow: /admin/js/

Bloquea todo /admin/ excepto archivos CSS y JavaScript necesarios para renderizar la página correctamente.

Uso común: permitir recursos necesarios para renderizado (CSS, JS, imágenes) dentro de directorios bloqueados.

Crawl-delay

Especifica el tiempo en segundos que el bot debe esperar entre peticiones.

User-agent: AhrefsBot
Crawl-delay: 10

Nota: Google ignora Crawl-delay. Para controlar velocidad de rastreo de Google, usa Search Console.

Ejemplos de Robots.txt para Diferentes Escenarios

Sitio Pequeño/Blog Básico

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /?s=
Disallow: /cgi-bin/

Sitemap: https://www.miblog.com/sitemap.xml

Bloquea áreas de administración de WordPress, búsquedas internas y scripts CGI.

Ecommerce

User-agent: *
# Áreas de administración
Disallow: /admin/
Disallow: /cuenta/
Disallow: /carrito/
Disallow: /checkout/

# Parámetros de filtrado
Disallow: /*?color=
Disallow: /*?talla=
Disallow: /*?marca=
Disallow: /*?orden=
Disallow: /*?vista=

# Búsqueda interna
Disallow: /buscar?
Disallow: /?q=

# Permitir recursos necesarios
Allow: /admin/css/
Allow: /admin/js/

# Bots específicos
User-agent: AhrefsBot
Crawl-delay: 5

User-agent: SemrushBot
Crawl-delay: 10

Sitemap: https://www.tienda.com/sitemap.xml
Sitemap: https://www.tienda.com/sitemap-products.xml
Sitemap: https://www.tienda.com/sitemap-categories.xml

Sitio Corporativo

User-agent: *
# Áreas privadas
Disallow: /intranet/
Disallow: /clientes/
Disallow: /admin/

# Versiones de desarrollo
Disallow: /dev/
Disallow: /staging/
Disallow: /test/

# Documentos internos
Disallow: /*.pdf$
Disallow: /*.doc$
Disallow: /*.ppt$

# Formularios
Disallow: /gracias/
Disallow: /confirmacion/

# Permitir recursos
Allow: /admin/assets/

Sitemap: https://www.empresa.com/sitemap.xml

Sitio Multiidioma

User-agent: *
# Permitir todas las versiones de idioma
Allow: /es/
Allow: /en/
Allow: /fr/
Allow: /de/

# Bloquear duplicados de idioma incorrectos
Disallow: /*?lang=

# Áreas comunes
Disallow: /admin/
Disallow: /cgi-bin/

Sitemap: https://www.global.com/sitemap-es.xml
Sitemap: https://www.global.com/sitemap-en.xml
Sitemap: https://www.global.com/sitemap-fr.xml
Sitemap: https://www.global.com/sitemap-de.xml

Bloquear Completamente el Sitio

User-agent: *
Disallow: /

Uso: sitios en desarrollo, staging servers, sitios privados.

Precaución extrema: esto bloquea TODO tu sitio de TODOS los bots. Solo usa en sitios que no deben ser indexados nunca.

Permitir Todo (robots.txt vacío funcionalmente)

User-agent: *
Disallow:

Sitemap: https://www.ejemplo.com/sitemap.xml

o simplemente:

User-agent: *
Allow: /

Sin Disallow, los bots pueden rastrear todo.

Errores Críticos en Robots.txt

Algunos errores pueden bloquear todo tu sitio de Google. Son más comunes de lo que piensas.

Error 1: Bloquear Todo el Sitio Accidentalmente

User-agent: *
Disallow: /

Impacto: tu sitio completo desaparece de Google.

Causa común: copiar robots.txt de servidor de desarrollo a producción sin modificarlo.

Prevención: revisa robots.txt antes de lanzar y audita periódicamente.

Error 2: Bloquear CSS y JavaScript

User-agent: *
Disallow: /css/
Disallow: /js/
Disallow: /scripts/

Impacto: Google no puede renderizar tu sitio correctamente, lo que afecta indexación y posicionamiento.

Solución: permite siempre archivos CSS y JavaScript necesarios para renderizado.

User-agent: *
Allow: /css/
Allow: /js/

Error 3: Sintaxis Incorrecta

User-agent:Googlebot
Disallow:/admin

Faltan espacios después de dos puntos. Debe ser:

User-agent: Googlebot
Disallow: /admin/

Error 4: Olvidar Barra Inicial

Disallow: admin/

Incorrecto. Debe ser:

Disallow: /admin/

La barra inicial es obligatoria.

Error 5: Usar Noindex en Robots.txt

User-agent: *
Noindex: /pagina-privada/

Problema: Noindex NO es una directiva válida en robots.txt. No hace nada.

Solución: para prevenir indexación, usa meta tag noindex en el HTML:

html

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

Error 6: Robots.txt en Ubicación Incorrecta

Colocar robots.txt en /blog/robots.txt o /es/robots.txt no funciona.

Correcto: siempre en raíz del dominio: https://www.ejemplo.com/robots.txt

Excepción: subdominios necesitan su propio robots.txt. blog.ejemplo.com/robots.txt es correcto para ese subdominio.

Error 7: Bloquear Sitemap.xml

User-agent: *
Disallow: /*.xml$

Esto bloquea tu sitemap, impidiendo que Google lo descubra fácilmente.

Solución:

User-agent: *
Disallow: /*.xml$
Allow: /sitemap*.xml

Error 8: Conflicto Entre Allow y Disallow

User-agent: *
Disallow: /productos/
Allow: /productos/

Problema: señales conflictivas confunden a bots.

Solución: sé específico. Si quieres bloquear /productos/ pero permitir /productos/especiales/:

User-agent: *
Disallow: /productos/
Allow: /productos/especiales/

Qué es el Archivo Sitemap.xml

El sitemap.xml es un archivo XML que lista todas las URLs importantes de tu sitio junto con metadata adicional, facilitando que los motores de búsqueda descubran y rastreen tu contenido eficientemente.

Es como un mapa que le entregas a Google diciendo «estas son todas mis páginas importantes, aquí está la información sobre cada una».

Ubicación típica: https://www.ejemplo.com/sitemap.xml o https://www.ejemplo.com/sitemap_index.xml

Formato: XML estrictamente estructurado siguiendo el protocolo sitemap.org.

Para Qué Sirve Sitemap.xml

El sitemap tiene múltiples beneficios para tu SEO.

Facilita el descubrimiento: especialmente importante para sitios nuevos, páginas huérfanas sin enlaces internos, sitios grandes con jerarquía profunda, contenido actualizado frecuentemente.

Acelera la indexación: páginas listadas en sitemap.xml tienden a indexarse más rápido que aquellas descubiertas solo mediante rastreo.

Proporciona metadata útil: puedes indicar cuándo se modificó cada página, qué tan frecuentemente cambia, importancia relativa, imágenes asociadas, videos incluidos, versiones alternativas de idioma.

Comunica prioridades: aunque Google no sigue estrictamente las prioridades que especifiques, proporciona señales sobre qué consideras más importante.

Mejora SEO técnico: tener sitemap.xml bien estructurado es señal de sitio bien mantenido y técnicamente sólido.

Importante: el sitemap NO garantiza indexación. Google puede decidir no indexar URLs del sitemap si considera que no son valiosas o tienen problemas de calidad.

Estructura Básica de Sitemap.xml

Un sitemap.xml sigue una estructura XML específica.

Sitemap Simple

xml

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  
  <url>
    <loc>https://www.ejemplo.com/</loc>
    <lastmod>2025-01-20</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  
  <url>
    <loc>https://www.ejemplo.com/sobre-nosotros</loc>
    <lastmod>2025-01-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.ejemplo.com/productos</loc>
    <lastmod>2025-01-22</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>

</urlset>

Elementos del Sitemap

<urlset>: contenedor raíz que envuelve todas las URLs.

<url>: contenedor para información de una URL individual.

<loc>: la URL completa de la página. Debe ser absoluta (incluir protocolo y dominio). Obligatorio.

<lastmod>: fecha de última modificación en formato YYYY-MM-DD o con hora YYYY-MM-DDTHH:MM:SS+00:00. Opcional pero recomendado.

<changefreq>: qué tan frecuentemente cambia la página. Valores: always, hourly, daily, weekly, monthly, yearly, never. Opcional, Google lo usa solo como sugerencia.

<priority>: importancia relativa de esta URL comparada con otras en tu sitio. Rango: 0.0 a 1.0. Opcional, Google puede ignorarlo.

Límites y Restricciones de Sitemaps

Los sitemaps tienen límites técnicos que debes respetar.

Tamaño máximo: 50MB sin comprimir, o 50,000 URLs por archivo.

Solución para sitios grandes: usa sitemap index que referencia múltiples sitemaps.

Formato: XML válido con codificación UTF-8.

URLs: todas deben estar en el mismo dominio que el sitemap. No puedes incluir URLs de otros dominios.

Caracteres especiales: deben estar escapados correctamente:

  • &&amp;
  • <&lt;
  • >&gt;
  • "&quot;
  • '&apos;

Sitemap Index: Para Sitios Grandes

Si tienes más de 50,000 URLs, necesitas dividir tu sitemap en múltiples archivos y crear un sitemap index.

xml

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  
  <sitemap>
    <loc>https://www.ejemplo.com/sitemap-posts.xml</loc>
    <lastmod>2025-01-22</lastmod>
  </sitemap>
  
  <sitemap>
    <loc>https://www.ejemplo.com/sitemap-pages.xml</loc>
    <lastmod>2025-01-20</lastmod>
  </sitemap>
  
  <sitemap>
    <loc>https://www.ejemplo.com/sitemap-products.xml</loc>
    <lastmod>2025-01-22</lastmod>
  </sitemap>
  
  <sitemap>
    <loc>https://www.ejemplo.com/sitemap-categories.xml</loc>
    <lastmod>2025-01-15</lastmod>
  </sitemap>

</sitemapindex>

Ventajas: organización lógica por tipo de contenido, más fácil de mantener y actualizar secciones específicas, mejor rendimiento en sitios muy grandes, permite rastreo más eficiente por parte de bots.

Buena práctica: divide sitemaps por tipo de contenido (posts, páginas, productos, categorías) incluso si no alcanzas los límites. Facilita mantenimiento.

Sitemaps Especializados

Existen formatos de sitemap específicos para diferentes tipos de contenido.

Sitemap de Imágenes

xml

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
  
  <url>
    <loc>https://www.ejemplo.com/producto</loc>
    <image:image>
      <image:loc>https://www.ejemplo.com/images/producto1.jpg</image:loc>
      <image:caption>Descripción de la imagen</image:caption>
      <image:title>Título de la imagen</image:title>
    </image:image>
    <image:image>
      <image:loc>https://www.ejemplo.com/images/producto2.jpg</image:loc>
    </image:image>
  </url>

</urlset>

Beneficio: ayuda a Google a descubrir e indexar imágenes de tu sitio para Google Images.

Sitemap de Videos

xml

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  
  <url>
    <loc>https://www.ejemplo.com/video-tutorial</loc>
    <video:video>
      <video:thumbnail_loc>https://www.ejemplo.com/thumbnails/video.jpg</video:thumbnail_loc>
      <video:title>Tutorial Completo de SEO</video:title>
      <video:description>Aprende SEO desde cero en este tutorial completo</video:description>
      <video:content_loc>https://www.ejemplo.com/videos/tutorial-seo.mp4</video:content_loc>
      <video:duration>1800</video:duration>
      <video:publication_date>2025-01-20T10:00:00+00:00</video:publication_date>
    </video:video>
  </url>

</urlset>

Beneficio: mejor indexación en Google Video y aparición en resultados enriquecidos de video.

Sitemap de Noticias

xml

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
  
  <url>
    <loc>https://www.noticias.com/articulo-importante</loc>
    <news:news>
      <news:publication>
        <news:name>Noticias Ejemplo</news:name>
        <news:language>es</news:language>
      </news:publication>
      <news:publication_date>2025-01-22T14:30:00+00:00</news:publication_date>
      <news:title>Título de la Noticia Importante</news:title>
    </news:news>
  </url>

</urlset>

Requisito: solo para sitios aprobados en Google News.

Limitación: solo incluir artículos de los últimos 2 días.

Cómo Generar Sitemaps

No necesitas crear sitemaps manualmente. Existen múltiples métodos automatizados.

Generadores Online Gratuitos

XML-Sitemaps.com: ingresa tu URL, rastrea automáticamente hasta 500 páginas gratis, genera sitemap descargable.

Screaming Frog SEO Spider: versión gratuita hasta 500 URLs, rastra tu sitio y exporta sitemap.xml, permite personalizar prioridad y changefreq.

Limitación: solo sitios pequeños (< 500 páginas).

Plugins de CMS

WordPress – Yoast SEO:

  • Genera sitemap automáticamente al activar
  • Accesible en /sitemap_index.xml
  • Excluye automáticamente contenido no indexado
  • Configuración: SEO → General → Funciones → Sitemaps XML

WordPress – Rank Math:

  • Sitemap automático con más control granular
  • Permite incluir/excluir tipos de contenido
  • Accesible en /sitemap_index.xml

WordPress – All in One SEO:

  • Generación automática de sitemap
  • Control sobre tipos de post, taxonomías, etc.

Shopify:

  • Genera sitemap automáticamente
  • Accesible en /sitemap.xml
  • No es personalizable (limitación de Shopify)

Magento:

  • Configuración en Stores → Configuration → Catalog → XML Sitemap
  • Programar generación automática

Generación Programática

Para sitios custom o necesidades específicas, genera sitemap con código.

PHP simple:

php

<?php
header('Content-Type: application/xml; charset=utf-8');
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';

$urls = [
    ['loc' => 'https://ejemplo.com/', 'priority' => '1.0'],
    ['loc' => 'https://ejemplo.com/sobre', 'priority' => '0.8'],
    ['loc' => 'https://ejemplo.com/contacto', 'priority' => '0.7'],
];

foreach ($urls as $url) {
    echo '<url>';
    echo '<loc>' . htmlspecialchars($url['loc']) . '</loc>';
    echo '<priority>' . $url['priority'] . '</priority>';
    echo '<lastmod>' . date('Y-m-d') . '</lastmod>';
    echo '</url>';
}

echo '</urlset>';
?>

Python con librerías:

python

from xml.etree.ElementTree as ET

urlset = ET.Element('urlset')
urlset.set('xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9')

urls_data = [
    {'loc': 'https://ejemplo.com/', 'priority': '1.0'},
    {'loc': 'https://ejemplo.com/sobre', 'priority': '0.8'},
]

for url_data in urls_data:
    url = ET.SubElement(urlset, 'url')
    loc = ET.SubElement(url, 'loc')
    loc.text = url_data['loc']
    priority = ET.SubElement(url, 'priority')
    priority.text = url_data['priority']

tree = ET.ElementTree(urlset)
tree.write('sitemap.xml', encoding='utf-8', xml_declaration=True)

Qué Incluir (y No Incluir) en Tu Sitemap

No todas las páginas deben estar en tu sitemap.

Incluir en Sitemap

Páginas importantes: homepage, páginas de servicio principales, páginas de producto activas, artículos de blog publicados, páginas de categoría principales.

Contenido actualizado frecuentemente: páginas que cambian regularmente se benefician de estar en sitemap con lastmod actualizado.

Páginas profundas: contenido a más de 3 clics de la homepage que podría no descubrirse fácilmente mediante rastreo normal.

Contenido nuevo: páginas recién publicadas para acelerar su descubrimiento.

NO Incluir en Sitemap

Páginas bloqueadas en robots.txt: inconsistente y confuso para bots.

URLs con noindex: si no quieres que se indexe, no la incluyas en sitemap.

Páginas duplicadas: solo incluye versiones canónicas.

URLs con parámetros: generalmente solo incluir versiones limpias sin parámetros.

Páginas 404: verifica que todas las URLs en sitemap devuelven código 200.

Páginas que redirigen: solo incluir URLs finales, no intermedias.

Contenido de baja calidad: thin content, páginas de agradecimiento, búsquedas internas.

Recursos no-HTML: no incluir PDFs, imágenes o archivos a menos que uses sitemaps especializados para ellos.

Páginas privadas o de login: /admin/, /cuenta/, /carrito/.

Errores Comunes en Sitemaps

Error 1: Incluir URLs Bloqueadas en Robots.txt

Tu sitemap incluye URLs que has bloqueado en robots.txt.

Problema: señales conflictivas. Le dices a Google «no rastrees esto» pero también «aquí está en mi sitemap».

Solución: asegura consistencia. Si está en robots.txt Disallow, no debe estar en sitemap.

Error 2: URLs con Código de Estado Incorrecto

Incluir URLs que devuelven 404, 301, 302 o 5xx.

Problema: Google espera encontrar código 200 en todas las URLs del sitemap. Otros códigos indican problemas.

Solución: audita tu sitemap regularmente, verifica que todas las URLs devuelven 200, elimina URLs rotas o actualizalas.

Error 3: XML Mal Formado

xml

<url>
  <loc>https://ejemplo.com/pagina
  <priority>0.8</priority>
</url>

Falta etiqueta de cierre </loc>.

Problema: parsers XML fallarán y Google no podrá leer tu sitemap.

Solución: valida tu sitemap con herramientas online o XML validators.

Error 4: Caracteres Especiales Sin Escapar

xml

<loc>https://ejemplo.com/producto?id=123&color=rojo</loc>

El & debe escaparse como &amp;:

xml

<loc>https://ejemplo.com/producto?id=123&amp;color=rojo</loc>

Error 5: Sitemap Demasiado Grande

Un solo archivo sitemap con 80,000 URLs.

Problema: excede el límite de 50,000 URLs por archivo. Google puede ignorarlo o procesarlo incorrectamente.

Solución: divide en múltiples sitemaps y crea un sitemap index.

Error 6: No Actualizar Fecha de Modificación

Todas las URLs tienen la misma fecha lastmod estática del día que creaste el sitemap.

Problema: Google no sabe qué páginas realmente cambiaron. Puede desperdiciar presupuesto re-rastreando páginas sin cambios.

Solución: actualiza lastmod dinámicamente cuando el contenido realmente cambia.

Error 7: Prioridades Sin Sentido

Todas las páginas tienen priority=»1.0″ o todas tienen «0.5».

Problema: pierdes la oportunidad de comunicar importancia relativa.

Solución: usa escala lógica. Homepage y páginas clave: 1.0, páginas importantes: 0.8-0.9, páginas secundarias: 0.5-0.7, páginas menos importantes: 0.3-0.4.

Error 8: Incluir Parámetros de Sesión o Tracking

xml

<loc>https://ejemplo.com/producto?sessionid=abc123&utm_source=google</loc>

Problema: generas miles de URLs duplicadas en tu sitemap.

Solución: solo incluye URLs limpias y canónicas.

Error 9: URLs Relativas en Lugar de Absolutas

xml

<loc>/productos/zapatillas</loc>

Problema: debe incluir protocolo y dominio completo.

Solución:

xml

<loc>https://www.ejemplo.com/productos/zapatillas</loc>

Error 10: No Declarar Namespace Correcto

xml

<urlset>
  <url>
    <loc>https://ejemplo.com/</loc>
  </url>
</urlset>

Falta la declaración de namespace.

Correcto:

xml

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

Cómo Enviar Tu Sitemap a Google

Generar el sitemap es solo el primer paso. Debes informar a Google de su existencia.

Método 1: Google Search Console (Recomendado)

  1. Accede a Google Search Console
  2. Selecciona tu propiedad
  3. Ve a Sitemaps (menú lateral)
  4. Introduce la URL de tu sitemap (ej: sitemap.xml)
  5. Click en «Enviar»

Ventajas: ves estadísticas de procesamiento, detectas errores específicos, sabes cuántas URLs fueron descubiertas/indexadas, recibes alertas sobre problemas.

Método 2: Archivo Robots.txt

Añade la ubicación de tu sitemap en robots.txt:

User-agent: *
Disallow:

Sitemap: https://www.ejemplo.com/sitemap.xml

Ventaja: los bots descubren tu sitemap automáticamente al leer robots.txt.

Limitación: no obtienes estadísticas ni feedback.

Método 3: Ping a Google

Envía petición HTTP GET a:

https://www.google.com/ping?sitemap=https://www.ejemplo.com/sitemap.xml

Cuándo usar: después de actualizar tu sitemap para notificar a Google inmediatamente.

Limitación: no abuses de esto. Úsalo solo cuando hagas cambios significativos al sitemap.

Método 4: Submit en Bing Webmaster Tools

Similar a Google Search Console:

  1. Accede a Bing Webmaster Tools
  2. Sitemaps → Submit Sitemap
  3. Introduce URL de tu sitemap

Importante: Bing también descubre sitemaps desde robots.txt automáticamente.

Cómo Verificar y Validar Tus Archivos

Antes de publicar, siempre valida robots.txt y sitemap.xml.

Validar Robots.txt

Probador de robots.txt en Search Console:

  1. Google Search Console → Configuración → Probador de robots.txt
  2. Pega o edita tu robots.txt
  3. Introduce URLs para probar si están permitidas/bloqueadas
  4. Verifica errores de sintaxis

Verificación manual:

  1. Visita https://tudominio.com/robots.txt en navegador
  2. Verifica que carga correctamente
  3. Revisa sintaxis visualmente
  4. Confirma que contiene lo que esperas

Herramientas de terceros:

  • Robots.txt Tester de Merkle
  • Technical SEO Tools – Robots.txt Validator

Validar Sitemap.xml

Validador XML online:

  • XML Sitemap Validator de XML-Sitemaps.com
  • W3C Feed Validation Service

Google Search Console: Después de enviar, Search Console muestra:

  • Número de URLs descubiertas
  • Errores encontrados
  • Advertencias

Screaming Frog:

  1. Rastrea tu sitio
  2. Sitemaps → List URLs
  3. Valida estructura y detecta problemas

Verificación manual:

  1. Visita https://tudominio.com/sitemap.xml en navegador
  2. Debe mostrar XML estructurado (o renderizado si el navegador lo interpreta)
  3. Verifica que carga sin errores
  4. Revisa que contiene las URLs esperadas

Checklist de Validación

Robots.txt:

  • ✓ Accesible en https://dominio.com/robots.txt
  • ✓ Sintaxis correcta (espacios después de : )
  • ✓ No bloquea CSS/JavaScript necesario
  • ✓ No bloquea todo el sitio accidentalmente (Disallow: /)
  • ✓ Incluye referencia a sitemap
  • ✓ User-agents escritos correctamente
  • ✓ Rutas comienzan con /

Sitemap.xml:

  • ✓ Accesible en URL especificada
  • ✓ XML bien formado sin errores de sintaxis
  • ✓ No excede 50,000 URLs o 50MB
  • ✓ Todas las URLs devuelven código 200
  • ✓ URLs son absolutas (incluyen https://)
  • ✓ Caracteres especiales escapados correctamente
  • ✓ No incluye URLs bloqueadas en robots.txt
  • ✓ No incluye URLs con noindex
  • ✓ Fechas lastmod en formato correcto
  • ✓ Namespace declarado correctamente

Monitoreo y Mantenimiento

Robots.txt y sitemap.xml no son «set and forget». Requieren revisión regular.

Monitoreo de Robots.txt

Alertas de cambios accidentales:

  • Configura monitoreo de cambios en robots.txt
  • Si alguien modifica accidentalmente, serás notificado

Revisión después de cambios de sitio:

  • Migración de hosting
  • Actualización de CMS
  • Rediseño de sitio
  • Cambios de estructura de URLs

Verificación de bloqueos accidentales:

  • Revisa Search Console para errores de rastreo
  • Si páginas importantes muestran «Bloqueado por robots.txt», investiga

Monitoreo de Sitemap.xml

Google Search Console – Sección Sitemaps:

  • Revisa mensualmente
  • Verifica que «URLs descubiertas» es razonable
  • Investiga cualquier error o advertencia

URLs descubiertas vs indexadas:

  • Si hay gran discrepancia, investiga por qué Google no indexa contenido de tu sitemap

Alertas de errores:

  • Activa notificaciones de email en Search Console
  • Responde rápidamente a alertas de problemas con sitemap

Actualización regular:

  • Sitios estáticos: revisar trimestralmente
  • Blogs activos: mensualmente o automático con plugin
  • Ecommerce: semanal o automático
  • Sitios de noticias: diario o automático

Auditorías Periódicas

Trimestral para sitios pequeños, mensual para medianos/grandes:

  1. Verifica que robots.txt sigue siendo correcto
  2. Valida XML de sitemap
  3. Comprueba que URLs en sitemap devuelven 200
  4. Elimina URLs obsoletas del sitemap
  5. Añade nuevas páginas importantes
  6. Actualiza lastmod para contenido modificado
  7. Revisa estadísticas en Search Console
  8. Compara con competidores (qué incluyen/excluyen)

Robots.txt y Sitemap.xml: Trabajando Juntos

Estos archivos funcionan mejor cuando se complementan estratégicamente.

Estrategia Coordinada

Ejemplo: Ecommerce con filtros

Robots.txt:

User-agent: *
Disallow: /*?color=
Disallow: /*?talla=
Disallow: /*?precio=

Sitemap.xml:

  • Incluye categorías principales sin filtros
  • Incluye productos individuales
  • NO incluye URLs con parámetros de filtro

Resultado: Google no rastrea combinaciones infinitas de filtros, pero sí indexa productos y categorías importantes vía sitemap.

Ejemplo: Blog con Paginación

Robots.txt:

User-agent: *
Allow: /blog/
Disallow: /blog/?s=

Sitemap.xml:

  • Incluye posts individuales
  • Incluye página principal de blog
  • Puede incluir categorías
  • NO incluye páginas de búsqueda interna

Ejemplo: Sitio Multiidioma

Robots.txt:

User-agent: *
Allow: /es/
Allow: /en/
Allow: /fr/
Disallow: /*?lang=

Sitemap.xml:

  • Sitemap separado por idioma (sitemap-es.xml, sitemap-en.xml, sitemap-fr.xml)
  • Solo URLs limpias de cada idioma
  • NO versiones con parámetro ?lang=

Casos de Uso Avanzados

Staging/Desarrollo: Bloquear Todo

Robots.txt en servidor de staging:

User-agent: *
Disallow: /

# Nota: Este es el servidor de desarrollo
# No debe ser indexado

Importante: usa contraseña o IP whitelist además de robots.txt. Robots.txt no es seguridad.

Limitar Bots Agresivos

User-agent: *
Disallow:

# Limitar bot agresivo específico
User-agent: BadBot
Disallow: /

User-agent: AhrefsBot
Crawl-delay: 10

User-agent: SemrushBot
Crawl-delay: 15

Sitio de Membresía

User-agent: *
# Permitir páginas públicas
Allow: /
Allow: /blog/
Allow: /precios/

# Bloquear área de miembros
Disallow: /miembros/
Disallow: /cuenta/
Disallow: /cursos/

Sitemap: https://www.sitio.com/sitemap-public.xml

Sitemap solo incluye contenido público.

Marketplace con Múltiples Vendedores

User-agent: *
# Permitir perfil de vendedores verificados
Allow: /vendedor/verificado/

# Bloquear vendedores no verificados para evitar thin content
Disallow: /vendedor/nuevo/

# Bloquear páginas de vendedor con pocos productos
Disallow: /*productos-count=1
Disallow: /*productos-count=2

Sitemap: https://www.marketplace.com/sitemap-vendors.xml
Sitemap: https://www.marketplace.com/sitemap-products.xml

Herramientas y Recursos

Generadores de Robots.txt

Robots.txt Generator (online):

  • Interfaz visual simple
  • Genera código correcto
  • Incluye casos de uso comunes

Yoast SEO / Rank Math:

  • Edición visual de robots.txt desde WordPress admin
  • Prevención de errores comunes

Generadores de Sitemap

Screaming Frog SEO Spider:

  • Versión gratuita: hasta 500 URLs
  • Versión de pago: ilimitado
  • Personalización completa

XML-Sitemaps.com:

  • Gratuito hasta 500 URLs
  • Generación online sin instalación

Plugins de WordPress:

  • Yoast SEO
  • Rank Math
  • All in One SEO Pack

Shopify:

  • Automático, no configurable
  • /sitemap.xml

Validadores

Google Search Console:

  • Probador de robots.txt
  • Validador de sitemap integrado

Bing Webmaster Tools:

  • Validadores equivalentes para Bing

XML Sitemap Validator:

  • Valida estructura XML
  • Detecta errores comunes

Technical SEO Tools:

  • Suite de herramientas de validación
  • Análisis de robots.txt y sitemap

Documentación Oficial

Robots.txt specification: https://www.robotstxt.org/

Sitemaps.org protocol: https://www.sitemaps.org/

Google Search Central – Robots.txt: https://developers.google.com/search/docs/crawling-indexing/robots/intro

Google Search Central – Sitemaps: https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap

Preguntas Frecuentes

¿Es obligatorio tener robots.txt y sitemap.xml?

No son técnicamente obligatorios, pero son altamente recomendados. Sin ellos, los bots rastrearán tu sitio menos eficientemente y pueden desperdiciar presupuesto en páginas irrelevantes.

¿Qué pasa si no tengo robots.txt?

Los bots asumirán que todo está permitido y rastrearán todo tu sitio. Esto está bien para sitios muy pequeños y simples, pero ineficiente para sitios más grandes.

¿Puedo tener múltiples archivos robots.txt?

No. Solo el robots.txt en la raíz del dominio es válido. Subdominios pueden tener su propio robots.txt.

¿Los bots maliciosos respetan robots.txt?

No. Robots.txt es voluntario. Bots bien comportados lo respetan, pero bots maliciosos lo ignoran. No uses robots.txt como seguridad.

¿Debo usar robots.txt O noindex?

Depende de tu objetivo. Robots.txt previene rastreo, noindex previene indexación. Para prevenir completamente que una página aparezca en resultados, usa noindex + allow en robots.txt.

¿Cuántas URLs puede tener mi sitemap?

Máximo 50,000 URLs por archivo sitemap. Para más, usa sitemap index con múltiples sitemaps.

¿Qué formato debo usar: XML o TXT?

XML es el estándar y soporta metadata (lastmod, priority, changefreq). TXT solo lista URLs sin información adicional. Usa XML.

¿Con qué frecuencia debo actualizar mi sitemap?

Depende de tu tasa de publicación. Blogs activos: diario/semanal (automático). Ecommerce: semanal. Sitios estáticos: mensual. Lo ideal es actualización automática cuando publicas contenido.

¿Google penaliza por no tener sitemap?

No hay penalización directa, pero dificultas el descubrimiento de tu contenido, especialmente páginas nuevas o profundas.

¿Puedo bloquear Googlebot pero permitir otros bots?

Sí, especificando User-agent: Googlebot con Disallow apropiado. Pero considera cuidadosamente por qué querrías bloquear Google específicamente.

¿Sitemap garantiza indexación?

No. Sitemap facilita descubrimiento, pero Google decide qué indexar basándose en calidad y relevancia del contenido.

¿Debo incluir mi homepage en el sitemap?

Sí, generalmente es buena práctica incluir tu homepage con priority=»1.0″.

¿Qué hago si Google dice que mi sitemap tiene errores?

Revisa los errores específicos en Search Console, corrige los problemas, valida el XML, reenvía el sitemap. Errores comunes: URLs con 404, XML mal formado, URLs bloqueadas en robots.txt.

Conclusión

Los archivos robots.txt y sitemap.xml son componentes fundamentales pero frecuentemente mal configurados del SEO técnico. Aunque son archivos simples, su impacto en cómo los motores de búsqueda descubren, rastrean e indexan tu sitio es enorme.

Un robots.txt bien configurado dirige a los bots hacia tu contenido valioso mientras conserva presupuesto de rastreo bloqueando áreas irrelevantes. Un sitemap.xml completo y actualizado facilita que Google descubra todo tu contenido importante rápidamente.

Los errores en estos archivos pueden tener consecuencias devastadoras. Un simple error de sintaxis en robots.txt puede bloquear tu sitio completo de Google. Un sitemap desactualizado o con errores puede impedir que tu contenido nuevo se indexe durante semanas.

La buena noticia es que con las herramientas modernas, especialmente plugins de CMS, la generación y mantenimiento de estos archivos puede ser mayormente automática. Tu responsabilidad es entender qué hacen, validar que funcionan correctamente y auditarlos periódicamente.

Implementa estos archivos correctamente una vez y disfrutarás beneficios duraderos: rastreo más eficiente, indexación más rápida de contenido nuevo, mejor control sobre qué se indexa y claridad completa sobre cómo los bots interactúan con tu sitio.

No ignores estos elementos técnicos fundamentales. Son la base sobre la cual se construye todo tu SEO. Sin una base sólida de robots.txt y sitemap.xml bien configurados, incluso el mejor contenido y las mejores estrategias de link building tendrán dificultades para alcanzar su potencial completo de visibilidad en buscadores.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *