|
|
Инструкции и модификации для vBulletin 4.x Различные инструкции и моды для vBulletin 4.x |
|
Опции темы | Поиск в этой теме |
27.10.2011, 08:00 Вверх | #1 | |||
Новичок
|
Редирект внешних ссылок + белый список
Я столкнулся с проблемой нахождения хака закрытия/редиректа внешних ссылок для версии 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 код:
PHP код:
PHP код:
В шаблоне, в самом конце вставляем код джава-скрипта и сохраняем шаблон: PHP код:
Сохраняем изменения и радуемся. Редиректы будут работать для всех сообщений. Для того чтобы ссылки на форуме поменялись нужно обновить страницы, если они у вас загружены в браузере кнопкой F5. Если не поменялись, то нужно почистить кеш браузера. Для того, чтобы создать белый список адресов (внешних), нужно прописать их в настройках админки: Идем в Админку -> "Настройки" -> "настройка ВВ кодов" -> [ ниже опции "rel=nofollow"] есть поле для создания белого списка адресов. Вписываем нужные вам (каждый новый адрес с новой строки). Сохраняем. Все. |
|||
Последний раз редактировалось Dobry; 04.08.2012 в 15:51.. Причина: уточнения |
||||
05.05.2012, 23:58 Вверх | #2 | |||
Новичок
|
Вот дядьке спасибо , долго искал как это организовать . Любая ссылка " на сторону " уменьшает вес , и без того маленький , молодого форума .
Сделал все по чертежу , но чет не фурычит . Проверял вот этим _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 | |||
Новичок
|
Все должно работать, так как я сам все перепроверил как на локалке, так и на удаленном сервере. А внешние ссылки, когда их скрипт переделывает (в редирект) ссылки должны потерять цвет, стать серыми. При наведении на редиректную (внешнюю) ссылку появляется пиктограммка руки.
На самом деле, редиректная ссылка уже не является по сути ссылкой, это просто текст, который заключен в теге <span>, и за счет js-скрипта в шаблоне headinclude как бы превращается в ссылку. js-скрипт создает редирект на лету, что этого даже не заметно. Короче, кто разбирается в рнр-коде и js-коде, тот поймет. Принцип работы такой. Когда вы вызываете одну из страниц форума, на которой есть внешняя сылка, тогда идет запрос в базу данных форума. После выборки инфы из БД,... для сообщений инфа пропускается через скрипт class_bbcode.php чтобы обработать на предмет ВВкодов. Если встречается внешняя ссылка, то она обрабатывается согласно шаблону для ссылок, который мы вставили (модернизировали для внешних). После обработки эта инфа идет дальше. Генерируется страница согласно шаблонам внешнего вида виртуально на удаленном сервере и только после этого отправляется к вам в броузер. Я сам искал для 4 булки плагин-редирект как в 3 булке, но увы, его просто нет. Вот мне пришлось самостоятельно поковыряться в рнр-коде, чтобы адаптировать его для 4-ки. Работает отлично. Там нет ничего сложного... честно говоря, вообще ничего сложного. В данном случае, это самый оптимальный вариант для форума и редиректа внешних ссылок. Конечно, можно просто ничего не изменять, только активизировать опцию rel=nofollow, чтобы поисковики не следовали по внешним ссылкам. Это еще проще... |
|||
04.08.2012, 19:32 Вверх | #4 | |||
Уважаемая личность
|
Спасибо. Объясните пожалуйста совершенно несведущему - какая польза? Что это делает конкретно для форума? Редирект внешних ссылок - в чем польза. Очень прошу написать доступным языком, так как понятия не имею во всех этих премудростях.
Конечно то, что Вы написали я могу проделать у себя на форуме, просто прошу пояснить более подробно. |
|||
11.08.2012, 21:08 Вверх | #5 | |||
Уважаемая личность
|
Неужели так сложно написать, мол с помощью этих изменений что то повысится или улучшиться?
Я понимаю, что выгляжу глупо, но за неделю хотя бы послали, что ли... |
|||
11.08.2012, 22:23 Вверх | #6 | |||
Коварный тип
|
Vasich, чисто теоретически их не будут учитывать поисковые роботы и при копипасте поста в мозиле они тоже не будут копироваться, на практике - ХЗ. + если переход осуществляется через редирект - то на странице получателе пользователя перешедшего поп ссылке с форума будет не известно откуда он пришел (реферер передаваться не должен).
|
|||
12.08.2012, 17:01 Вверх | #7 | |||
Уважаемая личность
|
Вопрос по тексту
Код:
########################### // Условие замены стандартной 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>"; } ########################### |
|||
Cказали cпасибо: |
15.08.2012, 22:55 Вверх | #8 | |||
Коренной житель
|
Есть вопрос.
Если я всё описанное выше поставлю на Сюиту булки, то ссылки не только на форуме получат нофолоу, а и на Главной (CMS) тоже? Просто есть статьи которые взяты с других сайтов и естественно стоит ссылка на источник и как-то не совсем правильно её закрывать от поисковиков, я всё таки использую чужой труд и хочу так сказать отблагодарить автора ссылкой на его ресурс. Или единственным решением в этом случае станет "белый список"? У меня новостной ресурс и этот "белый список" может быть довольно внушительный. Или я зря паникую и этот так сказать хак не затрагивает CMS, а работает лишь на форуме? |
|||
Cказали cпасибо: |
09.12.2012, 15:53 Вверх | #9 | |||
Новичок
|
Да, можно заменить на любой произвольный (русский)
Добавлено через 21 минуту 1 секунду Ссылки будут везде закрыты редиректом, кроме тех, что вы добавите в белый список. Суть редиректа именно в закрытии их от поисковиков. Но если на вашем форуме будет много внешних ссылок, то это, собственно, будет влиять на его рейтинг. Поэтому, вам принимать решение делать редирект или нет. Есть ведь и другая вшитая опция rel=nofollow которая указывает роботам не следовать по этой ссылке. Можно просто активизировать её в админ-настройках. Но вам все равно придется делать "белый список ссылок", чтобы роботы их видели. Я где-то читал, что Гугл все равно такие ссылки (использующие rel=nofollow) читает но не добавляет в поиск. Поэтому, редирект точно их делает невидимыми. Еще один вариант я вижу, это нужно писать функцию, которая будет выборочно определять какую ссылку закрывать, а какую нет. А сделать это можно так же легко. Например, при вставке в посте форума ссылки, которую нужно сделать видимой, добавлять к протоколу http://* какой-нибудь условный символ whttp://* тем самым делая её видимой для нашей функции, которая обработав её, не будет добавлять ни редиректа, ни тега rel=nofollow |
|||
Последний раз редактировалось Dobry; 09.12.2012 в 15:57.. |
||||
03.03.2017, 19:35 Вверх | #10 | |||
Новичок
|
Здравствуйте, пост на столько старый, что не знаю есть ли кто то кто может ответить на мой вопрос...
этот редирект работает с ссылками http , можно ли его заставить работать с https ? |
|||
Метки |
редирект для 4.х.х |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Черный список | 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 |