WordPress 5.7, ultima versione del CMS Open Source più utilizzato in Rete nonché prima major release del 2021 dovrebbe vedere la luce entro il 9 marzo, integra alcune funzionalità appositamente dedicate alla migrazione da HTTP alle connessioni sicure sotto HTTPS. Nello specifico l'applicazione è ora in grado di rilevare se l'ambiente d'installazione dispone del supporto ad HTTPS.
Nuove funzioni per l'HTTPS detection
Nel caso di una verifica con esito positivo, la piattaforma rende visibile un pulsante di tipo call-to-action nella sezione dedicata allo status HTTPS del "Site Health" (box "Stato di salute del sito"), quest'ultimo consentirà quindi di effettuare il passaggio da HTTP ad HTTPS con un solo click.
A livello di codebase WordPress 5.7 introduce la nuova funzione wp_is_using_https()
che restituisce TRUE se sia home_url()
("Site Address") che site_url()
("WordPress Address") stanno utilizzando HTTPS, impostando entrambi i parametri su HTTPS viene indicato a livello formale che il sito Internet corrente sta adottando una connessione su HTTPS.
Esistono altre soluzioni per l'abilitazione parziale di HTTPS in WordPress, come per esempio la costante FORCE_SSL_ADMIN
, ma grazie alle migliorie apportate con la versione 5.7 la migrazione coinvolgerà l'intera installazione sia lato front-end che back-end.
Per quanto riguarda invece la rilevazione del supporto ad HTTPS, la nuova funzione di riferimento è wp_is_https_supported()
, nel caso in cui "Stato di salute del sito" dovesse consigliare il passaggio ad HTTPS questo potrà essere effettuato sin da subito senza la necessità di chiamare in causa il proprio provider di Web hosting. Ciò è reso possibile dall'opzione https_detection_errors
che viene viene controllata tramite un Cron hook attivo due volte al giorno.
wp_is_https_supported()
restituisce TRUE o FALSE a seconda del risultato ottenuto dall'esecuzione del Cron su https_detection_errors
, in mancanza di errori il valore di ritorno sarà quindi TRUE.
Migrazione ad HTTPS e mixed content
Una delle problematiche più rilevanti che gli sviluppatori hanno dovuto risolvere in WordPress 5.7 e nelle sue feature per la migrazione da HTTP ad HTTPS riguarda l'esistenza di mixed content, non di rado infatti il database del CMS archivia URL che non fanno riferimento a connessioni sicure. Situazioni del genere sono stati risolte fino ad ora tramite l'installazione di plugin o al ricorso a procedure poco intuitive basate su WP-CLI.
Per questa nuova release è stata invece implementata la funzione wp_replace_insecure_home_url()
che ha sostanzialmente il compito di sostituire automaticamente gli URL non sicuri con quelle per HTTPS. wp_replace_insecure_home_url()
fa riferimento a sua volta alla nuova funzione wp_should_replace_insecure_home_url()
che verifica la necessità o meno di procedere con la sostituzione degli URL.
Tale operazione avviene sulla base di alcuni criteri, cioè il valore di ritorno di wp_is_using_https()
, il fatto che "Site Address" e "WordPress Address" utilizzino il medesimo dominio e l'abilitazione del flag https_migration_required
.