Бормотухи.НЕТ

Вернуться   Бормотухи.НЕТ > Web-мастеру > vBulletin 4.x > Инструкции и модификации для vBulletin 4.x
Расширенный поиск

Инструкции и модификации для vBulletin 4.x Различные инструкции и моды для vBulletin 4.x

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2011, 08:00 Вверх   #1
Новичок
 
Аватар для Dobry
Dobry вне форума
Доп. информация
По умолчанию Редирект внешних ссылок + белый список

Я столкнулся с проблемой нахождения хака закрытия/редиректа внешних ссылок для версии 4.х.х.

Мне удалось ее решить невероятно просто, редактированием одного исходного файла движка, вставкой в шаблон джава-скрипта, и, активизацией опции rel=nofollow в основных настройках админпанели.

Подобная тема есть здесь, но там эта инструкция для версии 3.8.4. http://www.bormotuhi.net/showthread.php?t=7518

Я рекомендую к этой инструкции обратиться, так как я взял маленький кусочек рнр-кода и адаптировал его. Но главное, что там описано в конце, когда вы уже все выполните. По желанию можно будет выполнить запрос в БД, чтобы все ссылки на форуме поменялись. Лично я этого запроса не делал, так как все внешние ссылки, кроме белого списка, сами стали закрытыми.

Итак, адаптация рнр-кода стала возможной благодаря уже вшитой опции rel=nofollow в основных настройках админпанели. Нам остается лишь этим воспользоваться.

=========
Установка затрагивает:
1. Редактирование одного файла class_bbcode.php.
2. Активизировать опцию "rel=nofollow" в настройках в админке.
3. Добавление небольшого ява-скрипта в в шаблон.
=========

1. Идем в Админку -> "Настройки" -> "настройка ВВ кодов" -> [устанавливаем галочку в "да", напротив "rel=nofollow"]



2. Редактируем файл includes/class_bbcode.php ищем там функцию function handle_bbcode_url($text, $link)

Идем в самый конец этой функции и находим там строку: (приблизительно 2312 строка)

PHP код:
// standard URL hyperlink
return "<a href=\"$rightlink\" target=\"_blank\"" . ($is_external ' rel="nofollow"' '') . ">$text</a>"
комментируем двумя слешами return и получаем такой вид:
PHP код:
// standard URL hyperlink
// return "<a href=\"$rightlink\" target=\"_blank\"" . ($is_external ? ' rel="nofollow"' : '') . ">$text</a>"; 
3. Чуть ниже, после // return вставляем код и сохраняем файл:
PHP код:
        ###########################
        // Условие замены стандартной URL hyperlink на закрытую внешнюю URL hyperlink
        // Идем: Админка => Основные настройки => Настройки ББ кодов => [ставим галочку напротив "добавлять к внешним линкам rel=nofollow"]
         
if(!$is_external)
        {
              
// Вставка (стандартной URL hyperlink) или (URL из белого списка в настройках админки) или линка со своего домена, на котором установлен форум
              
return "<a href=\"$rightlink\" target=\"_blank\">$text</a>";
        }else{
              
// замена внешней URL (кликабельной) на завуалированную текстовую URL-ссылку - Редирект
              
$uniqid substr(md5(uniqid(rand(), true)), 010);
              return 
"<noindex><span id=\"extlink_" $uniqid "\" title=\"External Link, no Referer ".$rightlink."\" style=\"text-decoration:underline; cursor: pointer;\" onclick=\"return open_external('$rightlink', this.id);\">$text</span></noindex>";
        }
        
########################### 
4. Идем в Админку -> "Стили и шаблоны" -> "Поиск в шаблонах" -> [вбиваем в поиск: headinclude]

В шаблоне, в самом конце вставляем код джава-скрипта и сохраняем шаблон:

PHP код:
<script type="text/javascript">
<!--
function 
open_external(urlid)
{
     
window.open('about:blank'id);
     
w.document.write('<meta http-equiv="refresh" content="0;url='+url+'">');
     
w.document.close();
     return 
false;
}
-->
</script> 
Заливаем измененный файл class_bbcode.php на удаленный сервер, (затирая оригинал) в папке "includes"

Сохраняем изменения и радуемся. Редиректы будут работать для всех сообщений. Для того чтобы ссылки на форуме поменялись нужно обновить страницы, если они у вас загружены в браузере кнопкой F5. Если не поменялись, то нужно почистить кеш браузера.

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

Идем в Админку -> "Настройки" -> "настройка ВВ кодов" -> [ ниже опции "rel=nofollow"] есть поле для создания белого списка адресов. Вписываем нужные вам (каждый новый адрес с новой строки). Сохраняем. Все.

Последний раз редактировалось Dobry; 04.08.2012 в 15:51.. Причина: уточнения
  Ответить с цитированием
9 пользователя(ей) сказали cпасибо:
Старый 05.05.2012, 23:58 Вверх   #2
Новичок
 
Аватар для argonec
argonec вне форума
Доп. информация
По умолчанию

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

Сделал все по чертежу , но чет не фурычит . Проверял вот этим _http://www.iwebtool.com

И ссылки цвет потеряли , VB 4.1.12

В VBSeo есть эта функция ! Работает на 5+ ! Все , побежал смотреть PR , наверно уже 15

P.S. Как я лихо тут сам с собой пообщался !

Последний раз редактировалось argonec; 06.05.2012 в 02:37..
  Ответить с цитированием
Старый 04.08.2012, 15:46 Вверх   #3
Новичок
 
Аватар для Dobry
Dobry вне форума
Доп. информация
По умолчанию

Все должно работать, так как я сам все перепроверил как на локалке, так и на удаленном сервере. А внешние ссылки, когда их скрипт переделывает (в редирект) ссылки должны потерять цвет, стать серыми. При наведении на редиректную (внешнюю) ссылку появляется пиктограммка руки.

На самом деле, редиректная ссылка уже не является по сути ссылкой, это просто текст, который заключен в теге <span>, и за счет js-скрипта в шаблоне headinclude как бы превращается в ссылку. js-скрипт создает редирект на лету, что этого даже не заметно. Короче, кто разбирается в рнр-коде и js-коде, тот поймет.

Принцип работы такой. Когда вы вызываете одну из страниц форума, на которой есть внешняя сылка, тогда идет запрос в базу данных форума. После выборки инфы из БД,... для сообщений инфа пропускается через скрипт class_bbcode.php чтобы обработать на предмет ВВкодов. Если встречается внешняя ссылка, то она обрабатывается согласно шаблону для ссылок, который мы вставили (модернизировали для внешних). После обработки эта инфа идет дальше. Генерируется страница согласно шаблонам внешнего вида виртуально на удаленном сервере и только после этого отправляется к вам в броузер.

Я сам искал для 4 булки плагин-редирект как в 3 булке, но увы, его просто нет. Вот мне пришлось самостоятельно поковыряться в рнр-коде, чтобы адаптировать его для 4-ки. Работает отлично. Там нет ничего сложного... честно говоря, вообще ничего сложного. В данном случае, это самый оптимальный вариант для форума и редиректа внешних ссылок.

Конечно, можно просто ничего не изменять, только активизировать опцию rel=nofollow, чтобы поисковики не следовали по внешним ссылкам. Это еще проще...
  Ответить с цитированием
Старый 04.08.2012, 19:32 Вверх   #4
Уважаемая личность
 
Аватар для Vasich
Vasich вне форума
Доп. информация
По умолчанию

Спасибо. Объясните пожалуйста совершенно несведущему - какая польза? Что это делает конкретно для форума? Редирект внешних ссылок - в чем польза. Очень прошу написать доступным языком, так как понятия не имею во всех этих премудростях.
Конечно то, что Вы написали я могу проделать у себя на форуме, просто прошу пояснить более подробно.
  Ответить с цитированием
Старый 11.08.2012, 21:08 Вверх   #5
Уважаемая личность
 
Аватар для Vasich
Vasich вне форума
Доп. информация
По умолчанию

Неужели так сложно написать, мол с помощью этих изменений что то повысится или улучшиться?
Я понимаю, что выгляжу глупо, но за неделю хотя бы послали, что ли...
  Ответить с цитированием
Старый 11.08.2012, 22:23 Вверх   #6
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

Vasich, чисто теоретически их не будут учитывать поисковые роботы и при копипасте поста в мозиле они тоже не будут копироваться, на практике - ХЗ. + если переход осуществляется через редирект - то на странице получателе пользователя перешедшего поп ссылке с форума будет не известно откуда он пришел (реферер передаваться не должен).
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Старый 12.08.2012, 17:01 Вверх   #7
Уважаемая личность
 
Аватар для Vasich
Vasich вне форума
Доп. информация
По умолчанию

Вопрос по тексту
Код:
###########################
        // Условие замены стандартной URL hyperlink на закрытую внешнюю URL hyperlink
        // Идем: Админка => Основные настройки => Настройки ББ кодов => [ставим галочку напротив "добавлять к внешним линкам rel=nofollow"]
         if(!$is_external)
        {
              // Вставка (стандартной URL hyperlink) или (URL из белого списка в настройках админки) или линка со своего домена, на котором установлен форум
              return "<a href=\"$rightlink\" target=\"_blank\">$text</a>";
        }else{
              // замена внешней URL (кликабельной) на завуалированную текстовую URL-ссылку - Редирект
              $uniqid = substr(md5(uniqid(rand(), true)), 0, 10);
              return "<noindex><span id=\"extlink_" . $uniqid . "\" title=\"External Link, no Referer".$rightlink."\" style=\"text-decoration:underline; cursor: pointer;\" onclick=\"return open_external('$rightlink', this.id);\">$text</span></noindex>";
        }
        ###########################
Текст External Link, no Referer можно заменить на любой произвольный (русский например)?
  Ответить с цитированием
Cказали cпасибо:
Старый 15.08.2012, 22:55 Вверх   #8
Коренной житель
 
Аватар для bazar76
bazar76 вне форума
Доп. информация
По умолчанию

Есть вопрос.
Если я всё описанное выше поставлю на Сюиту булки, то ссылки не только на форуме получат нофолоу, а и на Главной (CMS) тоже?

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

Или единственным решением в этом случае станет "белый список"? У меня новостной ресурс и этот "белый список" может быть довольно внушительный.

Или я зря паникую и этот так сказать хак не затрагивает CMS, а работает лишь на форуме?
  Ответить с цитированием
Cказали cпасибо:
Старый 09.12.2012, 15:53 Вверх   #9
Новичок
 
Аватар для Dobry
Dobry вне форума
Доп. информация
По умолчанию

Цитата Сообщение от Vasich Посмотреть сообщение
Вопрос по тексту


Текст External Link, no Referer можно заменить на любой произвольный (русский например)?
Да, можно заменить на любой произвольный (русский)

Добавлено через 21 минуту 1 секунду

Цитата Сообщение от bazar76 Посмотреть сообщение
Есть вопрос.
Если я всё описанное выше поставлю на Сюиту булки, то ссылки не только на форуме получат нофолоу, а и на Главной (CMS) тоже?

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

Или единственным решением в этом случае станет "белый список"? У меня новостной ресурс и этот "белый список" может быть довольно внушительный.

Или я зря паникую и этот так сказать хак не затрагивает CMS, а работает лишь на форуме?
Ссылки будут везде закрыты редиректом, кроме тех, что вы добавите в белый список.
Суть редиректа именно в закрытии их от поисковиков. Но если на вашем форуме будет много внешних ссылок, то это, собственно, будет влиять на его рейтинг. Поэтому, вам принимать решение делать редирект или нет.

Есть ведь и другая вшитая опция rel=nofollow которая указывает роботам не следовать по этой ссылке. Можно просто активизировать её в админ-настройках. Но вам все равно придется делать "белый список ссылок", чтобы роботы их видели.
Я где-то читал, что Гугл все равно такие ссылки (использующие rel=nofollow) читает но не добавляет в поиск. Поэтому, редирект точно их делает невидимыми.

Еще один вариант я вижу, это нужно писать функцию, которая будет выборочно определять какую ссылку закрывать, а какую нет. А сделать это можно так же легко. Например, при вставке в посте форума ссылки, которую нужно сделать видимой, добавлять к протоколу http://* какой-нибудь условный символ whttp://*
тем самым делая её видимой для нашей функции, которая обработав её, не будет добавлять ни редиректа, ни тега rel=nofollow

Последний раз редактировалось Dobry; 09.12.2012 в 15:57..
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Старый 03.03.2017, 19:35 Вверх   #10
Новичок
 
Аватар для vasiliy988
vasiliy988 вне форума
Доп. информация
По умолчанию

Здравствуйте, пост на столько старый, что не знаю есть ли кто то кто может ответить на мой вопрос...

этот редирект работает с ссылками http , можно ли его заставить работать с https ?
  Ответить с цитированием
Старый 03.03.2017, 20:13 Вверх   #11
Новичок
 
Аватар для vasiliy988
vasiliy988 вне форума
Доп. информация
По умолчанию

Цитата Сообщение от vasiliy988 Посмотреть сообщение
Здравствуйте, пост на столько старый, что не знаю есть ли кто то кто может ответить на мой вопрос...

этот редирект работает с ссылками http , можно ли его заставить работать с https ?
Только что еще раз проверил, работает редирект, но не на всех ссылках, какая то ерунда с ним творится... удаляются ссылки с постов...
Короче, возвращаю все на свои места...
  Ответить с цитированием
Ответ

Метки
редирект для 4.х.х


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Черный список Ghost Хостинг (Hosting) 47 16.11.2014 09:00
Закрытие/редирект внешних ссылок [by kerk] Serberg Инструкции по vBulletin 14 25.03.2013 16:13
Видеоурок "Чистка шаблонов от внешних ссылок и скриптов на примере шаблона DLE" Serberg Инструкции, модификации и статьи для DLE 40 03.01.2013 19:23
[Вопрос] в четвертую булку редирект штоле встроен? Ganjabass vBulletin 4.x 1 26.01.2011 12:09
Список ICQ ботов woron ICQ, Skype, Mirk..... 13 21.01.2011 20:43


Текущее время: 21:00. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
 

Время генерации страницы 0.17361 секунды с 14 запросами