SEO en Umbraco

Cómo posicionar un sitio de Umbraco: qué resuelve de serie este CMS basado en .NET (URL limpias, redirecciones automáticas al renombrar y HTTPS), qué requiere un paquete (campos de metadatos, mapas del sitio XML, robots.txt, etiquetas de canonicalización y noindex) y qué exige desarrollo a medida (hreflang y datos estructurados). También explica el papel de SeoToolkit, SEO Checker de Soeteman Software y URL Tracker, y por qué uMarketingSuite —ahora Umbraco Engage— no es una herramienta de SEO.

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

Umbraco es un CMS de código abierto basado en .NET cuyo rasgo distintivo para el SEO es la dependencia predeterminada del equipo de desarrollo: a diferencia de WordPress, donde alguien sin conocimientos técnicos puede instalar un complemento, casi cualquier función SEO relevante en Umbraco necesita un desarrollador de .NET o un paquete. Hay tres niveles. Integrado: URL limpias derivadas de los nombres de los nodos, redirecciones 301 automáticas al renombrar la URL de un nodo, aplicación de HTTPS y gestión básica de 404. Requiere un paquete: campos de metadatos, mapas del sitio XML, edición de robots.txt, controles noindex y etiquetas de canonicalización, mediante SeoToolkit (gratuito y de código abierto, de patrickdemooij9) o SEO Checker (comercial, de Soeteman Software, no de Jumoo, creadora de uSync). Requiere desarrollo a medida: hreflang para las variantes de idioma, datos estructurados y lógica URL principal avanzada. uMarketingSuite pasó a llamarse Umbraco Engage en noviembre de 2024 y es una plataforma de personalización y optimización de conversiones, no una herramienta de SEO técnico. A mediados de 2026, Umbraco 17 —publicado en noviembre de 2025— es la versión LTS actual; Umbraco 13, la anterior, está en fase de seguridad y llega al final de su vida útil en diciembre de 2026, por lo que conviene planificar la actualización. La decisión inteligente es incorporar controles SEO de autoservicio al panel de administración antes de que el equipo de SEO empiece a trabajar en el sitio.

En resumen: Umbraco es un CMS de código abierto basado en .NET cuya optimización para buscadores depende, por defecto, del trabajo de desarrollo. Hay tres niveles: funciones integradas (URL limpias derivadas de los nombres de los nodos, redirección 301 automática al renombrar una URL, HTTPS, páginas 404 y variantes de idioma); funciones que requieren un paquete (campos de metadatos, mapa del sitio XML, robots.txt, noindex y etiquetas de canonicalización, mediante SeoToolkit, gratuito, o SEO Checker de Soeteman Software, de pago); y funciones que requieren desarrollo a medida (hreflang, datos estructurados y lógica URL principal avanzada). SEO Checker pertenece a Soeteman Software, no a Jumoo, creadora de uSync. uMarketingSuite pasó a llamarse Umbraco Engage en noviembre de 2024 y es una herramienta de optimización de conversiones, no de SEO. Umbraco 17, publicado en noviembre de 2025, es la versión LTS actual; la 13, anterior versión LTS, está en fase de seguridad y llega al final de su vida útil en diciembre de 2026. La verdadera clave consiste en incorporar controles SEO de autoservicio al panel de administración antes de que llegue el equipo de SEO.

Evidence for this claim The article's described umbraco-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: Umbraco CMS documentation 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

Qué es Umbraco (la versión de 30 segundos)

Umbraco es un CMS de código abierto construido sobre ASP.NET Core. Modelas contenido con tipos de documento (plantillas de contenido tipadas), organizas páginas en un árbol de contenido y las renderizas con plantillas Razor. Viene de dos formas: Umbraco Cloud (alojamiento gestionado en Azure con Cloudflare en el borde — TLS automático, cortafuegos, restauración a un punto en el tiempo) y autohospedado (tu propio servidor, control total). Ambos usan el mismo CMS; la diferencia es quién gestiona la infraestructura.

El marco más importante para el SEO: la mayor parte de la configuración de SEO en Umbraco requiere un desarrollador de .NET. Esta es la diferencia estructural con WordPress, donde un no desarrollador puede instalar un plugin y autogestionarse. En Umbraco, incluso los campos meta básicos son una tarea de desarrollador a menos que un paquete ya los haya añadido.

Los tres niveles del SEO en Umbraco

Me resulta más claro clasificar cada función de SEO en uno de tres grupos.

Nivel 1 — integrado. Generación de URLs limpias a partir de nombres de nodo (una transformación automática ToUrlSegment() produce slugs en minúsculas y con guiones), redirecciones 301 automáticas cuando la URL de un nodo cambia al renombrarlo, aplicación de HTTPS, códigos de estado 404 correctos y variantes de idioma (el modelo de contenido multilingüe).

Nivel 2 — requiere un paquete. Campos de título y descripción meta, mapas de sitio XML, edición de robots.txt, controles de noindex y etiquetas de canonicalización. Todo esto viene preconstruido en SeoToolkit (gratis) o SEO Checker (de pago).

Nivel 3 — requiere desarrollo personalizado. hreflang para variantes de idioma, datos estructurados y lógica URL principal avanzada. Incluso con un paquete, a menudo necesitan código de plantilla o una configuración cuidadosa por cultura.

El 301 automático al renombrar — la victoria silenciosa de Umbraco

Esta es la función integrada que la mayoría de las guías pasan por alto, y es genuinamente buena. La documentación oficial de seguimiento de URLs de Umbraco lo dice claramente: “Whenever a document is published and causes changes to its URL (and any of its descendants’ URLs), Umbraco makes a note of the old URLs. Whenever an incoming request is served and the default content finders cannot find a matching published document, Umbraco checks whether the URL matches one of these saved URLs. If a match is found, Umbraco returns a 301 Redirect response pointing to the new URL of the document.” (traducción) «Siempre que se publica un documento y esto provoca cambios en su URL (y en las URLs de cualquiera de sus descendientes), Umbraco anota las URLs antiguas. Siempre que se atiende una solicitud entrante y los buscadores de contenido predeterminados no encuentran un documento publicado coincidente, Umbraco comprueba si la URL coincide con una de estas URLs guardadas. Si encuentra una coincidencia, Umbraco devuelve una respuesta de redirección 301 que apunta a la nueva URL del documento.»

En la práctica: renombra una página, cambia su slug, y la URL antigua sigue funcionando con un 301 automáticamente. Sin plugin (WordPress necesita Yoast Premium o Redirection para el equivalente), sin ticket de desarrollador. Esto solo evita gran parte del daño de enlaces rotos y pérdida de autoridad que la edición rutinaria de contenido causa en otros lugares. No lo sobreinterpretes, sin embargo: esto es un seguimiento activado por publicación de los cambios de URL propios de un documento — no cubre reglas de reescritura arbitrarias, ni los cambios más complejos de cultura y nombre de host que encuentras durante una migración. Nombra tu capa de alojamiento o middleware para esos casos, no el núcleo de Umbraco.

Vale la pena saberlo junto con esto: Umbraco tiene varios alias de propiedades de enrutamiento reservados, y es fácil confundirlos porque sus nombres suenan similares pero su comportamiento no es intercambiable. umbracoUrlName cambia el sufijo de la ruta URL que genera un nodo: establece un valor y anula el slug generado automáticamente, mientras que el nombre del nodo en el backoffice sigue siendo el que quieras. umbracoUrlAlias es diferente de nuevo: una lista separada por comas de rutas completas alternativas que resuelven al mismo nodo, enmascarando la URL real en la barra de direcciones del navegador en lugar de redirigir a ella. umbracoRedirect envía una redirección 302 (temporal) a otro nodo, elegido mediante una propiedad de selector de contenido: es una redirección visible, no silenciosa. umbracoInternalRedirectId es el que hace la reescritura interna silenciosa: el contenido de la página de destino se sirve de forma transparente, sin que el navegador vea ninguna redirección. Trata estos cuatro como herramientas distintas, no como variaciones de un mismo concepto de “redirección”, y confirma el comportamiento real en la documentación de tu propia versión antes de integrar uno en una migración. Para un control avanzado, un desarrollador también puede implementar IUrlSegmentProvider para extraer slugs de un campo dedicado en lugar del nombre del nodo. Una brecha más: la consistencia de la barra final y www/no-www no se maneja de forma nativa — necesita middleware de ASP.NET Core o reglas de reescritura de IIS.

Metadatos: el flujo de trabajo del desarrollador

Debido a que Umbraco no incluye campos de metadatos, el patrón estándar es:

  1. Agrega una pestaña/grupo “SEO” a tus tipos de documento — o, mejor, una composición que puedas reutilizar entre tipos.

  2. Agrega propiedades: metaTitle, metaDescription, un interruptor noIndex, opcional canonicalUrl, y campos de Open Graph (ogTitle, ogDescription, ogImage).

  3. Renderízalos en la plantilla maestra con Razor:

    <title>@Model.Value("metaTitle")</title>
    <meta name="description" content="@Model.Value("metaDescription")" />
    <link rel="canonical" href="@Model.Url(mode: UrlMode.Absolute)" />
  4. Add fallback logic so an empty metaTitle defaults to the node name.

O instala un paquete que agregue esta composición por ti. Esa es toda la elección en el SEO de Umbraco, una y otra vez: construirlo, o instalar un paquete que lo construyó.

Una cosa que vale la pena internalizar aquí: un tipo de documento solo define qué campos existen — que un campo tenga un valor en el backoffice no prueba nada sobre lo que termina en el HTML desplegado. La salida es propiedad de la plantilla. El sistema de plantillas actual de Umbraco admite herencia de plantilla maestra con secciones nombradas, así que una plantilla hija puede colocar su marcado metaTitle/metaDescription/principal en el <head> de la maestra — pero eso significa que cada plantilla que hereda de la maestra (y cada ruta de respaldo cuando una sección queda vacía) necesita ser revisada individualmente. No asumas que el comportamiento de renderizado de un tipo de documento se generaliza a cada tipo de página del sitio; verifica el HTML renderizado por plantilla.

El conjunto de paquetes (y uno para no confundir)

SeoToolkit (de patrickdemooij9) es gratuito, de código abierto y está disponible en NuGet. Publica una versión específica del paquete para cada versión principal de Umbraco —actualmente hasta Umbraco 18, publicado a mediados de 2026— y se mantiene activamente. Antes de instalarlo, confirma que la versión del paquete corresponda a la de Umbraco. Incluye gestión de campos de metadatos, generación dinámica de mapas del sitio (uno por dominio y un índice que los agrupa), un editor de robots.txt con validación en el panel de administración, gestión de scripts, redirecciones y etiquetas de canonicalización. Además, añade automáticamente el mapa del sitio a robots.txt. Es el punto de partida habitual para la mayoría de las implementaciones. Su archivo README afirma: “SeoToolkit creates a /sitemap.xml for each domain and also a sitemap index with all your sitemaps listed within. All sitemaps generated have a valid syntax, so Google will have no problem with indexing it.” (traducción) «SeoToolkit crea un archivo /sitemap.xml para cada dominio y también un índice que enumera todos los mapas del sitio. Todos los mapas generados tienen una sintaxis válida, por lo que Google no tendrá problemas para indexarlos».

SEO Checker (de Soeteman Software) — comercial (prueba gratuita en localhost; licencia para producción). También sigue el ritmo de cadencia de versiones principales de Umbraco con sus propias versiones (v18.0,1 era la actual a mediados de 2026, compatible con Umbraco 18+) — consulta las notas de la versión para la que coincida con tu CMS. Añade vistas previas de fragmentos SERP y vistas previas sociales en el backoffice mientras editas, detección automática de problemas (etiquetas meta faltantes, enlaces rotos, problemas de elementos de canonicalización), gestión de redirecciones, robots.txt y sitemap.xml automáticos, y — lo importante — soporte multilingüe que renderiza metadatos por cultura, incluidas las etiquetas hreflang. Nota de atribución crítica: SEO Checker está hecho por Soeteman Software, no por Jumoo. Jumoo hace uSync (una herramienta de implementación/sincronización de contenido), que es algo completamente diferente. Esta confusión es común; no la repitas.

URL Tracker — un paquete de gestión de redirecciones (monitoreo de 404/302, creación de redirecciones, recomendaciones basadas en URLs similares, coincidencia de cadenas de consulta). Vale la pena instalarlo desde el primer día para migraciones y reestructuraciones, para que un equipo de SEO pueda gestionar redirecciones sin tickets de desarrollador.

uMarketingSuite → Umbraco Engage — Umbraco adquirió uMarketingSuite y lo renombró Umbraco Engage en noviembre de 2024. Es una plataforma de CRO/personalización: análisis de primera parte en el servidor, pruebas A/B, segmentación por persona, perfilado de visitantes. No es un paquete de SEO técnico — no gestionará metaetiquetas, sitemaps, robots.txt ni schema. Complementa el SEO (señales de interacción, variantes de prueba); no reemplaza a SeoToolkit ni a SEO Checker. No lo recomiendes como tu paquete de SEO.

SEO multilingüe — Variantes de idioma y hreflang

Las Variantes de idioma son una fortaleza real de Umbraco. Defines los idiomas por código ISO en Configuración → Idiomas, asignas cada idioma a uno o más nombres de host (para que puedas usar /en/, /de/ o dominios separados), y los editores traducen el contenido dentro del mismo nodo cambiando las pestañas de idioma. Cada variante puede tener su propio slug de URL (/about-us en inglés, /acerca-de en español), y las reglas de respaldo evitan páginas en blanco cuando falta una traducción.

Pero el problema de SEO: hreflang no es automático. Las Variantes de idioma gestionan el contenido; no emiten etiquetas hreflang. Las implementas en Razor iterando sobre las culturas:

@foreach (var lang in Umbraco.LocalizationService.GetAllLanguages())
{
    <link rel="alternate" hreflang="@lang.IsoCode"
          href="@Model.Url(culture: lang.IsoCode, mode: UrlMode.Absolute)" />
}
<link rel="alternate" hreflang="x-default"
      href="@Model.Url(culture: defaultCulture, mode: UrlMode.Absolute)" />

— o usa SEO Checker, que renderiza metadatos por cultura, incluido hreflang. Combina esto con elementos de canonicalización autorreferenciales por variante de idioma para que las variantes no compitan entre sí por la indexación. (Cómo elige Google realmente entre variantes está en Canonicalización.)

Datos estructurados

Umbraco documenta oficialmente tres formas de implementar schema, todas requieren un desarrollador:

  1. Basado en campos — añade una propiedad de área de texto donde los editores pegan JSON-LD; renderízalo en <head>.
  2. Impulsado por plantillas con entrada del editor — el desarrollador construye selectores de schema en el backoffice; los editores rellenan los campos; la plantilla genera JSON-LD a partir de ellos.
  3. Automático — el schema se genera en la plantilla a partir de las propiedades del documento, sin entrada del editor (mejor para publicaciones de blog y otros tipos de plantillas).

Para desarrolladores .NET, la biblioteca Schema.NET (un paquete NuGet, no un paquete de Umbraco) proporciona clases C# fuertemente tipadas para los tipos de Schema.org, de modo que construyes JSON-LD a partir de objetos en lugar de concatenar cadenas, y luego lo renderizas con ToHtmlEscapedString(). JSON-LD es el formato preferido de Google; valídalo con la Prueba de resultados enriquecidos. Aquí es donde los Tipos de documento tipados de Umbraco se convierten en una ventaja — es más fácil generar schema preciso y consistente a partir de campos modelados que del contenido de editor libre de WordPress.

Rendimiento y Core Web Vitals

La base de .NET es ágil: el servidor web Kestrel es rápido, y Umbraco no acumula la sobrecarga de plugins que una instalación pesada de WordPress acumula. Umbraco Cloud añade el edge caching de Cloudflare y la infraestructura de Azure de forma gratuita; el autoalojado (a menudo Windows/IIS) requiere más trabajo manual de rendimiento. Para Core Web Vitals: usa el Image Cropper integrado de Umbraco (puede generar dimensiones, lo que ayuda al CLS) además del paquete Slimsy para WebP/AVIF responsivo con carga diferida; reserva espacio para los medios para evitar el desplazamiento de diseño; y recuerda que la agrupación y minificación de CSS/JS no está integrada — usa el middleware de agrupación de .NET o un paso de compilación front-end.

Panorama de versiones: LTS, STS y la reescritura del backoffice de la 13→14

Umbraco se publica con una cadencia fija y dos ramas de lanzamiento: LTS (Long-Term Support, 18 meses de soporte activo) y STS (Standard-Term Support, aproximadamente 3 meses). A mediados de 2026, Umbraco 17 (lanzado en noviembre de 2025, sobre .NET 10 LTS) es la LTS actual. Umbraco 13 — la LTS que la mayoría de los sitios empresariales aún usan — ha superado su fase de soporte y ahora está en parches solo de seguridad, llegando al final de su vida útil en diciembre de 2026. Si aún estás en la 13, ese es tu plazo de actualización, no un asunto para más adelante. Umbraco también lanza versiones STS más cortas entre las mayores LTS (16 y 18 se lanzaron en 2025 y mediados de 2026 respectivamente) para equipos que siguen las últimas funciones en lugar de la ventana de soporte.

El detalle del historial de versiones que aún importa para las herramientas SEO: Umbraco 14 introdujo un backoffice reconstruido — pasó de la antigua interfaz AngularJS a TypeScript/Web Components (Lit). Esa reescritura significó que los paquetes SEO tuvieron que actualizarse para renderizar sus interfaces correctamente, por lo que la compatibilidad de paquetes está vinculada a versiones mayores específicas de Umbraco en lugar de una afirmación genérica “v8+”. Consulta las notas de lanzamiento del propio paquete con tu versión de Umbraco antes de cualquier actualización — no asumas que la nota de compatibilidad del año pasado sigue siendo válida.

Un detalle más: Umbraco 12+ incluye una Content Delivery API, que permite builds headless/desacoplados. Eso cambia el cálculo SEO — los metadatos y el schema deben ser inyectados por el framework front-end (con las preocupaciones habituales de renderizado SSR-vs-CSR), no por plantillas Razor. (Contexto: JavaScript SEO.)

El verdadero oficio: hacer que el sitio sea amigable para agencias SEO

El problema recurrente de Umbraco no es la falta de capacidad, sino el flujo constante de solicitudes de los equipos de SEO que no pueden trabajar de forma autónoma. Tim Payne resumió bien la solución en Skrift Magazine: “Work smart, and modify your back office so that the SEO guys can do most of the work themselves.” (traducción) «Trabaja con inteligencia y adapta el panel de administración para que el equipo de SEO pueda hacer por sí mismo la mayor parte del trabajo». En concreto, incorpora lo siguiente antes de la entrega:

  • Un nodo global de configuración SEO con campos para scripts HEAD y scripts de inicio/fin de BODY (elimina las interminables solicitudes de fragmentos de GTM).
  • Una pestaña SEO en cada tipo de documento de página — título meta, descripción, URL principal, noindex/nofollow — para que los editores se autogestionen.
  • URL Tracker instalado desde el primer día para la gestión de redirecciones.
  • Un sitemap XML generado automáticamente desde el primer día.
  • robots.txt servido desde el primer día, haciendo referencia al sitemap.

Haz eso y Umbraco pasa de ser un “cuello de botella de desarrollador” a una plataforma SEO perfectamente capaz. Si lo omites, sentirás la fricción cada semana.

Umbraco vs WordPress, brevemente

Los tipos de documento estructurados de Umbraco dan a los contenidos un contexto integrado, lo que facilita la consistencia sistemática de schema y metadatos a escala — como dijo la comunidad 24 Days in Umbraco: “WordPress is not great at SEO out of the box; most of the content is not semantic or modeled. Umbraco’s structured document types provide built-in context.” (traducción) «WordPress no es muy bueno en SEO de serie; la mayoría de el contenido no es semántico ni está modelado. Los tipos de documento estructurados de Umbraco proporcionan contexto integrado.» La contrapartida es la facilidad de uso: WordPress + Yoast permite que un usuario no técnico gestione la mayor parte del SEO solo, mientras que Umbraco necesita un desarrollador incluso para cambios simples. Para sitios empresariales grandes, multilingües y muy modelados, la estructura de Umbraco a menudo gana; para un equipo pequeño que quiere autogestionarse, WordPress es más suave.

Add an expert note

Pin an expert quote

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