Prendi in considerazione una pagina, http://example.com
che può essere visualizzata sia pubblicamente che quando un utente esegue l'autenticazione. Supponiamo ora di abilitare HTTPS per ogni pagina quando un utente accede al tuo sito Web, ma solo quando sono connessi. La tua pagina http://example.com
ora diventa https://example.com
per tutti gli utenti che hanno effettuato l'accesso. Se l'utente che ha effettuato l'accesso gradisce la tua pagina e decide di collegarla tramite un post di blog o un sito Web di social media, è probabile che utilizzerà la versione HTTPS dell'URL.
Dal punto di vista SEO, qual è la tua strategia per evitare duplicati di contenuti tra i due URL?
Cosa dovrebbe accadere se un utente arriva all'URL HTTPS ma non ha effettuato l'accesso o non ha un account? Dovrebbe esserci un reindirizzamento alla versione HTTP? In tal caso, come lo gestiresti?
Il mio istinto è che per tutte le pagine che possono essere visualizzate sia pubblicamente sia durante l'accesso, la pagina dovrebbe prima rilevare se l'utente ha effettuato l'accesso. Se ha effettuato l'accesso, rimane HTTPS o utilizza un reindirizzamento 302 dalla versione HTTP a HTTPS. Se l'utente non ha effettuato l'accesso e arriva alla versione HTTPS dell'URL, utilizza un reindirizzamento 301 alla versione HTTP. Tuttavia, accolgo con favore una soluzione più elegante o efficace.
Modifica : supponevo che se un utente ha effettuato l'accesso, ogni URL dovrebbe essere HTTPS (o almeno, dovrebbe essere un'opzione), ma dato che ho fatto un po 'più di ricerca, forse l'ipotesi era sbagliata. Il modo in cui vedo le persone che lo implementano è che abilitano HTTPS solo per le pagine che inviano e ricevono dati sensibili: login, checkout del carrello, gestione del profilo utente, ecc. Sto cercando di capire quale modello è il migliore.
Apparentemente, Google Mail offre agli utenti la possibilità di utilizzare HTTPS su ogni pagina tramite un'impostazione nel profilo dell'utente. Questa è certamente un'opzione, ma avrei comunque bisogno di affrontare il comportamento delle pagine pubblicamente disponibili per tutti gli stati di autenticazione.
Poiché sto creando un sistema di gestione dei contenuti che verrà utilizzato da altre persone, devo assicurarmi di farlo bene. Quali impostazioni dovrebbero essere disponibili per il proprietario del sito? A questo punto, sto pensando a un controllo granulare su ogni pagina (indipendentemente dal fatto che sia protetto con SSL) e quindi anche per l'intero sito. Tuttavia, dare quel livello di controllo potrebbe essere un errore se le persone non capiscono tutti i problemi e potrebbero finire per causare problemi di sicurezza. Questo, forse, è il primo problema. Quali sono i livelli appropriati di controllo e quali sono le impostazioni predefinite intelligenti? Il secondo è come le pagine dovrebbero comportarsi per l'utente. Dal punto di vista SEO, penso che o il processo che ho descritto sopra o l'utilizzo direl="canonical"
(come suggerito da jmb) funzionerebbe, ma è essenziale anche inchiodare il comportamento della pagina in modo che sia sicura e senza interruzioni.