SEO para Joomla

Guía técnica de SEO para Joomla: activar las URL SEF (incluido el cambio de nombre de htaccess.txt que realmente las hace funcionar), corregir el contenido duplicado predeterminado de Joomla, configurar sitemaps y datos estructurados mediante extensiones y conocer los cambios entre Joomla 4, 5 y 6.

Publicado por primera vez: 27 jun 2026 · Última actualización: 11 ago 2026 · Avanzado
Idiomas
1 señal de evidencia en esta página

Joomla 5 ofrece un SEO integrado sólido —URL SEF, metadatos por artículo, un plugin Schema nativo y una excelente base de rendimiento—, pero sus valores predeterminados necesitan ajustes. Activar las URL SEF solo funciona después de cambiar el nombre de htaccess.txt a .htaccess; incluso entonces, las URL antiguas basadas en ID siguen siendo accesibles y Joomla puede generar varias etiquetas canonical en conflicto, por lo que el contenido duplicado es un problema real de fábrica que debes solucionar con canonicals, redirecciones o una extensión. No hay un sitemap XML nativo (usa OSMap, Aimy Sitemap, Route66 o 4SEO), y sh404SEF —la antigua extensión dominante— nunca se adaptó a Joomla 4/5, por lo que Route66 (gratis) y 4SEO (premium) son las opciones actuales. Joomla 6 ya está disponible (octubre de 2025) y recibe actualizaciones activas junto a una rama Joomla 5.x que sigue mantenida, así que comprueba la versión de cualquier sitio Joomla antes de dar por hecho qué ajustes se aplican. Trabajo con Joomla desde al menos 2012, cuando di una charla de SEO técnico en Joomla Day Chicago.

TL;DR — Joomla 5 es realmente capaz: URL SEF, metadatos por artículo, un plugin Schema nativo y una base sólida de Core Web Vitals. Pero los valores predeterminados necesitan trabajo. Las URL SEF solo funcionan después de cambiar htaccess.txt a .htaccess (Apache): es el paso que más se olvida. Incluso entonces, las URL con ID no SEF siguen siendo accesibles y Joomla puede generar hasta 3 etiquetas rel=canonical en conflicto para un artículo, por lo que el contenido duplicado es un problema real de fábrica: soluciónalo con canonicals, redirecciones o una extensión. No hay un sitemap XML nativo (OSMap / Aimy Sitemap / Route66 / 4SEO). sh404SEF nunca se adaptó a Joomla 4/5: usa Route66 (gratis) o 4SEO (de pago). Joomla 5 añade Schema y hreflang nativos (el error de hreflang autorreferente de la versión 5,2 se corrigió en la 5,3). Joomla 6 se publicó en octubre de 2025 y es la versión principal actual, mientras la rama Joomla 5.x sigue recibiendo actualizaciones de seguridad y correcciones: comprueba qué versión principal utiliza un sitio antes de confiar en una ruta de ajustes.

De dónde procede mi experiencia

He descrito mi experiencia como trabajo con «Drupal, Joomla, WordPress y muchísimos sistemas de comercio electrónico», y llevo bastante tiempo con Joomla: en 2012 di una charla, Technical SEO, en Joomla Day Chicago. Así que esto no es un recorrido por un CMS sobre el que solo he leído; es la plataforma que he configurado personalmente. Mi opinión resumida es que el mito de que «Joomla es malo para el SEO» es falso. Técnicamente, Joomla 5 es comparable a WordPress. Los problemas reales son la experiencia de usuario (los ajustes están dispersos) y algunos valores predeterminados perjudiciales.

Configuración global: los ajustes de SEO que importan

Todo empieza en Sistema → Configuración global → pestaña Sitio → Ajustes de SEO:

  • URL amigables para motores de búsqueda → Sí. Convierte index.php?option=com_content&view=article&id=2 en un slug legible. Google lleva mucho tiempo recomendando URL legibles formadas por palabras en lugar de cadenas de ID, así que este es el punto de partida.
  • Usar reescritura de URL → Sí, pero solo después de cambiar el nombre de .htaccess como se explica abajo. Elimina index.php de la ruta.
  • Añadir sufijo a la URL → No (normalmente). Añade .html; déjalo desactivado para tener URL limpias, salvo que un sitio antiguo ya dependa de él.
  • Alias Unicode → No en la mayoría de los casos. Los slugs transliterados son más limpios que los caracteres no latinos sin transformar; actívalo solo cuando exista una necesidad internacional real.
  • Incluir el nombre del sitio en los títulos de página: elige Antes/Después para controlar cómo aparece el nombre de tu sitio en <title>.

Después hay otros dos ajustes, en otra sección de la Configuración global:

  • Servidor → Forzar HTTPS → Todo el sitio para imponer HTTPS en todo el sitio. Evidence for this claim Joomla provides an Entire Site Force HTTPS configuration option. Scope: Joomla global configuration after HTTPS is functional on the server. Confidence: high · Verified: Joomla: Global configuration help
  • Ajustes de metadatos: establece una metadescripción global y confirma que el valor predeterminado de Robots sea «Index, Follow».

El cambio de nombre de .htaccess: el paso que más se olvida

Joomla incluye en la raíz un archivo llamado htaccess.txt (no .htaccess). Hasta que no le cambies el nombre a .htaccess, el ajuste «Usar reescritura de URL» no hará nada: es la causa número uno de los fallos de URL SEF en Apache. Cambia el nombre antes de activar la reescritura de URL en la Configuración global (o al menos al mismo tiempo); de lo contrario, activarás el interruptor y verás cómo se rompen tus URL limpias. En Nginx no existe .htaccess: añade las reglas de reescritura equivalentes a la configuración del servidor.

El problema del contenido duplicado de Joomla

Este es el mayor problema de SEO de Joomla tal como viene de fábrica, y conviene entenderlo con precisión. Joomla crea varias URL para el mismo contenido:

  • La URL no SEF (/index.php?option=com_content&view=article&id=2): sigue siendo accesible, incluso con SEF activado.
  • URL SEF mediante menú frente a URL SEF mediante categoría: distintas rutas al mismo artículo si aparece en varios lugares.
  • www frente a no www, HTTP frente a HTTPS, variantes con barra final y ?layout=print añadido a cualquier URL.

La lista de comprobación de JoomlaSEO.com resume bien el problema: “Even when you have SEF links turned on in your Joomla global configuration, the non-SEF URL still exists, meaning 2 URLs with the same content, and often there are more,” (traducción) «Incluso con los enlaces SEF activados en la configuración global de Joomla, la URL no SEF sigue existiendo, lo que deja dos URL con el mismo contenido y a menudo más», y señala que “Non-SEF URLs are still reachable, despite SEF-URLs being activated, like this: /index.php?option=com_content&view=article&id=2.” (traducción) «Las URL no SEF siguen siendo accesibles aunque se hayan activado las URL SEF, como en este ejemplo». JoomUnited explica la importancia así: “Any duplicate content could have harmful effects on your SEO because search bots cannot determine which version deserves indexing priority.” (traducción) «Cualquier contenido duplicado puede perjudicar el SEO porque los robots de búsqueda no pueden determinar qué versión merece prioridad de indexación».

La situación puede ser peor que tener solo dos URL. En algunas configuraciones —al abrir el mismo artículo mediante el ID de categoría, el ID del artículo o parámetros de consulta— Joomla genera de forma predeterminada tres enlaces rel="canonical" distintos. Tener varias canonicals es una señal contraproducente: como deja claro la guía de canonicalización de Google, si declaras más de una tienden a ignorarse. Antes de publicar, ejecuta una auditoría de una sola página (inspección de URL o un rastreador) y confirma que cada página emite exactamente una canonical.

Cómo solucionarlo:

  • Usa el campo URL canonical de cada artículo (pestaña Publicación → Metadatos).
  • Redirige con 301 las URL no SEF a las SEF mediante .htaccess.
  • Usa el plugin Sistema – SEF, con el enrutamiento estricto / «gestión estricta de index.php» (Joomla 4/5), para eliminar index.php y redirigir las URL antiguas.
  • O deja que una extensión (4SEO, Route66) añada canonicals y redirija automáticamente las URL no SEF.

Para los conceptos subyacentes, consulta canonicalización y la etiqueta canonical.

Metadatos por artículo y categoría (y la trampa de UX)

Joomla permite configurar los metadatos a nivel de artículo, pero los campos están repartidos entre pestañas, lo que es lo más molesto del SEO de contenidos en Joomla:

  • Título SEO (título de página del navegador): Editar artículo → pestaña Opciones.
  • Metadescripción: Editar artículo → pestaña Publicación → Metadatos.
  • Robots (Index/Follow, NoIndex/NoFollow): Editar artículo → pestaña Publicación → Metadatos.
  • URL canonical: Editar artículo → pestaña Publicación → Metadatos.

Así que el título de la página está en una pestaña y la descripción en otra. El análisis de Seobility resume el patrón: “Basic SEO settings are buried” (traducción) «los ajustes básicos de SEO están ocultos» en la interfaz estándar de Joomla, por lo que son “easy to miss.” (traducción) «fáciles de pasar por alto». Las categorías tienen sus propios metadatos en Editar categoría → Opciones. Y olvida el campo de meta keywords que Joomla todavía muestra: Google ignora las meta keywords desde 2009; no hacen daño, pero no sirven para nada.

Sitemaps XML: no hay una solución nativa

Joomla no genera por sí solo un sitemap XML. Tienes que instalar una extensión: Evidence for this claim Sitemap generation for Joomla is supplied by extensions rather than the cited core global configuration features. Scope: Joomla Extensions Directory ecosystem; extension compatibility must be checked against the installed Joomla version. Confidence: medium · Verified: Joomla Extensions Directory: Site map

  • OSMap (Weeblr/JoomlaShack): el más utilizado; tiene versión gratuita y Pro.
  • Aimy Sitemap: compatible con Joomla 3/4/5/6 y muy configurable.
  • JSitemap: sitemaps XML, HTML, de imágenes y de vídeo.
  • Route66 y 4SEO: ambas incluyen la generación de sitemaps dentro de una suite de SEO más amplia.

Después de generarlo, añade Sitemap: https://example.com/sitemap.xml a tu robots.txt y envíalo a Google Search Console y Bing Webmaster Tools.

robots.txt: control manual completo

Joomla coloca un robots.txt real en la raíz del sitio (al mismo nivel que index.php), totalmente editable mediante FTP o el administrador de archivos de tu proveedor. De forma predeterminada bloquea correctamente /administrator/, /api/, /cache/ y /components/: directorios administrativos y del sistema que no quieres que se rastreen. Recuerda la regla universal: robots.txt controla el rastreo, no la indexación; no lo uses para intentar desindexar páginas.

Extensiones: cuáles usar (y cuáles evitar)

  • Route66 (Firecoders, gratuita): Seobility la considera “as close as you’ll get to a WordPress SEO plugin like YOAST for Joomla.” (traducción) «lo más parecido que encontrarás en Joomla a un plugin de SEO para WordPress como Yoast». Previsualizaciones de las SERP, sitemap, gestión de canonicals y puntuación de SEO.
  • 4SEO (Weeblr, premium): Weeblr la describe como un software que “works exactly like a search engine, crawling your site to understand it then adds metadata, structured data, builds a sitemap, replace content, helps your social networks sharing or finds broken links.” (traducción) «funciona exactamente como un motor de búsqueda: rastrea tu sitio para comprenderlo y después añade metadatos y datos estructurados, crea un sitemap, sustituye contenido, facilita que se comparta en redes sociales o encuentra enlaces rotos». Combínala con 4SEF para gestionar las URL.
  • sh404SEF: no lo uses en Joomla 4/5. Esta es la trampa crítica de las migraciones. Tras más de 15 años como la extensión de SEO dominante en Joomla, Weeblr decidió no adaptarla: “After more than 15 years of duty, sh404SEF won’t be ported to Joomla 4. It will not run on Joomla 4.x. To move to Joomla 4, consider newer extensions, including 4SEF to maintain your site SEF URLs and 4SEO for metadata.” (traducción) «Después de más de 15 años de servicio, sh404SEF no se adaptará a Joomla 4 y no funcionará en Joomla 4.x; para migrar, considera extensiones nuevas como 4SEF y 4SEO». Y ten cuidado incluso en sitios antiguos: Joomlashack advierte que “If you have an existing site that is already using the built in SEF, activating this extension may change all of your URLs.” (traducción) «Si un sitio existente ya usa el SEF integrado, activar esta extensión puede cambiar todas sus URL». Cambiar la extensión de gestión de URL en un sitio activo puede reescribir URL y romper enlaces entrantes; pruébalo siempre en staging y prepara primero mapas de redirecciones.
  • JCH Optimize (rendimiento): combina y minifica CSS/JS.

Datos estructurados

La gestión de datos estructurados depende de tu versión de Joomla:

  • Joomla 5 incluye un plugin Schema nativo compatible con BlogPosting, Event, Product y Organization (además de Book, Vacancy, Person y Recipe), configurado en Editar artículo → pestaña Schema. No necesitas una extensión.
  • Joomla 4 y anteriores requieren una extensión (Google Structured Data, 4SEO o la de tassos.gr) o JSON-LD manual en el <head> de la plantilla.
  • El JSON-LD manual funciona independientemente de la versión, y el módulo Breadcrumbs integrado de Joomla combina de forma natural con el marcado BreadcrumbList.

SEO multilingüe y hreflang

Joomla tiene un sólido sistema multilingüe integrado. Instala los idiomas desde Sistema → Extensiones → Idiomas, activa el plugin Filtro de idioma y habilita «Añadir etiquetas meta alternativas» para generar automáticamente las etiquetas hreflang; el plugin Código de idioma mantiene correctos los códigos BCP47. Cada idioma recibe un prefijo de URL (/en/, /fr/, /de/).

Una advertencia histórica, ya resuelta: Joomla 5,2 se publicó sin la etiqueta hreflang autorreferente: faltaba la etiqueta que apunta a la propia página (incidencia #44297 de GitHub). Se corrigió en la versión 5,3 y la incidencia está cerrada. Si utilizas 5,3 o posterior (incluido Joomla 6), no deberías encontrarte con ella; pero si estás auditando una instalación antigua de 5,2 sin parches, comprueba directamente el resultado de hreflang antes de darlo por correcto.

Rendimiento: la fortaleza silenciosa de Joomla

La base de Core Web Vitals de Joomla es mejor de lo que muchos esperan. Seobility descubrió que la plantilla Cassiopeia predeterminada “scored 93/100 on PageSpeed Insights with ‘absolutely nothing’ done for optimization,” (traducción) «obtuvo 93/100 en PageSpeed Insights sin hacer absolutamente nada para optimizarla», y concluyó que “Joomla 5 is even better, with great performance and many SEO features built in.” (traducción) «Joomla 5 es aún mejor, con gran rendimiento y muchas funciones de SEO integradas». Activa Compresión de página Gzip y Caché en Configuración global → Servidor; añade JCH Optimize, compresión de imágenes y una CDN para mejorar. Como Joomla no incluye la pila habitual de plugins de WordPress (plugins separados de SEO, caché y seguridad), un Joomla sin añadidos suele superar a un WordPress sin añadidos en rendimiento, algo importante para Core Web Vitals.

Joomla 3 frente a 4, 5 y 6 para SEO

  • Joomla 3 (fin de soporte en diciembre de 2023): URL SEF básicas; casi todo lo demás necesitaba una extensión; sh404SEF era la solución dominante.
  • Joomla 4 (agosto de 2021): administración más limpia y enrutamiento SEF mejorado, pero sh404SEF fue abandonado y Route66 / 4SEO surgieron como alternativas.
  • Joomla 5 (octubre de 2023): plugin Schema nativo, metadescripciones ampliadas (aprox. 300 caracteres), control de barras finales y gestión estricta de index.php en el plugin Sistema – SEF, compatibilidad con AVIF, datos estructurados de Organization/Website y una mejor base de rendimiento.
  • Joomla 6 (octubre de 2025, actualmente en la línea 6,1.x): la versión principal actual. Mantiene el conjunto de funciones de SEO de Joomla 5; no he encontrado documentación de primera mano sobre cambios específicos en los ajustes de SEO entre 5 y 6, así que considera que las rutas de Configuración global anteriores siguen siendo correctas en 6 hasta confirmarlo en la instalación que estés auditando. Joomla 5.x continúa recibiendo soporte activo de seguridad y correcciones en paralelo, por lo que muchos sitios activos siguen en 5, no en 6.

Si estás auditando un sitio Joomla, las tres primeras preguntas son: ¿qué versión principal utiliza (compruébalo en el número de versión de Joomla del pie de la administración o en Información del sistema; no lo supongas por el tema)?, ¿funcionan realmente las URL SEF (comprueba el cambio de nombre de .htaccess)?, y ¿se gestiona la URL duplicada no SEF? Si resuelves esas cuestiones, Joomla se comporta correctamente.

Add an expert note

Pin an expert quote

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