Cómo redirigir www a no-www en WordPress (sin plugins)
¿Cansado de que tu web cargue dos veces, una con www y otra sin www? Esto no solo es molesto, sino que dispersa la autoridad de tu dominio y puede penalizarte en Google.
La solución es una redirección 301, que le dice a los buscadores y a los visitantes que tu URL canónica es una sola.
Aquí te voy a enseñar a hacerlo sin instalar ningún plugin, editando directamente los archivos de configuración de tu servidor. Es más fácil de lo que parece y, de paso, tu web irá más rápida al no cargar extensiones innecesarias.
¿Por qué es importante elegir entre www y no-www?
Antes de ensuciarnos las manos, entendamos el porqué.
Google considera https://www.tudominio.com y https://tudominio.com como dos sitios web diferentes.
Si no rediriges uno al otro, estarás dividiendo tus visitas, tus enlaces y tu "jugo SEO" entre dos URLs.
Elegir una y redirigir la otra con un código 301 (movido permanentemente) es una práctica imprescindible para:
- Consolidar la autoridad: Todos los enlaces apuntan a una sola dirección.
- Evitar contenido duplicado: No tendrás dos versiones de la misma página.
- Mejorar la experiencia de usuario: Tu visitante siempre verá la misma URL en la barra de direcciones.
La pregunta del millón: ¿cuál elijo? Casi siempre es mejor no-www. Es más corta, fácil de recordar y de decir en voz alta. Pero la decisión es tuya; lo importante es ser consistente.
Antes de empezar: Prepara tu arsenal
Vamos a necesitar dos cosas:
- Acceso a tu hosting: Ya sea por FTP (FileZilla, por ejemplo) o, mejor aún, desde el Administrador de Archivos de tu panel de control (como cPanel, Plesk o Syspanel).
- Saber qué tipo de servidor usas: La mayoría usan Apache (con archivos
.htaccess) o Nginx (con archivos de configuración). Te lo digo porque la solución cambia.
[INFO] Si tu hosting usa Syspanel (el panel de control que antes se llamaba HestiaCP), el acceso a los archivos del sitio suele estar en la ruta
public_htmldentro de tu usuario. Recuerda que el acceso a Syspanel es a través del puerto 2106 (ejemplo:https://tu-servidor:2106).
Método 1: La vía rápida con .htaccess (para Apache)
Este es el método más común y el que funciona en el 90% de los hostings compartidos.
El archivo .htaccess es un archivo de configuración oculto que controla el comportamiento del servidor Apache.
Paso 1: Localiza el archivo .htaccess
Conéctate a tu hosting y busca en la carpeta raíz de tu sitio (normalmente public_html o htdocs). Asegúrate de tener activada la opción de "Mostrar archivos ocultos" en tu cliente FTP o en el Administrador de Archivos.
Paso 2: Haz una copia de seguridad
Este paso es CRÍTICO. Antes de tocar nada, descarga una copia del archivo .htaccess a tu ordenador. Si algo sale mal, solo tienes que subirlo de nuevo.
Paso 3: Edita el archivo
Ahora, abre el archivo con un editor de texto plano (nada de Word). Verás que ya contiene algunas líneas de WordPress (las famosas # BEGIN WordPress).
Vas a añadir las siguientes líneas justo al principio del archivo, por encima de # BEGIN WordPress.
Opción A: Redirigir de www a no-www (la más recomendada)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
</IfModule>
¿Qué hace esto?
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]: Comprueba si la dirección empieza porwww.(laNChace que no distinga entre mayúsculas y minúsculas).RewriteRule ^(.*)$ https://%1/$1 [R=301,L]: Si es así, redirige a la misma URL pero sinwww.. El%1captura la parte del dominio sinwww, y$1captura la ruta completa. ElR=301es el código de redirección permanente yLsignifica "última regla", para que no se sigan procesando más.
Opción B: Redirigir de no-www a www (si prefieres mantener el www)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
¿Qué hace esto?
RewriteCond %{HTTP_HOST} !^www\. [NC]: La!significa "NO". Comprueba si la dirección NO empieza porwww..RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]: Si no tienewww, la redirige a la misma URL pero añadiéndole elwww.al principio.
[WARNING] Es muy importante que estas reglas estén ANTES de las líneas
# BEGIN WordPress. Si las pones después, WordPress podría sobrescribirlas o entrar en conflicto.
Paso 4: Guarda y sube el archivo
Guarda los cambios y sube el archivo modificado a tu servidor, reemplazando el original.
Paso 5: Prueba el resultado
Abre tu navegador en modo incógnito y escribe https://www.tudominio.com. Deberías ser redirigido automáticamente a https://tudominio.com.
Método 2: La solución elegante para Nginx
Si tu hosting usa Nginx (más rápido y moderno), no hay archivo .htaccess. Tendrás que tocar el archivo de configuración del sitio.
Paso 1: Encuentra el archivo de configuración
Dentro de tu panel de control, busca la sección de "Websites" o "Dominios". En Syspanel, por ejemplo, puedes ir a Web > Dominios y hacer clic en el icono de "Editar" (normalmente un lápiz). Ahí verás la ruta al archivo de configuración.
Paso 2: Edita el bloque del servidor
Dentro del archivo de configuración (normalmente llamado tudominio.conf), busca el bloque server { ... }.
Vas a añadir un nuevo bloque server antes del bloque principal que ya existe.
Opción A: Redirigir de www a no-www
# Redirección de www a no-www
server {
listen 80;
listen [::]:80;
server_name www.tudominio.com;
return 301 $scheme://tudominio.com$request_uri;
}
¿Qué hace esto?
listen 80;: Escucha en el puerto 80 (HTTP).server_name www.tudominio.com;: Se activa solo cuando alguien visita tu web conwww..return 301 $scheme://tudominio.com$request_uri;: Devuelve una redirección 301 a la misma URL pero sinwww..$schememantiene el protocolo (http o https) y$request_urimantiene la ruta exacta.
[TIP] Si tienes SSL activado, también necesitarás un bloque para el puerto 443. El bloque sería el mismo, pero con
listen 443 ssl;e incluyendo las líneas de certificado SSL. A veces es más fácil hacer la redirección dentro del propio bloque principal, pero esto es más avanzado.
Opción B: Redirigir de no-www a www
# Redirección de no-www a www
server {
listen 80;
listen [::]:80;
server_name tudominio.com;
return 301 $scheme://www.tudominio.com$request_uri;
}
Paso 3: Recarga la configuración
Guarda el archivo y recarga la configuración de Nginx. Desde tu panel de control, busca un botón de "Recargar" o "Reload". En Syspanel, puedes hacerlo desde el apartado Web > Dominios, o usando el comando sudo systemctl reload nginx si tienes acceso SSH.
Paso 4: Prueba el resultado
Igual que antes, prueba en modo incógnito.
Solución de problemas comunes (FAQ)
Aquí tienes las dudas más frecuentes que me encuentro cuando ayudo a clientes con esto.
¿Y si tengo SSL (https) y me da un error de "Bucle de redirección"?
Esto suele pasar cuando tienes otra redirección de HTTP a HTTPS o de www a no-www en otro lugar (como en un plugin o en el propio panel).
Solución: Revisa que no tengas duplicadas las reglas. En WordPress, a veces el plugin "Really Simple SSL" añade su propia redirección. Si es así, desactívala desde el plugin y deja que la haga tu archivo .htaccess o la configuración de Nginx.
¿Qué pasa si mi hosting no me deja editar el .htaccess?
Algunos hostings muy restrictivos o que usan Nginx no permiten editarlo. Entonces tienes dos opciones:
- Usar la función de redirección de tu panel: cPanel, Plesk y Syspanel suelen tener un apartado de "Redirecciones" o "Redirects" donde puedes configurar esto visualmente.
- Usar un plugin: Aunque el objetivo es no usarlos, si no tienes acceso a los archivos, un plugin como "Redirection" o "Yoast SEO" puede hacer el trabajo.
¿Cuánto tarda Google en darse cuenta del cambio?
No es inmediato. Puede tardar desde unos días hasta unas semanas. Lo importante es que la redirección 301 sea correcta, y Google irá actualizando sus índices poco a poco.
¿Debo usar una redirección 301 o 302?
Siempre 301 (movido permanentemente). El 302 es temporal y no transfiere la autoridad SEO. Para este caso, el 301 es la única opción correcta.
Conclusión: Tu web, más fuerte y clara
Redirigir www a no-www (o viceversa) es una de esas tareas de mantenimiento que parecen pequeñas pero tienen un gran impacto en la salud de tu sitio.
Al hacerlo, estás enviando una señal clara a Google sobre cuál es tu dominio principal, evitando problemas de contenido duplicado y asegurando que todos tus esfuerzos de SEO se concentren en un solo lugar.
Y lo mejor es que lo has hecho sin añadir más peso a tu WordPress con plugins innecesarios.
[TIP] Después de hacer el cambio, te recomiendo usar la herramienta "Comprobación de URL" en Google Search Console para que Google rastree tu web y vea la redirección. También puedes verificar que todo funciona correctamente en diferentes navegadores y dispositivos.
Resumen rápido de los pasos
- Identifica tu servidor: ¿Apache o Nginx?
- Haz una copia de seguridad: De tu
.htaccesso archivo de configuración. - Añade el código correcto: Elige la opción A (www a no-www) o la B (no-www a www).
- Guarda y sube: O recarga la configuración.
- Prueba en incógnito: Verifica que la redirección funciona.
Con esto, tu WordPress tendrá una arquitectura de enlaces mucho más limpia y profesional. ¡Manos a la obra!
