ruSKweb.ru

"Самая хорошая работа – это высокооплачиваемое хобби"

Генри Форд

Учим WordPress открывать сайт комментатора в новом окне.

сайт комментатора в новом окне

Совсем недавно я обнаружил возмутительную вещь – оказывается сайты моих комментаторов, открываются в текущем окне браузера, представляете!

Почему обнаружил только недавно?

Потому что обычно я все ссылки тыкаю средней кнопкой мышки (колесиком) либо через shift+клик и они автоматом открываются в новой вкладке, не зависимо присутствует ли у них атрибут target=”_blank”  или нет. Нередко встречаю сайты забывчивых вебмастеров, которые позволяют внешним ссылкам уводить посетителя на другой сайт в текущем окне, поэтому приучил себя всегда ссылки в новой вкладке открывать на автомате.  Ну просто мне так удобно.

Почему эта вещь возмутительная?

А вот нефиг тырить моих посетителей :) Я конечно не против поделиться, не жадный, но только пополам – в новом окне браузера))  Зачем позволять трафику утекать например за 1 клик по красивой аватарке комментатора, и допускать закрытие вашего драгоценного ресурса?

Кстати пробежался по своим знакомым блоггерам – многие тоже этим грешат, даже некоторые топовые ;)

Что я решил делать в связи с этим вопиющим безобразием? Конечно же, отправился в дебри шаблона, вооружившись атрибутом _blank. Первым делом открыл файл comments.php шаблона, подумав что  сейчас все и улажу за 10 секунд.  Однако изучив его вдоль и поперек я не обнаружил нужных мне строчек кода.

Почесав репку, стал думать.  Думать мне быстро надоело, и я решил взвалить всю ответственность на Яндекс – забил запрос на интересующую тему в поисковик. Однако он мне старательно подсовывал всевозможные плагины и java-скрипты, что меня совсем не устраивало. Не хотелось для такого простого дела применять тяжелую артиллерию.

Пришлось опять думать. При помощи Faerbugа узнал название класса для ссылки комментатора, и уже этот класс начал искать по файлам шаблона с помощью TotalCommander по поиску файлов с вхождением заданного текста.

Результатов было много – название класса url скажем так далеко не самое оригинальное. В итоге в шаблоне я так и не нашел нужного мне кода.

Расширив поиск до всех файлов сайта я таки обнаружил иголку в стоге сена. Все оказалось довольно просто . На этом длинная прелюдия заканчивается, ниже решение проблемы.

Как в  Wordpress открывать сайт комментатора в новом окне.

Нужно внести небольшие изменения в файл comment-template.php который расположен в папке /wp-includes/

Открываем в редакторе и ищем похожие строчки:

if ( empty( $url ) || 'http://' == $url )
 $return = $author;
 else
 $return = "<a href='$url' rel='nofollow' class='url'>$author</a>";
 return apply_filters('get_comment_author_link', $return);
}

Вот и нужный код. Вставляем target=’_blank’в атрибуты ссылки. Теперь участок кода будет выглядеть так:

if ( empty( $url ) || 'http://' == $url )
 $return = $author;
 else
 $return = "<a href='$url' target='_blank'  rel='nofollow' class='url'>$author</a>";
 return apply_filters('get_comment_author_link', $return);
}

Сохраняем, и наслаждаемся результатом.

Кстати, в вашей версии WP могут быть некоторые отличия в коде  comment-template.php но думаю направление вы поняли – ищите функцию function get_comment_author_link  и добавляйте  target=’_blank’ к атрибуту ссылки комментатора  <a href=”$url”>$author</a>  или нечто похожее. Сюда же можно воткнуть и  rel=”nofollow”  закрыв сайты комментаторов от индексации, если у вас еще не закрыты.

Еще допускаю вариант что в некоторых наглых шаблонах нужно будет редактировать именно файлы шаблона, а не базовые вордпресса, встречал я такие. В любом случае, желаю вам удаче в борьбе за удержание трафика на своем сайте. Если что-то непонятно и есть вопросы – задавайте в комментариях, помогу чем смогу.

А в следующей статье мы поговорим об ответных комментариях, не пропустите, будет жарко)

Понравилась статья? Жми лайк:

71 комментариев

  1. Татьяна пишет:

    Оппа! У меня то же самое! Сейчас проверила – с комментариев все сразу открывается в этой же вкладке, а с топа – в новой. Буду исправлять, даже не обращала внимания на это…

    [Ответить]

    Сергей Кобзарь отвечает:

    У многих так Татьяна, я пробежался смотрел)
    Это конечно не критично, но лучше не портить себе ПФ :)

    [Ответить]

  2. Наталия пишет:

    Такая же ерунда (( Причем меня и как гостя на каком-нибудь сайте тоже всегда раздражали такие переходы. А у самой-то… Спасибо, Сережа. Правда, пока я еще не на все манипуляции с кодами отваживаюсь. Но хотя бы буду иметь в виду на будущее, куда лезть, и в крайнем случае, где и у кого искать помощи. Ты ж не откажешь, правда? ;)

    [Ответить]

    Сергей Кобзарь отвечает:

    Наталия, не откажу конечно)
    Ничего сложного и страшного тут нет, просто я подробно все расписал в статье, на самом деле нужно лишь скопировать target=’_blank’ и вставить в нужное место.

    [Ответить]

  3. Дмитрий пишет:

    С одной стороны если сайт хороший, то пользователь вернётся, но с другой – я жадный :D так что поставлю :D спасибо!

    [Ответить]

    Сергей Кобзарь отвечает:

    Утечки трафика надо затыкать) Поведенческие рулят)

    [Ответить]

    Дмитрий отвечает:

    тоже по этому поводу запись хотел написать + noindex прописать.ну да ладно.уже есть у тебя.ещё список из 25 идей для записей лежит :D

    [Ответить]

    Дмитрий отвечает:

    и ещё.а как сделать что бы так красиво код выводился на блоге?

    [Ответить]

    Сергей Кобзарь отвечает:

    я использую плагин SyntaxHighlighter Evolved
    но он многовато ресурсов кушает… подумываю на что-то более легкое перейти, или вообще вручную стили прописывать)

    [Ответить]

    Дмитрий отвечает:

    ой.ну его тогда.обычным code буду пользоваться

    [Ответить]

  4. Пьяный vipbloger пишет:

    Полезно! Но намного лучше, когда пользователь сам возвращается любыми способами!

    [Ответить]

    Сергей Кобзарь отвечает:

    Это будет идеальный вариант конечно) Но заткнуть все дырки не помешает в любом случае.

    [Ответить]

  5. Дмитрий пишет:

    кстати строка будет так выглядеть
    $return = "$author";
    а то у тебя в коде кавычки в переменной одинаковые.php не обработает

    [Ответить]

    Сергей Кобзарь отвечает:

    спс поправил) плагин чудит

    [Ответить]

  6. Дмитрий пишет:

    блин. предыдущий коммент в html форме обработался…

    [Ответить]

    Сергей Кобзарь отвечает:

    я тебя понял Дмитрий) Да у меня в коде именно одинарная кавычка ` стоит. Это плагин видимо поменял..

    [Ответить]

  7. Тимур пишет:

    Тоже подумывал так сделать. Я то ладно всегда любую ссылку колесиком мыши в новом окне открываю. А вот другие могут и просто переходить. Соответственно трафик терять не хочется.

    [Ответить]

    Сергей Кобзарь отвечает:

    Вот вот. Мне это колесико бдительность усыпило, из-за него месяц не замечал что ссылки в текущем окне открываются)

    [Ответить]

  8. Uarukmers пишет:

    У меня все нормально работает,сайт открывается. действительно полезная и удобная штучка для своего бложека.

    [Ответить]

  9. Никогда не задумывалась на эту тему. Вот ведь какие грабли! Спасибо, подсказка ценная, но скоро ли я ее реализую – большой вопрос. И почему бы не плагином? Нажал кнопочку – и готово. :)

    [Ответить]

    Сергей Кобзарь отвечает:

    Не за что Светлана.
    А плагином вообще не советую пользоватсья там, где можно обойтись без них) Каждый новый плагин это дополнительная нагрузка на сайт. К тому же в них обычно куча ненужных функций идет в довесок, могут попадаться рекламные ссылки или даже вредоносный код.

    [Ответить]

  10. Елена пишет:

    А я не нашла такого адреса у себя comment-template.php
    А в настройках обсуждения нет функции открывания ссылки в новой вкладке. Я наверное что-то не поняла…

    [Ответить]

    Сергей Кобзарь отвечает:

    Елена искать нужно на сервере, через FTP или файловый менеджер провайдера. comment-template.php это файл который лежит в папке /wp-includes/

    [Ответить]

  11. Сергей, спасибо за информацию и за прикольный пост – читал с удовольствием!
    Это на любителя: мне, допустим, глубоко пофиг, что от меня уйдёт посетитель по твоему аватару или ещё чьему-либо.
    В общем, не вижу смысла – это каждый раз код переделывать после обновления WP.
    Не жадничай и воздастся! :)

    [Ответить]

    Сергей Кобзарь отвечает:

    Спасибо Владимир) А я не жадничаю, я делюсь пополам)
    Жадные вообще запрещают ссылки на сайты комментаторов вставлять, я такие блоги и не комментирую даже из принципа.

    С обновлением да.. придется по новой делать. Благо не так часто обновляемся)

    [Ответить]

  12. Сергей, я, вот, близко к этой теме, давно ратую за что:
    Есть негласное правило в блогосфере: Если к тебе зашёл коллега и ОСТАВИЛ комментарий – сделал тебе БЛАГО, то ты должен ответить тем же.
    Некоторые его придерживаются, большинство нет. Лично я, если мне не отвечают на моё посещение и не пишут ответные комменты мне на сайт, то перестаю и сам писать – нет такого уж и кайфа для самого себя это делать, что многие и не делают.
    Разве это не справедливое правило?
    Сидят ждут комментов, а сами их пишут ТОЛЬКО ради своей известной всем выгоды.
    Вот, у меня блогеров уже прилично заходит на сайт, а комментировать, даже тупо спасибо сказать, – нафиг надо!
    Лично я, считаю это проявлением гнилой конкуренции.
    Кстати, этот вопрос можно оформить в виде поста: напиши такой пост, если не тяжело: хотелось бы обсудить с коллегами эту тему, услышать их мнение по этому поводу. Может, я и не прав.

    [Ответить]

    Сергей Кобзарь отвечает:

    Интересная тема, Владимир. Думаю и правда напишу, спасибо)
    В первую очередь наверное комментировать нужно только если есть желание) Заставлять себя что-то вымучивать если тема не цепляет не нужно мне кажется.
    Тоже частенько хожу в гости к своим комментаторам, ответные визиты вежливости так сказать) Но конечно же никто никого не заставляет. Да и не всегда есть время по всем пройтись и всех откомментить увы

    [Ответить]

    Владимир Фесюк отвечает:

    Сергей, на мой взгляд, не надо никогда забывать, что блоговедение – это РАБОТА. Хоть и любимая, НО РАБОТА!
    То есть, комментирование коллег – это часть, элемент этой работы. А не кайфовое общение в Одноклассниках или в какой-либо другой социалке, тех, извини, сам знаешь, кому делать не…
    Поэтому, нравится или не нравится, есть ли желание или нет…
    У меня, если честно, таковое желание редко когда возникает – свой сайт стоит, а ты сидишь строчишь комменты людям. Впрочем, так же у всех.
    В общем, видишь, сколько уже материала на пост по этой теме есть.

    [Ответить]

    Сергей Кобзарь отвечает:

    Думаю у каждого по разному, для кого-то работа, для кого хобби, для кого вообще непонятно что и зачем им блог сами не знают)
    В первую очередь своим блогом нужно заниматься. Согласен работать нужно, но вовсе не обязательно ходить всех комментировать через силу, есть и другие способы привлечения аудитории.

    [Ответить]

    Владимир Фесюк отвечает:

    ОК, не спорю, лишь высказал свои мысли…
    А единственный способ привлечения реальной целевой аудитории это ПС. Остальное всё, на мой взгляд, только для молодого сайта – баловство и лишняя головная боль.
    Если, конечно, не в планах сделать сайт форумом.
    Работать надо на ПС,- ПС работает на людей – вот такая цепочка…

    [Ответить]

    Сергей Кобзарь отвечает:

    Молодые, нетерпеливые) Так скучно ждать пока великие поисковики всея интернета обратят на твою скромную персону свое внимание)

    [Ответить]

    Владимир Фесюк отвечает:

    Не думаю, что социалками и прочими путями можно надавить больше 200-300 чел. трафика. И то, это надо там сидеть постоянно. А так 100-150 для начала раскрутки.
    Вот, Артём меня добил, – тоже буду ставить этот код, если пролезет, что для моей капризной, в этом плане, темы, редкость.

    [Ответить]

  13. Артем пишет:

    Сергей! Респект и уважуха, отличный хак. Ставиться элементарно и отлично способствует улучшению поведенческих факторов

    [Ответить]

    Сергей Кобзарь отвечает:

    Спасибо Артем. Думаю это даже не хак… люди знакомые хорошо с архитектурой Вордпресс сделали бы все за 10 секунд) У меня же ушло больше получаса на такую ерунду)

    [Ответить]

  14. Дмитрий пишет:

    Сергей, а можно вообще ссылки закрыть у комментаторов, чтобы никуда не уходили))))
    Или открывать ссылку в новом окне через 2 минуты (есть такой атрибут для гиперссылок)
    Или рандомный редирект на какую-нибудь свою страницу)

    Шучу, конечно. Но вообще да, это полезно так как увеличивает время, проведенное на сайте пользователем. Надо будет заняться.

    [Ответить]

    Сергей Кобзарь отвечает:

    совсем убирать ссылки это свинство, мне кажется) я такие блоги обхожу стороной)

    [Ответить]

  15. Дмитрий пишет:

    Я имел в виду применить твой прием, а не ссылки удалить)

    Но вообще, топовые блоггеры часто закрывают ссылки. Тот же ктонановенького если откроет ссылки.. его же там распнут блоггеры со своими комментами :)

    А так – вроде и резона нет у него спамить)
    Шакин тоже закрыл ссылки на своем блоге.

    [Ответить]

    Сергей Кобзарь отвечает:

    Не знаю Дим, спорный вопрос..
    Ктонановенького я не читаю так что не могу ничего сказать. Шакин да, интересный товарищ, но не комментил у него ни разу) В прочем думаю ему это и не надо.

    Как бы там ни было, есть гораздо более посещаемые ресурсы, у которых присутствуют ссылки на комментаторов, пусть и закрытые от индексации.

    [Ответить]

  16. Я для себя здесь нашла информацию не о том, как настроить, а о том, как вы делали до этого. Я чтобы перейти по ссылке и открыть ее в новой вкладке, сначала кликала правой кнопкой-выбирала “открыть в новой вкладке”. А оказывается можно просто на колесико нажать! Ого! Круто. Теперь я буду быстрее)))

    [Ответить]

    Сергей Кобзарь отвечает:

    Ну вот, рад что смог помочь хоть таким способом)))

    [Ответить]

  17. Тамара пишет:

    А я просто кликаю по ссылке и иду, куда ведёт. Достаточно часто обратно уже не ведёт, а закрывает сайт, который хотелось почитать. И уже его не находишь. А жаль. Интересно, как у меня? И как у меня сделать так, чтобы возвращались ко мне после закрытия чужого?

    [Ответить]

    Сергей Кобзарь отвечает:

    Тамара вернутся на предыдущую страницу можно с помощью стрелочки “Назад” в браузере. У вас тоже комментарии уводят на другой сайт

    [Ответить]

  18. Елена пишет:

    Спасибо, все исправила. Вот только у меня мышь какая-то неправильная: при нажатии на ее колесико я попадаю не на сайт комментатора, а на справку браузера Chrome.
    ПО поводу блага: если комментатор на твоем сайте ведет блог по теме, ну никак не возбуждающей, как выдавить из себя письменную реакцию на его творение? У меня было несколько таких. До сих пор чувствую себя виноватой, что не смогла ничего написать. А писать чтопопало не хочется.

    [Ответить]

    Сергей Кобзарь отвечает:

    Елена вполне возможно что в хроме по другому действует средняя кнопка мыши) Я им не пользуюсь, так что не могу точно сказать.

    Не зачем себя насиловать что бы оставить комментарий) Если нет желания, то лучше и не стоит писать, а подождать другой темы которую захочется прокомментировать.

    [Ответить]

  19. Елена пишет:

    Аж руки потянулись проверять на своём сайте…статья зацепила! У меня такая же проблема – будем поправлять это дело. Спасибо за подсказку, а я раньше даже не задумывалась об этом. Пару раз ловила себя на мысли что на сайтах друзей…увижу какой то интересный комментарий и перехожу по имени комментатора – естественно новое открывалось в старом окне.
    И где же времени столько взять, чтобы на все что нужно и все что хочется хватало!!! Опросник хотела установить на следующей неделе…ничего не успеваю!!! :shock:

    [Ответить]

    Сергей Кобзарь отвечает:

    Елена выделите на технические моменты денек, составьте полный список и пройдитесь по нему. Конкретно поменять открывание ссылки в новом окне делов на 5 минут максимум)

    [Ответить]

  20. Елена пишет:

    вот как раз села – планирую следующую неделю расписываю по полочкам что и когда делать. Спасибо за поддержку.
    Я же хотела у Вас в конкурсе комментов участвовать. А сама захожу…и зачитываюсь так что забываю за чем пришла. Вчера читала плагины – сегодня шла на ваш блог с конкретной целью перечитать еще раз подробно статью посвященную плагинам – в результате, нашла еще одну интересную статью, а потом еще одну…уже спать надо идти а я оторваться не могу как голодный человек от еды!
    Может пафосно покажется…но для меня это серьезно, сейчас так мало блогов где можно почувствовать искренность в статьях…

    [Ответить]

    Сергей Кобзарь отвечает:

    :smile: блин как приятно читать) рад что статьи вам пригодились, значит не зря писал)
    Вы читайте и пишите свое мнение или свой опыт как раз и в конкурсе поучаствуете)

    [Ответить]

  21. Елена пишет:

    Здравствуйте. У меня не получилось научить открываться в новом окне. Перечитала и вдоль и поперек код в редакторе, но так и не разобралась куда же его нужно ставить. :cry:

    [Ответить]

    Сергей Кобзарь отвечает:

    Елена вы нашли файл comment-template.php и открыли его?

    Попробуйте поискать фрагмент в тексте comment_author_link и редактор сам найдет нужные строчки кода

    [Ответить]

  22. Dr.Tsuker пишет:

    Спасибо, полезный хак.

    [Ответить]

  23. Евгений пишет:

    Буквально сегодня озадачился подобной проблемой. Полез в Яндекс и сразу наткнулся на вас. Спасибо, что разъяснили, где искать код.

    [Ответить]

    Сергей Кобзарь отвечает:

    Не за что Евгений)

    [Ответить]

  24. Илья пишет:

    Применил! Все работает. Правда после небольшого тупняка: Оказывается если ‘_blank’ записать в двойных скобках, как Dreamweawer автоматически делает при самостоятельном написании, то вообще сайт тазом укрывается и ничего не работает – сайта просто будто и нет вовсе.( Прикольно.. :smile:

    [Ответить]

    Сергей Кобзарь отвечает:

    Все верно, Илья.
    Там идет php код, а сам урл является значением переменной, которое уже объявляется в своих двойных кавычках. Если поставить еще одни внутри, то получается ошибка, поэтому нужны одинарные =)

    [Ответить]

  25. Александр пишет:

    Воспользовался. Мелочь, а не приятно ))

    [Ответить]

  26. Никита пишет:

    Не люблю правки файлов движка, так как при обновлении все слетит.

    [Ответить]

    Сергей Кобзарь отвечает:

    Да, есть такая беда. к счастью обновления не так часто выходят, а правку внести делов на 2 минуты максимум)

    [Ответить]

  27. Никита пишет:

    Кстати, я этот вопрос уладил в файле functions.php, только единственный минус в том, что если автор без сайта, то будет ссылка такого вида: http://makoveckij.ru/go/?

    [Ответить]

    Сергей Кобзарь отвечает:

    Редиректом сделал? Молодец)
    Уверен можно сделать маленький хак, который бы решал эту задачу и не слетал бы после обновления и без редиректов, жаль я а php не очень силен)

    [Ответить]

    Никита отвечает:

    Могу попробовать помочь)
    Киньте на мыло Ваш functions.php, если там есть то, что нужно, сделаю, и comments.php на всякий.

    [Ответить]

    Сергей Кобзарь отвечает:

    Спасибо Никита, у меня и так все работает) Если кому-то из читателей понадобится, думаю тебе напишут в комментах тут

    [Ответить]

  28. Александр пишет:

    Спасибо, Сергей!
    Когда Артем Абрамович дал мне ссылку на эту статью, с начала даже не хотел пробовать(не люблю в кодах возиться и тем более через файлзилу), но у тебя все легко и просто написано, что получилось сделать открытие комментаторов в новом окне с первого раза!
    Не ожидал, еще раз спасибо. Сохранил в закладках, буду заходить учиться. ;-)

    [Ответить]

    Сергей Кобзарь отвечает:

    Рад помочь, Александр)

    [Ответить]

  29. Ильмира пишет:

    Сергей, здравствуйте! Не могли бы Вы мне подсказать. У меня вопрос немного не по теме. У меня на блоге не работают комментарии к статьям, точнее они начинают работать только спустя 1-2 минуты. С других страниц комментарии успешно отправляются. Комментарии к статьям в настройках разрешены. Как Вы думаете, в чем может быть дело? Заранее спасибо за ответ!

    [Ответить]

    Сергей Кобзарь отвечает:

    Ильмира, в каком смысле не работают? Не отправляются или не сразу появляются? Или не грузится форма комментариев.

    [Ответить]

  30. Денис пишет:

    Хорошая статья, помогла с этим разобраться! А есть какой нибудь скрипт, код чтобы ссылки сайтов комментаторов не плагином закрывались? Если есть, то как он выглядит, и куда его вставить нужно?

    [Ответить]

    Сергей Кобзарь отвечает:

    Денис рад что помогла статья. Код в статье приведенный уже закрытый – rel=’nofollow’ добавляете и ссылки будут закрыты от индексации

    [Ответить]

  31. Софья пишет:

    Спасибо,Сергей! У меня наконец-то все получилось. Редактировала через файловый менеджер хостинга. А до этого пробовала через “тотал командер” файлы редактировать, потом глючило все( пришлось базу данных обновлять!) Полезная статья.

    [Ответить]

  32. Владислав пишет:

    Надо же, я точно таким же образом столкнулся с этой неприятностью, и даже не знаю сколько времени на моём блоге это безобразие процветало. Часа 2 искал по этой теме инфу, и за 3 минуты всё исправил, с помощью твоей статьи. Так что Спасибо, нужное дело делаете ;-)

    [Ответить]

    Сергей Кобзарь отвечает:

    Рад что статья пригодилась, Владислав

    [Ответить]

Оставить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: