Re: Общая тема по редиректам и борьбе с дублями в DLE
TDSko, Эта ссылка относится к модулю, о котором ты говоришь, то есть никакая директива не закрывает этот путь. Стоит закрывать эту ссылку в роботсе, если есть опасения, что она проиндексируется.
Сообщество читателей блога alaev.info
Не ссы! Входи или зарегистрируйся!
Форум АлаичЪ'а о SEO → Общие вопросы по DLE → Общая тема по редиректам и борьбе с дублями в DLE
TDSko, Эта ссылка относится к модулю, о котором ты говоришь, то есть никакая директива не закрывает этот путь. Стоит закрывать эту ссылку в роботсе, если есть опасения, что она проиндексируется.
TDSko, Эта ссылка относится к модулю, о котором ты говоришь, то есть никакая директива не закрывает этот путь. Стоит закрывать эту ссылку в роботсе, если есть опасения, что она проиндексируется.
Понял. Спасибо!
Здравствуйте! Имеется вопрос, уже наверно затертый до дыр. Но все же требуется помощь.
У меня есть проект site.ru, но я открыл новый проект 1site.ru (один в один), сделал редирект со старого домена на новый, переходя по ссылке (то есть по ссылке в поиске яндекса) site.ru/category старого домена, меня перекидывает на новый домен 1site.ru/index.php?do=cat&category=category. Помогите пожалуйста решить проблему, как убрать index.php?do=cat&category=, чтобы перекидывало с site.ru/category на 1site.ru/category.
p.s. ЧПУ включен, Тип ЧПУ 2, Обрабатывать неверные URL ЧПУ включен
sable008, Просто необходимо прописать в .htaccess для старого домена:
RewriteCond %{HTTP_HOST} !^site1.ru [NC]
RewriteRule ^(.*)$ http://site1.ru/$1 [R=301,L]
АлаичЪ, Спасибо за ответ.
Здравствуйте, помогите решить проблему с закрытием от индексации поддоменов именно в поисковой системе google
Проблема в том, что у поддоменов и основного сайта один robots и htaccess.
Поддомены вида:
lg-optimus-g.sait.com
samsung-gt-l9000-galaxy-s.sait.com
motorola-droid-pro.sait.com
meizu-m9.sait.com
Их очень много.
Пробовал этот способ:
RewriteCond %{HTTP_USER_AGENT} ^.*google.* [NC]
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+)\.site\.com.*$ [NC]
RewriteCond %{HTTP_HOST} !www\.site\.com.*$ [NC]
RewriteRule ^.*$ – [F]
Не сработало. Подскажите пожалуйста, как можно еще запретить индексацию поддоменов в Гугле.
У поддоменов и у сайта может быть один robots и htaccess?
Какой ужас!
Как хорошо, что это не у меня.
Может к сожалению.
Прочитал все 7 страниц, но не нашел дублей аналогичных тем, которые вылезли у меня:
http://site.ru/rukovodstva/page,1,2,11-minecraft-besplatnye-russkie-servera-247.html
http://site.ru/rukovodstva/11-minecraft-besplatnye-russkie-servera-247.html
http://site.ru/rukovodstva/page,1,7,11-minecraft-besplatnye-russkie-servera-247.html
http://site.ru/rukovodstva/page,1,4,11-minecraft-besplatnye-russkie-servera-247.html
Версия движка 8.5, Тип ЧПУ - 2
Подскажите как удалить такие дубли.
Update:
Попробовал способ описанный на этой странице:
Открываем файл /engine/modules/show.full.php
НАХОДИМ:
} else {
$full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
$print_link = $config['http_home_url'] . "engine/print.php?newsid=" . $row['id'];
$short_link = "";
}
ВЫШЕ ДОБАВЛЯЕМ:
//обработка неправильного alt-name и 301 редирект
$true_link = $config['http_home_url'] . substr ($_SERVER['REQUEST_URI'], 1);
if ($row['allow_comm']) { //если разрешены комменты
$conf_comm_by_page = intval( $config['comm_nummers'] ); // комм на стр из настроек
$news_comm_num = $row['comm_num']; // общее кол-во комм
$comm_page_count = @ceil( $news_comm_num / $conf_comm_by_page );
if ( ($comm_page_count >= 2) && (intval($_REQUEST['cstart']) >= 2) ) $full_link = $link_page . intval($_REQUEST['cstart']) . "," . $news_name . ".html";
}
if ($news_page >= 2) $full_link = $link_page . $news_name . ".html";
if ($true_link != $full_link) {
header('HTTP/1.1 301 Moved Permanently');
header ('Location: ' . $full_link);
die();
}
//обработка неправильного alt-name и 301 редирект
Не помогло. Редиректа на правильный url не происходит.
В show.full.php после
$tpl->set( '{full-link}', $full_link );
добавить
$full_link_ = !isset ($_GET['cstart']) ? $full_link : $link_page . intval ($_GET['cstart']) . ',' . $news_name . '.html';
if ($config['http_home_url'] . substr ($_SERVER['REQUEST_URI'], 1) != $full_link_) {
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: ' . $full_link_);
die ();
}
Diablo, Эти дубли от навигации по комментам, никуда их редиректить не нужно, убьете страницы комментов.
Вам поможет руководство сделать то, что под заголовком - Добавляем тег rel=”canonical” для страниц просмотра полной новости
а также можете еще
открыть engine.php
перед
if ($config['allow_rss']) $metatags .= <<<HTML
добавить
if ($subaction == 'userinfo' OR
$subaction == 'allnews' OR
$subaction == 'newposts' OR
$do == 'stats' OR
$do == 'addnews' OR
$do == 'register' OR
$do == 'favorites' OR
$do == 'rules' OR
$do == 'pm' OR
$do == 'feedback' OR
$do == 'lastcomments' OR
$do == 'lostpassword' OR
$do == 'search' OR
$do == 'lastnews' OR
$do == 'alltags' OR
$do == 'tags' OR
($newsid and (intval($_GET['cstart']) > 1)) OR
$do == 'topnews' OR
$dle_module == 'date') $metatags .= <<<HTML
\n<meta name="robots" content="noindex,nofollow">
HTML;
если у вас уже есть аналогичный код, то просто добавьте в него
($newsid and (intval($_GET['cstart']) > 1)) OR
через время дубли пропадут!
Как сделать редирект с site.ru/xfsearch/Kasia+Kowalska/ на site.ru (главную) ?
Здравствуйте. Пытаюсь сделать 301 редирект htaccess, но возникла проблема с 1 из правил.
Само правило: RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]
Мои редиректы:
Redirect 301 /load/111/1 http://site.ru/category1/
Redirect 301 /load/111/2 http://site.ru/category2/
Redirect 301 /load/111/3 http://site.ru/category3/
Redirect 301 /load/111/4 http://site.ru/category4/
При вводе адреса http://site.ru/load/111/4 происходит редирект, но в адресной строке следующее:
http://site.ru/category4/?do=cat&category=load/111/4
Уже битый час ищу решение, никак не могу найти.
Заранее благодарен за помощь.
Перенеси свои привила редиректа сразу же после RewriteEngine On.
Здравствуйте! Надеюсь темой не ошибся. Обнаружил проблему, в результатах поиска гугла, главная страница сайта дублируется вот по таким адресам:
wwww.site.ru
ww1.site.ru
ww2.site.ru
wwtw.site.ru
ww.site.ruww.site.ru
ww.site.ruww.site.ruww.site.ruww.site.ru
Точнее не дублируется, не знаю как правильно это описать. Ошибок по дублям страниц в вебмастере гугла нет, всё хорошо. На этих страницах просто висит заглушка моего хостинга: Хостинг сайта ww1.site.ru(и так далее по списку) не существует или отключён.
Как же избавится от этих страниц?
Так и пусть висит, они же вам не мешают жить и не плодят дубли. У поиска даже ассоциаций не будет с вашим сайтом и этими доменами!
Так то оно так, но ведь интересно что это и как решить. Даже не могу сформулировать вопрос, чтоб хоть в гугле поискать)) Не подскажете?)
Просто решить. Надо чтобы в корне всех этих доменов был htaccess файл и делал редирект на какой-то другой, нужный нам домен.
Задавал вопрос здесь https://talk.alaev.info/post/9933/#p9933 и здесь https://alaev.info/blog/post/2400#comment-67213, но видимо там никто не ответит в скором будущем, решил написать здесь.
Здравствуйте.
После обновления до версии 10.6 и выполнения оптимизации title из 1 части, добрался до 2 части и возникла проблема после применения пункта "Редиректы с index.php или index.html на сайт":
### Редиректы с index.php или index.html на сайт
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/
RewriteRule .* / [R=301,L]
Дело в том, что с http://sait.ru/index.php с указанным кодом и без него происходит редирект на http://sait.ru/, а c http://sait.ru/index.html в адресной строке появляется хвост http://sait.ru/?do=static&page=index&seourl=index
страница http://sait.ru/index.html - 301
страница http://sait.ru/?do=static&page=index&seourl=index - 404
Получается, что с http://sait.ru/index.html идет 301 редирект на несуществующую страницу http://sait.ru/?do=static&page=index&seourl=index
Стандартный .htaccess и engine.php пробовал вернуть, проблема таже, то есть этот хвостик генерирует движок.
Контент главной страницы прописан в самом файле main.tpl с помощью [aviable=main][/aviable]
Как избавиться от этого хвоста?
Придумал вот такой вариант решения.
Открыть /engine/modules/static.php найти :
@header ( "HTTP/1.0 404 Not Found" );
Выше вставить :
if (trim ($name) == "index")
{
header ("HTTP/1.1 301 Moved Permanently");
header ("Location: /");
exit ();
}
Теперь с sait.ru/index.html будет 301 редирект на sait.ru/?do=static&page=index&seourl=index, а с этого адреса идет 301 редирект на sait.ru/
Представляется, что данный вариант не идеален с точки зрения seo, так как два подряд 301 редиректа, думаю, не очень хорошо воспримут поисковики. Возможно ошибаюсь.
АлаичЪ, хотелось бы ознакомиться с Вашим мнением, а также людей, хорошо разбирющихся в seo по поводу такого двойного 301 редиректа.
В идеале было бы хорошо, чтобы 301 редирект с sait.ru/index.html шел сразу на sait.ru/ - думаю найдется решение на php типа: если статической страницы с адресом sait.ru/index.html не сушествует, то был бы сразу 301 редирект на sait.ru/, а не на sait.ru/?do=static&page=index&seourl=index и потом на sait.ru/
Проблему решил.
Открываем /engine/modules/static.php и в самом конце файла находим:
@header( "HTTP/1.0 404 Not Found" );
$lang['static_page_err'] = str_replace ("{page}", $name.".html", $lang['static_page_err']);
msgbox( $lang['all_err_1'], $lang['static_page_err'] );
Заменяем на:
if(trim($name) == "index")
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: /");
exit();
}
@header("HTTP/1.0 404 Not Found");
@header("Status: 404 Not Found");
@require_once($_SERVER['DOCUMENT_ROOT'].'/404.html');
exit();
Теперь, с sait.ru/index.html идет 301 редирект на sait.ru/ и никаких промежуточных звеньев, как то sait.ru/?do=static&page=index&seourl=index, нет.
Форум АлаичЪ'а о SEO → Общие вопросы по DLE → Общая тема по редиректам и борьбе с дублями в DLE
Форум работает на PunBB