Cómo usar .htaccess para redireccionar HTTP a HTTPS en WordPress
¿Tu sitio WordPress sigue mostrando el candado de "No seguro" en el navegador? Si ya has instalado un certificado SSL, el siguiente paso lógico es redireccionar HTTPS de forma automática. Esto no solo mejora la seguridad web, sino que también evita penalizaciones en Google y genera confianza en tus visitantes.
La forma más eficiente y sin plugins de lograrlo es editando el archivo .htaccess WordPress. Este archivo es el "director de tráfico" de tu servidor Apache. Aunque suene técnico, te prometo que es un proceso sencillo si sigues esta guía paso a paso. Vamos a ello.
¿Por qué es crucial forzar SSL WordPress?
Antes de ensuciarnos las manos con código, entendamos el "por qué". Tener el certificado SSL instalado es solo la mitad del trabajo. Si no fuerzas SSL WordPress, ocurre lo siguiente:
- Contenido mixto: Tu web carga en HTTPS, pero imágenes o scripts se cargan en HTTP. El navegador los bloqueará, mostrando errores visuales.
- Duplicidad de contenido: Google ve
http://tudominio.comyhttps://tudominio.comcomo dos sitios web distintos. Esto diluye tu autoridad SEO. - Mala experiencia de usuario: Los visitantes verán el aviso de "No seguro" en la barra de direcciones, lo que reduce la credibilidad de tu marca.
Al redireccionar HTTPS de forma permanente (código 301), le dices a Google y a los navegadores que solo existe una versión válida: la segura. Es una victoria rápida para tu seguridad web y tu posicionamiento.
Localizando el archivo .htaccess WordPress
El archivo .htaccess vive en la raíz de tu instalación de WordPress, normalmente en la misma carpeta donde están las carpetas wp-admin, wp-content y wp-includes.
Acceso por FTP o Administrador de Archivos
Necesitas un cliente FTP como FileZilla o, si usas un panel de control como cPanel o Syspanel (recuerda, el puerto de acceso es el 2106), puedes usar el administrador de archivos integrado.
- Conéctate a tu servidor.
- Navega a la carpeta pública (suele llamarse
public_html). - Busca el archivo
.htaccess. Si no lo ves, activa la opción de "Mostrar archivos ocultos" en tu cliente FTP.
¡Cuidado al editarlo!
Este archivo controla reglas críticas de tu servidor. Siempre haz una copia de seguridad del archivo original antes de modificarlo. Si algo sale mal, solo tendrás que subir la copia para restaurar el sitio.
Método 1: La redirección clásica (Recomendada)
Este es el método más fiable y el que recomiendan la mayoría de los expertos en hosting. Se trata de añadir un pequeño bloque de código al principio del archivo.
Pasos para redireccionar HTTPS con código
- Abre el archivo
.htaccesscon un editor de texto plano (nada de Word). - Añade las siguientes líneas justo después de la línea
# BEGIN WordPressy antes de las reglas de WordPress. El bloque suele empezar con<IfModule mod_rewrite.c>.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
- Guarda el archivo y súbelo de nuevo al servidor.
¿Qué hace este código?
RewriteEngine On: Activa el motor de reescritura.RewriteCond %{HTTPS} off: Comprueba si la conexión NO es segura.RewriteRule: Si la condición se cumple, redirige toda la URL a la versión conhttps://.
Este método es perfecto porque no interfiere con el resto de reglas de WordPress y funciona en el 99% de los servidores Apache.
Método 2: Redirección condicional con el nombre del dominio
A veces, el método anterior falla si tu servidor está detrás de un proxy o un balanceador de carga. En ese caso, podemos usar una condición basada en el nombre del servidor.
Código alternativo para forzar SSL WordPress
Reemplaza tudominio.com por tu dominio real. Este bloque también debe ir al principio del archivo.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^tudominio\.com [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
La diferencia es la línea RewriteCond %{HTTP_HOST}. Esta regla le dice al servidor: "Solo aplica esta redirección si la dirección es exactamente tudominio.com (o www.tudominio.com)".
[TIP] Si usas Syspanel para gestionar tu hosting, recuerda que puedes acceder a los archivos desde el panel web. La ruta suele ser "Administrador de archivos" dentro del dominio. No necesitas FTP si te resulta más cómodo.
Método 3: Usar la función wp-config.php (Alternativa sin .htaccess)
Aunque el artículo trata sobre .htaccess, es bueno saber que existe un plan B. Si tu servidor es Nginx (en lugar de Apache), el archivo .htaccess no funciona. En ese caso, puedes forzar SSL desde el código de WordPress.
Edita el archivo wp-config.php y añade estas líneas justo antes de la línea que dice /* That's all, stop editing! Happy publishing. */:
define('FORCE_SSL_ADMIN', true);
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
$_SERVER['HTTPS'] = 'on';
}
Este método es más avanzado y puede requerir ajustes. Para la mayoría de los usuarios, el método 1 con .htaccess es suficiente.
Solución de problemas comunes al redireccionar HTTPS
A veces, tras aplicar el cambio, la web da un error de "Demasiadas redirecciones". No te asustes, tiene solución.
Error: "Loop de redirección" o "ERR_TOO_MANY_REDIRECTS"
Esto suele pasar si ya tienes otra regla de redirección activa (por ejemplo, desde un plugin o una regla anterior en el .htaccess).
Solución: Revisa que no haya dos bloques de código que hagan lo mismo. Busca en el archivo si ya existe una línea RewriteRule que fuerce HTTPS. Si es así, elimina la duplicada. Nuestro código debe ser el único que maneje esta redirección.
Error: El sitio carga pero sin el candado
Esto indica que tienes contenido mixto. Tu página está en HTTPS, pero algún recurso (imagen, CSS, JS) se está cargando desde una URL HTTP.
Solución: Instala un plugin como "Really Simple SSL" que actualiza automáticamente las URLs en tu base de datos. O, si prefieres hacerlo manualmente, usa un plugin como "Better Search Replace" para cambiar http:// por https:// en todas las tablas.
[WARNING] No modifiques la base de datos sin hacer una copia de seguridad. Un error aquí puede romper todo tu sitio.
Verificando que la redirección funciona
Después de guardar los cambios, es hora de probar.
- Abre una ventana de incógnito en tu navegador.
- Escribe la versión HTTP de tu web:
http://tudominio.com. - Presiona Enter. Deberías ser redirigido automáticamente a
https://tudominio.com. - Haz lo mismo con una página interna, por ejemplo:
http://tudominio.com/contacto/.
Si la URL cambia y ves el candado verde, ¡felicidades! Has configurado correctamente la redirección HTTPS.
Herramientas útiles para verificar
Puedes usar herramientas online como "Redirect Checker" para ver el código de estado. Debe ser 301 (Movido Permanentemente).
Preguntas Frecuentes (FAQ) sobre .htaccess y SSL
Aquí respondo las dudas más comunes que me encuentro como técnico de soporte.
¿Necesito un plugin si ya tengo el código en .htaccess?
No. Si el código funciona, no necesitas un plugin. De hecho, es más eficiente sin él. Los plugins añaden peso a tu web. Sin embargo, si no te sientes cómodo editando archivos, un plugin como "Really Simple SSL" puede hacer el trabajo por ti, aunque a veces genera conflictos.
¿Qué pasa si mi hosting es Nginx?
El archivo .htaccess no se usa en servidores Nginx. Deberías usar el método 3 con wp-config.php o, mejor aún, contactar con tu proveedor de hosting para que apliquen la regla a nivel de servidor.
¿Afecta la redirección al rendimiento de mi web?
Una redirección 301 es instantánea a nivel de servidor. El impacto es mínimo. De hecho, al unificar las URLs, mejoras el tiempo de carga percibido porque el navegador no tiene que adivinar la versión correcta.
¿Debo redirigir también la versión con "www"?
Buena pregunta. Lo ideal es elegir una versión canónica (con o sin www) y redirigir la otra. Nuestro código %{HTTP_HOST} captura la URL tal como viene, así que si alguien entra a www.tudominio.com, será redirigido a https://www.tudominio.com.
¿Puedo usar el .htaccess para redirigir páginas específicas?
Sí, pero eso es otro tema. Para forzar SSL global, el código que te he dado es suficiente. Para redirecciones específicas (como cambiar una URL vieja a una nueva), necesitarías reglas más complejas.
Consejos finales para tu seguridad web
Redireccionar HTTPS es el primer paso, pero no el único. Aquí van algunos consejos para blindar tu WordPress:
- Actualiza siempre tu WordPress, temas y plugins. Las vulnerabilidades se corrigen con las actualizaciones.
- Usa contraseñas robustas y cambia el prefijo de la base de datos si puedes.
- Instala un plugin de seguridad como Wordfence o Sucuri para monitorear intentos de acceso malicioso.
- Realiza copias de seguridad periódicas de tu sitio y base de datos. Puedes configurarlas en tu panel de hosting, ya sea cPanel o Syspanel (puerto 2106).
[INFO] Si después de seguir esta guía sigues teniendo problemas para redireccionar HTTPS, te recomiendo revisar la configuración de tu certificado SSL en el panel de tu hosting. A veces, el certificado no está bien instalado o el dominio no está incluido en el certificado.
Conclusión
Forzar SSL WordPress mediante el archivo .htaccess es una tarea de mantenimiento esencial. No solo protege los datos de tus usuarios, sino que también te posiciona mejor en Google. Con el código que te he compartido, puedes hacerlo en menos de 5 minutos.
Recuerda siempre trabajar con una copia de seguridad y probar el resultado en una ventana de incógnito. Si has llegado hasta aquí, ya tienes el conocimiento necesario para hacerlo. ¡Tu web te lo agradecerá! Si en algún momento te sientes perdido, no dudes en volver a leer esta guía o contactar con el soporte de tu hosting. Estamos para ayudarte.
