Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2009-07-07 12:34:27

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Как добавить noindex и nofollow ко всем ссылкам в статьях

[font=verdana]
Прошарил весь форум и не нашёл нужной инфы.
дело в следующем smile  :
мне нужно закрыть от индексации ПС и передачи веса - все ссылки, которые находятся в статьях, при этом ссылки с сайдбаров и других блоков нужно оставить для индексации ПС smile
Куда прописывать noindex и nofollow?
Статей много! Поэтому - вручную прописывать их нереально.
Нужен вариант или скриптинга или чего-то другого ...
Как всегда - жду любых ответов от добрых людей smile
[/font]

Не в сети

#2 2009-07-07 13:00:26

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

Ссылки в HTML формате или в BB кодах?
Если в BB кодах, то можно заставить двиг во все ссылки добавлять нужный тебе тег.
Если в чистом HTML - поможет замена текста в самой БД.

Не в сети

#3 2009-07-08 09:39:17

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

vitaly пишет:

Ссылки в HTML формате или в BB кодах?
Если в BB кодах, то можно заставить двиг во все ссылки добавлять нужный тебе тег.
Если в чистом HTML - поможет замена текста в самой БД.

1. И то и другое.
2. Как это сделать на практике? smile
3. Здесь - подробнее пожалуйста, я вообще ничего не понял sad

Не в сети

#4 2009-07-08 14:17:35

insider
Участник
Зарегистрирован: 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

2. Открой /engine/includes/classes/parse.class.php
Найди

				array_push($rdest, "<a ".(implode(" ", $outkeys)).">".$alt.'</a>');

Замени на

				array_push($rdest, "<noindex><a ".(implode(" ", $outkeys))." rel=\"nofollow\">".$alt.'</a></noindex>');

3. Установи плагин ireplace
Поочередно в новостях/статических страницах/комментариях произведи следующие замены:
#1. Исходная подстрока

<a

#1. Целевая подстрока

<noindex><a rel="nofollow"

#2. Исходная подстрока

</a>

#2. Целевая подстрока

</a></noindex>

Не в сети

#5 2009-07-08 14:51:10

zenn
Участник
Зарегистрирован: 2009-04-25
Сообщений: 48
Рейтинг :   

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

Очень глупый и не разумный метод.
Проще - сделать редиректор(редиректы поисковыми системами не индексируются).
Функции get[.$url.] и редиректа - гугл вам в помощь.
А по сути - пихнуть его в файл, к примеру :

/ваша_главная_папка_сайта/redirector/ > index.php

там же создать файл :
.htaccess
В него добавить :

DirectoryIndex : index.php
RewriteEngine Off

После, спарсить(/engine/includes/classes/parse.class.php) :

$outkeys [] = 'href="'.((!$keys['href'])?$alt:$keys['href']).'"';

Заменяем на :

 $chek_url = parse_url($keys['href']);
                if ($chek_url['host'] != 'ваш_сайт.домён')
                  $outkeys [] = 'href="http://ваш_сайт/redirector/?'.((!$keys['href'])?$alt:$keys['href']).'"';
                else
                  $outkeys [] = 'href="'.((!$keys['href'])?$alt:$keys['href']).'"';

И воуля, все ссылки(ВНЕШНИЕ) - станут не индексируемыми, и ненадо быдло-кода rel=nofollow & noindex.

п.с. - для тех кто "вообще в танке" и что такое редирект - неслышали, держим сам редиректор (который нужно пихать в /redirector/index.php) :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>


        <meta http-equiv="content-type" content="text/html; charset=utf-8">
        <title>Подождите.</title>
        <meta http-equiv="refresh" content="6; url=<?=$_SERVER['QUERY_STRING']?>">

    <script type="text/javascript">
    //<![CDATA[
    // Fix Mozilla bug: 209020
    if ( navigator.product == 'Gecko' )
    {
        navstring = navigator.userAgent.toLowerCase();
        geckonum  = navstring.replace( /.*gecko\/(\d+)/, "$1" );

        setTimeout("moz_redirect()",1500);
    }

    function moz_redirect()
    {
        var url_bit     = "<?=$_SERVER['QUERY_STRING']?>";
        window.location = url_bit.replace( new RegExp( "&", "g" ) , '&' );
    }
    //>
    </script>
    </head><body>
        <div id="redirectwrap"><center>
		<noindex>
            <h4><b>наш нубо сайт</b></h4>
	    <p>Все что дальше этой страницы - не наш сайт, ответственности за файлы мы не несем</p>
            <p>Вы перешли по внешней ссылке, возможно вы скачиваете файл. Подождите 5 секунды или : </p>
            <p class="redirectfoot">(<a href="<?=$_SERVER['QUERY_STRING']?>">нажмите сюда, если не хотите ждать</a>)</p></noindex>
			</center>
        </div>
    </body></html>

Изменено zenn (2009-07-08 14:53:47)

Не в сети

#6 2009-07-08 14:55:09

insider
Участник
Зарегистрирован: 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

Не вижу разницы. Более того, это решит проблему только с BB-кодами.

Не в сети

#7 2009-07-08 15:00:29

zenn
Участник
Зарегистрирован: 2009-04-25
Сообщений: 48
Рейтинг :   

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

insider пишет:

Не вижу разницы. Более того, это решит проблему только с BB-кодами.

Так как бы красивей да и не есть гуд юзать <noindex> <a href="ваш линк" rel="nofollow">.ваш линк.</noindex>
И не забывайте, что у нас поисковых систем в мире не 2 штуки, а редиректор решит проблему сразу со всеми. big_smile

Не в сети

#8 2009-07-08 15:15:10

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

zenn пишет:
insider пишет:

Не вижу разницы. Более того, это решит проблему только с BB-кодами.

Так как бы красивей да и не есть гуд юзать <noindex> <a href="ваш линк" rel="nofollow">.ваш линк.</noindex>
И не забывайте, что у нас поисковых систем в мире не 2 штуки, а редиректор решит проблему сразу со всеми. big_smile

Грязный хак и красоты в этом нет...

Не в сети

#9 2010-02-04 17:26:23

alexz15
Участник
Зарегистрирован: 2010-02-03
Сообщений: 39
Рейтинг :   

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

ROZARD пишет:

Грязный хак и красоты в этом нет...

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

Не в сети

#10 2010-02-04 18:07:37

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

Проверять хост:

$chek_url = parse_url($keys['href']);
if ($chek_url['host'] != 'site.ru') 
array_push($rdest, "<noindex><a ".(implode(" ", $outkeys))." rel=\"nofollow\">".$alt.'</a></noindex>');
else
array_push($rdest, "<a ".(implode(" ", $outkeys)).">".$alt.'</a>');

как-то так

Не в сети

#11 2010-02-05 16:45:56

alexz15
Участник
Зарегистрирован: 2010-02-03
Сообщений: 39
Рейтинг :   

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

Спасибо! Только вместо $keys['href'] нужно $urlREF

Не в сети

#12 2010-02-05 19:23:46

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

У меня $keys['href']  используется smile

Не в сети

#13 2010-02-06 19:54:16

skurudo
Участник
Откуда Moscow
Зарегистрирован: 2008-12-29
Сообщений: 18
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

А где искать в более свежих версиях? 0.91+FP

Не в сети

#14 2010-02-06 19:58:44

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

Что искать?

Не в сети

#15 2010-02-06 20:00:41

skurudo
Участник
Откуда Moscow
Зарегистрирован: 2008-12-29
Сообщений: 18
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

Wolverine, то что должно парситься в /engine/includes/classes/parse.class.php

Не в сети

#16 2010-02-06 20:22:30

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

В /engine/includes/classes/parse.class.php

array_push($rdest, "<a ".(implode(" ", $outkeys)).">".$alt.'</a>');

заменить на

$chek_url = parse_url($keys['href']);
if ($chek_url['host'] != 'site.ru') 
array_push($rdest, "<noindex><a ".(implode(" ", $outkeys))." rel=\"nofollow\">".$alt.'</a></noindex>');
else
array_push($rdest, "<a ".(implode(" ", $outkeys)).">".$alt.'</a>');

Выше же написано...

Не в сети

#17 2010-02-06 20:51:46

skurudo
Участник
Откуда Moscow
Зарегистрирован: 2008-12-29
Сообщений: 18
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

Более интересен был вариант от zenn

 $chek_url = parse_url($keys['href']);
if ($chek_url['host'] != 'ваш_сайт.
$outkeys [] = 'href="http://ваш_сайт/redirector/?'.((!$keys['href'])?$alt:$keys['
else
$outkeys [] = 'href="'.((!$keys['href'])?$alt:$keys['href']).'"';

Но он как-то не очень работает. А твой работает, но некрасивый, редирект интереснее.

Не в сети

#18 2010-02-06 21:07:14

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

Мой самый красивый, так как не уродует ссылки smile

Что подразумевается под словами как-то не очень ? Так никто тебе не поможет. Проблема не в CMS в общем, а в файле "редиректора". Движок ссылки заменяет

Изменено Wolverine (2010-02-06 21:09:59)

Не в сети

#19 2010-02-06 21:22:10

skurudo
Участник
Откуда Moscow
Зарегистрирован: 2008-12-29
Сообщений: 18
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

Wolverine, судя по симптомам - ссылки не отображаются вовсе. До скрипта редиректа дело не доходит.

Не в сети

#20 2010-02-06 21:37:22

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

А если эту строчку

$outkeys [] = 'href="'.$urlREF.'"';

заменить на

$outkeys [] = 'href="http://ваш_сайт/redirector/?'.$urlREF.'"';

Вообще того куска кода я так понял сейчас уже нет в движке:)

Изменено Wolverine (2010-02-06 21:39:43)

Не в сети

#21 2010-02-06 22:18:03

skurudo
Участник
Откуда Moscow
Зарегистрирован: 2008-12-29
Сообщений: 18
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

1. У меня такой $outkeys [] = 'href="'.$urlREF.'"'; строчки просто нет.
2. Если заменить, то те же яйцы. Ничего не произошло, ссылки также съедаются.

Какая-то беда с вот этой частью:

$outkeys [] = 'href="http://host.ru/redirector/?'.((!$keys['href'])?$alt:$keys['href']).'"';

Не в сети

#22 2010-02-06 22:31:35

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

1. У меня такой $outkeys [] = 'href="'.$urlREF.'"'; строчки просто нет.

325 строчка
http://trac2.assembla.com/ngcms/browser/ngcms/trunk/engine/includes/classes/parse.class.php

2. Если заменить, то те же яйцы. Ничего не произошло, ссылки также съедаются.

как же ты ее заменил, если у тебя ее нет? smile

Не в сети

#23 2010-02-06 22:42:57

skurudo
Участник
Откуда Moscow
Зарегистрирован: 2008-12-29
Сообщений: 18
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

Понял тебя, старшой, менял не там. Менять-то нужно в 322 строке, где пишется "Now let's compose a resulting URL"

$chek_url = parse_url($keys['href']);
if ($chek_url['host'] != 'host.ru') 				
$outkeys [] = 'href="http://host.ru/redirector/?'.$urlREF.'"';
else
$outkeys [] = 'href="'.$urlREF.'"';

Работает нормально, как и нужно. Моё почтение.

Изменено skurudo (2010-02-06 22:43:40)

Не в сети

#24 2010-02-06 23:11:53

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

Отлично smile

Не в сети

#25 2010-02-10 23:08:42

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Как добавить noindex и nofollow ко всем ссылкам в статьях

Плагин будет?

Не в сети

Подвал раздела

Работает на FluxBB