Pubblicato il 08/04/14e aggiornato il

Come risolvere il loop di reindirizzamento nel redirect 301 di Blogger nella versione mobile.

Come risolvere il problema del loop di reindirizzamento per il redirect 301 di Blogger quando la pagina sia aperta da smartphone o tablet.
Nel web ci sono molti casi in cui invece di andare in una pagina veniamo indirizzati ad altro URL. Questa operazione assolutamente lecita viene definita redirect o reindirizzamento e ce ne sono due diverse tipologie. Il redirect 302 quando il reindirizzamento della pagina è temporaneo che viene utilizzato per esempio con le pagine di manutenzione e il redirect 301 che invece è permanente e che viene usato anche per trasferire tutte le prerogative SEO (Page Rank) da una pagina all'altra.

Fin dal Marzo del 2012 anche su Blogger è possibile impostare sia il Redirect 301 sia quello 302. Si va su Impostazioni > Preferenze di Ricerca > Reindirizzamenti personalizzati > Nuovo reindirizzamento e nei campi Da e A si digitano la parte finale della pagina che vogliamo reindirizzare e di quella di arrivo. Il team di Blogger però non si è posto il problema della versione mobile del blog che è sempre più utilizzata dai lettori per accedere ai contenuti.

Ricordo che Blogger ha introdotto un redirect nativo da una pagina web del sito a un'altra pagina web che differisce dalla prima per l'aggiunta di ?m=1 alla fine del suo URL quando venga aperta da dispositivo mobile. La versione mobile dei siti della piattaforma Blogger è stata introdotta nel Novembre 2011 quindi prima della funzione del redirect. Nonostante questo pare che il Team di Blogger non abbia valutato bene che se il webmaster effettua un redirect, quando la pagina in questione si apre con un dispositivo mobile la presenza di due redirect simultanei manda in loop il sistema

loop-di-redirect-blogger

Questo screenshot è stato preso quando è stata aperta la homepage del blog di prova utilizzato per Creare un blog con una pagina statica come Home. Per evitare il loop di reindirizzamento ho provato a andare su Impostazioni > Preferenze di ricerca > Reindirizzamenti personalizzati per crearne un altro in modo da risolvere il problema. Malauguratamente tale redirect non viene salvato dal sistema. Occorre quindi procedere in altro modo per risolvere. Bisogna considerare che se abbiamo un singolo post con il redirect possiamo anche lasciar perdere visto che si rinuncerà solo a qualche pagina aperta con cellulare o tablet ma se il redirect riguarda pagine importanti quali la home questo può pregiudicare tutta la visualizzazione del sito su dispositivi mobili.

RISOLVERE IL LOOP DI REINDIRIZZAMENTO IN GENERALE


Dal punto di vista euristico è bene mostrare degli esempi che sicuramente possono aiutare la comprensione meglio di un approccio esclusivamente teorico. Poniamo il caso che si abbia un redirect di questo tipo

Pagina reindirizzata:    nomeblog.blogspot.com/2014/04/post-partenza.html
Pagina di arrivo:            nomeblog.blogspot.com/2014/04/post-arrivo.html

già impostato in Impostazioni > Preferenze di ricerca > Reindirizzamenti personalizzati. Per evitare il loop di redirect occorre andare su Modello > Modifica HTML e cercare la riga </head> . Subito sopra va incollato questo codice

<!-- Redirect Inizio --><script>
//<![CDATA[
if (window.location.href == 'http://nomeblog.blogspot.com/2014/04/post-arrivo.html?m=1' | | window.location.href == 'http://nomeblog.blogspot.com/2014/04/post-arrivo.html')
{window.location = "http://nomeblog.blogspot.com/2014/04/post-partenza.html";}
//]]>
</script>
<!-- Redirect Fine -->

Si salva il modello. Abbiamo cioè introdotto un nuovo redirect tramite javascript. Nel caso avessimo impostato più di un redirect occorrerà inserire più codici come questi eventualmente senza i commenti che sono quelle righe colorate di verde che servono agli webmaster per capire a cosa si riferisca un determinato codice e che possono essere incollati solo all'inizio e alla fine di tutti i codici.

RISOLVERE UN LOOP DI REINDIRIZZAMENTO SPECIFICO


Nel caso del post sulla creazione di una landing page come Home del blog già menzionato all'inizio il codice da incollare subito sopra a </head> sarà il seguente

<!-- Redirect Inizio --><script>
//<![CDATA[
if (window.location.href == 'http://prova-32.blogspot.com/p/welcome.html?m=1' | | window.location.href == 'http://prova-32.blogspot.com/p/welcome.html')
{window.location = "http://prova-32.blogspot.com";}
//]]>
</script>
<!-- Redirect Fine -->

dove gli URL colorati si riferiscono agli indirizzi del mio blog di prova e devono essere ovviamente modificati. Dopo aver salvato il template non ci sarà più il loop di reindirizzamento

redirect-soluzione-mobile

Lo screenshot è relativo alla demo del redirect della home verso la pagina di benvenuto.




12 commenti :

  1. ciao ernesto..altra domanda...ho aperto un altro blog ma non riesco ad inserire il piace sotto ai post...ho inserito l'open graph come nell'altro blg,ma nulla da fare

    RispondiElimina
    Risposte
    1. Forse non hai trovato la sezione giusta in cui inserire il codice
      http://www.ideepercomputeredinternet.com/2013/08/cercare-codice-html-blogger-template.html
      @#

      Elimina
  2. Ciao Ernesto, io ho notato un netto aumento di errori 404 in strumenti per webmaster. Eppure effettuo sempre il reindirizzamento ogni volta che è necessario. Molte volte mi compare l'errore per una pagina che in realtà non ha alcun problema perché andando a verificare io ci accedo senza problemi. Come posso risolvere il problema definitivamente? Grazie, e ciao.

    RispondiElimina
    Risposte
    1. Google non è infallibile. Nel tuo caso gli strumenti hanno sbagliato e non penso tu possa fare nulla. Il team che se ne occupa sarà certamente a conoscenza dell'esistenza di questi falsi positivi come è già avvenuto in passato. Non ti resta che aspettare :)
      @#

      Elimina
  3. Questo commento è stato eliminato dall'autore.

    RispondiElimina
    Risposte
    1. @# Il codice per evitare il loop di reindirizzamento dovrebbe essere questo

      <script>
      //<![CDATA[
      if (window.location.href == 'http://eyelpis.blogspot.com/p/home.html?m=1' | | window.location.href == 'http://eyelpis.blogspot.com/p/home.html')
      {window.location = "http://eyelpis.blogspot.com";}
      //]]>
      </script>

      Prima devi fare il redirect 301 tramite la Bacheca.

      Elimina
  4. Questo commento è stato eliminato dall'autore.

    RispondiElimina
  5. Questo commento è stato eliminato dall'autore.

    RispondiElimina
    Risposte
    1. Quando ho testato andava però c'è da dire che i browser soprattutto quelli mobili hanno degli aggiornamenti continui quindi può darsi che qualcosa sia cambiato
      @#

      Elimina
    2. Questo commento è stato eliminato dall'autore.

      Elimina
  6. La prova l'ho fatta quando ho scritto il post. Puoi vedere gli screenshot. Non posso escludere che ora sia cambiato qualcosa. Anche io ho usato Chrome per Android
    @#

    RispondiElimina

Non inserire link cliccabili altrimenti il commento verrà eliminato. Metti la spunta a Inviami notifiche per essere avvertito via email di nuovi commenti. Se ti ho aiutato con il post o con le risposte ai commenti condividi su Facebook o su Twitter. Grazie.