Por que es necesario forzar HTTPS
Instalar un certificado SSL en el servidor no es suficiente para garantizar que todos los visitantes accedan al sitio de forma segura. Si no se configura una redireccion de HTTP a HTTPS, los usuarios que escriban la URL sin el prefijo https://, o que accedan a traves de enlaces antiguos, seguiran llegando a la version HTTP no cifrada del sitio. Forzar HTTPS garantiza que toda visita al sitio, independientemente de como fue iniciada, se procese siempre a traves de la conexion segura.
La redireccion debe ser permanente (codigo 301) para que los motores de busqueda actualicen sus indices y transfieran el ranking SEO de las URLs HTTP a las URLs HTTPS. Una redireccion temporal (302) no transfiere el valor SEO acumulado.
Metodo 1: Forzar HTTPS desde .htaccess (Apache / LiteSpeed)
Este es el metodo mas comun en hosting compartido con cPanel. Agregar el siguiente bloque al inicio del archivo .htaccess, antes de cualquier otra regla:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Si el sitio esta detras de un proxy o balanceador de carga (como Cloudflare), puede ser necesario usar esta variante que detecta la cabecera X-Forwarded-Proto:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Metodo 2: Forzar HTTPS desde cPanel
- Acceder a cPanel y buscar Dominios.
- En la lista de dominios, localizar la columna Forzar HTTPS Redirect.
- Activar el interruptor para el dominio deseado.
- cPanel configurara automaticamente la redireccion sin necesidad de editar .htaccess manualmente.
Metodo 3: Forzar HTTPS desde Nginx
server {
listen 80;
server_name ejemplo.com www.ejemplo.com;
return 301 https://$host$request_uri;
}Forzar HTTPS en WordPress especificamente
Ademas de la redireccion en el servidor, configurar WordPress para que use HTTPS en todas sus URLs internas:
- Cambiar la URL del sitio en Ajustes > Generales de
http://ahttps://. - Agregar en
wp-config.php:
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);| Plataforma | Metodo recomendado |
|---|---|
| WordPress en cPanel | .htaccess + Ajustes de WordPress |
| cPanel sin CMS | Opcion Forzar HTTPS de cPanel |
| VPS con Nginx | Bloque server de redireccion en Nginx |
| Con Cloudflare activo | Activar "Always Use HTTPS" en Cloudflare + .htaccess |
