HTTP a HTTPS Sin Errores – Guía Completa para WordPress


htttp a https wordpress

Conseguir el protocolo https en WordPress es algo que toda página web seria debería plantearse, pero no todo es color de rosas. Tras instalar el certificado SSL pueden aparecer cantidad de problemas relacionados con la seguridad y el SEO.

En esta guía hablaremos sobre:

  • que hacer en WordPress tras instalar el SSL
  • resolver problemas de seguridad como el mixed content
  • arreglar el loop de redirecciones “La página ejemplo.com te ha redirigido demasiadas veces” o ERR_TOO_MANY_REDIRECTS
  • eliminar redirección wp-content/cache/all/index.html

A continuación os dejo un índice para que podáis acceder directamente a cada parte de la guía.

Configurar WordPress tras pasar de HTTP a HTTPS

Tras instalar un certificado SSL en WordPress son necesarias una seria de modificaciones para optar a un correcto funcionamiento de la página web.

Cambiar las URL de WordPress en wp-config.php

Lo primero será ir a Ajustes>Generales para cambiar la dirección de WordPress y la del sitio. Para ello simplemente tenéis que añadir una s al final de http como en la imagen:


cambiar url wordpress https

Esto ya forzará en algunos casos las redirecciones al dominio con https para evitar contenido duplicado.

Si esto no funciona podéis probar a editar el archivo wp-config.php añadiendo al final el siguiente trozo de código.

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Recordad cambiar el dominio example por el vuestro.

Cambiar las URL de WordPress en la base de datos

En muchos casos no cambiar la URL  de WordPress en la base de datos no supone problema alguno, pero en otros casos puede producir un redirect loop, o bucle de redirecciones, que bloquea totalmente WordPress. Personalmente siempre cambiaría esto en toda migración de http a https.


¡Advertencia! Haz una copia de seguridad a la base de datos antes de editarla. 

Para editar las URL de WordPress en la base de datos tenéis que acceder a vuestra base de datos mediante vuestro administrador favorito e ir a la tabla wp-options(el wp- dependerá del prefijo que tengáis) para editar los campos “siteurl” y “home”. cambiar url wordpress en base de datos

Cuando hayáis editado esto podéis pasar al siguiente paso.

Forzar inicios de sesión seguros

Esto se consigue añadiendo al final de wp-config.php el siguiente código:

define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

Añadir redirección 301 del HTTP al HTTPS en .htaccess

Para evitar el contenido duplicado o páginas de error tendréis que crear una redirección del dominio con HTTP al que lleva HTTPS. Para esto simplemente vais al archivo .htaccess de la raíz y añadís las siguientes líneas.


RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

Recordad cambiar el dominio y añadir las líneas dentro de un módulo IfModule mod_rewrite.c o la redirección no funcionará.
Si se diese el caso de que esta redirección os da problemas sólo tenéis que volver al archivo y borrar estas líneas, así de fácil.

Desactivar todos los plugins y reactivarlos

Algunos plugins pueden dejar de funcionar correctamente al pasar de http a https, por eso es importarte desactivarlos y activarlos de nuevo.

Instalar plugin para forzar el HTTPS en todos los recursos

Buscando en el directorio de WordPress por keywords como “SSL” o “HTTPS” podéis encontrar gran variedad de plugins, pero os voy a recomendar los que suelen funcionar mejor.

Force HTTPSLa mejor opción, aunque no siempre consigue forzar el HTTPS en todos los recursos. La ventaja es que no causa problemas de redirecciones o errores en recursos.

SSL Insecure Content Fixer Siempre y cuando no cause problemas es el mejor.


Si algunos de estos plugins no funcionan o no consiguen forzar el HTTPS en todos los recursos, más abajo tenéis los métodos para arreglar cualquier error común.

Solución al Mixed Content

Este error es muy común al cambiar de HTTP a HTTPS en WordPress. Se muestra porque los recursos se cargan desde HTTP ya que la web se creo con ese protocolo.

Desde mi experiencia veo dos soluciones posibles y aquí os las dejo.

Cambiar de plugin para forzar el HTTPS

Probad con otros plugins para ver si conseguís que funcione todo correctamente. Si veis que os resulta imposible pasad al siguiente paso.

Añadir protocolo HTTPS de forma manual

Para aplicar esta solución lo que tendréis que hacer es abrir la consola de Google Chrome en vuestra página y ver que archivos están dando problemas. Si lo hacéis de manera correcta veréis una lista como esta:


solucionar mixed content wordpress ssl http a https

Fuente: https://developers.google.com

Según el tipo de archivo la solución cambia, pero aquí tenéis las más comunes:

  • Imágenes: simplemente resubiéndolas al servidor desde el panel se arregla el Mixed content
  • JS y CSS: usando CTRL+F buscamos “https” y añadimos lo cambiamos por HTTPS.

Si aun así tenéis mixed content probad a seguir buscando con CTRL+F por las plantillas. Lo más probable es que haya algún trozo de código con http y este ahora esté causando problemas.

Solución al loop de redirecciones ERR_TOO_MANY_REDIRECTS

Este error también es muy común cuando pasamos de http a https, pero es peor que el Mixed Content porque inutiliza la página web. La solución no es concreta, pero sí hay posibles soluciones y aquí las tenéis.

Plugin SSL/HTTPS incompatible con WordPress

Plugins como SSL Insecure Content Fixer o Really Simple SSL puede provocar esto. La solución está en desactivar todos los plugins relacionados con SSL/HTTPS y probar uno a uno cual es el causante del  “La página ejemplo.com te ha redirigido demasiadas veces”.


Personalmente el plugin Force HTTPS no me ha dado problemas. Yo tuve este error y si no fuese por este plugin mi SSL sería inútil 😀

Redirección errónea en el .htaccess

Revisad el .htaccess en busca de algún tipo de error o redirección errónea. Es raro, pero hay personas que sin querer crean verdaderos bucles de redirecciones con este archivo.

Solución a la redirección wp-content/cache/all/index.html

Este error está ocasionado por el cache del plugin WP Fastest Cache y, al igual que los anteriores, es un dolor de cabeza al migrar de HTTP a HTTPS. Desde el punto de vista del usuario el problema no es importante, simplemente cambia la URL y listo. El problema real está en como afecta al SEO de WordPress ya que está apuntando el dominio http a un archivo que no es el correcto.

De nuevo os mostraré las posibles soluciones.

Editar el .htaccess

Según el propio soporte del plugin una de las posibles soluciones es añadir el siguiente código a la redirección HTTP a HTTPS del archivo .htaccess


RewriteCond %{REQUEST_URI} !wp-content\/cache\/(all|wpfc-mobile-cache)

Este código debe ser añadido después de la condición y antes de la regla. El código final quedaría como esto:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} !wp-content\/cache\/(all|wpfc-mobile-cache)
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

Esta solución no funciona en muchos casos, no os preocupéis si os pasa lo mismo. Simplemente eliminad la línea y dejad el .htaccess como antes.

Cambiar de plugin

Así es, la solución absoluta al problema es cambiar de plugin aunque nos duela. Personalmente os puedo recomendar W3 Total Cache que es el que yo uso y no da problemas, pero podéis probar el que queráis.

Ayuda profesional

Si estás desesperado por arreglar este problema y estás dispuesto a que expertos te lo solucionen ponte en contacto conmigo https://angelosada.com/contacto para que te haga un presupuesto.


¿Qué te ha parecido el contenido?

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas
Ha habido 12 votos con una media de 5,00 sobre 5
Cargando…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.