Aprende a instalar un Certificado SSL Let's Encrypt en tu Hosting cPanel y como activarlo en WordPress para distribuir los contenidos bajo protocolo HTTPS de forma segura.
La velocidad con la que los cambios se suceden en Internet, principalmente en materia de seguridad y concretamente en la orientada a las pasarelas de pago, formularios, accesos y otros donde la necesidad de proteger datos sensibles es prioritaria nos lleva inexorablemente al uso de certificados de seguridad que añadan una capa de protección "extra" con el fin de no exponer información sensible.
Hasta hace poco se creía que el uso de un Certificado SSL (Secured Socket Layer) o "capa de conexión segura" era solo para clientes que tienen un sitio WordPress orientado al comercio electrónico (WooCommerce por ejemplo) y que seguramente necesitan disponer de un certificado SSL para validar la identidad de su sitio web y encriptar toda la información enviada desde y hacia el sitio web.
Google nos ha puesto los pies en nuestro sitio y ha dejado claro que cualquier web publicada en Internet debería utilizar una capa de seguridad mediante protocolo HTTPS, y ahora más que núnca esto también afecta al posicionamiento de los sitios web que no lo utilicen.
Cuando haces uso de un certificado SSL (https) instalado en tu Hosting, los datos de los compradores o visitantes estarán totalmente asegurados para todas las transacciones financieras, nombres de usuario y contraseñas, e información de tarjetas de crédito.
Índice de contenidos del Artículo
- ¿Qué es un certificado SSL?
- Certificados SSL Let's Encrypt
- Habilita AutoSSL desde tu cPanel
- Vídeo explicativo de la instalación
- Configura Certificados SSL ya instalados
- Aplica redirecciones en .htaccess
- Redirecciona de HTTP a HTTPS
- Redirecciona de HTTPS a HTTP
- Verifica el estado SSL de un dominio desde cPanel
- Conclusiones
¡Empezamos! ヅ
¿Qué es un certificado SSL?
El protocolo SSL permite cifrar los datos de un sitio web garantizando a los clientes o visitantes que el sitio al que acceden es legítimo y que aplica una capa de seguridad adicional para evitar exponer datos sensibles.
Los datos que se transmiten a través de SSL se codifican para garantizar que no puedan ser interceptados por terceros.
Certificados SSL Let's Encrypt
Puedes ver en este vídeo información general de este tipo de certificados SSL gratuitos que puedes obtener desde este enlace donde lo explicamos con mayor detalle.
Habilita AutoSSL desde tu cPanel
Para instalar un Certificado SSL (para clientes de Webempresa) tienes que acceder a tu Área de Cliente y en el menú superior Hosting seleccionar el submenú Certificados
Haz clic en la imagen para ampliarla
Dentro de este apartado haces clic en el botón azul Gestionar certificados del Hosting contratado. Si tienes varios deberás realizar este proceso para cada dominios que tengas asociado a una cuenta de Hosting.
En la página que se muestra en Nuevos certificados para <tu-dominio> tienes la opción de instalar los certificados SSL Let's Encrypt o Comodo (este último de pago).
Haz clic en la imagen para ampliarla
Haces clic en el botón azul Habilitar AutoSSL para instalar automáticamente un Certificado SSL Let's Encrypt para el dominio seleccionado.
Verás el siguiente aviso en la parte superior de la pantalla:
Al solicitar el certificado para www.sudominio.tld el certificado funcionará para www.sudominio.tld y sudominio.tld indiferentemente.
No debes por el momento activar la autoconfiguración de SSL para WordPress.
Vete a tu cPanel, Seguridad, SSL/TLS y en Instalar y administrar SSL para el sitio (HTTPS) comprueba que ahora son visibles los Certificados SSL instalados.
Haz clic en la imagen para ampliarla
Ahora toca activar SSL en WordPress, ...sigue leyendo!
Accede de nuevo a tu Área de Cliente, Hosting, Certificados, y haz clic en el botón azul Gestionar certificados.
Abajo verás una caja informativa con un aviso en amarillo, donde te mostrará información de los dominios detectados activos, con Alias www, en un selector, y un tickbox que debes marcar para confirmar que deseas que se configure SSL para el sitio web de cada dominio que desees.
También debes marcar la casilla (tickbox) Acepto que se haga el cambio de configuración automático de mis webs en Wordpress. para confirmar que se realice dicho cambio.
Haz clic en la imagen para ampliarla
Si todo está ok por tu parte haces clic en el botón azul Convertir las instalaciones de WordPress seleccionadas a HTTPS.
Nota Este proceso también reemplaza las urls de tu web con HTTP para que pasen a ser HTTPS, por lo que no es necesario que luego tu por tu cuenta ejecutes scripts como searchreplacedb2.php o utilices plugins como Better Search Replace para cambiar urls masivamente.
Concluido el proceso obtendrás un registro (log) en pantalla de los Resultados del cambio a HTTPS de las webs seleccionadas aplicados en la instalación de WordPress en la que quieres habilitar SSL (https).
Haz clic en la imagen para ampliarla
Y un aviso que no debes pasar por alto:
Puedes comprobar que certificados SSL tienes instalados y para que dominios, urls temporales (también es válido) desde tu cPanel, Seguridad, SSL/TLS.
Haz clic en la imagen para ampliarla
Vídeo explicativo de la instalación
En el siguiente vídeo te explico como instalar un Certificado SSL Let's Encrypt en tu cpanel de Webempresa y posterormente activar HTTPS en WordPress para distribuir tus contenidos de forma segura.
Configura Certificados SSL ya instalados
Si ya tienes un Certificado SSL instalado y por alguna razón no lo has aplicado a tu sitio web, te explico el proceso para activarlo en una instalación de WordPress.
- Accede a tu sitio WordPress como administrador
- Vete a Ajustes, Generales
- En el campo Dirección de WordPress (URL): cambia http:// por https://
- En el campo Dirección del sitio (URL): cambia http:// por https://
Haz clic en la imagen para ampliarla
A partir de este cambio, si tu Certificado está correctamente instalado, el sitio WordPress trabajará a través de SSL.
También puedes realizar el cambio modificando el archivo wp-config.php de tu instalación añadiendo los defines:
define('FORCE_SSL_LOGIN', true); define('FORCE_SSL_ADMIN', true);
Haz clic en la imagen para ampliarla
Nota Haz una copia de seguridad del citado archivo antes de modificarlo.
Por último podrías realizar una redirección de http:// a https:// forzando todas las páginas de tu dominio a cargar usando dicho protocolo seguro desde .htaccess colocando el siguiente código:
RewriteEngine On RewriteCond %{ENV:HTTPS} !on [NC] RewriteCond %{QUERY_STRING} !wc-api [NC] RewriteCond %{HTTP_HOST} ^dominio.com$ [OR] RewriteCond %{HTTP_HOST} ^www.dominio.com RewriteRule ^(.*)$ https://dominio.com/$1 [R=301,L,NE]
Haz clic en la imagen para ampliarla
Nota Debes sustituir dominio.com por el nombre real de tu dominio.
Ten en cuenta que desde principios de 2017 Google ha optado por premiar y priorizar el posicionamiento orgánico de los sitios web que utilicen SSL, obviamente sin dejar de lado los contenidos.
Tampoco olvides realizar una redirección 301 de todas las páginas HTTP hacia sus versiones HTTPS para evitar que tu posicionamiento se vea afectado y desde tus Herramientas para Webmasters realizar el cambio de HTTP a HTTPS teniendo en cuenta que antes debes tener ambas versiones dadas de alta en tu cuenta de Google Search Console.
¿Necesitas redireccionar el tráfico de HTTP a HTTPS o a la inversa en el archivo .htaccess y no sabes como? ...sigue leyendo.
Aplica redirecciones en .htaccess
Cuando instalas un Certificado SSL debes tener en cuenta que una de las configuraciones importantes a realizar es la redirección de los dominios sin SSL a esos mismos dominios pero con SSL de forma que todo el tráfico sea reconducido hacia la URI correcta pero bajo HTTPS.
Esto implica añadir una serie de códigos en el archivo .htaccess de la carpeta donde se encuentre la web que quieras dejar funcionando bajo HTTPS.
Lectura recomendada:
.htaccess en cPanel ¿dónde está el archivo?
Los códigos de redirecciones globales, en este caso aquellos que van a enviar el tráfico de HTTP hacia HTTPS deben situarse al principio del archivo .htaccess para que sean interpretados en primer lugar.
Te planteo 2 casos de redirección 301 habituales:
- Redireccionar de HTTP a HTTPS
- Redireccionar de HTTPS a HTTP
Este último es útil en casos en los que por alguna razón has habilitado SSL en un sitio web, se han producido problemas o errores por una incompleta o incorrecta activación de SSL y necesitas dejar la web temporalmente funcionando de nuevo con HTTP (no SSL) mientras resuelves el incidente.
Redirecciona de HTTP a HTTPS
Cabe decir que es necesario disponer de un Certificado SSL instalado en el Hosting para poder hacer uso de este protocolo más seguro.
# Enviar trafico HTTP a HTTPS RewriteEngine On RewriteCond %{ENV:HTTPS} !on [NC] RewriteCond %{HTTP_HOST} ^tudominio\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.tudominio\.com$ RewriteRule ^(.*)$ https://tudominio.com/$1 [R=301,L,NE]
Pueden existir casos en los que queramos añadir excepciones en el forzado de la redirección de HTTP a HTTPS (por ejemplo, la página de notificación de Redsys).
Puedes hacerlo añadiendo una línea de código adicional. Si por ejemplo, quieres añadir una excepción para la url https://tudominio.com/?wc-api=WC_redsys tendrás que dejar el código anterior de la siguiente forma:
# Enviar trafico HTTP a HTTPS RewriteEngine On RewriteCond %{ENV:HTTPS} !on [NC] RewriteCond %{QUERY_STRING} !wc-api [NC] RewriteCond %{HTTP_HOST} ^tudominio\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.tudominio\.com$ RewriteRule ^(.*)$ https://tudominio.com/$1 [R=301,L,NE]
Otro ejemplo, si no quieres forzar el uso del HTTPS para la url https://tudominio.com/blog/entrada1.html tendras que poner un código como el siguiente:
# Enviar trafico HTTP a HTTPS RewriteEngine On RewriteCond %{ENV:HTTPS} !on [NC] RewriteCond %{REQUEST_URI} !\/blog\/entrada1\.html$ [NC] RewriteCond %{HTTP_HOST} ^tudominio\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.tudominio\.com$ RewriteRule ^(.*)$ https://tudominio.com/$1 [R=301,L,NE]
Redirecciona de HTTPS a HTTP
Puede darse el caso que aún teniendo un Certificado SSL instalado (Comodo, Let's Encrypt, etc) quieras forzar el tráfico encriptado SSL para que se sirva con HTTP por diversas razones (pruebas con plugins conflictivos, configuración de una pasarela pago que no trabaja bien por HTPPS, etc), en cuyo caso códigos como el siguiente te permitirán pasar de HTTPS a HTTP sin desinstalar el Certificado SSL de tu Hosting.
# Enviar trafico HTTPS a HTTP RewriteCond %{ENV:HTTPS} on [NC] RewriteCond %{HTTP_HOST} ^tudominio\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.tudominio\.com$ RewriteRule ^(.*)$ http://tudominio.com/$1 [R=301,L,NE]
Nota Debes sustituir tudominio.com por el nombre real de tu dominio.
Verifica el estado SSL de un dominio desde cPanel
Las nuevas versiones de cPanel (66.0.x) permiten ver el estado de los Certificados SSL instalados en base a dominios y subdominios asociados a una cuenta de Hosting que estén añadidos en el Panel de Hosting.
Accede a tu cPanel y ve al apartado Seguridad, SSL/TLS Status.
Haz clic en la imagen para ampliarla
Escribe el nombre de un dominio/subdominio o mira el listado que se muestra debajo de la caja de búsqueda.
En la columna Certificado podrás ver que dominios/subdominios tienen un Certificado SSl instalado y activo y si está correctamente instalado o no.
Haz clic en la imagen para ampliarla
Si te asusta un poco toda la información inicial que muestra la tabla de SSL/TLS Status, no te preocupes, puedes hacer clic en el icono de rueda dentada a la derecha del buscador para desplegar una tabla con 4 columnas y opciones que puedes activar o desactivar en cada tickbox
para reducir la información visible y no liarte demasiado.
Haz clic en la imagen para ampliarla
Existen plugins como WordPress HTTPS (SSL) para gestionar SSL en WordPress, pero en casos como este, en los que se muestra que es más viable realizar la implementación desde el dashboard, por medio de .htaccess o en el archivos wp-config.php, cargar la instalación con más plugins es innecesario.
WordPress HTTPS (SSL)
Conclusiones
Utilizar Certificados SSL para que tu sitio trabaje bajo protocolo HTTPS es muy importante, tanto que buscadores como Google priorizan el indexado de sitios con SSL en perjuicio de aquellos que trabajen todavía con HTTP.
Instalar un Certificado SSL y configurarlo en WordPress es una tarea que no debería llevarte más de 10 minutos por lo que posponerla a tiempos mejores no hará que tu web sea más segura y tampoco que Google la mire con buenos ojos ¿a que estás esperando?
A ti te toca ahora determinar cual es la opción más factible para implementar SSL en tu sitio web WordPress para añadir seguridad adicional en las operaciones que implican la manipulación de datos delicados (las pasarelas de pago gestionan los datos de compras en servidores externos ajenos al tuyo) y mejorar tu karma con Google.