С одной стороны, ссылаться на другие сайты - это хорошо, полезно и вообще. С другой стороны, пользователи до печали рассеянные, про клик с зажатым контролом (или клик средней кнопкой мыши) не знают, поэтому часто уходят по внешним ссылкам навсегда, снижая нам глубину просмотра.
В связи с этим я считаю, что внешние ссылки надо открывать в новом окне. В общем такое поведение стало стандартом де-факто, и открытие внешних ссылок в том же окне идет в разрез с пользовательскими привычками, а это всегда плохо.
Далее - пара вариантов реализации такого поведения. Делаем на JS, поскольку так проще всего подключать.
Вариант первый, тупой и без jQuery:
var c_host = document.location.host.replace(/www\./, '');
var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
var cl = links[i];
if (cl.href && cl.href.indexOf(c_host) == -1) {
cl.setAttribute('target', '_blank');
}
}
Это должно выполниться, когда DOM-дерево, в котором мы хотим пофиксить ссылки, уже загружено - например, можно вставить код в самый конец html-документа.
Вариант более умный и с jQuery:
$(document).ready( function() {
var c_host = document.location.host.replace(/www\./, '');
$(document.body).on('click', 'a', function() {
if (this.href && this.href.indexOf(c_host) == -1) {
$(this).attr('target', '_blank');
}
});
});
Этот вариант использует магию обработчика on - навешивание target="_blank" происходит не в момент загрузки документа, а непосредственно перед кликом. Во-первых, это позволяет ускорить загрузку документа (весьма незначительно, но все же). Во-вторых, работает для частей документа, загруженных аяксом, которые еще не существовали на момент отработки $(document).ready().
При желании тут же можно добавить триггер для цели Яндекс.Метрики, чтоб смотреть в статистике, куда деваются пользователи :)
Не надейтесь, что этот финт позволит увеличить глубину просмотра радикально, но какой-то эффект будет. Например, на одном многострадальном сайте-визитке, откуда люди уходили на аффилированный магазин, добавление target="_blank" ко внешним ссылкам увеличило среднемесячную глубину просмотра с 2.1 до 2.9 - уже кое что.
Ко мне все чаще приходят люди, желающие накрутить лайки в вконтакте онлайн, вчера один даже в окошко онлайн-консультанта стучался и я его долго консультировал. Так вот, помимо описанного в давешнем посте сервиса, существует замечательный Ботовод от Viking Studio, со своими преимуществами. При случае обязательно напишу обзор.