
🚀 Redirección de www a non-www usando .htaccess: una guía completa para Grav, WordPress y otros CMS
El sitio se abre tanto con www como sin ella, pero los buscadores ven dos direcciones diferentes con contenido idéntico. Duplicados de página, autoridad de enlace diluida, confusión en Search Console. ¿Le suena familiar?
Ni Grav ni WordPress resuelven este problema de fábrica. El archivo .htaccess y exactamente un bloque de código lo arreglan todo en cinco minutos. A continuación encontrará líneas probadas para servidores Apache: universales, sin dominios fijos, con HTTPS y sin él. Además, una forma de verificar que la redirección funciona más allá del navegador.
💡 Resumen rápido:
- Elija una versión canónica (con www o sin ella) y añada una redirección 301 universal al
.htaccess - Verifique la cadena de redirección con
curl -Io un comprobador en línea: los navegadores cachean los 301 y pueden mentir - Un bloque de código resuelve simultáneamente el problema de www y fuerza HTTPS
Por qué elegir entre www y no-www
Google no prefiere una variante sobre la otra; la posición oficial no ha cambiado en años. Pero usted necesita elegir una y mantenerla. Sin una redirección, www.site.ru/page y site.ru/page se indexan como URL diferentes, la autoridad de enlace se divide a la mitad y la analítica cuenta el mismo tráfico dos veces.
¿Cuál elegir? Para proyectos grandes, www es más conveniente: las cookies no se filtran a subdominios como cdn. y api., y los registros DNS son más fáciles de configurar. Para sitios más pequeños, casi no hay diferencia. Céntrese en lo que ya está indexado: escriba site:yourdomain.ru en el buscador y vea qué variante aparece más en los resultados. Haga esa canónica.
Nota técnica: Grav no genera redirecciones por sí mismo. WordPress lo hace solo si siteurl en los ajustes coincide explícitamente con la variante deseada, pero incluso eso funciona de forma inconsistente. La solución es una: mod_rewrite en Apache mediante .htaccess.
Dónde reside el.htaccess y cómo no romperlo
El archivo .htaccess se encuentra en la raíz del sitio, junto a index.php o la carpeta wp-admin. Si el archivo no existe (Grav sin plantilla lista, hosting nuevo), cree un archivo de texto llamado .htaccess con el punto inicial obligatorio.
Antes de cualquier edición, descargue la versión actual a su ordenador. Un error de sintaxis en .htaccess tira el sitio con un error 500 al instante. Regla de oro: una copia de seguridad en local, otra con un nombre diferente en el propio servidor (.htaccess.backup). Podrá restaurar incluso sin acceso al panel de administración, por FTP o el gestor de archivos del hosting.
Para Grav y WordPress, la regla es la misma: si el archivo ya contiene RewriteEngine On, no duplique esa línea. Añada el nuevo bloque de redirección después de ella. En el .htaccess estándar de Grav, esta línea está presente por defecto.
Redirección 301 de www a no-www: código universal
El código de abajo funciona para cualquier dominio; no necesita sustituir example.com manualmente. Es útil si gestiona varios sitios o transfiere reglas entre proyectos. Añádalo al .htaccess después de RewriteEngine On:
1 RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 2 RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Línea por línea: RewriteCond detecta cualquier host que empiece por www. y captura el dominio entre paréntesis. RewriteRule redirige la solicitud a la misma ruta sin www, sustituyendo el dominio capturado mediante %1. La bandera R=301 significa redirección permanente. L le dice al servidor «pare, no aplique más reglas». NC hace que la comprobación no distinga mayúsculas de minúsculas.
Si el sitio funciona con HTTPS, reemplace http:// por https:// en RewriteRule. Mejor aún, use un bloque combinado que resuelva tanto www como HTTPS en un solo paso:
1 RewriteCond %{HTTPS} off [OR] 2 RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 3 RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
La primera condición se activa en solicitudes HTTP, la segunda en www. Si cualquiera es verdadera ([OR]), la solicitud va a https://domain-without-www/path. Un bloque, dos problemas resueltos.
Escenario inverso: de no-www a www
Si necesita que la barra de direcciones muestre siempre www, use la variante simétrica:
1 RewriteCond %{HTTP_HOST} !^www\. [NC] 2 RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
La lógica es la misma, solo que la condición se invierte: si el host no empieza por www, añadimos www. al principio. %{HTTP_HOST} sustituye el host actual completo, a diferencia del bloque anterior donde eliminábamos www. mediante captura con paréntesis.
Versión con HTTPS:
1 RewriteCond %{HTTPS} off [OR] 2 RewriteCond %{HTTP_HOST} !^www\. [NC] 3 RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
Use uno de los cuatro bloques, el que coincida con su variante de dominio canónico y la presencia de HTTPS. Dos bloques seguidos son innecesarios y crearán un salto extra en la cadena de redirección.
Cómo verificar que la redirección funciona
No se fíe del navegador; cachea las redirecciones 301 y muestra la imagen antigua incluso después de editar .htaccess. Tres maneras de encontrar la verdad:
- curl** -I.** En la terminal:
curl -I http://www.example.com. Una respuesta correcta empieza conHTTP/1.1 301 Moved Permanently, y la cabeceraLocation:contiene la URL de destino. Compruebe ambas variantes, con www y sin ella. - Comprobadores en línea. Redirect Checker o HTTP Status Code Checker: pegue la URL, vea la cadena completa de redirección y el código de respuesta final.
- Google Search Console. Tras cambiar el dominio canónico, vaya a los ajustes de propiedad y especifique la versión preferida. Esto no reemplaza el
.htaccess, pero da al buscador una señal adicional.
Un consejo específico para Grav: después de editar .htaccess, limpie la caché del CMS en Admin → Configuración → Rendimiento → Limpiar caché. Grav cachea las páginas de forma agresiva y, sin limpiar, la redirección puede no aplicarse a las copias ya generadas.
⁉️🤔 Preguntas frecuentes
¿Qué variante es mejor para el SEO, con www o sin ella?
Google afirma oficialmente: no hay diferencia. Elija una y manténgala. El factor clave es la coherencia: los enlaces internos, el sitemap y las etiquetas canónicas deben apuntar a una sola variante. Según una encuesta de Ahrefs, alrededor del 55% de los 100 sitios principales usan la versión sin www, pero ambas variantes posicionan igual de bien.
¿Qué pasa si no se configura ninguna redirección?
Los buscadores verán dos sitios duplicados independientes. La autoridad de enlace se dividirá, las páginas empezarán a competir entre sí en los resultados y los informes de analítica repartirán el mismo tráfico entre dos hosts. Al cabo de unos meses, el panorama típico: la mitad de las páginas indexadas con www, la otra mitad sin él, posiciones inestables.
¿Se puede prescindir del.htaccess?
Sí, pero las alternativas son más complejas o más lentas. Plugins de WordPress como Redirection y Rank Math funcionan a nivel de PHP; cada solicitud pasa por el núcleo de WordPress, lo que genera carga. Para sitios con mucho tráfico, el
.htaccessa nivel de Apache es notablemente más rápido. Para Grav, los plugins de redirección prácticamente no existen, así que el.htaccesssigue siendo la vía principal. En servidores NGINX, el equivalente son las directivasreturn 301en el bloqueserver {}.
¿Hay que configurar una redirección para cada página por separado?
No, las reglas proporcionadas son universales; se aplican a todas las URL del sitio automáticamente. Un bloque cubre la página de inicio, las páginas internas, las imágenes y los archivos CSS. Las redirecciones individuales de URL antiguas a nuevas se configuran adicionalmente con líneas
Redirect 301 /old-page /new-page, pero no tienen nada que ver con el problema de www.
Error 500 tras editar el.htaccess, ¿qué hacer?
Copie
.htaccess.backupde vuelta por FTP o el gestor de archivos del hosting; el sitio volverá al instante. Revise el código en busca de erratas: un espacio de menos, una barra de más, paréntesis sin correspondencia. Añada las reglas de una en una y pruebe después de cada cambio. Y nunca edite el.htaccessen producción sin una copia de seguridad actual a mano.
La redirección funciona, pero Google sigue mostrando la versión antigua en los resultados. ¿Por qué?
La reindexación tarda de unos días a un par de semanas. Asegúrese de que las etiquetas canónicas de las páginas apunten a la variante elegida y que el sitemap contenga URL sin el host antiguo. En Search Console, puede solicitar un rastreo nuevo con la herramienta de inspección de URL; esto acelera el proceso, pero no garantiza resultados instantáneos.
Qué variante elegir: el veredicto breve
Si el sitio es nuevo, opte por no-www y HTTPS. Menos caracteres en la barra de direcciones, más fácil de dictar en voz alta, sin problemas de cookies con subdominios. Para la mayoría de los proyectos, esto es más que suficiente.
¿Ya está indexado con www? No rompa lo que funciona. Configure una redirección de no-www a www, actualice las etiquetas canónicas y siga adelante.
El proceso completo: abra .htaccess, añada uno de los cuatro bloques anteriores, limpie la caché del CMS, verifique con curl -I. Cinco minutos y los duplicados desaparecen del panorama de búsqueda. Otras técnicas de .htaccess están recogidas en la guía de configuración del servidor; consúltela si está configurando un sitio de forma integral.



