Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Kosiak

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'];

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение

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'];
	}

Поделиться сообщением


Ссылка на сообщение

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

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

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

×
×
  • Создать...