Cómo mover WordPress de HTTP a HTTPS sin romper nada

Si tu WordPress todavía funciona en HTTP, estás dejando pasar algo que afecta al SEO, a la confianza del usuario y a la seguridad de los datos que pasan por tu web. Google lleva años usando HTTPS como factor de posicionamiento y los navegadores modernos marcan las webs HTTP como «No seguras» de forma visible.

La buena noticia es que el proceso de pasar a HTTPS es más sencillo de lo que parece si se hace en el orden correcto. El problema no es técnicamente difícil — es que si no sigues los pasos en la secuencia adecuada, puedes acabar con la web en blanco, con bucles de redirección o con advertencias de contenido mixto que afectan a la seguridad.

Esta guía te lleva por el proceso completo, en el orden correcto, con las soluciones a los problemas más frecuentes.


Antes de empezar: qué necesitas tener preparado

1. Un certificado SSL instalado y activo en el servidor.
Sin certificado SSL no puedes usar HTTPS. Let’s Encrypt está disponible de forma gratuita, pero no todos los hostings lo gestionan igual: en algunos tienes que instalarlo manualmente y renovarlo tú mismo cada 90 días. Para verificar que el certificado está activo en tu hosting actual, visita https://tudominio.com directamente en el navegador. Si carga sin avisos, ya tienes SSL. Si da error, instala primero el certificado antes de continuar.

2. Una copia de seguridad completa.
Antes de hacer cualquier cambio en la base de datos o en los archivos de configuración, haz un backup. Puedes hacerlo desde cPanel → Copias de seguridad o con un plugin como UpdraftPlus.

3. Acceso a cPanel o a los archivos del servidor.
Necesitarás editar el archivo .htaccess y posiblemente el wp-config.php. Puedes hacerlo desde el Gestor de archivos de cPanel, por SFTP o por SSH.


Paso 1: Actualizar las URLs del sitio en WordPress

El primer paso es decirle a WordPress que el sitio ahora usa HTTPS. Esto se hace cambiando dos opciones en los ajustes del sitio.

Opción A: Desde el panel de administración

  1. Accede a Ajustes → General.
  2. Cambia Dirección de WordPress (URL) y Dirección del sitio (URL) de http://tudominio.com a https://tudominio.com.
  3. Haz clic en Guardar cambios.

WordPress cerrará tu sesión automáticamente al guardar porque ha cambiado la URL base. Vuelve a entrar accediendo a https://tudominio.com/wp-admin.

Opción B: Desde WP-CLI (si tienes acceso SSH)

bash

wp option update siteurl 'https://tudominio.com'
wp option update home 'https://tudominio.com'

Opción C: Directamente en la base de datos

Si por algún motivo no puedes acceder al panel, puedes actualizar las opciones directamente en la base de datos:

  1. Accede a phpMyAdmin desde cPanel.
  2. Selecciona la base de datos de WordPress.
  3. Abre la tabla wp_options.
  4. Busca las filas con option_name igual a siteurl y home.
  5. Edita el valor de ambas y cambia http:// por https://.

Paso 2: Forzar HTTPS con el archivo .htaccess

Cambiar las URLs en WordPress hace que los enlaces internos generados a partir de ese momento usen HTTPS, pero no redirige automáticamente a los usuarios que lleguen por HTTP. Para eso necesitas una redirección 301 en el servidor.

Edita el archivo .htaccess en la raíz de tu WordPress (normalmente en public_html) y añade estas líneas al principio del archivo, antes del bloque de WordPress:

apache

# Forzar HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

El archivo .htaccess completo debería quedar así:

apache

# Forzar HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Guarda el archivo y verifica que al acceder a http://tudominio.com el navegador te redirige automáticamente a https://tudominio.com.

Alternativa para servidores Nginx

Si tu servidor usa Nginx en lugar de Apache, la redirección se hace en el bloque de configuración del servidor:

nginx

server {
    listen 80;
    server_name tudominio.com www.tudominio.com;
    return 301 https://$host$request_uri;
}

Paso 3: Actualizar las URLs en la base de datos

Los pasos anteriores hacen que WordPress genere nuevas URLs con HTTPS, pero todo el contenido que ya existía en la base de datos sigue teniendo URLs con HTTP: imágenes insertadas en entradas, enlaces internos, archivos adjuntos, metadatos de plugins, etc.

Para actualizar esas URLs en toda la base de datos, usa WP-CLI:

bash

# Primero simula el cambio para ver cuántos registros afecta
wp search-replace 'http://tudominio.com' 'https://tudominio.com' --dry-run

# Si el resultado es correcto, ejecuta el cambio real
wp search-replace 'http://tudominio.com' 'https://tudominio.com'

WP-CLI gestiona correctamente los datos serializados de PHP, que es donde muchos plugins guardan URLs y que rompería un buscar/reemplazar manual en phpMyAdmin.

Si no tienes acceso SSH: plugin Better Search Replace

Si no puedes usar WP-CLI, el plugin Better Search Replace hace exactamente lo mismo desde el panel de administración:

  1. Instala y activa Better Search Replace.
  2. Ve a Herramientas → Better Search Replace.
  3. En «Search for» escribe http://tudominio.com.
  4. En «Replace with» escribe https://tudominio.com.
  5. Selecciona todas las tablas.
  6. Marca primero «Run as dry run» para ver los cambios sin aplicarlos.
  7. Si todo es correcto, desmarca «dry run» y ejecuta.

Paso 4: Resolver el contenido mixto (mixed content)

El contenido mixto es el problema más frecuente después de la migración a HTTPS. Ocurre cuando una página se sirve por HTTPS pero carga algún recurso (imagen, script, hoja de estilos, iframe) todavía por HTTP. El navegador bloquea o advierte sobre esos recursos, lo que puede romper elementos visuales o funcionales de la web.

Cómo detectar el contenido mixto

En el navegador: abre la consola del navegador (F12 → Console) y recarga la página. Los recursos mixtos aparecen como avisos o errores con el texto «Mixed Content».

Con herramientas online: WhyNoPadlock analiza una URL y lista todos los recursos inseguros que encuentra.

Cómo solucionar el contenido mixto

Si el search-replace del paso 3 fue completo, la mayoría del contenido mixto ya estará resuelto. Los casos que suelen quedar son:

Recursos hardcodeados en el tema o en plugins: archivos CSS o JavaScript cargados con URLs absolutas que empiezan por http://. Revisa el tema en busca de estas referencias y cámbialas.

Iframes externos: si tienes iframes de YouTube, Google Maps u otros servicios, asegúrate de que usen https:// en la URL del iframe.

Fuentes o scripts externos cargados por HTTP: si el tema carga fuentes de Google Fonts o scripts externos con http://, cámbialos a https://.

Forzar HTTPS en el código de WordPress

Añade esta línea al wp-config.php para forzar que WordPress genere siempre URLs con HTTPS:

php

define('FORCE_SSL_ADMIN', true);

Y si usas un proxy inverso o CDN como Cloudflare, añade también:

php

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

Paso 5: Actualizar Google Search Console

Google Search Console trata http://tudominio.com y https://tudominio.com como dos propiedades diferentes. Después de la migración necesitas:

  1. Añadir la versión HTTPS como nueva propiedad en Search Console si no la tenías.
  2. Verificar la propiedad con cualquiera de los métodos disponibles (archivo HTML, meta tag, DNS o Google Analytics).
  3. Enviar el sitemap de la versión HTTPS: ve a la propiedad HTTPS → Sitemaps → introduce la URL de tu sitemap (https://tudominio.com/sitemap.xml).
  4. En la propiedad HTTP, ve a Ajustes → Cambio de dirección y señala que el sitio se ha movido a la versión HTTPS.

Google tardará unos días en re-rastrear el sitio con la nueva configuración. Es normal ver una ligera fluctuación en los datos durante ese período.


Paso 6: Actualizar Google Analytics

Si tienes Google Analytics, actualiza la URL del sitio en la configuración:

GA4: Admin → Configuración de la propiedad → URL del sitio web → cambia a https://.

Universal Analytics: Admin → Configuración de la propiedad → URL predeterminada → selecciona https://.

Si usas Google Tag Manager, verifica también que las URLs configuradas en los activadores y variables usen HTTPS.


Paso 7: Comprobar los backlinks y recursos externos

Si tienes backlinks desde otras webs que apuntan a tu sitio por HTTP, la redirección 301 que configuraste en el .htaccess los redirigirá automáticamente a HTTPS. No tienes que contactar a todos los sitios que enlazan a ti.

Sin embargo, si tienes backlinks en sitios donde puedes editar el enlace fácilmente (directorios de negocios, redes sociales, tu propia firma de email), actualiza las URLs manualmente a HTTPS para evitar el salto de redirección.


Checklist final: verifica que todo está correcto

Antes de dar la migración por completada, repasa estos puntos:

  • El certificado SSL está instalado y es válido (candado en el navegador).
  • siteurl y home en WordPress apuntan a https://.
  • El .htaccess tiene la redirección 301 de HTTP a HTTPS.
  • http://tudominio.com redirige automáticamente a https://tudominio.com.
  • www.tudominio.com también redirige a HTTPS si usas www.
  • No hay avisos de contenido mixto en la consola del navegador.
  • WhyNoPadlock confirma que el candado es seguro.
  • Search Console tiene la propiedad HTTPS verificada con el sitemap enviado.
  • Google Analytics tiene la URL actualizada.
  • Los backlinks más importantes se han actualizado manualmente.

Problemas frecuentes y cómo solucionarlos

Bucle de redirección infinita
Si el navegador muestra «Demasiadas redirecciones», hay un conflicto entre redirecciones. La causa más habitual es tener Cloudflare haciendo una redirección adicional que entra en bucle con la del .htaccess. Solución: gestiona la redirección solo desde un sitio — o desde Cloudflare o desde el .htaccess, nunca desde los dos a la vez.

La web carga en blanco después del cambio de URL
Las opciones de siteurl o home quedaron mal configuradas. Accede a phpMyAdmin → tabla wp_options → verifica que ambas tienen la URL correcta con HTTPS y sin barra / al final.

El candado no aparece aunque tengo SSL
Indica que todavía hay contenido mixto. Sigue los pasos del apartado anterior para detectar y eliminar todos los recursos HTTP.

El certificado SSL ha caducado
Let’s Encrypt tiene validez de 90 días. Si tu hosting no gestiona la renovación automática, tendrás que renovarlo manualmente cada vez — una tarea que se olvida con más frecuencia de la que parece y que deja la web inaccesible hasta que la resuelves.

La redirección funciona pero tarda mucho
Si la redirección de HTTP a HTTPS tarda varios segundos, el problema suele estar en el servidor. Un hosting con disco HDD o con recursos compartidos muy limitados ralentiza incluso las redirecciones. Es una señal clara de que el servidor está al límite de su capacidad.


Conclusión

Pasar WordPress de HTTP a HTTPS es uno de esos procesos que da respeto pero que, hecho en el orden correcto, es perfectamente manejable: instalar el certificado, actualizar las URLs en WordPress, forzar la redirección en el servidor, limpiar el contenido mixto y actualizar Search Console y Analytics.

Lo que marca la diferencia entre que esto sea un proceso de dos horas o un quebradero de cabeza es, en gran parte, el hosting. Un servidor bien configurado, con SSL automático, acceso SSH incluido y soporte técnico que conoce WordPress hace que cada uno de estos pasos sea más rápido y más seguro. Si después de leer esta guía sientes que tu hosting actual te complica más de lo que te ayuda, el planes hosting wordpress incluyen SSL gratuito con renovación automática, acceso SSH en todos los planes y servidores NVMe optimizados para WordPress desde el primer día.

Deja una respuesta

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