Si tienes una web hecha en WordPress seguro que has oído hablar de los certificados SSL.
Y si no es así, ya va siendo hora de lo hagas. Es el futuro de la web… Y el presente también.
«Vale, Pablo. No te pongas así. Un certificado ¿qué?»
Índice del post:
¿Qué es un certificado SSL?
Las siglas SSL vienen de Secure Sockets Layer, lo que significa capa de puertos seguros.
Es decir, es un protocolo que se añade una capa de seguridad al visitante de una página web. Los datos viajan encriptados de extremo a extremo. El internauta puede navegar tranquilo, ya que se encuentra en un lugar de confianza.
En definitiva, un certificado SSL asegura que tus datos (email, nombre, dirección, contraseñas, tarjeta de crédito, etc.) no pueden ser robadas por terceros (hackers malintencionados).
Por este motivo es importante que esté instalado y activo en todas las páginas web que recaban información, especialmente en tiendas virtuales o sitios donde haya que dar datos personales.
Esto significa que prácticamente todo Internet es peligroso. Cuando comentas en un blog o en la edición digital de un periódico dejas tu correo electrónico o te logueas con tu cuenta de alguna red social. Sin una conexión segura esa información es vulnerable.
Las conexiones HTTP, por tanto, son peligrosas. Las seguras son las HTTPS.
Precisamente esa ‘S’ final hace referencia a ‘Secure’ (segura).
Ventajas del certificado SSL
Seguridad: incorporas una capa de seguridad en tu web.
Privacidad: proteges los datos de tus visitantes, lectores, compradores, etc.
Confianza: esto les hace confiar en ti en tu sitio web.
Mejoras el SEO: ya has visto que Google aboga por un Internet seguro y premia a los que contribuyen a esa labor.
Compatibilidad con HTTP/2: es un protocolo de comunicación mucho más rápido que el actual y que está próximo a implantarse a escala mundial.
¿Y por qué nadie lo tenía hasta ahora?
«Tan importante que dices que es el SSL y resulta que hasta hace unos meses era raro ver el candadito verde al lado de la URL de casi ninguna página. Salvo los bancos y los ecommerce, casi nadie lo tenía».
Hay tres razones por las que sucedía esto:
El precio: tener un certificado costaba unos 100€ anuales (el más barato).
El desconocimiento: los administradores de las páginas no le daban mucha importancia (ni yo tampoco) porque no sabían lo que estaba en juego.
Posicionamiento web: o lo que es lo mismo, el SEO. Google ha anunciado que premiará a las webs que tengan SSL funcionando y posicionarán mejor.
¿Y qué ha cambiado?
Certificados gratuitos con Let’s Encrypt
Además de tener un mayor conocimiento de la necesaria privacidad de los datos de los usuarios y de ser incentivados por Google, los blogueros y demás administradores de webs nos hemos encontrado con una solución maravillosa e inesperada: instalar un certificado SSL es GRATIS.
Y no solo eso, sino que los principales proveedores de hosting facilitan su instalación.
Inciso: si tu hosting no te ofrece certificado Let’s Encrypt, ya te estás cambiando.
Let’s Encrypt es una asociación sin ánimo de lucro, impulsado por la Fundación Linux, con el objetivo de crear una entidad que ofrezca certificados SSL libres y gratuitos, lo que significa que ya no hay que pagar para tener una web segura.
Dichos certificados caducan a los 90 días pero se renuevan automáticamente.
Esta ONG está patrocinada por grandes corporaciones digitales como Facebook, Google o Automattic (empresa propietaria de WordPress).
Tienes más información sobre esta entidad en esta entrevista.
Cómo instalar un certificado SSL
Antes de empezar, es fundamental que realices una copia de seguridad de tu sitio.
Si tiens backups automáticos, porque tu servidor es muy molón o porque tienes un plugin que lo hace, está genial, pero te recomiendo que hagas una manualmente, por si acaso.
En algunos proveedores, como Raiola Networks, ya viene instalado y activado, por lo que solo tienes que configurar WordPress para que funcione. Otros, como SiteGround (en el que está alojado este blog), tienes que instalarlo y activarlo desde el panel de control (cPanel). Tardas un minuto en hacerlo. Es muy sencillo.
Si no sabes si lo tienes instalado, pon tu dominio aquí.
Cómo configurar WordPress para activar SSL
En primer lugar, si usas algún CDN (como CloudFlare), desactívalo.
Supongamos que tenemos un blog en funcionamiento con una URL del tipo http://miblog.com
El objetivo tiene que ser que cargue en HTTPS, así lo hará a través del certificado SSL que acabamos de instalar y activar. Pues vamos a ello.
En función de cuál sea tu proveedor de hosting y de su soporte técnico (y una pizca de suerte), el proceso puede ser instantáneo o una pesadilla.
He visto mucho métodos: algunos funcionan a la primera y otros dan más guerra.
Te recomiendo leer el post entero y luego tomar una decisión.
Vamos a ver dos: el manual (y sus variantes) y el automático.
Soy más partidario del método automático.
Aunque es una decisión tuya.
Método manual (o casi)
Aquí tendremos que ir al panel de control de WordPress y entrar en Ajustes.
Cambiaríamos la URL de nuestro sitio de ‘http’ a’ https’.
Nota: si no has instalado el SSL, tu sitio quedará inservible. Por eso he remarcado que hagas una copia de seguridad antes.
El sistema te expulsará de la administración, dado que al cambiar la URL no te identifica. No pasa nada. Vuelves a loguearte con vuestro usuario y contraseña.
Si te fijáis, el panel de administración de WordPress ya es seguro.
En principio, ya estaría todo listo. ¿Demasiado fácil para ser verdad, no?
Puede que en este momento te funcione todo genial y ya tengas el candadito verde en el frontend o parte pública. Lo normal es que no te aparezca y cuando hagas clic en información te ponga algo así como «contenido mixto». Esto significa que hay algunas partes de tu web que siguen cargando con HTTP.
Para solucionar esto, podemos descargar la base de datos, reemplazar todos los HTTP por HTTPS con algún editor de código como Notepad++ y volverla a subir (borrando las tablas de la que está online e importando la offline). Es un poco peñazo, pero es el método 100% manual.
Este proceso es mucho más llevadero si utilizamos el plugin Better Search Replace. Este plugin hace lo mismo. Se mete en la base de datos y modifica las URLs. Ojito con lo que haces, que la puedes liar.
Tran instalarlo y activarlo, vete a Herramientas /Better Search Replace.
Ahora tienes que cambiar las URLs antiguas por las nuevas (como aparece en imagen).
Selecciona todas las tablas: haz clic en una y luego Control+A. Las casillas ‘Case-Insensitive?’ y ‘ ¿Quieres sustituir los GUIDs ?’ déjalas en blanco.
La última casilla es importante. Ejecutar «en seco». Sirve para hacer una prueba. Por defecto viene marcada. Déjala así y dale al botón inferior. Si todo va bien, desmárcala y vuelve a presionar el botón.
Acabamos de sustituir las URLs de la base datos. Todas son seguras. Por lo que debería aparecer el candadito verde.
Una vez usado el plugin, desactívalo y bórralo. Ya no te será útil.
Por último, debemos redirigir las direcciones HTTP a HTTPS por dos motivos: evitar contenido duplicado y que siempre se muestre la versión segura de nuestra web.
Esto se puede hacer de dos formas (adivina): manual y (semi)automática.
La primera consiste en acceder a nuestro hosting y buscar el archivo htaccess. Si no lo ves, activa los archivos ocultos.
Debemos añadirle el siguiente código:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.miweb.com//$1 [R=301,L]
* Por supuesto, donde pone www.miweb.com tienes que poner la tuya.
La segunda opción es mediante el plugin Easy HTTPS Redirection.
Después de instalarlo y activarlo, hay que ir a Ajustes/HTTPS Redirection, marcar las dos casillas y guardar los cambios. A continuación, aparecerá otra casilla llamada «The whole domain», la marcas y guardas.
Este método es (semi) automático porque es necesario introducir este código en el fichero wp-config.php
define(‘WP_HOME’,’https://midominio.com’);
define(‘WP_SITEURL’,’https://midominio.com’);
* Acuérdate de sustituir el dominio por el tuyo.
Este plugin no se puede borrar (ni desactivar), si quieres tener SSL. Por eso, prefiero tocar el archivo htaccess o usar directamente el automático.
Método automático – SSL en un minuto
Este blog se llama Fuera Códigos porque no nos gustan nada. Vamos a lo práctico.
Tras ver este largo y tedioso método manual, puedes hacer todo en un abrir y cerrar de ojos.
Basta con un plugin. Su nombre es Really Simple SSL. Lo instalas, lo activas y a funcionar.
Y si tienes SiteGround, te ahorras un plugin
SiteGround tiene un plugin de caché propio para WordPress. Bueno, antes era de caché (el SG Caché Press), ahora es un plugin más completo que agrupa varias funcionalidades. Entre ellas, la de forzar que la página se cargue en HTTPS para que el certificado SSL la proteja.
El plugin se llama SG Optimizer y, aunque lo puedes encontrar en el repositorio oficial de WordPress, solo funciona si tu sitio web está alojado en SiteGround. La empresa ofrece herramientas extra a sus clientes que le hacen desmarcase de la competencia.
Haz clic en el botón ‘Configure’ situado en el recuadro Configuración HTTS y aparecerá esto:
Activa el botón «Forzar HTTPS» y listo.
Comprobación de la instalación del certificado
Independientemente del método que hayas escogido, tienes que comprobar que todo ha salido bien. Si es así, debe aparecer el famoso candadito verde y cuando haces clic decirte que la conexión es segura.
Ahora, si tienes un CDN compatible con SSL, puedes volver a activarlo.
Si no sabes ni lo que es, no te preocupes, significa que no lo estás usando.
Solucionar problemas
Pero puede que te siga apareciendo una ‘i’ de información o un candado amarillo. Esto significa que hay algún contenido de la web que sigue cargando en HTTP, generalmente imágenes.
En este caso entra en esta web, pon tu dominio (con https://) y mira a ver qué elementos no cargan correctamente. Si son imágenes, vete a tu WordPress, bórralas (de la biblioteca multimedia no solo de la entrada o post) y vuélvelas a subir desde tu ordenador.
Si el problema persiste, ponte en contacto con el soporte técnico de tu hosting.
No te olvides del SEO
Una vez terminado el proceso hay que tener en cuenta que Google conocía tu página como http://tuweb.com y ahora es https://tuweb.com, por lo que debes hacerle saber que tu URL ha cambiado y que ahora es más segura.
Para ello debes ir a Google Search Console y añadir una nueva propiedad en la que pondrás tu nuevo dirección (con la ‘s’). Si tu propiedad ya estaba verificada, basta con decirle donde está tu sitemap (https://tuweb.com/sitemap_index.xml).
Ni de Google Analytics
Para poder seguir realizando el seguimiento de tu página, tienes que cambiar la dirección de tu propiedad. Esto se hace accediendo a tu panel/administrador/configuración de la propiedad.
Pones el https:// delante de tu dominio, vas hasta abajo y haces clic en ‘Guardar’.
Extra: cómo instalar WordPress desde cero con protocolo SSL
«Pablo, ¿todavía hay más?»
Sí, solo unas líneas para explicarte que puedes instalar tu propia web directamente desde cero con el protocolo HTTPS. De este modo te evitas el trago de tener que hacer el cambio después.
Basta con utilizar el instalador automático de cPanel y elegir un dominio seguro. Recuerda que antes de hacer esto debes tener instalado el certificado SSL en tu hosting.
Para que lo veas con claridad, te lo cuento en un vídeo.
Hola Pablo
Sabes que puedo hacer si un becario intento hacerlo pero cambio el http por https sin mas y no guardo copia de seguridad?
Estoy asustado
Hola Pablo
Estoy por hacer mi pagina web en este HOSTINGS – https://ar.godaddy.com/offers/domains/godaddy-nb?isc=goflar34&countryview=1¤cyType=ars&gclid=CjwKCAiAxeX_BRASEiwAc1QdkeQToKKY0tYb37SsNq5Fs04M3N9Z7HcEwn75SDzf4xfvCQ0GpFm6yxoCWy4QAvD_BwE&gclsrc=aw.ds
Podrias decirme si ofrece Let’s Encrypt
Tengo poco y nada de conocimiento en wordPress aunque mirando videos creo que lo voy a lograr –
Gracias y Saludos
Hola, Jorge.
GoDaddy no ofrece Let’s Encrypt y no te lo recomiendo en absoluto. Utiliza Webempresa que es el que yo tengo, tiene certificado SSL y va de maravilla.
Saludos.
Gracias por este estupendo post, vamos a intentarlo.
¡De nada, Juan Pedro! 😉
nunca entendi como instalar el ssl haces los mismo paso que hice pero sigo sin el candado verde
Probablemente ya lo tengas instalado y tengas contenido mixto en tu web. Por eso no te aparece el candado verde. Pon tu dominio en Why No Padlock y sabrás cuál es el problema.
Si persiste, contacta a tu hosting.
Saludos.
Hola Pablo! Te agradecería mucho ayuda porque estoy realmente desesperada! Mi dominio no estaba usando con un plan de hostalia que me ofrecía el diseño de la web. Decidí cambiar sólo hosting para hacer la página totalmente nueva con WordPress. Mi dominio tiene certificado. Instale el WordPress desde hostalia pero tanto en midominio/wp-admin como al entrar en mi web (poniendo la dirección https://midominio.com) me sale que el sitio no es seguro. Qué puede pasar? Llevo dos días desesperada con esto.
Gracias!!!
¡Hola, Cristina!
No entiendo muy bien tu historia con Hostalia. ¿Tienes con ellos el dominio y el hosting en otro proveedor? WordPress se instala asociado a un dominio, pero en el hosting.
Puede que tengas el certificado instalado pero no activo. Lo explico en el post.
Si sigues teniendo problemas, ponte en contacto con tu hosting.
Saludos.
Muchas gracias por toda la explicación!
Antes de empezar con esto (voy a elegir la forma automática) quisiera saber si no voy a tener problemas para ingresar en la administración del WordPress después que haga el cambio ya que ahora está en http. El plugin se encarga de todo??
Perdón si es una pregunta tonta pero no manejo bien estos temas.
Gracias!
De nada, Nancy 😉
No hay preguntas tontas, solo respuestas tontas, así que tranquila 🙂
Si tu hosting ofrece certificado SSL, no deberías tener ningún problema.
Te recomiendo hacer una copia de seguridad por si acaso.
Saludos.
Hola, ¿qué tal, Pablo?
Descargué el plugin Easy Https Redirection y no me fue tan bien. El cPanel inicia sesión normal pero no puedo realizar nada porque hace la dirección y me sale error.
Hola, León Darío.
Como te comenté por email, es posible que se te haya olvidado pegar este código en el fichero wp-config.php
define(‘WP_HOME’,’https://midominio.com’);
define(‘WP_SITEURL’,’https://midominio.com’);
* Acuérdate de sustituir el dominio por el tuyo.
Si te sigue dando problemas, puedes eliminar o cambiar el nombre de la carpeta del plugin desde cPanel para que no siga activo.
Un saludo.
Hola buenas tardes, mira hice utilice el modo manual y no puedo volver a la pagina me sale de una vez el error LA CONEXION NO ES PRIVADA y no que hacer.
Hola, Camilo.
Pueden ser varias cosas:
1. Que el certificado no se haya instalado correctamente.
2. Que haya algún problema en el redireccionamiento de HTTP a HTTPS.
3. Que tengas contenido mixto. Alguno de los elementos está cargando con HTTP.
Te aconsejo que te pongas en contacto con el soporte de tu hospedaje. Suerte.
Hola, yo seguí el método automático del plugins y me aparece el candado en rojo, dice que por el certificado es auto instalado, que puedo hacer? mi hosting es mochahost
saludos!
Hola, Katherine.
Para que funcione el certificado tiene que estar previamente instalado en el dominio. No es suficiente con instalar y activar el plugin. Si me dices tu dominio, quizá pueda echarte una mano.
Saludos.
Muchas gracias Pablo!
Mi hosting es hostalia. Cambiaré!
Sabia decisión, Juan Carlos.
Yo uso WebUp y estoy encantado.
Saludos.
Hola Pablo!
Lo primero agradecerte tu ayuda con cada uno de tus artículos.
He solicitado el certificado Let’s encrypt a mi hosting pensando que era gratuito después de leer tu artículo y me contestan que tengo que pagar.
Te adjunto respuesta:
La intalación de su certificado gratuito conlleva un coste de 45€ + IVA para generar el CSR y poder hacer la instalación. Al ser un hosting compartido
Aunque el certificado sea gratuito la instalación no lo es, por eso siempre recomendamos la adquisición del certificado básico que podemos ofrecerle, Rapid SSL, que tiene un coste anual de 23,88€ + IVA
¿Que te parece?
Gracias
Hola, Juan Carlos.
Voy a ser muy honesto. Tu hosting tiene mucha jeta. El certificado Let’s Encrypt es gratuito y si tu hosting utiliza cPanel ya viene instalado. Lo que pasa es que hasta hace poco los proveedores se lucraban con los certificados de seguridad y ahora les molesta no poder hacerlo.
Mi recomendación es que te cambies de hosting. Hay muchos que no intentan aprovecharse y que funcionan realmente bien. Te dejo el enlace a una web de análisis y comparativas de hosting que he creado junto con otros dos compañeros: https://hostingsaurio.com/
Saludos.
Hola Pablo! Muchas gracias por tan excelente artículo. Super completo y bastante claro. Me ha servido un montón! Ya configuré los certificados en todas mis webs por el método automático :). Mil gracias!!!
Hola, Adriana.
Me alegro mucho de que te haya servido. Ese era el objetivo 🙂
Compártelo para que pueda ayudar a más gente 😉
Hola Pablo, mil gracias por tan buen articulo, yo compre mi hosting y dominio con GoDaddy, y tengo conocidos que están haciendo tu tutorial y me dicen que a la hora de hacer los cambios en el CPanel no aparece Lets encrypt sino el ícono SSL/TLS, ¿Que debemos hacer?
Mil gracias por tu respuesta 🙂
Hola, Laura.
Me temo que GoDaddy no ofrece Let’s Encrypt. Se puede instalar de forma manual pero es bastante complicado y hay que repetir el proceso cuando caduca el certificado (90 días). Así que mi recomendación es que te cambies de hosting cuanto antes. Te recomiendo SiteGround.
Saludos 🙂
Hola Pablo, muy útil tu post.
De haberlo visto antes, yo misma me hubiese instalado el certificado y más de un eurillo, me hubiese ahorrado.
Te felicito por tu post.
Un afectuoso saludo
Hola, Adela. Bienvenida al blog.
La verdad es que antes era un tema complejo y ahora resulta sumamente sencillo. Lástima que no lo escribiera antes…
Un cordial saludo.
¡Qué grande Pablo!
Acabo de instalar el certificado ssl por el método automático (por que tú lo recomiendas ¿eh? no porque sea el más fácil) y ha salido todo genial a la primera.
Muy buen post.
¡Saludos!
Ya era hora de verte por aquí!!! 😉
Me alegro de que te funcione correctamente. Si es que con lo fácil que es hacerlo con un plugin, no tiene mucho sentido volverse loco y arriesgarse a tocar archivos delicados como el .htaccess que pueden dejarte sin web. Y además es mucho más rápido.
Que tengas un buen fin de semana.