Tuesday, March 10, 2009

How to disable blogger country specific Domain redirection (English, Russian)

Stop Blogger blogspot 302 Redirection

Google эффективно продублировало ваш блог. Для каждой страны есть своя копия. Идея заключается в том, чтобы Google могло удалять страницы из вашего блога согласно требованиям суда определённой страны.

Здесь Why does my blog redirect to a country-specific URL? находится официальное объяснение тому что такое country-code top level domain, or "ccTLD" и почему Google это добавило в Blogger.

Что это значит на практике? Допустим, вы находится в Индии и хотите зайти на мой блог. Вы набираете знакомый вам адрес в поисковой строке alexsmail.blogspot.com/, но вместо того чтобы оказаться на страничке alexsmail.blogspot.com вас перенаправляют на страничку alexsmail.blogspot.in Почему это хорошо можете почитать в Google, подобное Google практикует и с своим поисковиком. Если вы заходите на сайт google.com c Индии вы будете перенаправлены на google.in, с Израиля - на google.co.il и т.п. Отмечу, что как пользователь вы можете сказать Google-у чтобы он этого не делал. Для этого достаточно зайди по ссылке google.com/ncr и тогда после этого (до тех пор пока вы не удалите cookies) поиск будет работать с основной страницой google.com.

Нечто подобное, Google сделано и в Blogger-е. Также вы можете отключить это, если вы зайдёте на alexsmail.blogspot.com/ncr. Отмечу, что вы должны заходить на такую NCR страничку для каждого блога на Blogger-е.

Ниже есть что описание того, что вы можете сделать как владелец блога на Blogger-е чтобы это отключить. Также там приведен ролик с объяснением, что такое cannonical link.



Здесь рассказан что такое cannonical link - каноническая ссылка. Но обо всём по-порядку.

Ниже есть продолжение.

Итак, ваш блог продублирован. Первая проблема, с которой вы сталкиваетесь, это как сказать поисковикам, что "послушай, на самом деле страница на .com и на .in это одна и та же страница. Длинный ответ дан в ролике выше, короткий ответ заключает в том, что Google за вас это сделал, он добавил cannonical link. Можете в этом убедится, зайдя в Template->Edit HTML дайте поиск на


<b:include data='blog' name='all-head-content'/>


эта строчка должна быть сразу после тага


<head>


Если такая строчка не найдена, то нужно самому добавить:


<link rel='canonical' expr:href='data:blog.url'/>


Для подробностей см. How To Add Canonical Link In Blogger

Что же вы можете сделать? Всё довольно просто. На это решение меня натолкнул пост http://nxwiki.blogspot.com/2012/03/how-to-disable-blogger-country-specific.html В нём есть один недостаток, он не поддерживает все возможные страны, а только те, которые пока использует Google. Таким образом, этот скрипт нужно будет постоянно модифицировать. Поэтому я несколько изменил скрипт.

Итак, идём в Template->Edit HTML. Помечаем галочку около Expand Widget Templates и сразу после


<head>


добавляем:


<!-- start disable blogger country specific Domain redirection -->
<script type='text/javascript'>
var url=window.location.href.toLowerCase();
if (url.indexOf(".com/")==-1)
{
//stripping of leading www if any
url=url.replace("/www.", "/");
var index = url.indexOf(".");
index= url.indexOf(".", index+1); //finding second .
var lastIndex= url.indexOf("/", index); //[index, lastIndex] is ".com/"
if(lastIndex==-1){
lastIndex= (!url)?-1:url.length-1;
}
url=url.substring(0, index)+".com/ncr/"+url.substring(lastIndex+1);
window.location= url;

//window.location = url.replace('.blogspot.in/','.blogspot.com/ncr/').replace('.blogspot.com.au/','.blogspot.com/ncr/').replace('.blogspot.co.nz/','.blogspot.com/ncr/');
}
</script>
<!-- end of disable blogger country specific Domain redirection -->

No comments:

Post a Comment