-->

blogspot impedire redirect locale

Chi usa blogger si sarà accorto che blogspot.com subisce un reindirizzamento verso il propio dominio locale in cui l' utente vive. Questo è stato introdotto da google per evitare che governi e autorità locali poco inclini alla democrazia intervengano totalmente su blogger per poter censurare un determinato blog con contenuti non conformi alle loro leggi, in questo modo blogger si è messo al sicuro ma ai bloggisti ha causato problemi SEO non indifferenti.
Blogger a messo a disposizione una pagina di supporto per maggiori spiegazioni.

Come risolvere il problema redirect locale blogger?
- Per poter impedire ad esempio che sito.blogspot.com venga reidirizzato a sito.blogspot.it , nel web possiamo trovare varie soluzioni, la più semplice è :
 <script type='text/javascript'>
if ((window.location.href.toString().indexOf(&#39;.it/&#39;))&gt;&#39;1&#39;)
{ window.location.href =
window.location.href.toString().replace(&#39;.blogspot.it/&#39;,&#39;.blogspot.com/ncr/&#39;);  }
</script>

il questo modo gli utenti provenienti dall' italia vedranno sempre il .com . Ma, se il nostro blog ha utenti provenienti anche da altri paesi, la soluzione è sostituire il .it presente nel codice sopra con il dominio del paese in cui desiderate che non avvenga il redirect. Ad esempio se volessimo che gli utenti provenienti da paesi con lingua simile all' italiano ( italia, francia, spagna, portogallo ) non subiscano il redirect potremmo inserire questo codice:

 <script type='text/javascript'>
if ((window.location.href.toString().indexOf(&#39;.it/&#39;))&gt;&#39;1&#39;)
{ window.location.href =
window.location.href.toString().replace(&#39;.blogspot.it/&#39;,&#39;.blogspot.com/ncr/&#39;); }
if ((window.location.href.toString().indexOf(&#39;.fr/&#39;))&gt;&#39;1&#39;)
{ window.location.href =
window.location.href.toString().replace(&#39;.blogspot.fr/&#39;,&#39;.blogspot.com/ncr/&#39;); }
if ((window.location.href.toString().indexOf(&#39;.es/&#39;))&gt;&#39;1&#39;)
{ window.location.href =
window.location.href.toString().replace(&#39;.blogspot.es/&#39;,&#39;.blogspot.com/ncr/&#39;); }
if ((window.location.href.toString().indexOf(&#39;.pt/&#39;))&gt;&#39;1&#39;)
{ window.location.href =
window.location.href.toString().replace(&#39;.blogspot.pt/&#39;,&#39;.blogspot.com/ncr/&#39;); }
</script>

- Se volessimo, però, non subire un redirect totalmente e quindi far si che sia .com sempre, le soluzioni sono varie, una è :

<script>//<![CDATA[
(function(){
if( document.URL.match(/\.blogspot\.(com\...\/|..\/)/) ){
var URL = document.URL
URL = URL.replace(URL.match(/\.blogspot\.(com\...\/|..\/)/)[0],".blogspot.com\/ncr\/")
document.location = URL}
})()
//]]></script>
 
la soluzione sopra sfrutta il /ncr per impedire il redirect ma, ha come unica pecca che questo script funziona con i domini .blogspot.(it) o ( pt, fr, ecc...) e .blogspot.(com.br) o simili, ma non funziona con i domini .blogspot.(co.uk) o simili.

- La soluzione più ottimale molto probabilmente è :

<script type='text/javascript'>
var blog = document.location.hostname;
var slug = document.location.pathname;
var ctld = blog.substr(blog.lastIndexOf(&quot;.&quot;));
if (ctld != &quot;.com&quot;) {
var ncr = &quot;http://&quot; + blog.substr(0, blog.indexOf(&quot;.&quot;));
ncr += &quot;.blogspot.com/ncr&quot; + slug;
window.location.replace(ncr);}
</script>

quindi contro un reindirezzamento totale questo sembra il migliore, per il momento.

Con una ricerca più approfondita sicuramente troverete altre soluzioni al problema ma, più o meno tutti simili e  di sicuro questi sono i migliori suggeriti.

0 commenti:

Posta un commento

Inserite il vostro nick name se volete una risposta altrimenti non si saprà a chi rispondere. Se inserite link verrà considerato spam e il commento non pubblicato.