Cómo corregir los elementos SSL No Seguros en una página con certificado de seguridad instalado en WordPress

Cómo corregir los elementos SSL No Seguros en una página con certificado de seguridad instalado

Determinando el problema

Para operar tu carrito de compras en WordPress es necesario, más que recomendado, tener instalado un certificado de seguridad SSL en tu sitio. El certificado está ya bien instalado, haces tu prueba: https://www.tudominio.com (donde tudominio.com es el nombre real de tu dominio) y todo parece estar bien al principio.

Sin embargo, pronto notas que los buscadores no están del todo felices con tu sitio.

Firefox señala en la barra de direcciones que el sitio no es totalmente seguro. Al dar click sobre el icono de “infelicidad” del buscador, te encuentras con la leyenda que el sitio puede contener material que no es totalmente seguro, probablemente imágenes.

Chrome mostrará igualmente un símbolo sobre el candado de seguridad SSL e indicará que la página incluye elementos que no son seguros.

Internet Explorer tendrá un mensaje similar, indicando al usuario sobre los elementos inseguros en la página.

La Causa

Este mensaje es originado pdebido a que una imagen, o varias, un CSS o JS, o cualquier otro tipo similar de archivo, está siendo cargado en la página sin una conexión segura. Un ejemplo de esto sería que una imagen estuviera siendo cargada sin utilizar el protocolo HTTPS. Por lo general, cuando elaboras tu sitio lo haces sin tener la protección de un certificado de seguridad. La imagen ya incluida en tu página cargará sin pasar por el protocolo de seguridad. Debido al hecho de que no todos los elementos de la página son enviados a través de un canal encriptado, el navegador notificará al usuario que puede existir un detalle o problema de seguridad con esa página en particular.

Es desafortunado que WordPress no verifique que una página segura contenga sólo elementos seguros. Si cargas una imagen cuando el sitio no ha sido aún protegido, esa imagen permanecerá en el terreno inseguro a menos que lo modifiques manualmente.

Solución 1

El primer paso para abordar este asunto es forzar a WordPress a que siempre utilice SSL. Eso significa que todo intercambio con el sitio, ya sea como usuario visitante o como administrador, será encriptado. Cuando tu sitio utiliza el comercio electrónico o maneja información sensitiva de tus usuarios, la seguridad nunca estará de más.

Para que tu sitio WordPress esté completamente encriptado, sigue los pasos siguientes: WordPress debe siempre utilizar el protocolo HTTPS y modifica el archivo .htaccess para forzar una conexión segura SSL.

Actualiza la configuración de WordPress

Este es el primer paso a realizar. Invertir el orden de estos pasos puede ocasionar problemas de funcionamiento en tu sitio.
Entra al administrador de tu sitio y ve a (Configuración > General). Actualiza las dos direcciones, tanto la de WordPress como la del sitio utilizando “https://” al inicio de tu dominio en lugar de “http://”.

Asegúrate de dar click en en el botón de Guardar en la parte inferior de la ventana. Después de realizar este cambio, es probable que debas entrar de nuevo, es lo normal.

Actualiza un archivo .htaccess existente

En tu cuenta de hospedaje, en el Administrador de Archivos, en una dirección similar a “/home/dominio.com/public_html” o “/home/usuariocpanel/public_html/”, encontrarás un archivo con el nombre “.htaccess”. Si no lo encuentras allí, pasa a la siguiente sección de este artículo.

Abre el archivo .htaccess y encuentra la sección similar al siguiente:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Actualiza esta sección para que incluya las dos líneas incorporadas en el siguiente ejemplo:

# BEGIN WordPress

RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Inmediatamente después de realizar este cambio, verifica el funcionamiento de tu sitio. Si no carga apropiadamente, quita estas líneas y consulta la última sección de este artículo.. Por lo general, el sitio funcionará sin problema y ahora todo llamado a http://www.tudominio.com será direccionado hacia https://www.tudominio.com, conexión segura y protegida.

Añade un archivo .htaccess

Si has actualizado el archivo .htaccess que ya tenías, salta esta sección.

Si tu sitio no tiene un archivo .htaccess, debes crear uno. Este archivo se encuentra en el directorio principal de tu sitio, por lo general en “/home/dominio.com/public_html” o “/home/usuariocpanel/public_html/”.

Crea el archivo .htaccess y pega la siguiente información:

# BEGIN WordPress

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

# END WordPress

Una vez hayas guardado este archivo, realiza pruebas de funcionamiento con tu sitio. Si el sitio no funciona apropiadamente, quita el archivo .htaccess y consulta la última sección de este artículo.

Solución 2

Una segunda solución es añadir un plugin a tu sitio. Aunque resulta más fácil, al incorporar el plugin se añade también más tiempo de procesamiento y mayor consumo de memoria en cada carga del sitio. Esto significa que el sitio cargará ligeramente más lento y consumirá más recursos del servidor.

En la sección de Plugins en tu administrador, da click sobre Añadir Nuevo y coloca en el cajón de texto: Fix SSL/Non-SSL. Instala y activa el plugin.

Cuando el plugin esté activo, dos cosas sucederán en tu sitio:
1. En toda solicitud segura a la página, todos las instancia de “http://www.tudominio.com” serán reemplazadas por “https://www.tudominio.com”, donde tudominio.com corresponde a tu dominio real.

2. Si la solicitud a la página no es segura, entonces toda instancia “https://www.tudominio.com” será reemplazada por “http://www.tudominio.com”.

En otras palabras, el plugin forzará a que todas las solicitudes de imágenes, archivos CSS y JS, atiendan el protocolo correcto, ya sea http o https, eliminando así inconsistencias que puedan provocar mensajes de inseguridad en los buscadores.

Errores en .htaccess

Si al modificar el archivo .htaccess se presentan errores, contacta a tu proveedor de hospedaje. Envía la modificación que deseas realizar y el detalle del problema encontrado. Con seguridad, le darán una solución apropiada a este problema.