Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Закрыть все исходящие ссылки от индексации

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
LeonCrab
phpBB 1.0.0
Сообщения: 3
Стаж: 16 лет 5 месяцев

Закрыть все исходящие ссылки от индексации

Сообщение LeonCrab »

Собственно сам вопрос: что поменять чтобы закрыть все исходящие ссылки с форума
т.е. при преобразовании текста перед каждой ссылкой добавлялся тег <noindex>, после ссылки этот тег закрывался, а также добавлялся к коду ссылки параметр rel="nofollow"

Версия - phpbb 3.0RC5

Заранее спасибо.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Сообщение rxu »

Если я правильно понял вопрос, то открываете includes/functions.php и находите строку

Код: Выделить всё

	$html	= "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append";
и добавляете туда то, что вам нужно, например

Код: Выделить всё

	$html	= "$whitespace<!-- $tag --><noindex><a$class rel=\"nofollow\" href=\"$url\">$text</a></noindex><!-- $tag -->$append";
Последний раз редактировалось Fray98rus 20.11.2009 17:20, всего редактировалось 1 раз.
Причина: Исправлена опечатка - закрыт тег noindex
Изображение
LeonCrab
phpBB 1.0.0
Сообщения: 3
Стаж: 16 лет 5 месяцев

Сообщение LeonCrab »

Только второй тег НОИНДЕКС закрыть надо. Вот так.

Код: Выделить всё

$html   = "$whitespace<!-- $tag --><noindex><a$class rel=\"nofollow\" href=\"$url\">$text</a></noindex><!-- $tag -->$append";
Спасибо, счас иду проверю...
LeonCrab
phpBB 1.0.0
Сообщения: 3
Стаж: 16 лет 5 месяцев

Сообщение LeonCrab »

Всё работает, спасибо.
Т.е. работает если в окне ответов набирать урл.

А как сделать аналогичное для BB-кода (т.е. когда ссылка вставляется через ВВ-код) и для картинок (флешек), которые ссылаются на другой сайт?

Для ссылок в подписях и профилях пользователей?
brainfucker
phpBB 1.0.0
Сообщения: 1
Стаж: 16 лет 2 месяца
Контактная информация:

Сообщение brainfucker »

рылся в функции парсинга бб кодов... чето не дорубил как там URL обрабатывается =(.. КТОНИБУДЬ ПОМОЖЕТ?
NCom
phpBB 2.0.11
Сообщения: 810
Стаж: 18 лет 2 месяца
Откуда: Ставрополь
Контактная информация:
Забанен: Бессрочно

Сообщение NCom »

LeonCrab писал(а):А как сделать аналогичное для BB-кода (т.е. когда ссылка вставляется через ВВ-код) и для картинок (флешек), которые ссылаются на другой сайт?

Для ссылок в подписях и профилях пользователей?
очень нужная вещь.
Gisher
phpBB 2.0.12
Сообщения: 857
Стаж: 17 лет 5 месяцев
Благодарил (а): 11 раз
Поблагодарили: 13 раз

Сообщение Gisher »

Rayden написал как сделать ссылки в новом окне, попробуйте к изменениям добавить <noindex></noindex>
ссылка
inlux
phpBB 1.0.0
Сообщения: 2
Стаж: 16 лет 2 месяца

Сообщение inlux »

для справки тэг <noindex> игнорируется всеми роботами кроме рамблеровского, собственно рамблер и придумал этот тэг :wink:
Аватара пользователя
RedNaxi
Former team member
Сообщения: 933
Стаж: 17 лет 1 месяц
Откуда: BeBoss.ru
Благодарил (а): 2 раза
Поблагодарили: 14 раз

Сообщение RedNaxi »

да да, а тег <h1> придумал я чтобы мне было удобнее писать свое имя большими красивыми буквами.
навскидку-поищите в блоге Яндекса, они тоже правильно обрабатывают этот тег
piatachki
phpBB 1.4.2
Сообщения: 56
Стаж: 16 лет 3 месяца
Откуда: Москва
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Сообщение piatachki »

inlux
Неужто? В документации Яндекса для веб-мастеров:
Робот Яндекса поддерживает тег noindex, который позволяет решить эту проблему. В начале служебного фрагмента поставьте <noindex>, а в конце — </noindex>, и Яндекс не будет индексировать данный участок текста.
RedNaxi опередил ))
This is a man's world (c)
Аватара пользователя
RWinner
phpBB 1.4.4
Сообщения: 162
Стаж: 18 лет 2 месяца
Благодарил (а): 17 раз

Сообщение RWinner »

свои 5 копеек к оффтопу: аналогичный по действию тегу noindex, параметр

Код: Выделить всё

rel="nofollow"
тега "a" поддерживается Google, Yahoo и MSN (может и еще кем-то, не знаю)
Давненько я здесь не был... (-:
Аватара пользователя
WWW.NWBROKER.RU
phpBB 1.0.0
Сообщения: 2
Стаж: 16 лет 1 месяц
Контактная информация:

Re: Закрыть все исходящие ссылки от индексации

Сообщение WWW.NWBROKER.RU »

В конец файла [includes/functions.php] добавляется ф-я (адрес http://www.nwbroker.ru заменяется на адрес сайта на котором установлен форум):

Код: Выделить всё

function replace_link200704211559($str)
{
    //return $str;
	$str1 = '';
	$sss = $str;
	do{

    	$pos = strpos($str, '<a ');
    	if($pos !== false)
    	{
    		$l = substr($str, 0, $pos);
    		$pos2 = strpos($str, '</', $pos);
    		$pos3 = strpos($str, '>', $pos2);
    		$r =  substr($str, $pos3+1);
    		$m = substr($str, $pos, $pos3-$pos+1);
            //------------------------------------------------------------------

			$href = '';
			$pos = strpos($m, 'href');
	    	if($pos !== false)
	    	{
       			$pos = strpos($m, '"', $pos)+1;
       			$href = substr($m, $pos);
       			$pos2 = strpos($href, '"');
            	$href = substr($href, 0, $pos2);

    			if(strpos($href, 'nwbroker.ru') !== false)
    			{
		            $str1 .= $l.$m;
  	  				$str = $r;

           			continue;
    			}

       			$pos = strpos($m, '>', $pos)+1;
       			$text = substr($m, $pos);
       			$pos2 = strrpos($text, '<');
            	$text = substr($text, 0, $pos2);
	    	}

			if(strpos($text, '<img ') === false)
			{
				if(strpos($text, 'http://') !== false)
				{
					$text = str_replace("http://", "_ttp://", $text);
				}
				else
				{
					if(strpos($text, '.') !== false) $text = '_'.trim($text);
				}
			}


			$pvar = 'a'.substr(md5(uniqid(rand(), true)), 14);
            $str1 .= $l.'<a id="'.$pvar.
            	'" tmp="'.$href.'" href="http://www.nwbroker.ru" target="_blank" class="postlink">'.$text.'</a>'."\r\n".
            '<script language="javascript">
            <!--
            try {
            document.getElementById("'.$pvar.'").href = document.getElementById("'.$pvar.'").getAttribute("tmp");
            } catch( e ) { }
            --></script>'."\r\n";
    		$str = $r;
    	}
    	else
    	{
    		if($str1 != '') $str1 .= $str;
    	}
	}while ($pos !== false);
	if($str1 == '') return $str;
	else return $str1;
}
в файле viewtopic.php после кода

Код: Выделить всё

$user_cache[$poster_id]['sig'] = bbcode_nl2br($user_cache[$poster_id]['sig']);
$user_cache[$poster_id]['sig'] = smiley_text($user_cache[$poster_id]['sig']);
добавляется строка

Код: Выделить всё

$user_cache[$poster_id]['sig'] = replace_link200704211559($user_cache[$poster_id]['sig']);
после кода

Код: Выделить всё

$message = bbcode_nl2br($message);
$message = smiley_text($message);
добавляется строка

Код: Выделить всё

	$message = replace_link200704211559 ($message);
это была защита подписи и текста сообщения, есть еще поле в профиле под сайт, в разных шаблонах оно по разному выводиться, я отредактировал prosilver так:


в файле [forum2\styles\prosilver\template\viewtopic_body.html] код

Код: Выделить всё

<ul class="profile-icons">
	<!-- IF postrow.U_PM --><li class="pm-icon"><a href="{postrow.U_PM}" title="{L_PRIVATE_MESSAGE}"><span>{L_PRIVATE_MESSAGE}</span></a></li><!-- ENDIF -->
	<!-- IF postrow.U_EMAIL --><li class="email-icon"><a href="{postrow.U_EMAIL}" title="{L_EMAIL}"><span>{L_EMAIL}</span></a></li><!-- ENDIF -->
	<!-- IF postrow.U_WWW --><li class="web-icon"><a href="{postrow.U_WWW}" title="{L_VISIT_WEBSITE}: {postrow.U_WWW}"><span>{L_WEBSITE}</span></a></li><!-- ENDIF -->
	<!-- IF postrow.U_MSN --><li class="msnm-icon"><a href="{postrow.U_MSN}" onclick="popup(this.href, 550, 320); return false;" title="{L_MSNM}"><span>{L_MSNM}</span></a></li><!-- ENDIF -->
	<!-- IF postrow.U_ICQ --><li class="icq-icon"><a href="{postrow.U_ICQ}" onclick="popup(this.href, 550, 320); return false;" title="{L_ICQ}"><span>{L_ICQ}</span></a></li><!-- ENDIF -->
	<!-- IF postrow.U_YIM --><li class="yahoo-icon"><a href="{postrow.U_YIM}" onclick="popup(this.href, 780, 550); return false;" title="{L_YIM}"><span>{L_YIM}</span></a></li><!-- ENDIF -->
	<!-- IF postrow.U_AIM --><li class="aim-icon"><a href="{postrow.U_AIM}" onclick="popup(this.href, 550, 320); return false;" title="{L_AIM}"><span>{L_AIM}</span></a></li><!-- ENDIF -->
	<!-- IF postrow.U_JABBER --><li class="jabber-icon"><a href="{postrow.U_JABBER}" onclick="popup(this.href, 550, 320); return false;" title="{L_JABBER}"><span>{L_JABBER}</span></a></li><!-- ENDIF -->
</ul>
заменил кодом

Код: Выделить всё

<ul class="profile-icons">
	<!-- IF postrow.U_PM --><li class="pm-icon" style="cursor: pointer;" myhref="{postrow.U_PM}" onclick="window.open(this.getAttribute('myhref'))"><span myhref="{postrow.U_PM}" title="{L_PRIVATE_MESSAGE}"><span>{L_PRIVATE_MESSAGE}</span></span></li><!-- ENDIF -->
	<!-- IF postrow.U_EMAIL --><li class="email-icon" style="cursor: pointer;" myhref="{postrow.U_EMAIL}" onclick="window.open(this.getAttribute('myhref'))"><span myhref="{postrow.U_EMAIL}" title="{L_EMAIL}"><span>{L_EMAIL}</span></span></li><!-- ENDIF -->
	<!-- IF postrow.U_WWW --><li class="web-icon" style="cursor: pointer;" myhref="{postrow.U_WWW}" onclick="window.open(this.getAttribute('myhref'))"><span myhref="{postrow.U_WWW}" title="{L_VISIT_WEBSITE}: {postrow.U_WWW}" onclick="window.open(this.getAttribute('myhref'))"><span>{L_WEBSITE}</span></span></li><!-- ENDIF -->
	<!-- IF postrow.U_MSN --><li class="msnm-icon" style="cursor: pointer;" myhref="{postrow.U_MSN}" onclick="window.open(this.getAttribute('myhref'))"><span myhref="{postrow.U_MSN}" onclick="window.open(this.getAttribute('myhref'))" title="{L_MSNM}"><span>{L_MSNM}</span></span></li><!-- ENDIF -->
	<!-- IF postrow.U_ICQ --><li class="icq-icon" style="cursor: pointer;" myhref="{postrow.U_ICQ}" onclick="window.open(this.getAttribute('myhref'))"><span myhref="{postrow.U_ICQ}" onclick="window.open(this.getAttribute('myhref'))" title="{L_ICQ}"><span>{L_ICQ}</span></span></li><!-- ENDIF -->
	<!-- IF postrow.U_YIM --><li class="yahoo-icon" style="cursor: pointer;" myhref="{postrow.U_YIM}" onclick="window.open(this.getAttribute('myhref'))"><span myhref="{postrow.U_YIM}" onclick="window.open(this.getAttribute('myhref'))" title="{L_YIM}"><span>{L_YIM}</span></span></li><!-- ENDIF -->
	<!-- IF postrow.U_AIM --><li class="aim-icon" style="cursor: pointer;" myhref="{postrow.U_AIM}" onclick="window.open(this.getAttribute('myhref'))"><span myhref="{postrow.U_AIM}" onclick="window.open(this.getAttribute('myhref'))" title="{L_AIM}"><span>{L_AIM}</span></span></li><!-- ENDIF -->
	<!-- IF postrow.U_JABBER --><li class="jabber-icon" style="cursor: pointer;" myhref="{postrow.U_JABBER}" onclick="window.open(this.getAttribute('myhref'))"><span myhref="{postrow.U_JABBER}" onclick="window.open(this.getAttribute('myhref'))" title="{L_JABBER}"><span>{L_JABBER}</span></span></li><!-- ENDIF -->
</ul>
пример работы http://www.nwbroker.ru/board/viewtopic.php?f=22&t=904 черновик 3-й версии форума
как это работает на 2-й версии
http://forum.nwbroker.ru/viewtopic.php?t=904
в будущем по последней ссылке будет 3-я версия
Последний раз редактировалось WWW.NWBROKER.RU 30.01.2008 1:28, всего редактировалось 2 раза.
NCom
phpBB 2.0.11
Сообщения: 810
Стаж: 18 лет 2 месяца
Откуда: Ставрополь
Контактная информация:
Забанен: Бессрочно

Сообщение NCom »

ну что...замечательно отображаются все ссылки и ссылки в подписях, так что не пойму, что вы сделали....
Аватара пользователя
WWW.NWBROKER.RU
phpBB 1.0.0
Сообщения: 2
Стаж: 16 лет 1 месяц
Контактная информация:

Сообщение WWW.NWBROKER.RU »

NCom писал(а):ну что...замечательно отображаются все ссылки и ссылки в подписях, так что не пойму, что вы сделали....
Смысл в том чтобы ссылками можно было пользоваться, но поисковики и биржи ссылок их не индексировали. Чем это полезно можно почитать здесь http://forum.searchengines.ru/
NCom
phpBB 2.0.11
Сообщения: 810
Стаж: 18 лет 2 месяца
Откуда: Ставрополь
Контактная информация:
Забанен: Бессрочно

Сообщение NCom »

WWW.NWBROKER.RU
чем это полезно я знаю отлично :)

Добавлено спустя 1 минуту 36 секунд:

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

Вернуться в «Поддержка phpBB 3.0.х»