Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Noindex и nofollow в ссылках форума

Опубликовано:

Подскажите как сделать чтобы в подписи и в сообщениях к любым ссылкам автоматически добавлялись тэги noindex, nofollow?

Рекомендованные сообщения

Опубликовано:

В подписях нет ничего проще. Есть шаблон signature_separator (кажется так) в группе skin_global. Закройте переменную $sig в noindex.

Хотя гораздо проще запретить просмотр подписей гостям, а, следовательно, и ботам.

И это даже лучше, так как nofollow в шаблон не вставить к переменной.

 

А вот о том, чтобы ко всем ссылками это добавлялось, наверное надо править bb-коды. Почитайте у Сонга, там не конкретно, но на эту тему много. Я пыталась вникать , но ничего не поняла, а времени на осмысление было мало.

 

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

Опубликовано:
  • Автор

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

Опубликовано:

Если Влад мод для редиректа от 2.1 переделает, напишу в этой теме. А может он его и в архив выложит, не спрашивала.

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

Там урлы, кстати, автоматом не парсятся, но через bb-коды работают.

Опубликовано:

я у себя сделал проще... Правда бб коды править пришлось, зато все ссылки "внешние" режутся. :(

могу выложить

Опубликовано:

Выложи, пожалуйста :(

Опубликовано:

варварский метод, но сейчас.

./sources/classes/bbcode/class_bbcode_core.php

найти

return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];

заменить на

		//return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
	if ( (strpos($url['html'], "http://ВАШ ДОМЕН") !== false) or (strpos($url['html'], "http://www.ВАШ ДОМЕН") !== false) )
	{
		return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
	}
	else
	{
		return ( isset($url['st']) ? $url['st'] : '' ) . "<noindex><a href=\"".$url['html']."\" target=\"_blank\" rel=\"nofollow\">".$show."</a></noindex>" . $url['end'];
	}

./sources/classes/bbcode/class_bbcode_legacy.php

найти

$txt = preg_replace( "#<a href=[\"']mailto:(.+?)['\"]>(.+?)</a>#"								   , "\[email=\\1\]\\2\[/email\]"   , $txt );

добавить выше

			$txt = preg_replace( "#<noindex>#"								   , ""   , $txt );
		$txt = preg_replace( "#</noindex>#"								   , ""   , $txt );

./sources/classes/bbcode/class_bbcode.php

найти

$txt = preg_replace( "#<a href=[\"']mailto:(.+?)['\"]>(.+?)</a>#s"								   , "\[email=\\1\]\\2\[/email\]"   , $txt );

Выше добавить

			$txt = preg_replace( "#<noindex>#"								   , ""   , $txt );
		$txt = preg_replace( "#</noindex>#"								   , ""   , $txt );

 

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

Опубликовано:

А там только для noindex работает?

Дело в том, что noindex понимает только Яндекс в таких ссылках. Для мировых поисковиков необходимо nofollow - это атрибут тега .

 

Ссылка в итоге должна принять вид анкор.

По идее nofollow можно в метатеге в header вписать, но тогда ссылки Гуглем не будут индексироваться вообще везде.

А через bb коды это как?

Опубликовано:

да что вы прям, там и нофоллоу есть. :) вглядитесь

return ( isset($url['st']) ? $url['st'] : '' ) . "<noindex><a href=\"".$url['html']."\" target=\"_blank\" rel=\"nofollow\">".$show."</a></noindex>" . $url['end'];

Опубликовано:

Спасибо... :)

  • 2 недели спустя...
Опубликовано:
  • Автор

Да, получилось, спасибо!

Вот ещё бы переадресацию сделать с чёрным/белым списком - было бы вообще круто!

  • 2 месяца спустя...
Опубликовано:
  • Автор

andaril

А можно как-нибудь сделать так, чтобы все поддомены определённого домена пропускались, чтобы не прописывать кучу вариантов, а к примеру сделать так: *.moy_sait.ru

Опубликовано:

я подумал. Можно такое написать, но если урл будет вида _http://porno.mnogo/index.php?fjdkf=fsdfs&moy_sait.ru то такая ссылка тоже отпарсится без ноиндекс.

Опубликовано:
  • Автор

Ну такой вариант хоть и возможен, но представляется мне крайне маловероятным.

Опубликовано:

так попробуйте (изменять только слова "ВАШ ДОМЕН")

		//return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
	if ( preg_match( '/http:\/\/(.*?)ВАШ ДОМЕН/i', $url['html'] ) )
	{
		return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
	}
	else
	{
		return ( isset($url['st']) ? $url['st'] : '' ) . "<noindex><a href=\"".$url['html']."\" target=\"_blank\" rel=\"nofollow\">".$show."</a></noindex>" . $url['end'];
	}

  • 2 месяца спустя...
Опубликовано:

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

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

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.