Cómo cambiar las URLs HTTP a HTTPS en WordPress

La migración de webs entre servidores es una de las tareas fundamentales para los administradores de sitios web. Sobre todo si estas webs están construidas en el famoso CMS WordPress. Y aunque no hay nada tachable de malo en WordPress, se vuelve un poco complejo este trabajo de mantenimiento.

Es muy posible que queramos migrar de nuestro servidor local hacia un servidor remoto, queramos hacer una copia de seguridad actualizada del servidor remoto, hemos cambiado de dominio y ahora el sitio web se debe acceder de otra manera, hemos instalado un certificado SSL para convertir nuestro sitio en una web segura… En todos estos casos podríamos perdernos entre las entrañas de WordPress si no tenemos claro desde primera hora lo siguiente:

  • El núcleo de WordPress es código en lenguaje PHP que obligatoriamente necesita una Base de Datos.
  • Este vínculo entre WordPress y la Base de Datos tiene unas opciones configurables dependiendo de en cual servidor nos encontremos.
  • Un sistema WordPress limpio no necesita tantos cambios en profundidad que un sitio que cuenta con posts, usuarios, imágenes, vídeos y contenido extra.
  • Aunque existen plugins que nos ayudan con esta tarea, no siempre son fiables y puede que luego nos de fallos en el resultado final.

Pongámonos en el ejemplo de querer migrar una web en la que hemos trabajo localmente desde nuestro servidor y ahora debe estar en desarrollo en el servidor de un cliente. Este servidor del cliente contará con unas credenciales de acceso FTP para poder subir nuestros ficheros y además, nos debe permitir crear la base de datos donde va alojada toda la información del WordPress.

Esta base de datos también tiene una serie de credenciales especificadas por el distribuidor del servidor y que nos servirán de enganche en nuestro archivo wp-config.php.

/** El nombre de tu base de datos de WordPress */
define('DB_NAME', 'NOMBRE_BASE_DATOS');
/** Tu nombre de usuario de MySQL */
define('DB_USER', 'USUARIO');
/** Tu contraseña de MySQL */
define('DB_PASSWORD', 'PASSWORD');
/** Host de MySQL (es muy probable que no necesites cambiarlo) */
define('DB_HOST', 'localhost');

Este paso es fundamental si queremos evitar los errores tipo: Error de conexión con la Base de Datos.

En esta nueva base de datos remota hay que importar la exportada.

Si recordamos, al exportar la base de datos de nuestro servidor local; esta base de datos contiene campos configurados con la información del servidor anterior y deben ser actualizados a la nueva dirección web. Donde normalmente los parámetros tienen el valor de ‘http://localhost/misitio/’ este se debe convertir en algo como ‘https://jesuschicano.es’.

Según la documentación de WordPress, debemos cerciorarnos de que en las tablas de nombre wp_x_options se le modifiquen algunos de los campos manualmente por los nuevos parámetros. Estos cuatro campos son:

  • home
  • siteurl
  • upload_path
  • upload_url_path

Cómo cambiar las URLs HTTP a HTTPS en WordPress

Centrándonos en el tema que nos atañe, este proceso de convertir las urls antiguas a las nuevas urls es minucioso y delicado. Por eso, se va a explicar a continuación la serie de pasos que debemos a tener en cuenta para una correcta migración sin errores.

  1. Instalación del certificado SSL mediante la ayuda del plugin Simple SSL.
  2. Cambiar todas las URLs en la base de datos.

Aunque Simple SSL se encargue de las redirecciones al nuevo protocolo de HTTPS y haga las modificaciones pertinentes en la Base de Datos, no siempre sale como esperamos. En el caso de que esto sea un problema, podemos cambiar nosotros mismos manualmente todo aquello que está apuntando a tu antigua web hacia la nueva. Para ello, tenemos que lanzar las siguientes consultas SQL en la base de datos:

UPDATE wp_options SET option_value = REPLACE(option_value, 'URL antigua', 'URL nueva');

UPDATE wp_posts SET post_content = REPLACE(post_content, 'URL antigua', 'URL nueva');

UPDATE wp_posts SET guid = REPLACE(guid, 'URL antigua', 'URL nueva');

UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'URL antigua', 'URL nueva');
  1. Borra la caché y cookies de tu navegador. Podrían quedar rastros en la memoria de tu antigua web y no aprecies correctamente los cambios.
  2. Sustituye en tu archivo robots.txt los enlaces http por el protocolo https.
  3. Actualiza Google Search Console y Google Analytics a los nuevos parámetros https.

Estas son una premisas expuestos muy por encima. Si deseas ahondar en la correcta transformación de tu sitio web a una web segura te recomiendo que eches un vistazo a los tutoriales de estos dos grandes del mundo de WordPress:

Deja un comentario