Плагин «Редирект внешних ссылок (URL Redirect)», обновление


В новой версии плагина:

  • рефакторинг и рестайлинг кода
  • в конфиг добавлена опция отключения парсинга ссылок в новых текстах (чтобы не деактивировать плагин, если нужно временно отключить генерацию ссылок на основе правил)
  • переработана проверка реферала (плагин теперь будет понимать поддомены основного сайта, если с них был выполнен переход по ссылке)
  • для всех типов топиков добавлена опция «Не пропускать топик через плагин URL Redirect», которая отключает обработку ссылок в топике (т.е. внешние ссылки можно сделать индексируемыми)


ОПИСАНИЕ


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

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

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

У топиков есть опция «Не пропускать топик через плагин URL Redirect», которая отключает обработку ссылок в топике (т.е. внешние ссылки можно сделать индексируемыми).

Настройки в конфиге


  • Открывать ли все ссылки на другие сайты в новом окне
  • Добавлять ли ко всем ссылкам на сторонние сайты класс (атрибут class)
  • Белый список сайтов — позволяет всегда переходить к ним без окна предупреждения
  • Черный список сайтов — всегда блокировать переход с предупреждением
  • Возможность задавать регекспу в списках (т.е. разрешать сложные правила — поддомены сайта и т.п.)
  • Запрещать ли индексацию страницы выхода для поисковиков (в т.ч. и внешних ссылок)
  • Оборачивать ли все внешние ссылки в кодировку base64, это может решить проблему с некоторыми серверами на nginx, а также спрятать ссылку от глаз.
  • Проверять ли поле HTTP_REFERER на страницах выхода (проверять кто ссылался на страницу выхода). Позволяет защитится от черного СЕО, когда подставляют ссылки чужих сайтов в адресную строку и пингуют их (ваш сайт) с помощью специальных сервисов, наращивая таким образом себе PR и тИЦ за счет вашего сайта.
  • Время (секунд), через которое будет осуществлен автоматический переход по ссылке в окне выхода. Если не нужно, то установить в минусовое число (-1).
  • «Подсвечивать» ли внешние ссылки специальной иконкой после самой ссылки.

СКРИНШОТЫ


1. Страница выхода


2. Страница выхода с не рекомендованным переходом на другой сайт


3. Иконка внешней ссылки в тексте топика


4. Страница выхода с таймером


5. Низ формы создания нового топика


РЕЗЮМЕ


Плагин доступен в каталоге. Стоимость 360руб.

43 комментария

avatar
а в топик ссылку добавили переход по внешней ссылки?
  • lol
  • 0
avatar
не понял вопроса
avatar
вместо ссылки
сайт.ру/link/go/4/
нужно заменить тем что вы придумали для обычных ссылок
мы это еще осуждали в этой теме livestreet.ru/blog/16075.html
avatar
а, нет этого нет т.к. нужно делегировать ф-л движка, я этого не одобряю.
avatar
ок
avatar
PSNet вы мне поможете сделать то что я выше описал, если я плагин куплю?
  • lol
  • 0
avatar
сейчас нет времени, к тому же я вам бы рекомендовал отказаться от данной идеи в связи с тем, что ссылки прописаны жестко в шаблонах, поэтому без делегирования шаблонов тут не обойтись, а значит под каждый шаблон нужно будет переписывать. Следовательно под другие шаблоны это не может быть бесплатно.
avatar
мне нужно под мобильную версию это сделать, а под шаблон synio я уже сам разберусь.
другие шаблоны мне не нужны.
avatar
Как добавить субдомен в список разрешенных?
avatar
в конфиге плагина есть список регулярок
avatar
Будет ли шифроваться ссылка на сайт в профиле пользователя?
avatar
если пропускается через парсер, то да. я не помню сейчас, там может быть просто проверка на ссылку, без парсера
avatar
Могли бы Вы проверить это?
avatar
нет, там не пропускается через парсер, следовательно ссылки не шифруется
avatar
А как это можно реализовать в Вашем плагине?
avatar
только делегированием целого метода обработки поля
avatar
Вы сделаете это?
avatar
почему?
avatar
Вы же автор этого плагина. Редирект внешних ссылок (URL Redirect). Тут исходящая ссылка с сайта без редиректа.
avatar
это не относится к обрабатываемым ссылкам в тексте + нет возможности сделать это без делегирования целого метода, что сделает плагин не полностью совместимым, поэтому я этого делать не планирую.
avatar
ок, понял. А где еще плагин может не отрабатывать исходящих ссылок?
avatar
везде, где они не пропускаются через парсер, список всех мест мне не известен.
avatar
А в фотосете и соцопросе?
avatar
в текстах топиков везде работает
avatar
Добрый день!
Можно ли сделать ввод списка черных сайтов через админку, а не через конфиг?
комментарий был удален
avatar
Я могу опубликовать Ваш удаленный комментарий?
avatar
пишите в личку
avatar
Добрый день. Не получается добавить сайты в черный список.

* Черный список сайтов - всегда блокировать переход с предупреждением
 */
$config['Sites_With_Bad_Reputation'] = array (
	'/^(?:www\.)?site.ru$/i',
	'/^(?:www\.)?site2.ru$/i',
);


Что не так?
avatar
все нормально
avatar
не работает. Сайты проходят как обычно.
avatar
кстати, весьма информативно «Не получается добавить сайты в черный список.»
avatar
Ну вы же меня поняли? ;)
avatar
сайт, доступы в личку, что же делать
avatar
с доступами сложно, могу конфиг сбросить
avatar
давай конфиг
avatar
<?php
/*
	Urlredirect plugin
	(P) PSNet, 2008 - 2014
	http://psnet.lookformp3.net/
	http://livestreet.ru/profile/PSNet/
	https://catalog.livestreetcms.com/profile/PSNet/
	http://livestreetguide.com/developer/PSNet/
*/

$config = array ();

/*
 * Открывать ли все ссылки на другие сайты в новом окне
 */
$config['Open_All_Foreign_Links_In_New_Window'] = true;

/*
 * Добавить ко всем ссылкам на сторонние сайты класс (атрибут тега a), если не нужно - оставить пустым
 */
$config['Add_Special_Class_For_All_Foreign_Links'] = 'foreignlinks'; 		// class="foreignlinks"

/*
 * Белый список сайтов - позволяет всегда переходить к ним без окна предупреждения.
 * Ссылки прописывать БЕЗ "http://" и последнего слеша, сайты с "www." и без него - разные.
 * Допускается регэкспа в выражениях (выполняется preg_match для ссылки).
 */
$config['Always_Trusted_Sites'] = array (
	//'/^(?:www\.)?google.com$/i',
	//'/^(?:www\.)?yandex.ru$/i',
	'/^(?:.*\.)?lookformp3.net$/i',
	'/^(?:www\.)?playmp3.org.ua$/i',
);

/*
 * Черный список сайтов - всегда блокировать переход с предупреждением
 */
$config['Sites_With_Bad_Reputation'] = array (
	'/^(?:www\.)?site.ru$/i',
	'/^(?:www\.)?site2.ru$/i',
);

/*
 * Запрещать ли индексацию страницы выхода (в т.ч. и внешних ссылок) для поисковиков, значение мета тега robots.
 * Если хотите открыть индексацию внешних ссылок - оставьте пустое значение (мета тег не будет добавлен).
 * Можно заносить и свои параметры.
 */
$config['Meta_Robots'] = 'noindex, nofollow';	// noindex, nofollow

/*
 * Оборачивать все внешние ссылки в base64. Также это может помочь решить проблему с некоторыми серверами на nginx.
 * Если включено, то новые ссылки будут кодироватся, но и старые (не кодированные) также будут работать.
 */
$config['Wrap_Links_In_Base64'] = true;

/*
 * Проверяет поле HTTP_REFERER на страницах выхода.
 * Если на страницу ссылался не ваш сайт, то вместо ссылки на внешний сайт будет проставлена ссылка на ваш сайт.
 * Позволяет защитится от черного СЕО, когда подставляют ссылки чужих сайтов в адресную строку
 * и пингуют их (ваш сайт) с помощью специальных сервисов, наращивая таким образом себе пузомерки на счет вашего сайта.
 */
$config['Check_For_Referer'] = true;

/*
 * Время (секунд), через которое будет осуществлен автоматический переход по ссылке в окне выхода.
 * Если не нужно, то установить в минусовое число (-1).
 */
$config['Time_For_Auto_Going'] = 30; // sec

/*
 * "Подсвечивать" внешние ссылки специальной иконкой после самой ссылки
 */
$config['Highlight_External_Links'] = true;

/*
 * Включить ли обработку новых ссылок в тексте (можно отключить генерацию ссылок в новых текстах без отключения плагина)
 * но старые ссылки будут рабочими (плагин будет делать редиректы)
 */
$config['Plugin_Enabled'] = true;


/*
 *
 * --- Дальше редактировать ничего не надо ---
 *
 */

/*
 * Добавочный УРЛ для ссылки с нормальным переходом (не черный и не белый списки). Только символы a-z
 */
$config['URL_For_Good_Sites'] = 'redirect';

/*
 * Добавочный УРЛ для ссылки с черного списка. Только символы a-z
 */
$config['URL_For_Bad_Sites'] = 'dontgo';

$config['$root$']['router']['page'][$config['URL_For_Good_Sites']] = 'PluginUrlredirect_ActionUrlredirect';
$config['$root$']['router']['page'][$config['URL_For_Bad_Sites']] = 'PluginUrlredirect_ActionBadsitesUrlredirect';

return $config;

?>
avatar
почему не в личку с ссылкой на файл?
avatar
А в чем разница?
avatar
мне удобнее и быстрее
avatar
Прислать или уже не надо?
avatar
В чем может быть проблема?
avatar
ну вы быстрый, вообще есть тикеты в каталоги, поэтому все дальнейшее обсуждение туда или в личку

все работает
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.