Хак Сохраняем тИЦ и google PR
Если у вас есть хороший проект, то вы наверняка замечали, что у вас регаются пользователи, чтобы написать всего лишь один комментарий, типа: "Спасибо за ресурс!", "Мда, неплохо...", "Огромное человеческое спасбо!" и многие другие...
На самом деле это боты (в большинстве случаев), которые отнимают у вас тИЦ и/или PR.
-Какими способами?
-Элементарно:
1. Если у вас разрешено добавлять комментарии гостям, то они вместо е-майла пишут свой сайт... Это +1 внешняя ссылка...
2. В поле "Информация о себе" они пишут URL-ы. Это + одна или несколько внешних ссылок!!!
3. В самих сообщениях пишут URL-ы сайтов как напрямую (через url= )? так и через смайлики (чтобы незаметно было)
Далее - как избавиться и предотвращать внешние ссылки...
I. Убираем "гостевые ссылки" из комментариев
1-й способ - админ-панель
АдмиЦентр -> Настройка системы -> Настройки комментариев -> Разрешить комментировать новости -> НЕТ
2-й способ - запрет чтения для определенных групп
Открываем engine/modules/show.full.php
Находим:
Ниже вставляем:
Открываем engine/modules/lastcomments.php
Находим:
Ниже вставляем:
Открываем templates/ВАШ_ШАБЛОН/comments.tpl
Находим:
Заменяем на:
Где 5 - это id группы. В данном случае мы запрещаем просмотр гостям и поисковикам, чтобы они не видели ссылки.
ID на вашем сайте вы можете узнать в АдминЦентре -> Настройка групп пользователей
3-й способ - разрешаем чтение только определенным группам
Открываем engine/modules/show.full.php
Находим:
Ниже вставляем:
Открываем engine/modules/lastcomments.php
Находим:
Ниже вставляем:
Открываем templates/ВАШ_ШАБЛОН/comments.tpl
Находим:
Заменяем на (по дефолту):
Здесь мы разрешаем чтение группам Администраторы, Главные редакторы, Журналисты, Посетители (то есть всем кроме группы 5 - гости, то есть запрет поисковикам и гостям)
ID на вашем сайте вы можете узнать в АдминЦентре -> Настройка групп пользователей
4-й способ - банальный noindex
Открываем templates/ВАШ_ШАБЛОН/comments.tpl
Находим:
Заменяем на:
II. Убираем внешние ссылки из поля "О себе"
1-й способ - запрет чтения поля для определенных групп
Открываем engine/modules/profile.php
Находим:
Ниже вставляем:
Открываем templates/ВАШ_ШАБЛОН/userinfo.tpl
Находим:
Заменяем на:
Где 5 - это id группы. В данном случае мы запрещаем просмотр гостям и поисковикам, чтобы они не видели ссылки.
ID на вашем сайте вы можете узнать в АдминЦентре -> Настройка групп пользователей
2-й способ - разрешение чтения поля только определенным группам
Открываем engine/modules/profile.php
Находим:
Ниже вставляем:
Открываем templates/ВАШ_ШАБЛОН/userinfo.tpl
Находим:
Заменяем на (по дефолту):
Здесь мы разрешаем чтение группам Администраторы, Главные редакторы, Журналисты, Посетители (то есть всем кроме группы 5 - гости, то есть запрет поисковикам и гостям)
ID на вашем сайте вы можете узнать в АдминЦентре -> Настройка групп пользователей
3-й способ - удаление поля
Открываем templates/ВАШ_ШАБЛОН/userinfo.tpl
Находим:
Удаляем :
Открываем templates/ВАШ_ШАБЛОН/userinfo.tpl
Находим:
Заменяем на:
III. Предотвращаем появление внешних ссылок из самих комментариев
Открываем engine/modules/addcomments.php
Находим:
Ниже вставляем:
Этот способ найден на каком-то сайте...
Вот вроде бы и всё))
Все эти способы просты и большинство их может сделать самостоятельно.
Автор: sanshteyn
На самом деле это боты (в большинстве случаев), которые отнимают у вас тИЦ и/или PR.
-Какими способами?
-Элементарно:
1. Если у вас разрешено добавлять комментарии гостям, то они вместо е-майла пишут свой сайт... Это +1 внешняя ссылка...
2. В поле "Информация о себе" они пишут URL-ы. Это + одна или несколько внешних ссылок!!!
3. В самих сообщениях пишут URL-ы сайтов как напрямую (через url= )? так и через смайлики (чтобы незаметно было)
Далее - как избавиться и предотвращать внешние ссылки...
I. Убираем "гостевые ссылки" из комментариев
1-й способ - админ-панель
АдмиЦентр -> Настройка системы -> Настройки комментариев -> Разрешить комментировать новости -> НЕТ
2-й способ - запрет чтения для определенных групп
Открываем engine/modules/show.full.php
Находим:
<!--ecode1-->} else {
$tpl->set( '{edit-date}', "" );
$tpl->set( '{editor}', "" );
$tpl->set( '{edit-reason}', "" );
$tpl->set_block( "''si", "" );
$tpl->set_block( "''si", "" );
}<!--code2-->
$tpl->set( '{edit-date}', "" );
$tpl->set( '{editor}', "" );
$tpl->set( '{edit-reason}', "" );
$tpl->set_block( "''si", "" );
$tpl->set_block( "''si", "" );
}<!--code2-->
Ниже вставляем:
<!--ecode1-->if (strpos ( $tpl->copy_template, "[not-group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[not-group=(.+?)](.*?)[/not-group]#ies", "check_group('1', '2', false)", $tpl->copy_template );
}
if (strpos ( $tpl->copy_template, "[group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[group=(.+?)](.*?)[/group]#ies", "check_group('1', '2')", $tpl->copy_template );
}<!--code2-->
$tpl->copy_template = preg_replace ( "#[not-group=(.+?)](.*?)[/not-group]#ies", "check_group('1', '2', false)", $tpl->copy_template );
}
if (strpos ( $tpl->copy_template, "[group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[group=(.+?)](.*?)[/group]#ies", "check_group('1', '2')", $tpl->copy_template );
}<!--code2-->
Открываем engine/modules/lastcomments.php
Находим:
<!--ecode1-->} else {
$tpl->set_block( "'[signature](.*?)[/signature]'si", "" );
}<!--code2-->
$tpl->set_block( "'[signature](.*?)[/signature]'si", "" );
}<!--code2-->
Ниже вставляем:
<!--ecode1-->if (strpos ( $tpl->copy_template, "[not-group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[not-group=(.+?)](.*?)[/not-group]#ies", "check_group('1', '2', false)", $tpl->copy_template );
}
if (strpos ( $tpl->copy_template, "[group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[group=(.+?)](.*?)[/group]#ies", "check_group('1', '2')", $tpl->copy_template );
}<!--code2-->
$tpl->copy_template = preg_replace ( "#[not-group=(.+?)](.*?)[/not-group]#ies", "check_group('1', '2', false)", $tpl->copy_template );
}
if (strpos ( $tpl->copy_template, "[group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[group=(.+?)](.*?)[/group]#ies", "check_group('1', '2')", $tpl->copy_template );
}<!--code2-->
Открываем templates/ВАШ_ШАБЛОН/comments.tpl
Находим:
<!--ecode1-->{author}<!--code2-->
Заменяем на:
<!--ecode1-->[not-group=5]{author}[/not-group<!--code2-->
Где 5 - это id группы. В данном случае мы запрещаем просмотр гостям и поисковикам, чтобы они не видели ссылки.
ID на вашем сайте вы можете узнать в АдминЦентре -> Настройка групп пользователей
3-й способ - разрешаем чтение только определенным группам
Открываем engine/modules/show.full.php
Находим:
<!--ecode1-->} else {
$tpl->set( '{edit-date}', "" );
$tpl->set( '{editor}', "" );
$tpl->set( '{edit-reason}', "" );
$tpl->set_block( "''si", "" );
$tpl->set_block( "''si", "" );
}<!--code2-->
$tpl->set( '{edit-date}', "" );
$tpl->set( '{editor}', "" );
$tpl->set( '{edit-reason}', "" );
$tpl->set_block( "''si", "" );
$tpl->set_block( "''si", "" );
}<!--code2-->
Ниже вставляем:
<!--ecode1-->if (strpos ( $tpl->copy_template, "[not-group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[not-group=(.+?)](.*?)[/not-group]#ies", "check_group('1', '2', false)", $tpl->copy_template );
}
if (strpos ( $tpl->copy_template, "[group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[group=(.+?)](.*?)[/group]#ies", "check_group('1', '2')", $tpl->copy_template );
}<!--code2-->
$tpl->copy_template = preg_replace ( "#[not-group=(.+?)](.*?)[/not-group]#ies", "check_group('1', '2', false)", $tpl->copy_template );
}
if (strpos ( $tpl->copy_template, "[group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[group=(.+?)](.*?)[/group]#ies", "check_group('1', '2')", $tpl->copy_template );
}<!--code2-->
Открываем engine/modules/lastcomments.php
Находим:
<!--ecode1-->} else {
$tpl->set_block( "'[signature](.*?)[/signature]'si", "" );
}<!--code2-->
$tpl->set_block( "'[signature](.*?)[/signature]'si", "" );
}<!--code2-->
Ниже вставляем:
<!--ecode1-->if (strpos ( $tpl->copy_template, "[not-group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[not-group=(.+?)](.*?)[/not-group]#ies", "check_group('1', '2', false)", $tpl->copy_template );
}
if (strpos ( $tpl->copy_template, "[group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[group=(.+?)](.*?)[/group]#ies", "check_group('1', '2')", $tpl->copy_template );
}<!--code2-->
$tpl->copy_template = preg_replace ( "#[not-group=(.+?)](.*?)[/not-group]#ies", "check_group('1', '2', false)", $tpl->copy_template );
}
if (strpos ( $tpl->copy_template, "[group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[group=(.+?)](.*?)[/group]#ies", "check_group('1', '2')", $tpl->copy_template );
}<!--code2-->
Открываем templates/ВАШ_ШАБЛОН/comments.tpl
Находим:
<!--ecode1-->{author} (а также ключевую фразу по вашему дизайну, например "{author} пишет"<!--code2-->
Заменяем на (по дефолту):
<!--ecode1-->[group=1,2,3,4]{author}[/group]<!--code2-->
Здесь мы разрешаем чтение группам Администраторы, Главные редакторы, Журналисты, Посетители (то есть всем кроме группы 5 - гости, то есть запрет поисковикам и гостям)
ID на вашем сайте вы можете узнать в АдминЦентре -> Настройка групп пользователей
4-й способ - банальный noindex
Открываем templates/ВАШ_ШАБЛОН/comments.tpl
Находим:
<!--ecode1-->{author}<!--code2-->
Заменяем на:
<!--ecode1-->{author} <!--code2-->
II. Убираем внешние ссылки из поля "О себе"
1-й способ - запрет чтения поля для определенных групп
Открываем engine/modules/profile.php
Находим:
<!--ecode1-->} else {
$tpl->set_block( "'[signature](.*?)[/signature]'si", "" );
}<!--code2-->
$tpl->set_block( "'[signature](.*?)[/signature]'si", "" );
}<!--code2-->
Ниже вставляем:
<!--ecode1-->if (strpos ( $tpl->copy_template, "[not-group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[not-group=(.+?)](.*?)[/not-group]#ies", "check_group('1', '2', false)", $tpl->copy_template );
}
if (strpos ( $tpl->copy_template, "[group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[group=(.+?)](.*?)[/group]#ies", "check_group('1', '2')", $tpl->copy_template );
}<!--code2-->
$tpl->copy_template = preg_replace ( "#[not-group=(.+?)](.*?)[/not-group]#ies", "check_group('1', '2', false)", $tpl->copy_template );
}
if (strpos ( $tpl->copy_template, "[group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[group=(.+?)](.*?)[/group]#ies", "check_group('1', '2')", $tpl->copy_template );
}<!--code2-->
Открываем templates/ВАШ_ШАБЛОН/userinfo.tpl
Находим:
<!--ecode1-->
Немного о себе:
{info}
<!--code2-->
Немного о себе:
{info}
<!--code2-->
Заменяем на:
<!--ecode1-->[not-group=5]
Немного о себе:
{info}
[/not-group]<!--code2-->
Немного о себе:
{info}
[/not-group]<!--code2-->
Где 5 - это id группы. В данном случае мы запрещаем просмотр гостям и поисковикам, чтобы они не видели ссылки.
ID на вашем сайте вы можете узнать в АдминЦентре -> Настройка групп пользователей
2-й способ - разрешение чтения поля только определенным группам
Открываем engine/modules/profile.php
Находим:
<!--ecode1-->} else {
$tpl->set_block( "'[signature](.*?)[/signature]'si", "" );
}<!--code2-->
$tpl->set_block( "'[signature](.*?)[/signature]'si", "" );
}<!--code2-->
Ниже вставляем:
<!--ecode1-->if (strpos ( $tpl->copy_template, "[not-group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[not-group=(.+?)](.*?)[/not-group]#ies", "check_group('1', '2', false)", $tpl->copy_template );
}
if (strpos ( $tpl->copy_template, "[group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[group=(.+?)](.*?)[/group]#ies", "check_group('1', '2')", $tpl->copy_template );
}<!--code2-->
$tpl->copy_template = preg_replace ( "#[not-group=(.+?)](.*?)[/not-group]#ies", "check_group('1', '2', false)", $tpl->copy_template );
}
if (strpos ( $tpl->copy_template, "[group=" ) !== false) {
$tpl->copy_template = preg_replace ( "#[group=(.+?)](.*?)[/group]#ies", "check_group('1', '2')", $tpl->copy_template );
}<!--code2-->
Открываем templates/ВАШ_ШАБЛОН/userinfo.tpl
Находим:
<!--code1-->
<!--ecode1-->
Немного о себе:
{info}
<!--code2-->
<!--ecode2-->
<!--ecode1-->
Немного о себе:
{info}
<!--code2-->
<!--ecode2-->
Заменяем на (по дефолту):
<!--ecode1-->[group=1,2,3,4]
Немного о себе:
{info}
[/group]<!--code2-->
Немного о себе:
{info}
[/group]<!--code2-->
Здесь мы разрешаем чтение группам Администраторы, Главные редакторы, Журналисты, Посетители (то есть всем кроме группы 5 - гости, то есть запрет поисковикам и гостям)
ID на вашем сайте вы можете узнать в АдминЦентре -> Настройка групп пользователей
3-й способ - удаление поля
Открываем templates/ВАШ_ШАБЛОН/userinfo.tpl
Находим:
<!--ecode1-->
Немного о себе:
{info}
<!--code2-->
Немного о себе:
{info}
<!--code2-->
Удаляем :
<!--ecode1-->
Немного о себе:
{info}
<!--code2-->
Немного о себе:
{info}
<!--code2-->
Открываем templates/ВАШ_ШАБЛОН/userinfo.tpl
Находим:
<!--ecode1-->Немного о себе:
{info}<!--code2-->
{info}<!--code2-->
Заменяем на:
<!--ecode1-->
Немного о себе:
{info}
<!--code2-->
Немного о себе:
{info}
III. Предотвращаем появление внешних ссылок из самих комментариев
Открываем engine/modules/addcomments.php
Находим:
<!--ecode1-->if( strlen( $name ) > 50 ) {
$stop[] = $lang['news_err_1'];
$CN_HALT = TRUE;
}<!--code2-->
$stop[] = $lang['news_err_1'];
$CN_HALT = TRUE;
}<!--code2-->
Ниже вставляем:
<!--ecode1--> if (preg_match ("/href|url|http|www|.ru|.com|.net|.info|.org/i", $_POST['comments']) || preg_match ("/href|url|http|www|.ru|.com|.net|.info|.org/i", $_POST['name']))
{
$stop[] = "URL адреса сайтов, публиковать ЗАПРЕЩЕНО!";
$CN_HALT = TRUE;
}<!--code2-->
{
$stop[] = "URL адреса сайтов, публиковать ЗАПРЕЩЕНО!";
$CN_HALT = TRUE;
}<!--code2-->
Этот способ найден на каком-то сайте...
Вот вроде бы и всё))
Все эти способы просты и большинство их может сделать самостоятельно.
Автор: sanshteyn