rel равно nofollow для сторонних ссылок

 
Посетитель
small user social cms
Медаль
Сообщений: 107
Не могу вести блог, но очень хотел поделиться.

Написал маленький хак, дополнение, доработку (читайте как хотите). Вставляется в вашу тему в файл main.tpl перед последним < /body >
Код PHP:
  1.  
  2. <script type="text/javascript">
  3. $(document).ready(function(){
  4. $('a[href^="http"]:not([href*="<?php $sitename = explode('.', $_SERVER['SERVER_NAME']);
  5. $site_domain = $sitename[count($sitename)-2].'.'. $sitename[count($sitename)-1]; echo $_SERVER['SERVER_NAME']; ?>"]),a[href^="/go?"]').attr('onclick', 'return !window.open(this.href)').attr("rel","nofollow");
  6. });
  7. </script>
  8.  
Описание: В скрипте идет подстановка адреса сайта если сайт сторонний то к его атрибутам дописывается "rel=nofollow" и открывается в отдельном окне. Если ваш, даже на субдомене "subdomain.site.com" будет определять как собственный.
В случае, когда сторонняя ссылка благополучно открылась в новом окне, мы блокируем открытие ссылки в своем родном окне, т.к. return будет !true=false. И наоборот, если окно открыть не удалось, return true позволит ссылке отработать в штатном режиме. Это замена невалидного атрибута target.
Получаем:
Сторонний сайт
Код PHP:
  1.  
  2. <a href="http://levi-site.ru" onclick="return !window.open(this.href)" rel="nofollow">спам не дай бог</a>
  3.  
там же ваш сайт
Код PHP:
  1.  
  2. <a href="http://vash-site.ru">ссылка</a>
  3.  
Всем удачи.
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4385
Sergey Necr:
к его атрибутам дописывается "rel=nofollow"
Зачем? Поисковые системы этого не увидят (меняете то js кодом), а вы ведь для них этот атрибут ставите joke
Sergey Necr:
Это замена невалидного атрибута target.
Невалидный он только при неверном DOCTYPE, да и в целом, менять штатный target="_blank" на onclick="return !window.open(this.href)" весьма спорное решение, кроме этого, после вашего хака при неверном DOCTYPE страница по-прежнему будет невалидной, опять же потому что замену делаете посредством javascript.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
Медаль
Сообщений: 107
Fuze:

Зачем? Поисковые системы этого не увидят (меняете то js кодом), а вы ведь для них этот атрибут ставите joke

хм, как то стороне выполнения не подумал smile благодарю.

UPD. а проверил решение на pr-cy.ru
выдало: Внешние ссылки — 4, индексируется — 3
Значит все же работает...
Редактировалось: 1 раз (Последний: 23 апреля 2015 в 14:33)
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.