Cómo redirigir HTTP a HTTPS en WordPress usando .htaccess
¿Tu sitio WordPress sigue cargando con "http://" en lugar del candado verde de "https://"? No te preocupes, es uno de los problemas más comunes al migrar a SSL. La buena noticia es que la solución es muy sencilla si usas un archivo llamado .htaccess. En esta guía te voy a explicar, paso a paso y sin tecnicismos, cómo redirigir HTTP a HTTPS en WordPress usando este archivo mágico. Además, verás por qué es tan importante para tu SEO y la confianza de tus visitantes.
Cuando instalas un certificado SSL (ese que hace que tu web pase de HTTP a HTTPS), el servidor técnicamente ya puede servir el contenido de forma segura. Sin embargo, tu web y los enlaces que ya existen en internet (o en tu menú) pueden seguir apuntando a la versión insegura. Si no haces una redirección 301, el navegador del usuario primero intentará cargar la versión HTTP y luego saltará a la HTTPS, lo cual es lento, confuso y puede mostrar un aviso de "No seguro". Peor aún, los buscadores como Google pueden indexar ambas versiones, dividiendo la autoridad de tu página y dañando tu posicionamiento.
Aquí es donde entra el archivo .htaccess. Es un archivo de configuración súper poderoso que vive en la raíz de tu instalación de WordPress. Con unas pocas líneas de código, le decimos al servidor Apache (el más común) que todo el tráfico que llegue por el puerto 80 (HTTP) sea redirigido permanentemente al puerto 443 (HTTPS). Es la forma más limpia, rápida y efectiva de hacerlo, sin necesidad de plugins adicionales que ralenticen tu web.
¿Por qué es tan importante esta redirección?
Antes de ensuciarnos las manos con código, vamos a entender el "por qué". No es solo una cuestión de estética o de tener un candado en la barra de direcciones. Es una cuestión de seguridad, confianza y posicionamiento web.
Seguridad y confianza del usuario
Un sitio HTTPS cifra la información que viaja entre el navegador del visitante y tu servidor. Esto incluye contraseñas, datos de formularios, números de tarjeta, etc. Si no rediriges a HTTPS, los usuarios que lleguen a través de un enlace antiguo (HTTP) podrían enviar esa información de forma insegura. Además, los navegadores modernos muestran un aviso de "No seguro" en la barra de direcciones, lo cual es una invitación directa a que el visitante cierre la pestaña y se vaya a la competencia.
SEO: El factor de posicionamiento
Aquí es donde la cosa se pone seria. Google ha confirmado que HTTPS es un factor de ranking. Un sitio con SSL correctamente configurado tiene una pequeña ventaja sobre uno que no lo tiene. Pero más importante que eso es la canonicalización. Si tienes contenido duplicado en http://tudominio.com y https://tudominio.com, Google lo ve como dos sitios web diferentes. Esto diluye la "autoridad" de tu dominio. La redirección 301 es la forma de decirle a Google: "La versión definitiva es esta (la HTTPS), junta todas las señales aquí". Sin esta redirección, tu SEO sufre una pérdida de ranking innecesaria.
Rendimiento y velocidad
Aunque parezca mentira, una redirección mal hecha añade una petición extra al servidor. Cada vez que un usuario hace clic en un enlace HTTP, el servidor tiene que decirle "oye, vete a la versión HTTPS". Eso es un viaje de ida y vuelta adicional, lo que se traduce en una carga más lenta. Con la redirección en el .htaccess, el servidor lo hace de forma inmediata y directa, sin rodeos.
Localizando y preparando tu archivo .htaccess
Bien, ahora sí, vamos a la acción. El archivo .htaccess normalmente está oculto en tu servidor. Necesitas un cliente FTP (como FileZilla) o el administrador de archivos de tu panel de control (cPanel, Syspanel, etc.).
Para acceder a tu hosting, si usas Syspanel, recuerda que el puerto de acceso es el 2106.
Una vez que estés dentro del administrador de archivos, busca la carpeta public_html (o htdocs). Ahí dentro, deberías ver un archivo llamado .htaccess. Si no lo ves, es porque tu cliente FTP tiene la opción de "Mostrar archivos ocultos" desactivada. Actívala.
Antes de tocar nada, haz una copia de seguridad de tu archivo .htaccess. Es la regla de oro. Si algo sale mal, puedes restaurarlo fácilmente. Simplemente descárgalo a tu ordenador o cópialo y renómbralo a .htaccess.backup en el mismo directorio.
El código mágico para redirigir HTTP a HTTPS
Ahora viene la parte principal. Copia el siguiente bloque de código y pégalo justo después de la línea # BEGIN WordPress (si existe) o al principio del archivo. Es importante que esté fuera de los bloques de reglas de WordPress para evitar conflictos.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
Vamos a desglosarlo para que no te quede ninguna duda:
<IfModule mod_rewrite.c>: Esto es una comprobación de seguridad. Solo se ejecuta el código si el módulo de reescritura de Apache está activo (lo está en el 99% de los hosting).RewriteEngine On: Activa el motor de reescritura de URLs.RewriteCond %{HTTPS} off: Esta es la condición. Le dice al servidor: "Si la conexión actual no es HTTPS (o sea, es HTTP)..."RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]: ... entonces, redirige a la misma URL pero con la parte dehttps://al principio. ElR=301indica que es una redirección permanente (la mejor para SEO). ElLsignifica "última regla", es decir, no proceses más reglas después de esta.
Un ejemplo práctico: Si alguien escribe http://tudominio.com/mi-articulo, la regla lo convertirá automáticamente en https://tudominio.com/mi-articulo. Sencillo, ¿verdad?
¿Y si ya tengo un .htaccess con reglas de WordPress?
No hay problema. Si tu archivo ya tiene las líneas de # BEGIN WordPress, simplemente pega el bloque de código de arriba antes de esa línea. Así, la redirección se ejecutará primero y luego WordPress hará su magia con las URLs.
Verificando que la redirección funciona
Después de guardar los cambios, sube el archivo modificado a tu servidor (si usaste un FTP) o guárdalo desde el administrador de archivos. Ahora, la prueba de fuego.
- Abre una ventana de incógnito en tu navegador (Ctrl+Shift+N en Chrome, Ctrl+Shift+P en Firefox).
- Escribe
http://tudominio.com(sin las comillas). - Pulsa Enter y observa la barra de direcciones. Deberías ver que automáticamente se convierte en
https://tudominio.comy aparece el candado verde.
También puedes probar con una URL interna, por ejemplo, http://tudominio.com/contacto. Debería redirigir a https://tudominio.com/contacto.
[TIP] Si la redirección no funciona, es muy probable que tu hosting esté usando Nginx en lugar de Apache. En ese caso, el archivo .htaccess no tiene efecto. Deberás contactar con tu proveedor de hosting para que añadan la regla de redirección en la configuración de Nginx o buscar un plugin que lo haga a nivel de PHP.
Preguntas frecuentes (FAQ) sobre la redirección HTTPS
Aquí te resuelvo las dudas más comunes que me suelen plantear los clientes cuando hacemos este cambio.
¿Qué pasa con los enlaces internos de mi web?
Esta redirección solo actúa cuando alguien entra desde un enlace externo o escribe la URL a mano. Los enlaces internos de tu web (los que están en tu menú, en tus artículos, etc.) seguirán apuntando a la versión HTTP si así los configuraste. Para arreglarlo, ve a Ajustes > Generales en tu panel de WordPress y cambia la "Dirección de WordPress" y la "Dirección del sitio" (URL) de http:// a https://. Esto hará que todos los enlaces que genere WordPress a partir de ahora sean con HTTPS.
¿Debo usar un plugin para esto?
No es necesario. El método con .htaccess es el más eficiente porque se ejecuta a nivel de servidor, antes de que WordPress se cargue siquiera. Un plugin añade peso y puede tener conflictos. Sin embargo, si no te sientes cómodo editando archivos, plugins como "Really Simple SSL" hacen el trabajo automáticamente, aunque no es tan elegante a nivel de rendimiento.
¿Qué es una redirección 301 y por qué es mejor que una 302?
Una redirección 301 es una redirección permanente. Le dice a los buscadores: "Esta página se ha movido a esta nueva dirección para siempre". Es la que debes usar para el cambio de HTTP a HTTPS, ya que transfiere el 100% del valor SEO de la URL antigua a la nueva. Una redirección 302 es temporal y no transfiere el mismo valor, por lo que no es recomendable para este caso.
¿Qué pasa si tengo una URL con "www" y otra sin "www"?
Este es un tema importante. Debes elegir una versión canónica: o usas https://www.tudominio.com o usas https://tudominio.com. Lo ideal es que configures una redirección para que todas las variantes (con o sin www, HTTP o HTTPS) vayan a la misma URL final. Puedes hacerlo añadiendo un par de líneas más al .htaccess, pero eso ya es una configuración más avanzada. Lo más fácil es que tu hosting tenga una opción para elegir la versión canónica en el panel de control (Syspanel o cPanel). Si no la encuentras, puedes añadir esta regla justo después de la primera:
RewriteCond %{HTTP_HOST} ^www\.tudominio\.com [NC]
RewriteRule ^(.*)$ https://tudominio.com/$1 [L,R=301]
Recuerda reemplazar tudominio.com por tu dominio real.
¿Puedo hacer esto desde Syspanel?
¡Por supuesto! Syspanel es un panel de control amigable. Desde su administrador de archivos (accediendo por el puerto 2106), puedes editar el .htaccess directamente. Busca la carpeta public_html, localiza el archivo y haz clic en "Editar". Es un proceso muy visual y seguro, ya que el propio panel te avisa si hay errores de sintaxis.
Solución de problemas comunes
A veces, las cosas no salen a la primera. Aquí tienes algunos problemas típicos y cómo solucionarlos.
Error "Too many redirects" (Demasiadas redirecciones)
Este error suele ocurrir cuando hay un conflicto entre la regla del .htaccess y alguna otra regla o plugin. La causa más común es tener otro plugin de redirección activo. Desactiva todos los plugins de caché y de redirección temporalmente para ver si se soluciona. También puede ser que tu hosting ya tenga una redirección forzada a HTTPS a nivel de servidor y la estés duplicando. En ese caso, elimina la regla del .htaccess y deja que el hosting haga su trabajo.
La web carga en blanco (Error 500)
Esto es un problema de sintaxis en el .htaccess. Has debido de copiar mal algo. No te asustes, es fácil de arreglar. Accede a tu servidor por FTP o por el administrador de archivos y restaura la copia de seguridad que hiciste al principio. Si no hiciste copia, intenta eliminar las líneas que añadiste y guardar el archivo.
Solo redirige la página de inicio
Si la redirección solo funciona en la home pero no en las demás páginas, es probable que tengas un plugin de caché que está sirviendo versiones antiguas de las páginas. Limpia la caché del plugin y la caché del navegador. En Syspanel, por ejemplo, suele haber un botón de "Limpiar caché" muy accesible.
Conclusión: Un paso pequeño para tu servidor, un gran salto para tu SEO
Redirigir HTTP a HTTPS usando el .htaccess es una de las tareas más importantes que puedes hacer para la salud de tu sitio WordPress. No solo mejora la seguridad y la confianza de tus usuarios, sino que es un factor clave para el SEO HTTPS. Con el código que te he dado, la verificación de ajustes y un poco de paciencia, tendrás tu web 100% segura y bien posicionada en un abrir y cerrar de ojos.
Recuerda que este cambio es permanente y beneficioso. No hay vuelta atrás. Una vez que lo hagas, asegúrate de actualizar cualquier servicio externo que use tu URL (como redes sociales, Google Search Console, etc.) para que apunten a la versión HTTPS.
¿Te ha funcionado? ¿Has tenido algún problema? Déjamelo saber en los comentarios, y si necesitas ayuda con tu hosting o con la configuración de Syspanel, no dudes en contactar con nuestro equipo de soporte. ¡Estamos aquí para ayudarte a que tu web vuele alto y seguro!
