SEO para Sitecore

Cómo lograr que un sitio de Sitecore se posicione: las diferencias entre XP y XM Cloud, lo que SXA incluye de fábrica y las particularidades de robots.txt, alias que devuelven HTTP 200 y herencia de metadatos que afectan a equipos empresariales.

Publicado por primera vez: 27 jun 2026 · Última actualización: 13 ago 2026 · Avanzado
Idiomas

Sitecore es una DXP empresarial que casi no incluye funcionalidad SEO de fábrica, y sus dos líneas de producto se comportan de forma muy distinta. Sitecore XP usa .NET con renderizado del lado del servidor; XM Cloud —denominado SitecoreAI en la documentación actual— es SaaS headless y un front-end de Next.js controla el HTML y el SEO mediante las API de metadatos de Next.js. SXA añade mapa del sitio, gestión de robots.txt y campos de metadatos, pero todo requiere configuración. Tres particularidades suelen afectar a los equipos: un campo de robots vacío bloquea todos los rastreadores; los alias sirven HTTP 200 en ambas URL y crean contenido duplicado; y los campos de metadatos vacíos no recuperan Standard Values salvo que se active 'Reset Blank', porque vacío no es NULL. A escala empresarial, la gobernanza —plantilla SEO base, validación y control de entornos— es tan importante como cada ajuste.

TL;DR — Sitecore casi no incluye funcionalidad SEO de fábrica; SXA añade lo básico, pero requiere configuración. Las dos plataformas difieren por completo: XP usa .NET con renderizado del lado del servidor —los rastreadores reciben HTML completo y la personalización también se renderiza en el servidor—; XM Cloud es headless y un front-end de Next.js controla el HTML y el SEO mediante las API de metadatos de Next.js (generateMetadata, MetadataRoute), con SSG/ISR como modos recomendados. Los problemas específicos de la plataforma son tres: el robots.txt predeterminado bloquea todos los rastreadores cuando el campo está vacío; los alias de elementos devuelven HTTP 200 en ambas URL —contenido duplicado real, sin corrección canónica predeterminada—; y los campos de metadatos vacíos no heredan Standard Values salvo que se active «Reset Blank» (vacío ≠ NULL). A la escala empresarial de Sitecore, el trabajo decisivo es la gobernanza: una plantilla SEO base, reglas de validación y control de entornos. Nota de nomenclatura: la documentación actual de Sitecore llama SitecoreAI al producto XM Cloud; la arquitectura descrita no cambia.

Evidence for this claim The article's described sitecore-seo capabilities must be evaluated against the platform's current documentation rather than assumed to be search-engine behavior. Scope: Platform-specific capability documentation. Confidence: high · Verified: Sitecore: SEO Evidence for this claim Regardless of platform, Google needs crawlable URLs, accessible rendered content, descriptive metadata, and valid search directives. Scope: Google requirements independent of platform. Confidence: high · Verified: Google Search Central: SEO Starter Guide

Dos plataformas, dos modelos SEO completamente diferentes

Antes de realizar cualquier cambio, debe determinarse un dato fundamental: ¿qué versión de Sitecore se utiliza? El nombre del producto es el mismo, pero sus mecanismos SEO no lo son.

  • Sitecore XP (Experience Platform). .NET tradicional, con renderizado del lado del servidor mediante Razor/MVC y despliegue local o en una nube administrada. Googlebot suele recibir el HTML completo. El SEO se gestiona dentro de Sitecore: en plantillas, Standard Values y flujos de solicitudes.
  • XM Cloud. SaaS headless. Sitecore almacena el contenido y lo expone mediante una API GraphQL (Experience Edge); un front-end desacoplado —casi siempre Next.js construido con Sitecore JSS (JavaScript Services)— renderiza el HTML. El SEO reside en la capa de la aplicación Next.js. Sitecore conserva el contenido; Next.js controla la salida.

Una nota de nomenclatura para quienes consulten la documentación de Sitecore: a mediados de 2026, el sitio de documentación cambió el nombre del producto SaaS componible de «XM Cloud» a SitecoreAI. Las rutas antiguas doc.sitecore.com/xmc/... y developers.sitecore.com/learn/accelerate/xm-cloud/... ahora redirigen a rutas .../sai/.../sitecoreai/..., y la página oficial de la plataforma la describe como “a cloud-native, SaaS, hybrid headless digital experience platform.” (una plataforma de experiencia digital headless híbrida, SaaS y nativa de la nube). La arquitectura descrita en este artículo no cambió —Experience Edge, GraphQL y un front-end de Next.js desacoplado—, pero el SDK front-end ahora se publica como Content SDK —de código abierto y orientado a Next.js— en lugar de usar el nombre JSS. En capturas y menús actuales aparecerá «SitecoreAI» en vez de «XM Cloud». Este artículo conserva «XM Cloud» porque sigue siendo el término que más buscan los profesionales y el que usan la mayoría de las implementaciones existentes. Si una persona representante de Sitecore o el Cloud Portal usan SitecoreAI, se trata de la misma plataforma y de los mismos mecanismos SEO descritos a continuación.

En ambos casos, el punto de partida práctico es el mismo. Marcel, de Fishtank, lo resumió en 2018: “Sitecore ships with virtually no SEO functionality (with the exception of SXA which includes some basics).” (Sitecore casi no incluye funcionalidad SEO, salvo SXA, que aporta algunos elementos básicos). Ese sigue siendo el modelo mental correcto. SXA (Sitecore Experience Accelerator) es la capa que incorpora un módulo de mapa del sitio, gestión de robots.txt en el árbol de contenido y campos de metadatos estandarizados. Sin ella, todo esto requiere desarrollo personalizado.

Este es claramente un ámbito de SEO empresarial. Las implementaciones de Sitecore implican equipos de desarrollo y socios de soluciones especializados y, como se ha señalado sobre los sitios empresariales en general, “the more likely you are to run into multiple tech stacks,” (mayor es la probabilidad de encontrar varias pilas tecnológicas), además de sistemas heredados y responsabilidades divididas entre secciones. En Sitecore, la solución a un problema SEO suele ser un cambio de plantilla o una modificación de un flujo que pertenece al equipo de desarrollo, no un simple ajuste de configuración.

Metadatos y el problema de los campos vacíos frente a NULL

Los campos SEO —título de página, metadescripción y etiquetas Open Graph— se encuentran en las plantillas de datos de las páginas. El patrón adecuado es una plantilla SEO base de la que hereden todas las plantillas de página, de modo que los campos existan en todas partes. Ken Gray, de Konabos, señala directamente esta carencia predeterminada: “out-of-the-box, Sitecore’s data templates might not include some of the Meta Data fields.” (de fábrica, las plantillas de datos de Sitecore podrían no incluir algunos campos de metadatos).

Los Standard Values permiten definir valores predeterminados razonables para esos campos, por ejemplo, un token $name como título alternativo. Sin embargo, existe una particularidad de Sitecore que produce metadatos ausentes a gran escala. La documentación oficial es explícita: “If the value of a field is NULL, the item contains the standard value for that field as defined in the data template for that item.” (si el valor de un campo es NULL, el elemento contiene el valor estándar definido en su plantilla de datos). El problema es que un campo vacío no es NULL. Cuando se borra una metadescripción, el campo queda vacío y no vuelve al Standard Value salvo que se active «Reset Blank». Así se generan páginas con <meta name="description" content=""> en lugar de heredar un valor predeterminado. En un sitio grande, esto puede originar miles de descripciones vacías sin intención editorial.

La solución tiene dos partes: activar «Reset Blank» en los campos de metadatos que deban recuperar un valor predeterminado y añadir reglas de validación que exijan títulos y descripciones no vacíos —con límites de caracteres— antes de publicar.

Gestión de URL y el problema de los alias

De forma predeterminada, Sitecore genera las URL a partir de la ruta del árbol de contenido; las URL limpias proceden de la configuración de SXA o de resolutores de elementos personalizados.

El problema son los alias de elementos: URL alternativas que pueden asociarse a cualquier elemento. Aunque parezcan inocuas, no son neutrales para el SEO. Dheer Rajpoot documentó que “no redirect (no 301 or 302 HTTP status code) happens when you are using aliases in Sitecore,” (no se produce ninguna redirección —ni código HTTP 301 ni 302— al usar alias en Sitecore), lo cual significa que “multiple URLs will be created for a single page URL.” (se crean varias URL para una sola página). Tanto la URL canónica como el alias devuelven HTTP 200 con contenido idéntico: contenido duplicado real. Sitecore no emite automáticamente una etiqueta canónica para resolverlo.

Hay dos soluciones adecuadas para la gobernanza:

  1. Modificar AliasResolver en el flujo HttpRequest para insertar una etiqueta canónica que apunte a la URL real, o
  2. Modificar el flujo de alias para emitir una redirección 301 en lugar de servir el alias directamente.

Se recomienda la segunda opción: tratar los alias como redirecciones, no como URL de acceso alternativas. El consejo general de Ken Gray es pertinente: “use Sitecore’s canonical link management to specify the preferred version of a URL” (usar la gestión de enlaces canónicos de Sitecore para indicar la versión preferida de una URL). No obstante, para los alias, una redirección 301 es más clara que depender de señales canónicas.

Mapas del sitio

En SXA, el mapa del sitio se configura en site/Settings → Search Engines Sitemap → Sitemap Mode. Hay dos modos relevantes: Stored in cache —el predeterminado, que se regenera dinámicamente y resulta apropiado para sitios con actualizaciones frecuentes o alojados en Azure— y Stored in file —un archivo estático, más adecuado para sitios grandes con pocos cambios, pues evita el costo de regeneración—. SXA añade automáticamente la URL del mapa del sitio a robots.txt, y el mapa se publica en /sitemap.xml. Un fallo frecuente es que el mapa devuelve un 404 si no se configura TargetHostName.

En XM Cloud + Next.js, el mapa del sitio se genera mediante programación con MetadataRoute.Sitemap y consultas GraphQL a Experience Edge. Esto permite excluir las URL no indexables en la capa de aplicación. La propia guía de Sitecore señala que “Next.js offers built-in sitemap and robots.txt generation.” (Next.js incluye generación de mapas del sitio y robots.txt).

Robots.txt: el valor predeterminado que bloquea todo

Esta particularidad de Sitecore tiene el mayor alcance potencial. En SXA, robots.txt se configura en el árbol de contenido —campo Robots en Settings del sitio— y el sitio debe volver a publicarse después de cualquier cambio. La advertencia procede directamente de la documentación de Sitecore: “If no rules are added, the system writes: ‘User-agent: * Disallow: /’” (si no se añaden reglas, el sistema escribe «User-agent: * Disallow: /»), lo que bloquea todos los rastreadores. Un campo de robots vacío no produce un robots.txt permisivo, sino un bloqueo general. Debe configurarse explícitamente:

User-agent: *
Allow: /

En la mayoría de las plataformas, la ausencia de robots.txt significa «rastrear todo»; en Sitecore puede significar lo contrario. Por eso, verificar el robots.txt de producción es un paso imprescindible antes del lanzamiento. En XM Cloud + Next.js, debe usarse MetadataRoute.Robots para generar un robots.txt mediante código y con comprobación de tipos. Por separado, las instancias CM (Content Management) y los entornos de QA/preproducción siempre deben bloquear todo el rastreo; solo la instancia CD (Content Delivery) de producción debe ser rastreable.

Sitios multilingües, hreflang y multisite

Sitecore almacena los idiomas como versiones del mismo elemento, no como elementos separados. Esto, junto con la sustitución lingüística —a nivel del elemento o de campos individuales, por ejemplo una cadena es-MX → es-ES → en—, puede servir el mismo contenido en varias URL de idioma. Es una fuente de contenido duplicado si hreflang no señala la relación. Hreflang no es automático en Sitecore estándar: debe añadirse a las plantillas —SXA puede generarlo cuando se configura— con URL absolutas completas, referencias bidireccionales y un x-default. John Mueller lo expresó así, según la cita de Jakub Koba: “TBH hreflang is one of the most complex aspects of SEO (if not the most complex one).” (sinceramente, hreflang es uno de los aspectos más complejos del SEO, si no el más complejo). No debe subestimarse.

Sitecore también admite multisite de forma nativa: varios sitios en una sola instalación, a veces con contenido compartido. El contenido compartido entre sitios requiere una estrategia canónica deliberada, y cada sitio necesita su propio mapa del sitio y robots.txt. Es el tipo de complejidad de infraestructura compartida y responsabilidad dividida señalado en el SEO técnico empresarial: “Sometimes different people are responsible for different sections of the website or even different pages, which can make internal linking time-consuming.” (a veces distintas personas son responsables de secciones o incluso páginas diferentes, lo que puede hacer que los enlaces internos requieran mucho tiempo).

Estrategia de renderizado headless (XM Cloud)

Conviene precisar la propiedad de esta capa porque suele causar confusión: los entornos de XM Cloud tienen un host de edición y un host de renderizado, y no son lo mismo. La documentación de Sitecore establece que el host de edición solo habilita la experiencia WYSIWYG en Page Builder/Design Studio, “is not set up or scaled for serving live traffic,” (no está configurado ni dimensionado para servir tráfico activo) y recibe tráfico interno de autoría. El host de renderizado es la aplicación pública de Next.js, alojada en Vercel, Netlify o Azure, que consume contenido de Experience Edge y está dimensionada para visitantes reales. Los rastreadores solo llegan al host de renderizado. El comportamiento del host de edición —o una URL de edición filtrada a un mapa del sitio o a un enlace— no renderiza lo que ve Googlebot ni debería ser accesible para los motores de búsqueda.

En XM Cloud, el modo de renderizado elegido en Next.js constituye la decisión SEO. Akshay Sura (Konabos) resume las cuatro alternativas:

EstrategiaImpacto SEO
SSG (estática)Mejor — “SSG pre-renders HTML at build time… Search engines can easily crawl the pre-rendered HTML.” (SSG genera HTML durante la compilación; los motores pueden rastrearlo con facilidad).
ISR (regeneración estática incremental)Bueno — rendimiento estático con actualización en segundo plano; recomendado para contenido a escala.
SSR (renderizado del lado del servidor)Bueno — “Fully rendered HTML is ready for search engines to index.” (el HTML completamente renderizado está listo para indexarse).
CSR (renderizado del lado del cliente)Peor — “Search engines may struggle with indexing JavaScript-rendered content.” (los motores pueden tener dificultades para indexar contenido renderizado con JavaScript).

La recomendación es usar SSG o ISR para el contenido esencial para el SEO y reservar CSR solo para interfaces interactivas. Los metadatos se definen mediante generateMetadata (App Router). David Austin (Fishtank) destaca una ventaja de rendimiento: “All fetch calls within generateMetadata are memoized, meaning identical URLs are only fetched once across the application, preventing redundant requests.” (todas las solicitudes fetch dentro de generateMetadata se memorizan; las URL idénticas se solicitan una sola vez y se evitan peticiones redundantes). Sebastián Aliaga añade: “The dynamic approach is the better method for Sitecore Headless as you’ll be able to take what’s part of the page’s layout data and incorporate it.” (el enfoque dinámico es mejor para Sitecore Headless porque permite incorporar los datos de diseño de la página).

Personalización sin encubrimiento

La personalización de Sitecore es una consideración SEO real. En XP, se renderiza en el servidor, por lo que Googlebot recibe la experiencia predeterminada —sin personalización—. Esa versión debe ser completa y estar optimizada para SEO, no ser insuficiente. En XM Cloud, la personalización del lado del cliente mediante JSS puede ocultar contenido a rastreadores que no ejecuten JavaScript; debe prerenderizarse la experiencia predeterminada con SSR o personalizarse en el perímetro.

La regla estricta en ambas plataformas es no servir contenido diferente a rastreadores y personas usuarias: eso constituye encubrimiento e infringe las directrices. El H1 principal, el contenido de preguntas frecuentes y los datos estructurados no deben personalizarse con reglas del lado del cliente. La personalización debe añadir a la información canónica, nunca reemplazarla.

Datos estructurados

Debe usarse JSON-LD en <script type="application/ld+json">. En XP, se renderiza desde campos de plantilla en la vista Razor o mediante el flujo; en XM Cloud, se modelan los campos de datos estructurados en plantillas, se recuperan mediante GraphQL y se renderizan en el componente de Next.js. Conviene priorizar FAQPage, HowTo, Product, Article y BreadcrumbList. Puede implementarse mediante un gestor de etiquetas. Martha van Berkel (Schema App) indica que los equipos “typically use JavaScript to deploy Schema Markup to Sitecore… both efficient and scalable” (suelen usar JavaScript para implementar marcado de schema en Sitecore de manera eficiente y escalable). Sin embargo, la inyección del lado del cliente implica que los rastreadores de IA podrían no detectarlo, por lo que se prefiere JSON-LD renderizado en el servidor para maximizar la cobertura. Peter Lambrou (Codehouse) resume el beneficio: “Add schema markup to the page HTML to make your search results appear more attractive.” (añadir marcado de datos estructurados al HTML para hacer más atractivos los resultados).

Gobernanza empresarial: donde reside el trabajo real

Más allá de cada ajuste, el resultado SEO de una instalación grande de Sitecore depende de la gobernanza. Como se ha señalado en los sitios empresariales, donde destaca el SEO técnico, “enterprise sites can have complex infrastructures and a lot of legacy systems in place” (los sitios empresariales pueden tener infraestructuras complejas y numerosos sistemas heredados), y “I doubt there’s a major website that is technically perfect.” (es dudoso que exista un sitio web importante técnicamente perfecto). Los elementos recurrentes de gobernanza específicos de Sitecore son:

  • Proliferación de plantillas. Varias plantillas para el mismo fin, cada una con campos SEO diferentes o ausentes. Deben auditarse y aplicarse una plantilla SEO base heredada por todas las plantillas de página.
  • Validación de metadatos. «Reset Blank» y validación a nivel de campo impiden publicar títulos o descripciones vacíos o demasiado largos.
  • Gobernanza de alias. Una política que solo permita crear alias con una modificación canónica o como redirecciones 301.
  • Control de entornos. CM, QA y preproducción bloqueados; producción permitida y verificada explícitamente.
  • Presupuesto de rastreo a escala. La navegación por facetas, las versiones de idioma y las URL con parámetros pueden multiplicar el espacio de URL; deben seleccionarse los mapas del sitio y gobernarse estrictamente robots/noindex. Véase presupuesto de rastreo.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.