La guía definitiva de HTTPS y SSL para WordPress
Publicado: 2018-10-16Probablemente haya notado en los últimos años que muchos de sus sitios web favoritos se han movido de direcciones HTTP a HTTPS. La letra agregada, aunque agrega muy poco tiempo y esfuerzo para escribir, agrega un valor inmenso y seguridad a esos sitios web. Tener un sitio HTTPS de WordPress no solo hará que su negocio sea más confiable para los visitantes, sino que también tendrá una clasificación más alta en las búsquedas.
¿Qué es HTTPS?
Si HTTP significa protocolo de transferencia de hipertexto . HTTPS significa protocolo de transferencia de hipertexto seguro . Mozilla Developer Network (MDN) tiene una definición sencilla y fantástica para el protocolo:
HTTPS ( HTTP seguro ) es una versión encriptada del protocolo HTTP. Por lo general, utiliza SSL o TLS para cifrar todas las comunicaciones entre un cliente y un servidor. Esta conexión segura permite a los clientes intercambiar datos confidenciales de forma segura con un servidor, por ejemplo, para actividades bancarias o compras en línea.
Si ha oído hablar del cifrado de extremo a extremo, esto es todo. Solo los dos clientes involucrados en la transacción pueden leer los datos. Cualquiera que pueda interceptarlo verá un lío confuso de personajes que son teóricamente irrompibles.
Suena bastante bien, ¿verdad? Entonces, ¿cómo se obtiene este campo de fuerza digital? Vía SSL.
¿Qué es SSL?
SSL significa capa de sockets seguros , y una vez más, MDN puede explicarlo mejor que casi nadie:
[SSL] es un protocolo que utilizan las aplicaciones para comunicarse de forma segura a través de una red, lo que evita la manipulación y la escucha clandestina del correo electrónico, la navegación web, la mensajería y otros protocolos.
Todos los navegadores modernos admiten el protocolo TLS, lo que requiere que el servidor proporcione un certificado digital válido que confirme su identidad para establecer una conexión segura. Es posible que tanto el cliente como el servidor se autentiquen mutuamente si ambas partes proporcionan sus propios certificados digitales individuales.
Estos certificados alguna vez fueron increíblemente caros y estaban fuera del alcance de casi todos, excepto de los sitios web más grandes. Vería el candado verde en sitios como Amazon y Twitter, pero los sitios de WordPress corrientes y corrientes (como la mayoría de los nuestros) no podían pagar los miles de dólares que cuesta comprar el certificado.

Por suerte para todos, a medida que los certificados SSL se han vuelto más necesarios tanto para clasificar como para realizar negocios, el precio no solo ha bajado sino que ha desaparecido por completo en la mayoría de los sitios. Actualmente, hay varios servicios que ofrecen certificados SSL gratuitos, incluida la mayoría de los hosts. Puede obtener un certificado SSL de WordPress con bastante facilidad y sin muchos problemas.
Cómo obtener un certificado SSL gratuito de WordPress
Suscríbete a nuestro canal de Youtube
El principal proveedor de certificados SSL gratuitos en estos días proviene de un servicio llamado Let's Encrypt.
Al utilizar sus servicios, obtiene todos los beneficios de tener un certificado SSL sin gastar un solo centavo. Y aquí está la mejor parte: la mayoría de los principales proveedores de alojamiento se están asociando con Let's Encrypt para que la instalación de un certificado SSL sea totalmente sencilla.
Puede obtener un certificado SSL gratuito de Let's Encrypt de dos maneras.
Opción 1. Instale su certificado SSL gratuito desde su cuenta de host (admitida)
Como mencioné, muchos hosts se están asociando con Let's Encrypt para agregar certificados SSL gratuitos directamente dentro de los tableros cPanel de sus clientes o en el tablero del host. Por ejemplo, si está alojando en SiteGround (como yo), puede instalar un certificado SSL en unos dos segundos. Desde el sitio de inicio de sesión principal, vaya a la pestaña Mis cuentas y a Servicios adicionales . Debería ver una sección llamada Let's Encrypt Certificates , y puede administrarlos e instalarlos donde desee haciendo clic en el botón Ver todo .

Además, puede hacer clic en el botón Ir a cPanel y encontrar el logotipo de Let's Encrypt debajo del encabezado Seguridad . Te lleva a la misma página que Ver todo .

Desde allí, verá una lista de todos sus certificados instalados. Si es la primera vez que lo revisa, no verá ninguna. Sin embargo, debería ver algo como esto:

Ya sea que instale un comodín (para todos los subdominios en el principal) o no, cuando presione el botón Instalar , su certificado SSL de WordPress está en camino.

El servidor procesará la instalación de su nuevo certificado SSL de WordPress. Pan comido. Estas casi listo. Sin embargo, todavía tenemos que configurarlo. Que se encuentra a continuación en la siguiente sección.
Además, lea esta lista completa de servidores web que ofrecen soporte directo para Let's Encrypt. El proceso para la mayoría de los hosts compatibles debería ser similar a SiteGround. Además, algunos hosts pueden cobrarle por usar Let's Encrypt. Es una especie de cargo falso, sinceramente, y muchos hosts que cobran están eliminando la tarifa, ya que Google hace de SSL el estándar web. Si el tuyo no lo ofrece gratis, puede ser el momento de considerar un anfitrión diferente porque no tiene en cuenta tus mejores intereses.
Opción 2. Utilice "SSL gratis" para configurar manualmente su certificado Let's Encrypt
Si su host no es compatible con Let's Encrypt, es posible que aún pueda obtener su certificado SSL gratuito utilizando un sitio web llamado SSL For Free.

El sitio le ayudará a configurar los certificados Let's Encrypt. Sin embargo, necesitará acceso a los detalles de FTP de su sitio y, potencialmente, el apoyo de su anfitrión. Si bien este método funciona, es muy práctico y es posible que deba renovar manualmente su certificado cuando caduque. Por eso, debe intentar encontrar un host que ofrezca soporte directo de Let's Encrypt porque simplifica enormemente el proceso. Si no puede por una razón u otra, SSL gratis es su mejor segunda opción.
Además, puede obtener certificados SSL gratuitos de Cloudflare y FreeSSL. Cloudflare ofrece un certificado SSL compartido en su plan gratuito. Si ya está utilizando Cloudflare, esta es una excelente manera de hacer que su sitio funcione con HTTPS. Luego está FreeSSL. Si bien aún no está disponible públicamente, este es un proyecto de certificado SSL gratuito de Symantec. Las organizaciones sin fines de lucro o las empresas emergentes pueden obtener FreeSSL ahora mismo. De lo contrario, puede registrarse para recibir una notificación cuando se haga público.
Si elige seguir esta ruta e instalar manualmente el certificado, Sucuri tiene una guía fantástica que lo llevará paso a paso a través del proceso de instalación. Sin embargo, tenga en cuenta que la instalación manual de SSL requerirá que use la línea de comandos, edite los archivos de WordPress Core y trabaje con trabajos CRON. Si esa no suena como su idea de un día divertido en el trabajo, permítame referirlo nuevamente a la Opción 1 anterior.
Cómo configurar su certificado SSL gratuito con WordPress
Independientemente de la forma que elija para obtener el certificado, una vez que esté instalado, los usuarios podrán ver una versión segura de su sitio en https://yoursite.com. Pero el hecho de que su conexión HTTPS de WordPress esté activa no significa que haya terminado. (Pero casi lo eres).
Para configurar correctamente WordPress HTTPS para que funcione con su certificado SSL, debe realizar algunos cambios. Puede hacer esto manualmente ... o podría usar un complemento increíble que hace todo por usted. Se llama Really Simple SSL y hace honor a su nombre.

El complemento maneja todo el proceso. Simplemente instálelo y actívelo. Tenga en cuenta que, naturalmente, cerrará la sesión de WordPress cuando ejecute el complemento por primera vez. Esto se debe a que el complemento cambia su URL predeterminada de "http: //" a "https: //". Todo lo que necesita hacer es iniciar sesión nuevamente con sus credenciales de inicio de sesión normales. ¡No hay necesidad de alarmarse!
Una vez que haya vuelto a iniciar sesión, verá que el complemento ya ha realizado los cambios necesarios. Las opciones predeterminadas suelen ser lo suficientemente buenas. Los encontrará en Configuración - SSL .

Y si esos no son lo suficientemente buenos y desea modificar un poco más, la pestaña Configuración está en la parte superior.

La opción que probablemente le preocupará más es la primera: reemplazar automáticamente el contenido mixto . La casilla debe estar marcada de forma predeterminada. Si no, compruébalo. Luego guarda la página.
Ahora estás listo para irte. Ha instalado y activado correctamente WordPress HTTPS y WordPress SSL. ¡Felicidades!
Solución de problemas de errores habituales de HTTPS / SSL
El hecho de que las cosas estén instaladas y listas no significa necesariamente que estén funcionando sin problemas. Puede encontrarse con algunos problemas en su sitio. Sin embargo, los sitios WordPress HTTPS son fáciles de solucionar. Repasemos las soluciones a algunos de los problemas más comunes.
En algún momento, después de configurar SSL en su sitio y pasar a WordPress HTTPS, es posible que termine viendo algunas imágenes rotas en su sitio. Es posible que las imágenes y el contenido que alguna vez aparecieron perfectamente en su sitio no se muestren como si no existieran. No te preocupes. No hiciste nada malo. Su sitio simplemente piensa que esas imágenes son inseguras (no lo son), por lo que debe asegurarse de que el SSL de WordPress esté configurado para mostrar contenido mixto.
Existen dos tipos diferentes de contenido mixto de sitios web. Uno se conoce como contenido activo mixto y se produce cuando HTTPS carga un script sobre HTTP. Esto es un gran no-no, pero no es lo que está sucediendo aquí. El otro tipo de contenido mixto se conoce como contenido de visualización mixto y es cuando el contenido que usa una conexión HTTP se carga en un sitio HTTPS. Si bien es posible que no haya cargado activamente ninguna imagen en su sitio web usando HTTP, había algo dentro de WordPress que hizo que fueran reconocidas como tales.
Básicamente, algo en su sitio web no le gustó que fue a HTTPS y automáticamente los está forzando a HTTP. Lo que los hace… bueno, no los hace. Así que arreglemos eso.
La primera y más coherente forma de abordar el contenido de visualización mixta es utilizar el complemento WordPress SSL Insecure Content Fixer.


Siempre que instale y active el complemento, su error de contenido mixto puede desaparecer de inmediato. De forma predeterminada, el complemento se establecerá en el conjunto de reglas simple dentro de su configuración (que se encuentra en Configuración - Contenido inseguro de SSL en su panel de administración de WP). Puede ajustar cuán estrictas son las reglas que sigue, hasta forzar HTTPS en todas las llamadas AJAX, pero la mayoría de las veces, Simple funcionará bien. En mi experiencia con este problema en particular, Simple ha funcionado todas y cada una de las veces. Pero tu kilometraje puede variar.

Si todavía muestra contenido mixto
Abra su sitio web, haga clic con el botón derecho y seleccione Ver código fuente de la página o presione CTRL / CMD - U. Verá el código fuente de la página que está viendo. En este punto, presione CTRL / CMD - F y busque src="http . Sí, con solo una cita. Está bien y puede continuar si ve 0.0.
Si obtiene algún resultado, eso significa que el sitio está extrayendo de una fuente HTTP, no de HTTPS. Para solucionarlo, debe profundizar en su base de datos (pero esta es fácil y cualquiera puede hacerlo).

El complemento Better Search and Replace básicamente le permite trabajar en su base de datos a través del panel de administración de WordPress. No tiene que lidiar con SQL o PHP o cualquier otra cosa. Es una página estándar de WordPress que funciona como una búsqueda y reemplazo típica que probablemente haya usado una docena de veces en procesadores de texto.

Tenemos una guía completa del complemento que puede leer aquí, pero el desglose para corregir el error de contenido mixto de WordPress SSL también es bastante sencillo.
- Descargue, instale y active el complemento
- Haga una copia de seguridad de su sitio
- Navegue a Herramientas - Mejor búsqueda Reemplazar en su base de datos de WordPress
- En el campo Buscar , ingrese la URL de su sitio web con http: // al principio.
- En el campo Reemplazar con , ingrese la URL de su sitio web con https: // en su lugar
- Resalte todas las tablas de la base de datos con CTRL / CMD - A
- Asegúrese de que ¿ Ejecutar como ejecución en seco? está chequeado. Al hacerlo, se asegurará de que los errores no rompan su sitio y puedan solucionarse de antemano.
- Presione el botón Ejecutar búsqueda / reemplazar
Si todo sale según lo planeado, la prueba demostrará que su búsqueda y reemplazo será exitoso y que puede ejecutarlo de verdad.

Redirigir HTTP a HTTPS
Ahora, eso debería haber solucionado sus problemas de contenido de pantalla mixta. Sin embargo, es probable que desee asegurarse de que su sitio sea lo más HTTPS posible para evitar otros problemas. Uno de esos problemas es cuando un sitio tiene un vínculo de retroceso a la versión HTTP de su sitio, pero en realidad está ejecutando la nueva versión HTTPS mejorada. Técnicamente, cuentan como dos sitios , y su enlace anterior podría aparecer como inseguro para algunos usuarios. Entonces, el siguiente paso es verificar su Configuración - Opciones generales . Asegúrese de que la dirección de su sitio esté configurada en HTTPS. Si no es así, hazlo y pulsa guardar. (El sitio cerrará la sesión. Está bien).

Después de eso, deberá ingresar a su cliente FTP y abrir su archivo .htaccess . Se ubicará en el directorio raíz de su instalación de WordPress.

Querrá descargar una copia de esto como respaldo, luego abrirlo en su editor de código favorito (el mío es Sublime Text). En la parte superior del archivo ( no entre las etiquetas # BEGIN / END de WordPress ), agregue el siguiente código. (Gracias a Dreamhost por el código en sí).
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Eso redirigirá sus antiguas URL HTTP a las versiones HTTPS a medida que se cargue su sitio web. Tenga en cuenta que en el código que está poniendo [L, R = 301] , es una redirección 301 permanente a través del archivo .htaccess . No necesitará un complemento de redireccionamiento 301 si hace esto. Al menos para el dominio principal.
Ahora, ¿recuerdas cuando dije que cuentan como dos sitios? Esto arregla eso. Le ha dado al nuevo sitio HTTPS de WordPress todo el link-juice y la clasificación de búsqueda que tenía su sitio HTTP. Ahora, asegúrese de quedárselo diciéndole a Big Daddy G (ese es mi nombre de mascota para Google en estos días) que se ha mudado a una ubicación más segura. Ahora es el momento de cargar Google Search Console.
Incluso si ya tiene la versión HTTP de su sitio registrada con Google Search Console, agregue el nuevo sitio HTTPS de WordPress como una nueva propiedad.

La Consola de búsqueda mostrará una ventana modal solicitando la URL completa del sitio. Aquí es donde debe asegurarse de ingresar la versión HTTPS. Tenga en cuenta que incluso el modal le dice que son propiedades separadas, solo para que sepa lo importante que es este paso.

Luego, pasará por el proceso de verificación de la propiedad como de costumbre. Cuando haya terminado con eso, Google se dará cuenta de que ha bloqueado su sitio de miradas indiscretas.

Una vez que esté verificado con Google y haya configurado Search Console con su nueva propiedad, bienvenido a su nuevo sitio HTTPS de WordPress. Debe estar libre y libre de errores que pueda manejar usted mismo.
Errores de SSL de WordPress con complementos y temas
Si todavía tiene errores en este punto, es muy probable que no esté en sus manos. O un complemento activo o su tema es el culpable más probable. Para ver cuál puede ser, haga clic con el botón derecho en su página y seleccione Inspeccionar en el menú. También puede presionar CTRL-SHIFT-I para abrir las herramientas de desarrollo. Mire a su alrededor hasta que vea la pestaña etiquetada Consola . Si hay errores, los verá resaltados en rojo.

Al observar los errores, podrá ver de qué tipo son. Si hay alguno etiquetado como Contenido mixto , puede consultar la URL del archivo proporcionado para ver qué parte de su instalación es responsable. Puedes identificarlo fácilmente. Será su tema o un complemento de la salida del error.
Ahora, ya que sabe qué está causando el error. Lo mejor que puede hacer es informar al autor del complemento o del tema. Muchos tienen foros de soporte o equipos de chat en vivo solo por esta razón. Le recomiendo que lo informe a los autores por un par de razones.
El primero es que jugar con los archivos de plugins y temas puede volverse bastante desagradable. Especialmente si no eres un desarrollador. Si bien puede modificar los archivos de temas mucho más fácilmente gracias a los temas secundarios, aún tiene la posibilidad de romper algo importante que quizás no sepa. Y cuando se trata de complementos ... bueno, nunca sugerimos hurgar en los archivos de complementos. A veces, puede ser incluso más desagradable que los temas.
La segunda razón es que no está solo en este problema. Lo tienes. Otras personas también lo tienen. Así es como funcionan estas cosas. Por lo tanto, el desarrollador debe saberlo y proporcionar una solución a través de una actualización. Entonces, no solo se ha ayudado a sí mismo con un problema, sino que ha contribuido al bien común y puede sentirse muy bien consigo mismo.
Advertencias de certificados no válidos
De vez en cuando, un usuario puede decirle que su sitio muestra un certificado no válido o un certificado caducado. Esto no es gran cosa. Es una solución fácil. En general, para arreglar un certificado caducado (o renovar uno), solo necesita seguir los pasos en la sección anterior titulada "Instale su certificado SSL gratuito desde su cuenta de host (admitida)". En la mayoría de los casos, eso funcionará. Si no es así, asegúrese de instalar el certificado comodín porque es posible que reciba el error debido a un nombre de dominio no coincidente.

Si eso no funciona, comuníquese con su anfitrión. Como dije anteriormente, personalmente estoy en SiteGround. Y cuando tuve este problema con mi SSL que no se renovaba automáticamente, el equipo de soporte lo solucionó en media hora. Eso obviamente cambiará de host a host, pero ellos quieren su sitio en línea casi tanto como usted.
Error "Demasiados redireccionamientos"
Y en caso de que la redirección 301 en su archivo .htaccess no lo mantenga a raya (debería), ocasionalmente puede obtener el error en el que su sitio se atasca en un bucle sin fin entre su sitio HTTP y su sitio HTTPS. Afortunadamente, esta es una solución casi tan fácil como el certificado no válido. Solo necesita abrir su cliente FTP y encontrar su archivo wp-config.php en la misma carpeta en la que estaba su .htaccess . Abra este también en su editor de código favorito. Agregue el siguiente código al final del archivo:
/** Prevent Too Many Redirects Loop **/
define('WP_HOME','https://mywebsite.com');
define('WP_SITEURL','https://mywebsite.com');
$_SERVER['HTTPS'] = 'on';
Guárdelo y cárguelo de nuevo en el servidor. Su sitio ahora debería detenerse donde se supone que debe hacerlo.
Terminando con WordPress HTTPS y SSL
Sé que es mucho para asimilar. Pero WordPress HTTPS es realmente importante para la viabilidad de su sitio en el futuro. Los usuarios confían más en ti. Y quizás lo más importante, Google también confiará más en ti. Ahora está configurado para corregir errores de contenido mixto, manejar la expiración y renovación del certificado SSL, editar sus archivos .htaccess y wp-config.php , e incluso jugar con la base de datos de su sitio. En este punto, ha bloqueado su sitio. Cuando algo se rompe con el SSL de WordPress, puede solucionarlo. Date una palmada en la espalda, ve a tomar una copa y descansa bien sabiendo que tu sitio está sano y salvo.
¿Qué problemas de SSL de WordPress ha tenido en el pasado y cómo los resolvió?
Imagen destacada del artículo por supercaps / shutterstock.com
