En el tutorial de hoy veremos cómo pasar TODA nuestra web a SSL, o sea, a servidor seguro, para trabajar en HTTPS y que salga siempre "el candado verde".
Hay varias aproximaciones para hacerlo. Yo os contaré mi favorita, que aunque es más manual, luego no necesitas tener ningún plugin instalado una vez has acabado el proceso.
Entendiendo SSL
Antes que nada, permitidme un mini paréntesis para contar lo que es esto del SSL. Quien ya sepa de que va, que se lo salte ;)
Para tener SSL debéis contratarlo a vuestra empresa de hosting. Cada una tiene sus precios y ofertas, elegid el que os haga falta en función de vuestras necesidades. Pero... ¿Qué hace el SSL?
La idea es muy simple: Consiste en "encriptar" toda la información que el usuario manda, normalmente a través de formularios, al servidor. Por ejemplo, si hay un formulario de contactar (como en esta página, a la derecha), o hay un formulario de petición de presupuesto, o incluso un formulario de pedido de una compra, significa que el usuario está "mandando" información, ya sea su nombre, email, un mensaje o incluso una tarjeta de crédito.
Bien, pues si no tienes SSL, toda esta información se manda tal cual, sin encriptar o codificar. En principio eso no debería tener mucho problema si no fuera porque hay gente que se dedica a cazar esa información. Así que por si las moscas, el SSL "codifica" esa información antes de enviar, y luego el receptor la descodifica. De esta forma, si el hacker de turno lo interceptara, no pasaría nada, pues sólo tendría la información encriptada, con la que no podría hacer nada.
¿Hace falta poner SSL en TODA la web?
Con lo que estoy diciendo, algunos diréis "Bueno, pues en las páginas que no hay formularios no hace falta poner SSL". Sí, correcto, en principio eso es cierto, pero sería un poco raro tener "media web en SSL". Además hay ocasiones en las que no hay formularios pero se pasa información privada, como por ejemplo en las intranets o en el propio panel de control de WordPress.
Además, como ya comenté hace tiempo, ya sabemos que se tienen en cuenta HTTPS como factor para posicionar en Google. Así que mejor curarse en salud y pasar toda la web, tal y como hago yo, entre otras cosas porque tengo formularios de contacto en todas las páginas.
Así pues, sin más dilación, empecemos. El primer paso será cambiar las URLs principales de nuestra instalación de WordPress.
Cambiar la URL de WordPress
Bien, pues supongamos que ya hemos contratado SSL. Eso no hará que por arte de magia se aplique a nuestra web. Requiere que aparte de contratarlo, ahora lo configuremos.
Así que lo primero que haremos pues, será ir a "Ajustes / General", y ahí modificar las dos URLs que aparecen (Dirección de WordPress y Dirección del sitio), y añadiremos la "s" final en el https, tal que así:

Añadir la "s" en el https de la instalación
Esto lo que hará será modificar la raíz de nuestra instalación de WordPress. Sobretodo, antes de hacer esto, asegurémonos que tenemos contratado el SSL, ya que sino la liaríamos parda.
En el momento de hacer esto, automáticamente "saldréis" de la web. O sea, que sin quererlo ni beberlo os habréis desconectado y deberéis volver a iniciar sesión. No os preocupéis, es normal. Eso pasa porque hemos cambiado la URL, y puede afectar a la sesión o a las cookies. Sólo tendremos que identificarnos de nuevo y listos.
En principio, sólo haciendo esto ya tendremos la web entera en SSL, ya que WordPress genera automáticamente las URLs en función de esas dos variables que le hemos dicho ahí. Pero claro, esto pasará únicamente en las URLs nuevas, y las que se generan de forma automática... ¿Pero que pasa con las URLs que ya habíamos introducido? ¿Qué pasa si en un artículo o página habíamos enlazado otro artículo o página que en aquel momento no tenía la "s" en el http"s"?
O incluso ¿Qué pasa con las imágenes que tenemos en la web, que todas ellas tienen la URL sin el https? Bien, pues eso "rompería" el candadito verde, porque en esa página se estarían mostrando elementos "no seguros", ya que la URL de esas imágenes serían la versión no "https". Podemos comprobarlo abriendo la imagen en una nueva pestaña.
Bien, pues eso tendremos que modificarlo de forma más "semiautomática". ¡Allá vamos
Modificar las URLs antiguas para pasarlas a HTTPs
Cierto es que podríamos ir repasando manualmente todos los enlaces e imágenes de nuestra web y pasarlas a HTTPS una a una, pero eso sería eterno, especialmente si tu web es de un tamaño considerable, por lo que lo que haremos será usar el plugin "Better Search Replace", del que ya he hablado en alguna ocasión.
Este plugin es peligroso si no sabes lo que estás haciendo, o sea que ojo. Comprobad antes tres o cuatro veces antes de hacer nada.
Así pues, una vez lo instalamos vamos a "Herramientas -> Better Search Replace". Ahí veremos una interfaz en la que podremos buscar cualquier texto en nuestra base de datos y reemplazarlo por otro... así que supongo que ya sabéis lo que toca ahora: Buscar las URLs antiguas con "http" y cambiar por "https". El tema queda así:

Buscamos URLs en http y las pasamos a https
Repasemos los campos que tenéis que poner:
- Buscar: Aquí pondremos la URL que teníamos. OJO no pongáis simplemente "http", ya que eso reemplazaría también enlaces externos de otras webs que hemos enlazado, que quizás no tienen SSL. Aseguraros de poner vuestra URL base de WordPress antigua, algo estilo http://web.com.
- Sustituir con: Aquí pondremos la URL nueva, que será exactamente lo mismo pero con la "s" al final: https://web.com
- Seleccionar tablas: Tablas en las que queréis hacer el cambio. Debéis seleccionarlas todas.
- Case-Insensitive: Vamos a dejarlo sin marcar, pues no afecta. Básicamente es para decirle si tiene que tener en cuenta mayúsculas y minúsculas.
- ¿Quieres sustituir los GUIDs?: Esto es un tema muy técnico, no vale la pena entrar ahí. Simplemente lo dejáis sin seleccionar, para evitar problemas.
- ¿Quieres ejecutar "en seco"?: Esto es importantísimo, ya que si está activado no se realizará el reemplazar, simplemente nos avisará de lo que se modificaría en el caso que lo hiciéramos. 100% recomendable probarlo primero, y si todo está ok, luego lo demarcáis y lo ejecutáis de nuevo.
Bien, pues esto lo que hará será sustituir todas las URLs de la base de datos, para asegurarnos que incluso las antiguas pasan a ser SSL. O sea que ya lo tenemos todo listo y deberíamos tener el candadito verde siempre:

Candado verde = Seguro
Importante: Después de haber realizado la búsqueda y remplazo, ya podéis desactivar y desinstalar el plugin, ya no lo necesitaremos más, y es peligroso tenerlo ahí sin usar.
Y ahora a por un último detalle...
Redirigir las páginas HTTP a HTTPS
Finalmente hay un último punto que en muchas ocasiones olvidamos, pero que es muy importantes, y es el de redirigir todas las URLs de HTTP a HTTPS. Esto es importante por varios motivos, pero hay dos principales:
En primer lugar, porque seguramente tendremos enlaces de otras páginas que nos enlazan (y nos seguirán enlazando) a la versión sin SSL, o sea, "http", sin la "s". Es importante que todos esos enlaces vayan a la página buena y segura, para no perder ni un puntito de SEO.
Y por otra parte, para evitar contenido duplicado. Si no hiciéramos esa redirección, significaría que podemos "ver" la web tanto en una URL como en otra:
- http://web.com
- https://web.com
Si ambas funcionan y muestran lo mismo, querría decir que tendríamos contenido duplicado (mismo contenido en diferentes URLs). Así que para evitarlo, deberemos añadir las siguientes instrucciones en nuestro archivo .htaccess:
Con estas líneas nos aseguramos que tanto se se accede a nuestra web a través de http como a través de https, siempre se redirigirá a la versión segura.
Ah, y no olvidéis avisar a WebMaster Tools del cambio. Podéis ver cómo hacerlo en el curso de Webmaster Tools, en el que enseño todo esto y más.
Conclusión
La web está cambiando, y cada vez es más importante tener una web segura en SSL, ya sea para ti (evitar que nadie te acceda al panel de control si usas un WiFi público, mejorar el SEO, poder usar Stripe etc), como para tus usuarios (privacidad y seguridad de sus datos), pasar tu web a servidor seguro es una buena apuesta.
Así pues, os aconsejo no esperar más e iniciar los trámites lo antes posible. No es urgente, pero es importante. ¡O sea que no lo procrastinéis! ;)