Привет, друзья. Хочу представить вашему вниманию вторую часть из цикла статей про засеошивание движка Datalife Engine. И сегодня мы поговорим об очень щекотливом моменте — дублирование контента, связанное с отображением одной и той же страницы по разным адресам url.
Давайте вспомним одно из самых основных правил оптимизации сайта — страница должна быть доступна только по одному url! К сожалению, при разработке движка DLE, программисты не сильно озаботились этим моментом и забили, а может не подумали, или просто понадеялись, что никто не станет баловаться с адресами, а все пользователи сети, распространяя наш контент посредствам оставления внешних ссылок на форумах или соцсетях, будут соблюдать структуру нашего сайта и правильность адресов. Ага, как бы ни так...
А ведь однажды нарушенная ссылка может привести к размножению таких «неправильных» ссылок, которые повлекут за собой появление «неправильных» страниц, что однозначно скажется пагубно на нашем сайте!
И цель сегодняшнего поста — предотвратить появление таких вот «неправильных» страниц, а так же избавиться от уже появившихся. И самое главное — надо сделать так, чтобы «неправильные» ссылки вели на нужные (т.е. «правильные») страницы.
Обновлены вносимые в движок изменения, добавлена поддержка новых версий движка.
Актуально для следующих версий DLE: 7.x, 8.x, 9.x, 10.x!
Другие части SEO-руководства:
Часть 1, Оптимизация заголовков Title — https://alaev.info/blog/post/2373
Часть 3, Особенности внутренней оптимизации движка — https://alaev.info/blog/post/3294
Часть 4, Исправление для версий DLE 9.3, 9.4, 9.5, 9.6 — https://alaev.info/blog/post/3513
Для начала нам необходимо оценить размах трагедии, понять какие и в каком количестве могут появиться дубли.
Для удобства понимания я оформил все в виде таблички, где вы можете в первом столбце увидеть, какие дубли могут возникнуть, а во втором столбце указана основная страница, на которую должен быть осуществлен 301 редирект, если сделать все правильно!
Возможный дубль | 301 | Основная страница |
Главная страница (http://site.ru) | ||
http://www.site.ru | -> | http://site.ru |
http://site.ru/index.php | -> | http://site.ru |
http://site.ru/page/1/ | -> | http://site.ru |
Страница категории (http://site.ru/category/) | ||
http://site.ru/category | -> | http://site.ru/category/ |
http://site.ru/category/page/1/ | -> | http://site.ru/category/ |
Страница субкатегории, если есть вложенность (http://site.ru/cat/subcat/) | ||
http://site.ru/cat/subcat | -> | http://site.ru/cat/subcat/ |
http://site.ru/cat/subcat/page/1/ | -> | http://site.ru/cat/subcat/ |
http://site.ru/subcat/ | -> | http://site.ru/cat/subcat/ |
http://site.ru/subcat | -> | http://site.ru/cat/subcat/ |
http://site.ru/subcat/page/1/ | -> | http://site.ru/cat/subcat/ |
Страница материнской категории, если есть вложенность (http://site.ru/cat/) | ||
http://site.ru/cat | -> | http://site.ru/cat/ |
http://site.ru/cat/page/1/ | -> | http://site.ru/cat/ |
http://site.ru/subcat/cat/ | -> | http://site.ru/cat/ |
http://site.ru/subcat/cat | -> | http://site.ru/cat/ |
http://site.ru/subcat/cat/page/1/ | -> | http://site.ru/cat/ |
Страница полной новости, которая пусть принадлежит категории truecat (http://site.ru/truecat/123-news-name.html) | ||
http://site.ru/truecat/123-bla-bla-bla-name.html | -> | http://site.ru/truecat/123-news-name.html |
http://site.ru/123-news-name.html | -> | http://site.ru/truecat/123-news-name.html |
http://site.ru/fakecat/123-news-name.html | -> | http://site.ru/truecat/123-news-name.html |
http://site.ru/truecat/page,1,1,123-news-name.html | -> | http://site.ru/truecat/123-news-name.html |
Как видите, дублей дофига и больше! И чем сложнее структура сайта, тем больше вероятность появления неожиданностей. Так или иначе, но прочитав данный пост до конца, вы сможете решить все эти проблемы, а внутренние дубли контента вас никогда больше не потревожат.
Тут очень важный момент про слово «никогда» — подразумевается, что после обновления движка до новой версии, вы снова проверите свой сайт на наличие проблем и при необходимости внесете все правки!
Еще одно очень важно отступление! Перед внесением правок проверьте версию установленного у вас движка. Разработчики с недавнего времени все-таки начали обращать внимание на описанные проблемы, а потому постепенно их исправляют. Так что некоторые моменты уже решены в последних версиях, и я об этом помню, и перед каждой правкой я буду акцентировать ваше внимание на том, для какой версии это актуально, а для какой нет.
На момент написания поста последняя версия движка DLE 9.5. Важно знать, что начиная с версии 9.3 разработчики решили некоторые проблемы – избавились от возможного дублирования, связанного с просмотром полной новости и некоторых проблем с категориями. В любом случае, я рекомендую всем и всегда обновляться до последней версии.
Итак, если вы понимаете о чем я написал выше, то приступайте к дальнейшему изучению.
Склейка зеркал — выбираем главное зеркало www.site.ru или site.ru
Актуальность: Все версии DLE. Проверено на 7.x, 8.x, 9.x, 10.x.
Какие проблемы решаем:
- Полное дублирование сайта по адресам http://site.ru и http://www.site.ru
Открываем файл .htaccess, который находится в корне сайта (это там, где лежит основной index.php)
НАХОДИМ:
RewriteEngine On |
НИЖЕ ДОБАВЛЯЕМ:
(если в качестве основного зеркала выбран http://site.ru)
### START Определяем главное зеркало как site.ru (site.ru заменить на свой домен, например alaev.info) RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L] ### END Определяем главное зеркало |
(если в качестве основного зеркала выбран http://www.site.ru)
### START Определяем главное зеркало как www.site.ru (www.site.ru заменить на свой домен, например www.alaev.info) RewriteCond %{HTTP_HOST} ^site\.ru$ [NC] RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L] ### END Определяем главное зеркало |
Теперь не важно, как пользователи будут в браузере вводить адрес сайта, с www или без — будет осуществляться редирект на основное зеркало сайта. Так же не важно, каким образом стоят внешние ссылки на сайт — вес всех входящих ссылок сохранится и суммируется для основного зеркала.
Убираем index.php и index.html из адреса главной страницы
Актуальность: Все версии DLE. Проверено на 7.x, 8.x, 9.x, 10.x.
Какие проблемы решаем:
- Дублирование главной страницы по адресам http://site.ru, http://site.ru/index.php и http://site.ru/index.html
Открываем файл .htaccess, который находится в корне сайта (это там, где лежит основной index.php)
В САМЫЙ КОНЕЦ ДОБАВЛЯЕМ:
### Редиректы с index.php или index.html на сайт RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/ RewriteRule .* / [R=301,L] |
Теперь не будет возникать самого распространённого дубля главной страницы, а так же дублей категорий и других разделов.
Склеиваем адреса страниц /page/1/ с основными адресами для главной страницы и категорий
Актуальность: Все версии DLE. Проверено на 7.x, 8.x, 9.x, 10.x.
Какие проблемы решаем:
- Дублирование главной страницы сайта по адресам http://site.ru/page/1/ и http://site.ru/
- Дублирование основной (первой) страницы категории по адресам http://site.ru/category/page/1/ и http://site.ru/category/
Открываем файл .htaccess, который находится в корне сайта (это там, где лежит основной index.php)
НАХОДИМ:
### END Определяем главное зеркало |
НИЖЕ ДОБАВЛЯЕМ:
### START Редирект с первой страницы на основную RewriteBase / RewriteRule ^(.*)page/1(/|)$ $1 [R=301,L] ### END Редирект с первой страницы на основную |
Для подстраховки или если вариант с .htaccess не сработал. Открываем файл /engine/engine.php
НАХОДИМ:
if (($subaction == "showfull" or $subaction == "addcomment") and ((! isset ( $category ) or $category == ""))) { |
ВЫШЕ ДОБАВЛЯЕМ:
if ( (intval($_GET['cstart']) == 1) && (strpos($_SERVER['REQUEST_URI'], '/page/1') !== false) ) { $first_page_url = str_replace ( "/page/1", "", $_SERVER['REQUEST_URI'] ); header("HTTP/1.0 301 Moved Permanently"); header("Location: $first_page_url"); die("Redirect"); } |
Теперь при вводе неправильного адреса с /page/1/ на конце, будет осуществляться редиректить на основную страницу.
Устраняем неразбериху с категориями их вложенностью и слешем / на конце
Актуальность: Только версии DLE 8.2-9.2. Для DLE 9.3 и выше необходимо ОБЯЗАТЕЛЬНО в настройках движка активировать опцию «Обрабатывать неверные URL ЧПУ».
Какие проблемы решаем:
- Дублирование страниц категорий по адресам без слеша и со слешем на конце
- Дублирование страниц пагинации по адресам без слеша и со слешем на конце
- Дублирование страниц категорий и подкатегорий при нарушении иерархии(вложенности)
Открываем файл /engine/engine.php (смотрим в районе 170-180 строки)
НАХОДИМ:
if ($do == "cat" and $category != '' and $subaction == '') { |
НИЖЕ ДОБАВЛЯЕМ:
//решение проблемы с категориями, редирект на верный урл, добавление слеша в конец if( $config['allow_alt_url'] == "yes" AND $category_id AND $view_template != "rss") { $re_cat = get_url( $category_id ); if ($re_cat != $_GET['category'] OR substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' ) { $re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) ); $re_url = reset ( $re_url ); header("HTTP/1.0 301 Moved Permanently"); header("Location: {$re_url}{$re_cat}/"); die("Redirect"); } } //решение проблемы с категориями, редирект на верный урл, добавление слеша в конец |
Теперь не будет никакой неразберихи в url'ах адресов категорий и подкатегорий. Для всех неправильных вариантов будет осуществляться 301-редирект на основную правильную страницу.
Устраняем проблему с дублированием полной новости по разным адресам
Актуальность: Только версии DLE 8.2-9.2. Для DLE 9.3 и выше читайте исправление ошибок новых версий DLE 9.3, 9.4, 9.5, 9.6.
Какие проблемы решаем:
- Дублирование новостей, разбитых на страницы, когда существовали две одинаковые страницы по адресам site.ru/page,1,123-news_name.html и site.ru/123-news_name.html
- Дублирование новостей с комментариями, разбитыми на страницы, когда существовали две одинаковые страницы по адресам site.ru/page,1,1,123-news_name.html и site.ru/123-news_name.html
- Дублирование новости, когда осуществлялся переход на несуществующую страницу комментариев
- Дублирование новости при ошибке в названии новости, например, site.ru/123-bla_bla_news_name.html — сработает редирект на правельный адрес site.ru/123-news_name.html
Открываем файл /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'а новости сайта будет осуществляться редирект на верный адрес — главным идентификатором в этом случае работает id новости.
Вот и все, друзья! Все проблемы, казавшиеся такими масштабными решились не такими уж и большими правками файлов движка. Теперь можете проверить любые проблемные адреса из указанных мной в начале поста — все будет обрабатываться так, как мы этого хотим, а правильнее сказать, все будет обрабатываться так как это полюбят поисковики, теперь у нас никогда не случится дублей!
Убираем слеш в конце url — редирект со страницы со слешем в конце на страницу без слеша
А теперь самый спорный пункт сегодняшнего руководства – разбираемся с дублями связанными с наличием слеша / в конце адресов категорий и страниц пагинации.
ВНИМАНИЕ!!! Правки, приведенные ниже, применимы ТОЛЬКО ДЛЯ ВЕРСИЙ DLE 8.x, 9.0 и 9.2. Если вы попробуете применить правки для любых других версий, это полностью выведет из строя ваш сайт!
Все, что написано ниже, предназначено для тех, кто последовал прошлой редакции моего руководства и убрал слеши в конце, чтобы избавиться от дублей.
Этот же мануал предназначен для тех, кому просто не нравится слеш в конце. Такие ведь бывают, да?
В любом случае, если вы собрались убрать слеш, надо будет проделать все, что описано выше (кроме пункта «Устраняем неразбериху с категориями их вложенностью и слешем / на конце»), а так же внести еще несколько изменений.
Открываем файл /engine/engine.php и находим:
if ($do == "cat" and $category != '' and $subaction == '') { |
НИЖЕ добавляем:
//решение проблемы с категориями, редирект на верный урл, удаление слеша в конец if( $config['allow_alt_url'] == "yes" AND $category_id AND $view_template != "rss") { $re_cat = get_url( $category_id ); if ($re_cat != $_GET['category'] OR substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) == '/' ) { $re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) ); $re_url = reset ( $re_url ); header("HTTP/1.0 301 Moved Permanently"); header("Location: {$re_url}{$re_cat}"); die("Redirect"); } } //решение проблемы с категориями, редирект на верный урл, удаление слеша в конец |
Теперь сделаем проверку всех адресов на наличие слеша в конце, и если он есть — делаем 301 редирект на страницу без слеша.
Открываем наш любимый .htaccess и находим:
### END Определяем главное зеркало |
НИЖЕ добавляем:
### START Убираем слеш в конце RewriteRule ^(.+)/$ $1 [R=301,L] ### END Убираем слеш в конце |
Внесенные правки делают только редирект, но в движке по умолчанию все адреса генерируются со слешем на конце, а следовательно без правки генерации адресов движка сам редирект почти бесполезен.
Убираем слеши из URL категорий, генерируемых движком:
Открываем файл /engine/modules/functions.php и ищем Функцию function get_categories ($id)
Находим строку:
if( $config['allow_alt_url'] == "yes" ) $list = "<a href=\"" . $config['http_home_url'] . get_url( $id ) . "/\">{$cat_info[$id]['name']}</a>"; |
Заменяем на:
if( $config['allow_alt_url'] == "yes" ) $list = "<a href=\"" . $config['http_home_url'] . get_url( $id ) . "\">{$cat_info[$id]['name']}</a>"; |
Находим строку:
if( $config['allow_alt_url'] == "yes" ) $list = "<a href=\"" . $config['http_home_url'] . get_url( $parent_id ) . "/\">{$cat_info [$parent_id]['name']}</a>" . " » " . $list; |
Заменяем на:
if( $config['allow_alt_url'] == "yes" ) $list = "<a href=\"" . $config['http_home_url'] . get_url( $parent_id ) . "\">{$cat_info [$parent_id]['name']}</a>" . " » " . $list; |
Убираем слеши из URL пагинации, генерируемых движком:
Открываем файл: /engine/modules/show.short.php
Находим строку:
$prev_page = $url_page . "/"; |
Заменяем на:
$prev_page = $url_page . ""; |
Находим строку:
$prev_page = $url_page . "/page/" . $prev . "/"; |
Заменяем на:
$prev_page = $url_page . "/page/" . $prev . ""; |
Находим:
$pages .= "<a href=\"" . $url_page . "/\">$j</a> "; |
Заменяем:
$pages .= "<a href=\"" . $url_page . "\">$j</a> "; |
Находим:
$pages .= "<a href=\"" . $url_page . "/page/" . $j . "/\">$j</a> "; |
Заменяем:
$pages .= "<a href=\"" . $url_page . "/page/" . $j . "\">$j</a> "; |
Находим:
if( $config['allow_alt_url'] == "yes" ) $pages .= "<a href=\"" . $url_page . "/\">1</a> <span class=\"nav_ext\">{$lang['nav_trennen']}</span> "; |
Заменяем:
if( $config['allow_alt_url'] == "yes" ) $pages .= "<a href=\"" . $url_page . "\">1</a> <span class=\"nav_ext\">{$lang['nav_trennen']}</span> "; |
Находим:
$pages .= "<a href=\"" . $url_page . "/\">$j</a> "; |
Заменяем:
$pages .= "<a href=\"" . $url_page . "\">$j</a> "; |
Находим:
$pages .= "<a href=\"" . $url_page . "/page/" . $j . "/\">$j</a> "; |
Заменяем:
$pages .= "<a href=\"" . $url_page . "/page/" . $j . "\">$j</a> "; |
Находим:
if( $config['allow_alt_url'] == "yes" ) $pages .= $nav_prefix . "<a href=\"" . $url_page . "/page/{$enpages_count}/\">{$enpages_count}</a>"; |
Заменяем:
if( $config['allow_alt_url'] == "yes" ) $pages .= $nav_prefix . "<a href=\"" . $url_page . "/page/{$enpages_count}\">{$enpages_count}</a>"; |
Находим:
$next = $url_page . '/page/' . $next_page . '/'; |
Заменяем:
$next = $url_page . '/page/' . $next_page . ''; |
Убираем слеши из URL профилей пользователей, генерируемых движком:
Открываем файл: /engine/modules/profile.php
Находим строку:
if( $config['allow_alt_url'] == "yes" ) $link_profile = $config['http_home_url'] . "user/" . urlencode( $row['name'] ) . "/"; |
Заменяем на:
if( $config['allow_alt_url'] == "yes" ) $link_profile = $config['http_home_url'] . "user/" . urlencode( $row['name'] ); |
Убираем слеши из URL тегов, генерируемых движком:
Открываем файл: /engine/modules/show.short.php
Находим:
if( $config['allow_alt_url'] == "yes" ) $tags[] = "<a href=\"" . $config['http_home_url'] . "tags/" . urlencode( $value ) . "/\">" . $value . "</a>"; |
Заменяем:
if( $config['allow_alt_url'] == "yes" ) $tags[] = "<a href=\"" . $config['http_home_url'] . "tags/" . urlencode( $value ) . "\">" . $value . "</a>"; |
Открываем файл: /engine/modules/tagscloud.php
Находим:
$tags[] = "<a href=\"".$config['http_home_url']."tags/".urlencode($value['tag'])."/\" class=\"{$value['size']}\" title=\"".$lang ['tags_count']." ".$value['count']."\">".$value['tag']."</a>"; |
Заменяем:
$tags[] = "<a href=\"".$config['http_home_url']."tags/".urlencode($value['tag'])."\" class=\"{$value['size']}\" title=\"".$lang ['tags_count']." ".$value['count']."\">".$value['tag']."</a>"; |
Находим:
$tpl->result['tags_cloud'] .= "<br /><br /><a href=\"".$config['http_home_url']."tags/\">".$lang['all_tags']."</a>"; |
Заменяем:
$tpl->result['tags_cloud'] .= "<br /><br /><a href=\"".$config['http_home_url']."tags\">".$lang['all_tags']."</a>"; |
Находим:
$tags[] = "<a href=\"".$config['http_home_url']."tags/".urlencode($value['tag'])."/\" class=\"{$value['size']}\" title=\"". $lang['tags_count']." ".$value['count']."\">".$value['tag']."</a>"; |
Заменяем:
$tags[] = "<a href=\"".$config['http_home_url']."tags/".urlencode($value['tag'])."\" class=\"{$value['size']}\" title=\"". $lang['tags_count']." ".$value['count']."\">".$value['tag']."</a>"; |
Открываем файл: /engine/modules/show.custom.php
Находим:
if( $config['allow_alt_url'] == "yes" ) $tags[] = "<a href=\"" . $config['http_home_url'] . "tags/" . urlencode( $value ) . "/\">" . $value . "</a>"; |
Заменяем:
if( $config['allow_alt_url'] == "yes" ) $tags[] = "<a href=\"" . $config['http_home_url'] . "tags/" . urlencode( $value ) . "\">" . $value . "</a>"; |
Открываем файл: /engine/modules/show.full.php
Находим:
if( $config['allow_alt_url'] == "yes" ) $tags[] = "<a href=\"" . $config['http_home_url'] . "tags/" . urlencode( $value ) . "/\">" . $value . "</a>"; |
Заменяем:
if( $config['allow_alt_url'] == "yes" ) $tags[] = "<a href=\"" . $config['http_home_url'] . "tags/" . urlencode( $value ) . "\">" . $value . "</a>"; |
Открываем файл: /engine/engine.php
Находим:
if ($config['allow_alt_url'] == "yes") $s_navigation .= " » <a href=\"" . $config['http_home_url'] . "tags/\">" . $lang ['tag_cloud'] . "</a> » " . $tag; |
Заменяем:
if ($config['allow_alt_url'] == "yes") $s_navigation .= " » <a href=\"" . $config['http_home_url'] . "tags\">" . $lang ['tag_cloud'] . "</a> » " . $tag; |
В очередной раз открываем .htaccess
Находим:
# вывод отдельному тегу RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [L] RewriteRule ^tags/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=tags&tag=$1&cstart=$2 [L] |
Заменяем:
# вывод отдельному тегу RewriteRule ^tags$ index.php?do=tags [L] RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [L] RewriteRule ^tags/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=tags&tag=$1&cstart=$2 [L] |
Ну вот и все! Большую работу мы с вами проделали, однако. Но оно того стоило.
Я еще раз хочу обратить внимание на все изменения связанные с убиранием слеша на конце.
- Если вы продаете ссылки с сайта, я не рекомендую производить изменения, так как все проданные ссылки со страниц категорий/тегов/пагинации отпадут. Так как все же страницы со слешем и без него – разные страницы.
- Если вы однажды сделаете эти изменения, то в будущем вам придется их все время делать при обновлении движка. Так как в противном случае опять будут появляться страницы со слешем на конце.
- На самом деле, как бы это все страшно не звучало и не выглядело – это нормально и не вредно.
- Если вы не пользуетесь тегами, то вы можете избавить себя от большого объема работы, связанного с их переработкой. В таком случае, все, что ниже заголовка «Убираем слеши из тегов генерируемые движком», можно игнорировать.
- Вступление всех изменений в силу требует времени. Это связано с переиндексацией сайта поисковыми системами. Так что терпенье, друзья, только терпение. Для больших сайтов терпение измеряется 1-2 месяцами.
Пожалуйста, обратите внимание! Пост периодически обновляется, так что некоторые комментарии могут ввести вас в заблуждение. С осторожностью относитесь к сторонним вариантам правок, описанным в комментариях.
Добрый день, а как можно избавиться от /page/1/ через роботс?
Никто не пробовал так прописать robots.txt?
И что с того, что не будет индексироваться /page/1/? Лучше будет если вес страницы /page/1/ будет прибавляться к основной странице, нежели будет просто пропадать в пустоту.
На счет «Disallow: /page/» — это как вариант борьбы с частичным дублированием контента. Неплохой вариант, но не идеальный.
Добрый день, спасибо за советы. Я тестировал 3 месяца до этого с robots.txt и пришёл к мнению, что «Disallow: /page/» не помогает удалить:
/page/1/
/page/2/
/page/.../
Особенно проблемные места это когда индексируются страницы категорий с /page/.../
Не подскажите, регулярное выражение для robots.txt?
Напишите
И будет счастье и радость =)
Спасибо.
User-agent: *
Disallow: */page/1/
Allow: */page/
Можно через rel="canonical" для страниц вида http://xxx/page/1/ прописать Canonical: http://xxx/page/
Спасибо.
У меня такая проблема была: Яндекс и Гугл периодически считали страницу для печати более релевантной, чем оригинал!
Как отключить в dle print page?
В итоге, я запретил её для индексации, но Гугл на данный момент в выдаче имеет 100 страниц с "печати", что необходимо сделать ещё?
Страницы с печатями вообще даже в настройках движка закрываются от индексации. Это происходит при помощи тега <meta name="robots" content="noindex,follow" />. При включении этой настройки можно даже в роботс ничего не прописывать.
И еще — уберите ссылки на страницы печати с сайта.
Имхо чем же Вам помешал / в конце категорий? Его в полных новостях никогда и не было! Зачем столько бреда, если он никак не влияет на выдачу и дублирование контента?
Я про полные новости и не говорил, я говорил про страницы категорий так-то.
У меня на моих сайтах в выдаче страницы категорий отображаются по разному, какие-то с /, а какие-то без /. Люди на своих сайтах/блогах тоже ссылаются по разному, кто-то оставляет слеш, кто-то убирает. Так почему бы не склеить веса обоих страниц в один? Ммм? Где тут бред?
Можно просто выставить со / через .htaccess и это займет минуту времени и будет Вам счастье, а Вы расписали целую эпопею как удалить этот / в конце категорий, так какой смысл в «Убираем слеши из тегов генерируемые движком:» переделывать целую эпопею если можно внести пару строчек в .htaccess и все, и будет тот же самый эффект без лишний телодвижений чтоб избавиться от /.
Когда на выходе результат тот же и получается.
ИМХО зачем человеку пропихивать долгий способ, если есть намного проще, а эффект такой же?
Вы, к сожалению, вообще не поняли ничего :(
У меня написана в самом начале строка для .htaccess файла, которая редирект делает на страницы без слеша. Но а понравится ли вам, что в движке везде все равно присутствуют страницы со слешем? А поисковикам понравится при переходе по каждой ссылке получать редирект? Я так не думаю...
И на выходе разные результаты. Мой — правильный, а ваш — херновый.
Я приверженец Blogger и постаралась оптимизировать его по максимум своих знаний и возможностей системы. Посмотрите в поиске Гугла "site:http://shpargalkablog.ru" в дополнительных результатах отсутствуют страницы. Это говорит об отсутствии дубликатов. Для "site:http://alaev.info" ситуация не очень хорошая. Вот одни из подобных страниц:
https://alaev.info/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_EUC.mo
https://alaev.info/wp-content/plugins/wp-print/print.php
https://alaev.info/wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack-ru_RU.mo
https://alaev.info/blog/post/500?replytocom=426
https://alaev.info/wp-content/ampie/patterns/horizontal.swf
https://alaev.info/blog/post/120?iframe=true&width=900&height=450
https://alaev.info/?page_id=2
https://alaev.info/fotofolio/ledinatali-1/ledinatali-memory-7
https://alaev.info/blog/post/984/feed (и фид здесь же)
Если интересно посмотреть как я добилась данного результата, посмотри на http://shpargalkablog.ru/2010/07/kontent.html. Приоритетно, как я сказала, для Blogger. Но методы борьбы с этим недугом едины.
Вся лажа в том, что в доп. индексе лежат даже давно несуществующие и запрещенные к индексации страницы.
Зачем это надо Гуглу я не знаю :(
Удалите их вручную в веб-мастере Гугла. См. уже названный пост.
Да, как вариант можно и удалить, я даже удалял некоторые страницы. Но если их тысячи, то в рукопашную тут уже не пойдешь :( Я даже хотел дать задание программисту, чтобы написал скрипт для быстрого удаления, но оказалось там нельзя обойти защиту от подобных автоматов.
Понятно. Страниц действительно не мало...
Спасибо за статью. В индексе как раз висела лишняя страница со слешем на конце. Не знал, как убрать...
Один вопрос:
Вместо site.ru надо свой домен вписывать или нет?
Небольшая неточность у вас:
Открываем файл: /engine/modules/engine.php
engine.php лежит в /engine/
Разумеется, надо раскомментировать нужные строки и заменить site.ru на свой сайт.
Да, и спасибо за найденную ошибочку, поправил в посте.
Можно вопрос чуточку не по теме? Регулярным выражениям вы как учились? Я вот время от времени подступаюсь к ним, но нормальную литературу не вижу, а в примерах из интернетов недостаточно пояснений бывает. Хотелось бы дружеского совета :)
Это о .htaccess вопрос? Я им не учился и я их не знаю :) Когда мне что-то надо сделать я курю мануалы, найденные в интернетах.
Вот надо бы это как то собрать все в один материал, чтобы и себе и другим на будущее было руководство максимально понятное.
Вот очень классное руководство по регуляркам — http://www.beget.ru/art9.html
Может подскажете что можно сделать в такой ситуации. Сайт на хосте *.arvixe.ru Яндекс индексировал так, что я не успевал статью дописать, как она уже в инексе была. Но надоел домен 3 уровня прикупил второго на *.me припарковал, сделал 301 редирект всех ссылок туда. В итоге старые ссылки из индекса повыпадали, новых нет уже с пол года. Робот заходит на главную страницу и дальше не переходит. В индексе 2 ссылки сам сайт и одна директория. Причем это только у Яндекса и Аппорта, с Google и Уahoo все нормально индексируют все даже что не нужно. Поубирал дубли ссылок как тут описано, в robots.txt прописал домен *.me, запретил переход на */arvixe.ru/ , прописал *.me/карту.xml Яндекс ее считывает регулярно ошибок нет, позагонял все страницы в Я-закладки, толку ноль. Может его просто домен *.me не устраивает? Так в Яндексе полно сайтов на этом домене. Что делать уже не знаю, разве, что Платону письмо еще не писал. Как Я-робота дальше первой страницы заманить не представляю, маслом сайт полить?
Мутная ситуация, сходу и не знаю что порекомендовать.
Но такая ситуация возможная если купленный домен в бане. Я, конечно, понимаю, что домены в зоне .me не столь популярны, чтобы можно было случайно купить брошенный и забаненный. Но тем не менее попробуйте.
Добавьте сайт в панели вебмастера Яндекса и Гугла если еще этого не сделали, может там что-то прояснится. А заодно поставьте Яндекс Метрику и Гугл Аналитикс.
А так не посмотрев сайт сложно сказать что к чему...
Домен новый, только начали .me регить я его прикупил, у Яндекса в индексе основная страница и категория — был бы в бане выпал бы из индексации совсем, а в панели вебмастера Яндекса и Гугла есть конечно, PR-3 ТИЦ-0, добавлю еще сотню страниц, подожду с месяцок, если не пойдет пущу его на загран.траф... Сильно подозреваю что просто домен .me Платону не нравится, ну да бог с ним, за совет о Яндекс Метрике спасибо, попробую.
Когда сайт в бане у него одна страница в индексе, обычно это главная.
Попробуйте добавить новых страниц. Так же рекомендую размещать ссылки на новые публикации в соцсетях (Twitter, FB, можно еще где-нибудь).
И настоятельно рекомендую написать в поддержку Яндекса с подробным описанием проблемы. Я, например, после общения с поддержкой вывел из бана несколько доменов :)
Не забудьте потом рассказать о результатах, мне очень интересно в чем же дело.
Приветствую. Почитал статью, проникся, попробовал внести изменения на своем сайте. Возникла непонятка, если не сложно, поясните плиз.
Начал с первого исправления .htaccess
Вопрос 1: а site.ru надо оставлять как есть, или вставлять имя своего сайта? :) Ну нуб я, что поделаешь.
Да и не в том вопрос, оставил как site, изменил на свой сайт — результат не изменился.
Основное зеркало без www, раскомментировал строки 2-3.
В результате на сайте, при входе в любую категорию, вылазит ошибка Not Found, а в адресе светится http://********.com/var/www/vhosts/**********.com/httpdocs/state
А как с этим бороться?
Ну разумеется надо заменять site.ru на свой домен, как иначе то :)
Специально для таких вопросов сделал пометки в посте даже.
В чем причина ошибки я не знаю, надо на деле смотреть. Но попробуйте все изменения делать по шагам. Сначала разбираемся с www и тестируем, потом разбираемся с /page/1 и тестируем, и т.д.
Отпишитесь мне через форму обратной связи, будем разбираться с вашим сайтом.
Кстати заметил, что ряд категорий открывается так же даже при старом .htaccess :(
Как так же? С ошибкой? Если одна и та же ошибка и со старым .htaccess и с новым, то явно дело не в .htaccess ;)
АлаичЪ, вопрос не совсем по теме, но относится к DLE.
Нужны ли теги к каждой публикации на сайте и само облако тэгов? Я их особо не использую, а если и есть, то они закрыты от индекса в роботс.тхт.
Помогает ли это индексации сайта? Что порекомендуете вообще по этому вопросу?
Я считаю, облако тегов — зло! Если оно и может хоть как-то пригодиться, то только для навигации пользователей. При этом стоит его закрывать от индексации в роботсе, как вы сами правильно делаете. Если же им никто не пользуется, то и держать на сайте не надо, для поисковиков это никак не поможет.
По моим наблюдениям облако тегов бесполезно для яши. Гугл их люби, хоть и жалуется на повторяющиеся мета...
АлаичЪ, спасибо за ответ.
Просто на многих новостных сайтах видел тэги.
Может следующий материал напишите о внутр. перелинковке?! Для индексации сайта.
Да у меня у самого, например, на emofans.ru есть облако тегов, но оно лишь для помощи пользователей служит, в данном случае для поиска музыки по жанрам. То есть я теги прописываю только для определенных новостей. Они закрыты от индексации в noindex и страницы тегов закрыты в robots.txt
А чего о перелинковке писать то? По ней уже написано миллионы статей, но их незачем читать, просто следуйте своей интуиции. Вот когда пишешь в блог, так или иначе вспоминаются какие-то из предыдущих постов, на них надо ссылаться. Так же и в любом сайте, так или иначе, происходит отсылка к другим материалам. Все просто и понятно. Но еще есть несколько основных правил, в духе — не ссылаться на одну и ту же страницу более одного раза, стараться использовать релевантный текст, не использовать автоперелинковыватель (это выносит мозг любому читателю, да и поисковикам не очень может понравиться).
Как-то так :)
А вот вместо site.ru прописываем везде свой сайт? Или где помечено только?
Разумеется надо менять в правилах. Либо в 2-3 строчках, либо в 5-6, в зависимости от того, что вам надо.
Здравствуйте, у меня такая проблема, поисковики добавляют ссылки в индекс такого типа: http://site.ru/pop/shanson/ или http://site.ru/house/pred_prosluska/, а иногда бывают и такие: http://site.ru/pop/shanson//pred_prosluska/pop/house/.
Подскажите пожалуйста что мне делать? DLE 9.0
Писал в тех. под. Яндекса и мне ответили:
"Видимо кто-то оставил ссылку на Ваш сайт именно в таком виде. Робот перешел по ней и проиндексировал страницу, так как она доступна на Вашем сайте (отдает код 200). В данном случае рекомендую Вам запретить индексирование не нужных Вам страниц в файле robots.txt или обратиться к системному администратору с просьбой настроить сервер таким образом, чтобы при обращении к несуществующим страницам Вашего сайта отдавалась ошибка 404."
Я роботом уже закрыл (Disallow: */shanson/), но всё-равно не очень то и помогло. Может как-то их можно выделить в файле .htaccess, что бы небыло копий категорий.
Вот о чем я и говорил, собственно!
Проблему можно решить обновлением DLE до версии 9.3. Возьмите прямо сегодня и обновитесь ;) Исправится не только эта ошибка, но и множество других досадных косяков.
Я боюсь обновлятся, 100% что-то напортачу и буду весь день думать как это исправить.
А как же модули, которые установленны на сайте и расчитаны для версии 9.0? Что с ними будет?
И там ещё надо как-то свой шаблон подгонять под 9.3 :(
Ну да, обновлять шаблон надо будет. Можно мануалом от разрабов воспользоваться, там написано что и где изменить надо.
Модули совместимые с 9.0 совместимы и с 9.3.
Обновление до 9.3 стоит того чтобы запариться.
А полегче способа не знаете?
Просто я один с такой работой не справлюсь =(
Если бы такой способ был, я бы обязательно о нем сказал.
Попросите программиста помочь вам, например. Возможно в будущем я буду предлагать подобные услуги, перенаправляя работу на своих доверенных людей, но пока что все заняты более важными делами.
Я обновился, но проблема всё-же осталась...
Активировали в настройках пункт про seo контроль url'ов?
"Активировали в настройках пункт про seo контроль url'ов?"
А где он там находится?
Вкладка "Настройки системы" -> "Обрабатывать неверные URL ЧПУ"
Интересно, всё сделал как тут сказано, но заметил небольшой баг на своём сайте:
Просмотр профиля выдаётся так:
http://адрес сайта/путь к сайту/путь к сайту/путь к сайту/адрес сайта/public_html/user/admin
Например, хочешь посмотреть, кто добавил пост, нажимаешь, открывается окно, но потом, когда хочешь зайти к нему в профиль, то выдаёт что по такому пути нет пользователя.
Можете дополнить как исправить данный баг, т.к если заходить по прямой ссылке то всё норм:
http://адрес сайта/user/admin
Красиво страницы начали попадать в индекс, гуглу это очень как нравится.
Такая ошибка появилась после внесения изменений, описанных в данном посте или это так и было?
Мне кажется, что проблема в настройках сайта и, возможно, в шаблоне оформления, проверьте эти моменты.
Это надо код в шаблоне править) скорее у вас прописано так /user/ когда надо site.ru/user/и так далее во многих местах вы просто везде по переходите по сайту и наберется ваша большая ссылка таким образом.
И еще одно. Как сделать редирект с
http://site.ru/category
на
http://site.ru/category/
Мне удобнее, если категории будут в конце со слешем. Да и разницы никакой не вижу. Главное чтобы дублей небыло.
Я не нашел решения ставить слеш в конце. Убрать проще, а иначе появляются страницы вида .html/
А такое решение?
# Редирект для категорий (чтобы в конце URL был /)
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !.html$
RewriteCond %{REQUEST_URI} !.xml$
RewriteRule (.+) $1/ [R=301,L]
Здравствуйте. Действительно, не работает редирект с http://site.ru/page/1/ на главную, в 9.2 по крайней мере.
И вот еще что. Как я понимаю, при вводе, например, http://site.ru/blogs/ должно перекидывать на http://site.ru/blogs, без слеша на конце. У меня вместо этого пишет "страница не найдена".
По поводу /page/1/ исправил в посте, обновитесь.
На счет /blogs/, видимо там особые правила реврайта в модуле, это в самом модуле дело :( Так как я им не пользуюсь, то проверить не могу.
/page/1/ все равно не работает...
Блин, должно работать. Попробуй в разных браузерах. Я пока тестировал замечал, что как будто кешируется это дело и в одном браузере работает, а в другом нет.
У меня тоже /page/1/ ведёт на несуществующую. Движок 9.3. Где-то зарыта собака :)
Все должно работать по той схеме, что я описывал в посте. Я туда правки вносил недавно.
А вообще если не поможет, отпишитесь мне по почте, разберемся. Сразу же содержимое .htaccess скидывайте, чтобы оперативнее решить.
А так не лучше для слешей ? И страницы вида .html/ не появляются
При вставке в Дле 9.4 вот этот код:
Показывает ошибку 404, если категорию открывать в меню, а когда убрать эту строчку все работает отлично
В чем проблема почему так?
Пока не могу сказать в чем дело и связано ли это напрямую с DLE 9.4. Как только обновлю свои сайты сразу проверю и отпишусь.
Код в посте обновлен, теперь все должно отрабатываться без ошибок.
Внёс все изменения в .htaccess из данной статьи. Итог: после открытия /page/1/ или любой подобной выдаёт 404 с таким текстом:
http://stalker-role.ru/home/логин/domains/stalker-role.ru/public_html/home/логин/domains/stalker-role.ru/public_html/home/логин/domains/stalker-role.ru/public_html/home/логин/domains/stalker-role.ru/public_html
При открытии категорий выдаёт:
http://stalker-role.ru/home/логин/domains/stalker-role.ru/public_html/название-категории
Лечится путём отключения ЧПУ или изменение названия категории (дополнительное дублирование индекса, от которого мы якобы должны были избавится).
Использовал стандартный .htaccess, заменял свою папку engine стандартной и заменял index.php стандартным — не помогает. В итоге по некоторым адресам выдаёт такую лажу, давай чини, Александр Алаев...
P.S. DLE 9.3
Переустановка не помогла. После установки залил только старую папку uploads и темы (и естественно бэкап БД). Думаю проблема в БД, копаюсь...
Дело в том, что браузер где-то кеширует это дело. Так что не надо никаких переустановок производить, достаточно открыть закрыть браузер.
Так же возможно есть какие-то нестыковки с новым стандартным модулем появившемся в 9.3, который занимается исправлением URL.
Я пока себе не ставил ни 9.3 ни 9.4, так что не могу точно сказать в чем проблема.
У меня при шаманствах с .htaccess тоже возникает такая лажа, но после перезагрузки браузера исправляется. Так же возможно, есть некоторая проблема с наличием/отсутствием слеша на конце. Скоро у себя затестирую.
Всё обошлось перезагрузкой сервера (Apache), как я понял это всё дело со стороны сервера.
Но всё-равно спасибо за ответ :)
P.S. Заходил через разные браузеры и ОС уже после переустановки.
Отлично! Выяснили корень проблемы! Спасибо за информацию.
После того как убрали слеши, при переходе в профиль ошибка, закладки и непрочитанное тоже ошибка.
Обновился код в посте. Прошу всех проверить на соответствие!
Изменения мелкие, буквально несколько символов изменилось, так что внимательнее!
Проблема просмотр своего профиля осталась есть у кого мысли
Отпишись в обратную связь, будем разбираться.
Делал все по инструкции, вылезает 404 ошибка. ДЛЕ 9.4
Я пока еще ни один свой сайт не обновлял до 9.4, так что точно сказать в чем дело не могу. А что именно меняли? Инструкция то длинная и действий там много...
Все по инструкции заменил. При переходе на страницу .../123/ переадресовывает на .../123, а та в свою очередь выдает 404 ошибку
Ага, понял. А до этого, так же было, что со слешем на конце нормально, а без него 404 выдавало?
Также
Ладно, будем разбираться.
Обновись до 9.4
Привет. Такая проблема на DLE 9.3.
Использовал такой метод чтобы слэш остался:
После этого категория/ работает нормально, но категория без слеша — ошибка 404.
Сделал бекап, запустил на локалке — все работает норм.
Не подскажете куда копать?
Перезагрузите Apache :)
И еще, почему бы не заменить это:
На это?
Поясните в чем особенность вашего кода, пожалуйста, может я что-то не догоняю?
Ставил и ваш код и свой. Разницу в них не вижу, по тому как не очень силен в хтаццесс :). Кароче суть в том что проблема осталась даже после перезагрузки. Еще варианты есть?
Пока не знаю, что и как. Попробуйте написать в техподдержку хостинга, может они подскажут. Потом не забудьте отписаться о результатах.
Отписаться легко! Техподдержка дрянь. Одна баба и то... Кароч, может тут что посоветуете:
Взял хостинг по дешевке, уже год лень сменить. В техподдержке одна девушка, походу блондинка. У меня тариф 500 мб. Сайт весит 100. Пропало 100-200, потом было занято 500 мб. Логи заняли или что х.з. Она не нашла, что жрет место и увеличила место до 1 гб. Когда это "что то" сожрало еще 500 мб. Как думаете какое решение? Правильно 1,5 гб. За месяц 2 гб. Теперь у меня вместо 500 мб — 3 гб, и с каждым днем все меньше и меньше :) Вот такая техподдержка. Как думаете, кто так кушает?
Понятно, интересная ситуация.
Ну, во-первых, это могут быть логи, они всегда занимают кучу места.
Во-вторых, бекапы делаются? Куда? Старые удаляются автоматом?
Других причин быть не может...надо выяснить что с этими двумя вопросами.
У меня прописана директива Host в robots.txt, чтобы бот Яндекса склеил старый и новый сайт, и тогда дублирование страниц будет или нет?
Лучше указать и в роботсе и сделать 301 редирект со старого сайта на новый. Так надежнее, заодно ссылки приклеются старые.
Здравствуйте!!! Помогите решить проблемку, в гугл вэбмастер:
Повторяющееся метаописание — 572
Повторяющиеся заголовки (теги title) — 352
Данный пост поможет?
Вам, в первую очередь, стоит изучить вот этот пост — https://alaev.info/blog/post/2373
Спасибо. Но у меня вроде всё правильно. Вот пример из гугл вэбмастер:
Страницы с повторяющимися заголовками (теги title):
/id-название-новости.html
/категория/id-название-новости.html — текущее ЧПУ.
Вчера использовал хак редирект, то есть при обращении к /id-название-новости.html перенаправление к /категория/id-название-новости.html
Но изменений не наблюдаю. Может стоит подождать подольше?
Кстати? DLE 9.4
Что за хак использовали? И зачем? В настройках DLE, начиная с версии 9.3 есть пункт, который как раз и выполняет такие редиректы. Называется он как-то так примерно — исправление неправильных url ЧПУ.
Главное проверьте, что при заходе на неправильную страницу осуществляется редирект на правильную.
В панели вебмастера моментальных изменений не будет, надо подождать месяц, а то и больше, все зависит от размера и популярности сайта.
спасибо!!!
значит будем ждать
а что на счёт повторяющегося метаописаний?
А повторяющиеся метаописания к каким страницам относятся? Страницы категорий, страницы пагинации или что?
Примеры:
/2011/08/26/
/2011/08/27/
/2011/08/29/
Вот ещё:
/news/news/id-новость.html
/news/news/news/id-новость.html
/psn/news/id-новость.html
/soft/news/id-новость.html
И ещё:
/27-luafps3-v01-load-and-execute-lua-files.html
/news/27-luafps3-v01-load-and-execute-lua-files.html
Хотя редирект выполняется при переходе с /news/news/news/id-новость.html на /news/id-новость.html
/2011/08/29/ — а тут так вообще материалы показываются.
Архивы /2011/08/26/, /2011/08/27/, /2011/08/29/ я бы вообще закрыл от индексации и ссылки на них с сайта убрал.
Проблема с /news/news/id-новость.html и /news/news/news/id-новость.html исправляется той настройкой, про которую я писал выше. Надо в админке DLE ее активировать и просто подождать месяц-два.
Когда это сделаете, проблема будет почти полностью исчерпана ;)
Как я понимаю что если у меня версия 9.3, то мне все эти операции проделывать не надо? Попробовал вариант с файлом access — слетали переходы по страницам как в категориях так и на главной странице по новостям, делал все как указано, т.е. тупой копитпаст, в итоге пришлось все откатывать обратно (благо привычка Плюшкина дает плоды, все собираю)!
С версий старше 9.2 возможны проблемы в части убирания конечного слеша. Но все остальное должно работать как надо.
Ну вот в том то и дело что отображается только главная страница, а все другие страницы стали вести на 404 страницу, поэтому и написал Вам об этом.
P.S. Еще один вопрос, у меня портал site.ru — переход с новости ведет на новость на форуме forum.site.ru, вопрос вот в чем, может все таки сделать site.ru/forum чтобы у поисковиков было мнение вроде человек с поиска пришел на главную и остался на сайте, я к тому что — считают ли поисковики переход с сайта на форум (в моем варианте) как уход пользователя с сайта? Поиск на эту тему ничего не дал, поэтому решился спросить у Вас. Еще раз извиняюсь за то, что не по теме!
Заранее спасибо.
Лично я предпочитаю вариант site.ru/forum, так как все находится в пределах одного домена, и, соответственно, траст и все такое тоже будет складываться в одно "ведро", а не в два разных.
Здравствуйте!
Прошу прощения может не туда пишу. Но у меня есть вопрос.
Здравствуйте! Вычитал вот здесь webmarketing.by/poiskovaya-optimizatsiya/sokryitie-kontenta-ot-poiskovyih-sistem-pri-pomoshhi-javascript/ и Здесь seodiz.ru/hide-content
Хотел реализовать это у себя на сайте, Но ни чего не получилось.
Меня интересует можно ли в DLE 9.4 скрыть часть контента на странице сайта. вот как на этом сайте myonlinestudio.ru. Вот скрин savepic.net/2195471.htm выделенное красным при просмотре исходного кода НЕТ.
Если роботы не выполняют ява скрипты, как с помощью ява скрипта можно что-то скрыть?
Да, можно и на DLE такое провернуть. Но в комментарии долго расписывать придется, так что я этого делать тут на буду.
Возможно это будет темой очередного поста. Напишите мне напоминание через feedback, чтобы я не забыл ;)
DLE 9.4 — не работают категории :)
Теперь только со слешем в конце, а без него пишет ошибку!
Как перезагрузить Apache?
Нашел и решил проблему :)
Открываем файл .htaccess который лежит в корне сайта и находим строчку:
RewriteRule ^([^.]+)/$ index.php?do=cat&category=$1 [L]
заменяем на:
RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]
Все работает!
То есть теперь для DLE 9.4 (и 9.3 соответственно) категории работают и при убирании конечного слеша?
У меня работает все кроме этого:
Просто теперь хотя бы работают категории без слеша в конце, раньше на DLE 9.4 выбивало ошибку!
С дублями страниц вопрос еще актуален!
А в чем здесь проблема? Страницы пагинации теперь выдают ошибку?
Здравствйте, подсткажите в чем может быть проблема, у меня Яндекс индексирует дубль главной страницы, а именно два вида ссылки на нее, непосредственно сама главная- http://tvoipc.ru/, и ее дубль-tvoipc.ru/main/. Как это можно исправить.
(Сейчас пробую переустановить админку, и сайт пока не доступен.)
Вот уж не знаю откуда у вас эта страница взялась. Я впервые вижу такой дубль... Хотя, это, мне кажется, остатки от первой установки, где была такая категория.
Тут может помочь обновление до DLE 9.4.
Дело в том, что у меня DLE 9.4. Если я пропишу в роботс — main/, не закрою ли этим главную страницу от индексации?
Хм, странно тогда, что /main/ существует... Ну да ладно, прописать в robots.txt надо:
Disallow: /main
И все будет ок, главная будет продолжать индексироваться!
Здравствуйте, пытаюсь понять Вашу статью... Пока не получается, но по-видимому, самое понятное из всего, что смотрела раньше. Пока в процессе...
А Вы не могли бы подсказать по частной проблеме, вдруг с первого взгляда Вам ясно будет?
Есть сайт на друпал, на котором стоит модуль генерации xml карты. Модуль глючит — примерно неделю все адреса нормальные, вроде site.ru/?q=abc, а потом — раз и после очередного крона все меняется на site.ru/index.php?q=abc. Соответственно, в поисковиках по много тысяч дублей. Посещаемость прыгает жутко. Дубли с index.php закрыты в robots.txt, но карта сайта периодически начинает указывать на них. Выкидывание карты почему-то существенно сказывается на посещаемости... Генерировать ее руками — как-то не кажется верным решением.
Спрашивали мы у техподдержки хостинга, у разработчика модуля, но решения нет. Ясно, что лень им заниматься. Но и мы мучаемся уже третий месяц (сайт школьный, делается людьми не понимающими что к чему...). Вот после чтения Вашей статьи подумалось, а вдруг у нас .htaccess глючит.
Вот такие строчки стоят сейчас:
RewriteCond %{REQUEST_URI} ^/index\.(.+)$
RewriteRule ^.*$ http://%{HTTP_HOST}/ [R=301,L]
Скажите, пожалуйста, не может ли это повлиять на то, что модуль со временем создает неверные ссылки в карте сайта? Мне хотя бы понимать где проблема — то ли моя глупость и мои же ошибки в .htacess , то ли модуль надо выкинуть, то ли на самом деле проблема на хостинге.
Простите за глупые вопросы. Понимать как и что там происходит с запросами немного выше моих умственных способностей, но и решить проблему хотелось бы (планирую в будущем детям передать админку).
Привет. Сразу могу сказать, что результаты генерации xml карты никак не могут зависеть от файла .htaccess, так как директивы .htaccess применяются на выходе, то есть когда запрашивается какой-то урл, он перестраивается в зависимости от правил в файле.
А модуль карты сайта собирается url'ы из данных в БД, как то их формирует и выдает в файл. Так что проблема 100% в модуле.
Огромное Вам спасибо за четкий ответ! Стало понятно, где искать ответ.
Народ если не работает
### Редирект с первой страницы на основную
RewriteRule ^(.*)/page\/1$ $1 [R=301,L]
### Редирект с первой страницы на основную
правте на этот
RewriteRule ^(.*) page/1/?$ /$1 [L,R=301]
Исходя из практики, могу сказать, что одни и те же варианты могут работать или не работать у разных людей.
Я, честно говоря, не знаю почему так может происходить :(
PS Это я к тому, что предложенный вами вариант у меня не работает правильно.
Хэлп, понять не могу как такое возможно. Гугл ругается:
Повторяющееся метаописание
/34-sega-emulyator-picodrive-na-ps-vita.html
/index.php?newsid=34
Это одна и та же новость.
Ну да, это и есть одна и та же новость, чего тут удивительного. Одна (первая) доступна по url'у с ЧПУ, вторая без.
Удалите через панель вебмастера вторую и все будет окей.
А как настроить правило для редиректа с index.php?newsid= на сайт.ру/категория/новость.html
Включить в админке обработку неверных урл ЧПУ.
1. Кому нужно сделать редирект с категории на категория/, юзайте код:
2. АлаичЪ, тут возникла идея, а как прописать rel="nofollow" для страниц /page/* ?
3. Модуль под заказ вашему прогеру можно заказать? если он возмется конечно...
Не понял, что именно подразумевалось под "прописать rel="nofollow" для страниц /page/*", но наверное хотелось бы добавить rel="nofollow" для ссылок в модуле пагинации, чтобы типа робот не ходил?
Ну тогда ищем в посте заголовок "Убираем слеши из навигации по страницам генерируемые движком" и смотрим все пункты, которые там описаны, а где встречается "<a href=" делаем так "<a rel=\"nofollow\" href=".
Модуль заказать можно, но сейчас Санек занят, у нас много дел ;)
Привет всем. У меня такой дубль появился:
http://mobi-vision.ru/
http://mobi-vision.ru/&
Как понимать? :) Прописывал только это:
Dle 9.4
То что у вас появился такой дубль это никак не связано с тем, что вы вносили правки по моему руководству.
Просто закройте его в robots.txt (Disallow: /&$) и спите спокойно ;)
АлаичЪ, спасибо!
Только поставил в роботс Вот так: Disallow: /&/
Есть разница?
Artem, отлиный редирект :) У меня все работает. Наконец с дублем категорий будет покончено!
С Dle 9.5 взял? Там пишут это реализовано.
Как считаете стоит на 9.5 переходить с 9.4?
Разница есть между моим и вашим вариантом, и притом большая ;) Не буду долго объяснять почему, но мой вариант закроет дубль, а ваш нет! Так что поменяйте.
Вариант редиректа от Артема не совсем правильный, но тем не менее рабочий. А в DLE 9.5 проверка реализована не через .htaccess разумеется, а в php файле, где, собственно, и формируются url'ы.
Обновляться всегда стоит до последней версии, просто с этим бывают проблемы (доп. модули или просто правки движка), потому многие и не обновляются годами.
Если честно сам покопался немного, и погуглил немного. Сам тестировал на 8.3, пока обновляться не особо хочется :)
Здравствуйте АлаичЪ, подскажите, пожалуйста, какую-нибудь замену этому:
не работает — RewriteRule ^(.*)/page\/1$ /$1/ [R=301,L]
не работает — RewriteRule ^(.*)/page\/1$ $1 [R=301,L]
Вообще вызывает 500 ошибку — RewriteRule ^(.*) page/1/?$ /$1 [L,R=301]
А то уже измучился :(
Ну можно несколько варинатов испробовать:
Например, такой:
Или вот такой:
Первый это если в конце хочется убирать слеш, второй — слеш на конце остается.
А еще вот вариант:
Попробуйте, а потом обязательно отпишитесь, это важно!
я так понимаю это три варианта, а не шесть? т.е нужно добавлять по два как у Вас?
Разумеется это три варианта, а не шесть ;) Добавлять надо вместо того, что у вас не работает. То есть вместо одной строки, что у вас не работает, надо вставить две строки одного из вариантов, предложенных мной.
Ой, простите :) не внимательно прочел, все понял сам!
1. Вариант со слешем работает (УУУРРРААА, за что Вам огромное спасибо!) как для site.ru/page/1/, так и для категорий site.ru/categories/page/1/
Вариант без слеша, тоже работает.
Проверено на dle 9.2
2. У меня еще такой вопрос, есть ли смысл проделывать весь этот не простой путь по удалению слеша? Как сильно это может повлиять на выдачу?
Я рад, что все заработало!
По поводу стоит или не стоит убирать слеш — последний абзац из пяти пунктов в конце поста как раз для вас ;)
Добрый день!
Обновился до 9.5 работает как часы :)
Подскажите, в гугле для вебмастеров такие вот проблемы еще актуальны:
Повторяющиеся заголовки (теги title):
http://mobi-vision.ru/&/
/&
/
(Это не как не может быть связано с модулем catface? просто вместо описания на этих сстраницах пусто)
PS Disallow: /&$ поставил
Нет, это никак не может быть связано с модулем catface, точно!
/ — это главная страница сайта.
/& — это какая то левая страница, она у нас запрещена через Disallow: /&$
/&/ — еще одна левая страница, ее надо запретить через еще один Disallow: /&/$
Добрый день. Отличная статья, но начиная с 9.4 dle не подходит (убирание слеша в конце категории и страницы).
Сайт на 9.4 и все статьи со слешем на постах и категориях. Яндекс почему-то проиндексировал все страницы категорий, тегов и постов со словом search на конце (/категория/под категория/search)(/tags/сам тег/search), и соответственно, все эти страницы находятся под ошибкой 404.
Почему так? От куда берётся search? Неужели из-за слеша?
Для DLE 9.4 необходимо поправить одну строчку в .htaccess файле, чтобы не выдавало ошибку, в этом комментарии написано все — #comment-6971
А вообще если все правильно сделать, то в постах никак не могут появиться слеши на конце.
Откуда взялся search я не знаю, это уже ваши какие-то ошибки, с правками в htaccess это не связано точно.
Слеши то пропадают,только вот страницы такие не открваются.И выше,описанный метод,#comment-6971 уже так и было настроено по умолчанию.
Ну тогда можно сделать так — открыть engine/engine.php и найти там переменную $re_cat и вот в том районе будет условие в котором прописан php 301 редирект. Вот там надо будет убрать слеш завершающий.
У меня просто сейчас нет доступа к файлам dle, потому сказать конкретнее не могу.
Приветствую! Вот я считаю это дублями и их нужно закрыть (что ошибку выдавало) или сделать пере адресацию на главную
http://site.ru/lastnews/page/1/
http://site.ru/lastnews/page/
http://site.ru/lastnews/
http://site.ru/page/1/
http://site.ru/page/
http://site.ru/lastnews/1/
Что нужно прописать .htaccess ? Что вы думаете по поводу этих страниц?
Если проделать, то что я описал в посте, то страницы http://site.ru/lastnews/page/1/, http://site.ru/lastnews/page/ и http://site.ru/lastnews/1/ будут редиректиться на http://site.ru/lastnews/.
А страницы http://site.ru/page/1/ и http://site.ru/page/ будут редиректиться на http://site.ru
Следовательно — никаких проблем нет. А зачем вам lastnews понадобился, я не знаю, просто закройте в robots.txt этот раздел от индексации, вот так — Disallow: /lastnews
АлаичЪ!
Страница http://site.ru/page/ в dle 9.7 не дает редирект! В чем может быть проблема? Эта страница появилась в поиске.
Вот мой рабочий вариант + всегда / закрывает
Другие варианты не заработали.
Спасибо за комментарий, думаю, кому-нибудь обязательно пригодится.
А я собираюсь отказываться по возможности от всех правок в .htaccess и делать все проверки и редиректы на php, так намного вернее и будет одинаково работать у всех и на любых серверах!
Так что скоро обновлю пост.
Мне тоже только этот способ помог с редиректом. Спасибо
Друзья, читатели, все все все!
Только что обновлен пост, полностью и глобально переработан, многие изменения очень важные!
Рекомендую всем перечитать пост и обновиться.
Всех приветствую и очень благодарю Алаева за его труд и, скорее всего, бессонные ночи, придумывая как оформить пост и что еще добавить. Низкий поклон...
Есть вопрос: Вот мы убрали дубли, и все они, даже (page/...), перенаправляются на соответственно http://site.ru, http://site.ru/category/ и http://site.ru/cat/subcat/
Тогда, продавая страницы в сапе, не получится ли так, что окажется мало страниц в индексе, ну допустим, page 1...2...3... и т.д., т.е. их не будет, а ведь если вместе с ними, то будет порядком 2-3 тысяч плюсом.
Или, все таки, сапа эти page (ы) в другом виде увидит и страницы постраничной навигации останутся, что, соответственно, 2-3 тысячи страниц, с которых можно продавать ссылки.
Спасибо за внимание...
Чертовски правы на счет бессонных ночей — я как раз последние 3-4 ночи этим постом и занимался, все переделывал и переделывал, думал как лучше оформить...
Но вы все таки не совсем уловили смысл поста. Перенаправления для страниц пагинации действуют только для первой страницы (http://site.ru/page/1/ или http://site.ru/category/page/1/), которая идентичная основной (http://site.ru/ или http://site.ru/category/), но другие страницы /page/2/, /page/3/ и т.д. ни в коем случае не затрагиваются, они остаются!
Так что за свои проданные ссылочки в Сапе можете не беспокоиться ;)
Страницы page/3/ и т.д. Чем они полезны, если не брать во внимание сапу? Повторяющиеся мета — описания? Может их переправить на основную категорию, добавив ей этим PR?
Вообще то это навигация по сайту, тут слова полезно/бесполезно не применимы — это просто необходимо и должно быть так.
А как избавиться от дублирования метаописаний я рассказывал в первой части руководства.
Подскажи пожалуйста, может ты в курсе что за лажа с яндексом, из 50000 страниц в поиске, 10000 ошибка 404, и все почти такие http://сайт.ru/tags/%C0%ED%E4%F0%E5%E9+%CB%B8%E2%E8%ED/index.php, откуда берется этот index.php если без него то все работает, в общем просто хотел спросить может поможешь, кстати некоторые категории тоже с index.php на конце с 404 ошибкой, почитал я пост поправил у себя DLE 9.4, теги вообще запретил в роботсе!
Вот и у меня в тегах на конце search и в категориях так же.Причем в гугле все теги проиндексированы нормально,а яша совсем с ума сходит.В сапорте яшы ответили,что ошибка,конечно же,у меня.Интересно почему я вижу эти ссылки нормальными а яша именно так?Что формирует ссылку в теге движка на 9.4? Люди добрые помогите убрать проблему...
Такс, ребята. Проблема у вас специфическая, но я покопался с часок и нашел выход. Я добавил код, который проверяет не только главную страницу сайта на наличие в конце index.php, но и все разделы, категории и т.д.
Так что смотрите обновление поста, под заголовком "Убираем из адреса index.php..." Все должно работать как часы!
Вот спасибо большое.Вопросик эти редиректы только для index.php ?? Для search на конце тега это правило подойдет? В админ панели яндекса мои ссылки(Теги) выглядят,к примеру: /tags/Домашняя+Фотостудия+4/search
т.е. search это не .php а директория,как я понимаю Как тогда тут быть?
Да, то, что я написал работает только для index.php на конце любой категории или раздела.
Для удаления search это не подойдет.
Но для убирания /search в конце строки подойдет правило, которое надо прописать в .htaccess:
Если необходимо оставить слеш на конце, т.е. /tags/Домашняя+Фотостудия+4/
Если слеш на конце не подразумевается (т.е. надо получить /tags/Домашняя+Фотостудия+4), то
Спасибо огромное за решение проблемы с search... Теперь буду ждать когда яндекс проиндексирует страницы. Отпишусь, что получилось.
Ага, буду ждать.
Тут еще важный момент — эти /search не должны быть закрыты от индексации в robots.txt, иначе робот не сможет понять, что там редирект стоит и, соответственно, ничего не изменится.
Добрый вечер!
Спасибо Вам за прекрасные советы, которые действуют безотказно :)
Вопрос не совсем по теме но связан с роботс.тхт. У меня прописана в роботс строка:
Disallow: /uploads/
Это значит, что все загружаемые на сервер файлы индексироваться не будут!
Подскажите, как правильно записать в роботс, чтобы индексировались файлы картинок из папки /uploads/posts/, а все остальные были бы запрещены.
Заранее очень благодарен.
Напишите в robots.txt следующее:
Allow: /uploads/posts/
Disallow: /uploads/
Именно в такой последовательности! Это правило запрещает скачивать все из /uploads/, кроме страниц или файлов начинающихся с /uploads/posts/
Спасибо!
Просьба помочь и предложить еще варианты для "Редирект с первой страницы на основную"
Для версии dle 9.2 подошел изначальный вариант:
RewriteRule ^(.*)/1/$ $1 [R=301,L]
RewriteRule ^(.*) page$ $1 [R=301,L]
а для версии dle 9.0 не подходит ни один из вариантов:
RewriteRule ^(.*)/page\/1$ $1 [R=301,L]
RewriteRule ^(.*)/1/$ $1 [R=301,L]
RewriteRule ^(.*) page$ $1 [R=301,L]
RewriteRule ^page/1/?$ / [L,R=301]
RewriteRule ^(.+)/page/1/?$ /$1/ [L,R=301]
Дайте и еще варианты пожалуйста... жду.
Должно подходить, разницы особой нет между 9.0 и 9.2. А у вас одинаково в обоих движках на конце url'а присутствует/отсутствует слеш?
Да, слеши одинаково присутствуют на 9.0 и 9.2 (главная, категории).
АлаичЪ, если не будет у Вас вариантов еще, может кто отпишет у кого версия 9.0 и какой вариант ему подошел ("Редирект с первой страницы на основную"), очень надо.
Такс, я тут поколдовал с утра и решил, что .htaccess не самый надежный вариант. Потому написал php-редирект для случаев с /page/1/
Открываем /engine/engine.php и находим:
ВЫШЕ добавляем:
А из .htaccess удаляем все правила, которые должны убирать /page/1/
Проверяйте и отписывайтесь обязательно.
АлаичЪ, спасибо! Этот вариант работает на версии 9.0. Следовательно вопрос — а на версии 9.2 тоже поменять (с .htaccess убрать, а внести изменения аналогично в engine.php)?
Попробывал на версии 9.2 тоже так же поставить, все отлично! И рекомендую всем этот вариант (с engine.php), так как в варианте с .htaccess есть такой недостаток — если ввести адрес вида http://site.ru/page/1/ и нажать Enter, то редиректа на главную не происходит.
Спасибо АлаичЪ еще раз!!! Думал не ответите, а даже отдельно написали, да и всем пригодится.
Развития блогу! Успехов!
Отлично.
Этот вариант будет работать на всех версиях!
Здравствуйте. Возникла такая проблема. Какие-то непонятные личности начали ставить на меня ссылки вроде site.ru/67-dfsdfsdfsdf
Если написать в урле site.ru/67-dfsdfsdfsdf.html то он исправит на site.ru/67-TRUE_NAME.html
Однако без html он просто добавляет слеш на конце — site.ru/67-dfsdfsdfsdf/ и говорит, что 404 ошибка. В итоге в гугл тулс полно 404 ошибок, что не есть гуд.
Есть ли решение такой проблемы?
Т.е. такое условие проверки — что если урл начинается не с буквы а с цифры, то вконце подставлять .html
Буду очень признателен если подскажете, спасибо.
А, забыл добавить, нужно так же второе условие проверки, что если на конце уже есть .html — то подставлять его не нужно, разумеется...
Все проще чем вы можете себе представить :) Никаких условий не надо.
Открываем свой .htaccess, который лежит в корне и находим строку:
Заменяем на:
Далее находим строку:
Заменяем на:
И дело в шляпе ;)
Спасибо огромное! Абалдеть как все просто)
Я бы тоже балдел, если бы было все так просто :) Но это, к сожалению, совсем не так...
АлаичЪ, Здравствуйте! Мне нужно полностью убрать вывод тегов {tags} и архивов и годы публикации, чтоб они не работали, когда переходишь по ним, можно это сделать и как?
Заранее спасибо, жду вашего ответа!
Никогда не надо делать так, чтобы что-то не работало!
Во-первых, удалите все ссылки и упоминания про эти разделы.
Во-вторых, закройте их в robots.txt
В-третьих, я скоро напишу третью часть руководства по seo оптимизации DLE, там я расскажу, как более грамотно избавиться от этих страниц.
Я думаю можно уже и форумок поставить,т.к. здесь очень много полезных сообщений,а комментариев набирается изрядно...Это я в виде пожелания))
Есть ли у Вас аська? Если можно, напишите или авторизуйте меня, мне срочно нужна ваша помощь!
Аська (590630256). Жду Вашего ответа! Заранее Спасибо!
Привет! Пробежался по всему блогу — очень занятно! Спасибо) Особенно понравился последний пост про трафиковое продвижение.
Не нашел раздела где спросить — решил спросить тут. А что думаешь про странички dle сайта типа page?
Вроде
site.ru/cat/page/2
site.ru/cat/page/3
site.ru/cat2/page/2
site.ru/page/2
site.ru/page/3
Стоит их закрывать от индексации?
При большом количестве рубрик и страниц получается просто огромное кол-во дублированного контента.
И, на основе выше сказанного вопрос — как в постраничную навигацию прописать к ссылкам страниц (2-3-4-5-21-22-23) rel="nofollow"? Искал-искал код где они формируются, да так и не нашел...
Спасибо!)
Закрывать можно по желанию. Лично я не закрываю, а стараюсь писать анонсы короткими, чтобы они минимально дублировали текст полной новости. А вообще можно анонсы писать уникальными — это вообще будет круто, и никакого дублирования.
Чтобы прописать к ссылкам в пагинации, надо посмотреть пункт в посте под названием «Убираем слеши из навигации по страницам генерируемые движком» и так вместо убирания слеша везде где встретится
<a href=
заменить на<a rel=\"nofollow\" href=
Добрый вечер!
Возник вопросик. Хочу реализовать такую схему: заголовок новости — название категории.
Ранее убрал от заголовка новости название сайта, но хочется чтобы после заголовка новости шло название категории, к которой относится новость.
Ведь мы к каждой категории прописываем метатег title, есть возможность брать его описание и помещать после заголовка новости?
Вот как понимаю нужный мне участок кода:
if ($titl_e) $metatags['title'] = $titl_e . ' » ' . $config['home_title'];
home_title как раз раньше отвечал за вывод после новости название сайта, что поместить вместо него, чтобы отображалось название категории?
----
Заранее благодарен.
Смотрите в этом посте — https://alaev.info/blog/post/2373 — тут все это уже обсуждалось.
Здравствуйте.
После как выполнил все описанные инструкции, проверил работает ли все.
Результат, работает все кроме предпоследнего пункта примера
http://site.ru/123-news-name.html -> http://site.ru/truecat/123-news-name.html — не производится редикет.
В чем может быть проблема?
Спасибо.
Проверьте правильность выполнения описанных инструкций. И если работает, например, это:
http://site.ru/truecat/123-bla-bla-bla-name.html -> http://site.ru/truecat/123-news-name.html
То должен срабатывать редирект и в вашем случае.
http://site.ru/truecat/123-bla-bla-bla-name.html -> http://site.ru/truecat/123-news-name.html — этот работает
http://site.ru/123-news-name.html -> http://site.ru/truecat/123-news-name.html — все равно не пашет.
Проверил все дважды.
Это очень странно. Я только что еще раз проверил на своих сайтах — везде работает, притом, что версии движка на всех сайтах разные
Даже и не знаю в чем может быть причина такого поведения :(
АлаичЪ, есть одна проблема, скорее индивидуальная, может кому пригодится тоже. У меня сайт переносился с укоза на дле и старые новости, вернее ссылки имели вид — сайт.ру/load/... и сайт.ру/loadsz/... где load и loadsz типа виртуальные каталоги на дле, которые на укозе были каталогами. Как следствие у меня получалось дублирование контента, одна новость по 3-м ссылкам. Если коротко, то я каталоги load и loadsz удалил и привел ссылки к виду соответственно как дле и как в ситемап. Но проблема такая — в кратких новостях стоят картинки-ссылки на полную новость с прописанным старым адресом, которого уже нет и отредактировать нет возможности да и файлов более 2000.
Нужен редирект наверное 301 для дле с удаленных страниц на главную в .htaccess чтобы прописать.
***Нашел такой в интернете, для примера:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ / [R=301,L]
, но непонятно для чего там — REQUEST_FILENAME, f, d
Хотел бы чтобы Вы как профи предложили свой вариант. Извините что отвлек. Заранее спасибо.
RewriteCond %{REQUEST_FILENAME} !-f #применять RewriteRule, только если запрашиваемое имя файла не совпадает с именем какого-нибудь реального файла на сервере
RewriteCond %{REQUEST_FILENAME} !-d #и не совпадает с именем какой-нибудь реальной директории
То есть это условие на совпадение имен категорий и файлов на сервере. В таком случае правило RewriteRule сработает только для виртуальных страниц.
Этого достаточно?
Не работает, наверное не то. Скорее всего нужен редирект с несуществующего старого адреса новости на новый, по привязке к названию новости.
К примеру, новость — Прикольные объявления и надписи. Скачать бесплатно
Старый адрес — http://site.ru/load/prikolnye_objavlenija_i_nadpisi_skachat_besplatno/14-1-0-1970 (тут ошибка — "...публикаций на сайте не найдено...")
Реальный, новый адрес — http://site.ru/yumor/201970-14-1-0-1970.html
Можно такой редирект по названию новости сделать?
Понятное дело, что не будет работать, правила изначально неправильные. Вы же спросили, что такое !-f и !-d — я ответил ;)
Сделать редирект старой новости на новую в вашем случае не получится, потому что схожих частей в старом и новом адресе почти нет. По названию редирект сделать нельзя, можно только по URI.
Но я могу подсказать как сделать редирект всех новостей вида http://site.ru/load/prikolnye_objavlenija_i_nadpisi_skachat_besplatno/14-1-0-1970 на страницу новой категории:
Спасибо что уделили время... но в таком случае придется 2000 новостей прописать и направление редиректа соответственно в разные категории... неверное нереально... ладно пусть будет как есть. Еще скажите тогда правильно ли сделал... если я закрыл от индексации страницы (Disallow: */page/) где в крактой и есть эти битые ссылки (на первый страницах уже новые новости стоит)... то индексироваться эти неправильные ссылки не будут?
В коде, который я привел в пример выше, надо будет прописать редиректы только для всех рубрик, но не для всех новостей.
Если делать запрет в robots.txt, то надо делать два правила:
Disallow: /page/
Disallow: */page/
Первое запрещает к индексации пагинацию внутри главной страницы сайта, типа site.ru/page/2/ и т.д.
Второе предназначено для категорий, типа site.ru/category/page/2/ и т.д.
"В коде, который я привел в пример выше, надо будет прописать редиректы только для всех рубрик, но не для всех новостей. "
Если не трудно приведите пример как прописать например несколько рубрик (непонятно из-за того что там ссылка новости прописана, и как рубрики вставить, или нужно по одной новости из каждой рубрики).
Так все просто же ;)
и т.д.
Здравствуйте, очень понравилась ваша статья. Но почему-то появилась такая проблема. Когда ввожу http://site.ru/page/1/ (со слешем на конце), переправляет на главную страницу, а когда http://site.ru/page/1 (без слеша), то открывает пустую страницу со словом "Redirect". Это можно оставить или лучше как-то убрать? Заранее спасибо.
Интересно, где-то сбой происходит... Спасибо за комментарий, я буду разбираться.
А вы не волнуйтесь, это не страшно, а когда я найду решение, вы исправите.
Таже проблема с http://site.ru/page/1 (без слеша) — Redirect... тоже буду ждать на решение...
Это можно попробовать совместить с .htacess-редиректом, прописав строчки:
RewriteBase /
RewriteRule ^(.*)/1$ $1 [R=301,L]
RewriteRule ^(.*) page$ $1 [R=301,L]
Ошибка — 500 Server error.
Печально... Будем думать дальше.
Я конечно не разбираюсь в этом но я попробывал сделать так:
### START Редирект с первой страницы на основную
RewriteRule ^(.*)/page/1/$ $1/ [R=301,L]
RewriteRule ^(.*) page/1/$ $1/ [R=301,L]
RewriteRule ^(.*)/page/1$ $1 [R=301,L]
RewriteRule ^(.*) page/1$ $1 [R=301,L]
### END Редирект с первой страницы на основную
И вроде все работает, у меня до этого если вбивал http://technolog.kz/page/1 — без слеша писал Redirect
Кто и что скажет может сказать по этой теме? Может я еще хуже сделал:D?
Отличный блог. Все, что описано в этой статье применил на dle 8.3. Все работает без проблем, в следствии чего решено много проблем. Но вот одна до сих пор остается и связана она с Google. В панели вебмастер есть такое — "Повторяющееся метаописание". Возможно ли как-то и их привести к логическому заключению. Получается, что если в метоописание к каждой категории прописать что-либо, то в Google они дублируются. При большом кол-ве страниц получается, сами понимаете, уйма повторяющихся "МетаОписаний". Что можно сделать? Никак не хочу закрывать страницы (page) от индексации. Заранее спасибо за любой совет.
Ну а как же, конечно у меня есть решение — первая часть руководства: Оптимизация заголовков Title для DLE.
Конечно же я прочитал обе части и применил все, что описывалось. Не понимаю чего Google надо? Возможно мало времени прошло и надо подождать.
Начал разбираться и заметил следующее, когда добавляешь новость только с коротким содержанием (без полного), то нет ссылки на полную новость, так как её в принципе нет. А Google ее каким то образом проиндексировал (полную новость) и теперь говорит, что у меня короткое метаописание, а его там не и быть не может. Вы меня понимаете? Что можно сделать?
И заодно хоте прояснить следующий момент: в первой части Вашей статьи говорится о "Заголовках Title", а Google ругается на "Повторяющееся метаописание" это одно и тоже или Google говорит мне об "Описание для статьи"?
Метаописание — это то, что содержится внутри meta name="description", а не то что вы подумали.
Решение проблемы с повторяющимися метаописаниями я так же описывал в первой части руководства, пост постоянно обновляется и дополняется.
Несколько раз спокойно перечитал первую часть Вашей статьи, все разложил по полочкам. Но есть вопрос для уточнения.
Вопрос к следующему написанию: "Теперь небольшой бонус, дополнение к предыдущим изменениям. Если у нашей публикации или категории не задан «Метатег title»... Если вы согласны с этим мнением, то игнорируйте предыдущие изменения и сразу приступайте к этому шагу." И идет описание что на что надо менять.
Правильно ли я понимаю, что эти изменения не затрагивают Вашу запись от UPD 22.02.2012
— "уникализировать содержимое тега meta name="description""
Спасибо.
Да, правильно. UPD 22.02.2012 — это самостоятельное дополнение.
Здравствуйте. Парочка вопросов.
1. Склеиваем адреса страниц /page/1/ с основными адресами (главной страницы или категории)
и также посмотрел другие методы исключения дублей главной страницы, но не нашел вот такого
site.ru/page/
В Вашем варианте при открытии site.ru/page/1/ переходит на главную, а как сделать, чтобы и с site.ru/page/ также переходило на главную с 301 редиректом?
2. Как исключить из индекса(или присвоить тег — мета-тег robots "noindex,nofollow" ) для страниц site.ru/category/1/, site.ru/category/2/, site.ru/category/3/ ...
т.е. оставить в индексе только главную страницу категории, а остальные запретить к индексации?
Спасибо, жду ответа.
1. Странный случай, но да ладно, чтобы сделать редирект с /page/, необходимо в .htaccess прописать:
2. Как это сделать я описывал в третьей части руководства — alaev.info/blog/post/3294
1. Спасибо. Работает.
2. Вы наверное не совсем поняли. Вы наверное про вот этот пункт в описании 3 — «Запрещаем индексацию разделов сайта при помощи мета-тега robots».
Но там нет ничего про исключение страниц категорий и у меня написано не совсем верно.
К примеру у нас раздел музыка — music.
Страницы — site.ru/music/page/ и site.ru/music/page/1/ редиректим на основную страницу раздела т.е. на site.ru/music/, а вот остальные страницы категории site.ru/music/page/2/, site.ru/music/page/3/ site.ru/music/page/4/, site.ru/music/page/.../ запрещаем к индексации... Чтобы в индексе была только одна главная страница категории.
Да я вас понял :) Добавил код, позволяющий закрывать страницы пагинации. Смотрите там же — в третьей части оптимизации DLE.
Сегодня обнаружил в индексе Яндекса страницу своего сайта такого вида:
http://site.ru/razdel/16-nazvanie-novosti.html?do=register
Как избежать такой проблемы? Как должен выглядеть редирект? DLE 9.5.
Читайте вот этот пункт поста — «Устраняем проблему с дублированием полной новости по разным адресам».
Есть ещё дублированные страницы, которые не указаны в данном посте. Я использую тип ЧПУ 1, версия движка 9,5. Это страницы типа http://site.ru/page,1,2,7847-news-name.html (обращаю внимания НЕ http://site.ru/category/page,1,2,7847-news-name.html, а http://site.ru/page,1,2,7847-news-name.html — тип ЧПУ 1). При этом комментарии к данной новости могут вообще отсутсвовать — это случается когда, например, спамеры накидали кучу комментов, поисковик проиндексировал эти страницы, а админы потом почистили комменты, но страницы остались и они доступны по данным адресам, выводя 100% дублированный контент.
Применив все советы из данного топика, эта проблема всё-равно осталась. Буду крайне признателен, если Вы опишите её рещение.
Проверил, действительно такая проблема имеет место быть. Я написал решение в третьей части руководства — https://alaev.info/blog/post/3294 — смотрите пункт «Редирект с несуществующих страниц пагинации комментариев на правильные».
Проверяйте и отписывайтесь, работает ли...
Решение действительно работает... но лишь отчасти. Работают редиректы для страниц типа http://site.ru/page,2,7847-news-name.html, но лично у меня в индексе откуда-то взялись ещё и такие http://site.ru/page,1,2,7847-news-name.html (именно поэтому в прошлом комментарии я указал именно их) — вот для таких редирект не работает, а они также являются 100% дублями.
Все работает, я как раз и проверял для адресов http://site.ru/page,1,2,7847-news-name.html, ведь именно так и формируются адреса страниц комментариев. Номер страницы комментария показывает вторая цифра, в данном примере она равна 2, а вот первая цифра (1) перманентная, она указывает страницу самой новости (если новость состоит из нескольких страниц).
У меня не работает. Версия 9.5
http://vkontakt.info/page,1,4,57-lovivkontakte-lovi-v-kontakte-skachat-besplatno.html
Да, как оказалось, что мое решение не работает, если страниц пагинации комментариев меньше двух. ПО быстрому решить не удалось, так что пока можно считать, что решения нет :)
Не сумели ли Вы найти решение? Для меня проблема попрежнему актуальна.
Нет, решения не нашел пока. Да и не искал, если честно.
Вот после обновления одного из сайтов буду снова вносить правки в файлы, там и придется разбираться. Когда решение найду, я сообщу.
Блин, давненько решиться немогу. Просто не пойму, эти самые дубли каким образом влияют на поиск, если так и так они поподают на нужные странички?
http://www.alawarstarter.ru/ и http://www.alawarstarter.ru/index.php
Это плохо, потому что поисковик пессимизирует (понижает в поиске) страницы, которые имеют дубликаты.
У меня поисковик вообще такое проиндексировал site.ru/index.php/ как решить, способы выше не помогают?
Обнаружилась следующая проблема. Если новость состоит из нескольких страниц, скажем 5, то перейти по ним не получается. Все время кидает на первую. Я так понимаю мы их склеили (что-то вроде этого http://site.ru/truecat/page,1,1,123-news-name.html -> http://site.ru/truecat/123-news-name.html) или возможно как-то еще. Как поступить в данном случае? Спасибо.
А попробуйте вот такой код:
И обязательно отпишитесь потом, это очень важно.
Чтоб было правильное понимание, я нижеприведенный код заменил на предложенный Вами вариант
Выдает ошибку : Parse error: syntax error, unexpected '!' in /home/.../site.ru/public_html/engine/modules/show.full.php on line 156
Пробовал несколько раз, одна и та же ошибка.
Попробуем обойтись без знаков «!». Используйте следующий код:
При данном варианте на сайт захожу без проблем, но при входе на полную новость, браузер выдаёт сообщение о циклической переадресации.
Тогда предлагаю обновиться до последней версии движка и эта проблема решится сама, без геморроя :) Это самый лучший вариант.
Сегодня обновился до версии 9,5.
Выполняю первый пункт. Вставляю в файл .htaccess, для выбора основного зеркала:
Дальше в файле идет:
Обновляю страницу и сразу же появляется ошибка:
В чем может быть проблема?
Это странно, потому что я сам вчера обновлялся до версии 9.5 и использовал это же правило. Посмотрите, совпадает ли адрес указанный в админке в настройках пункт "Домашняя страница сайта:" с вашим, там должно быть указано http://site.ru/
Да, адрес совпадает. Все верно указано.
Все, больше никаких вариантов нет почему не работает? :(
Идей нет, напишите хостеру и спросите у них, может помогут.
Здравствуйте!
DLE 9.4 Обрабатывать неверные URL ЧПУ включен, но урлы без слешей вылезают
Помогите, пожалуйста.
Где они вылезают, и что происходит когда на них переходишь, доступна ли страница по адресам со слешем и без него?
Если ничего в файлах движка не меняли, то такого быть просто не может.
Без слеша появились в яндекс-вебмастере — Ресурс не найден (404)
разобрался
Открываем файл .htaccess который лежит в корне сайта и находим строчку:
RewriteRule ^([^.]+)/$ index.php?do=cat&category=$1 [L]
Заменяем на:
RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]
Теперь всё ОК.
Вот большое спасибо Вам, я эти исправления искал еще при выходе 9.2 дле, но потом забыл, сегодня же сайт вышел из под фильтра, и я увидел в поиске кучу дублей, то с слешем то без, да и раньше замечал что одна и та же новость доступна по разным адресам.
Применил, спасибо!
Всех приветствую.
Уважаемый мастер АлаичЪ, прошу помощи сделать редирект с ссылок типа site.ru/http:/?newsid=id (id новости) на обычные ссылки типа site.ru/categori/id-сама статья.html
Такие ссылки создаются модулем отправки ссылок новых статей в twitter.com, там они (site.ru/http:/?newsid=id) так и выглядят, а это будет дублированием контента в глазах ботов увидившие такие ссылки. Спасибо за Ваш труд.
Точно скопируйте сюда URL'ы которые появляются, будем разбираться.
В предыдущем сообщении ошибка урлы вида не site.ru/http:/?newsid=id ,а site.ru/?newsid=id (без http)
В твиттере ссылки такие http://pro-dlar.ru/?newsid=87 и перейдя по этой ссылке новость на сайте отображается именно под этой ссылкой,но настаящая ссылка имеет такой вид http://pro-dlar.ru/multimedia/87-aiseesoft-blu-ray-converter-ultimate-v-6236.html
Вот и нужен редирект.
АлаичЪ, очень полезная статья, но я наверно что то упустил. Подскажи:
1. Что делать со слешами в дле 9.5? Обработка неверных урл включена, некоторые дубли страниц ушли, но не все. Новости открываются по адресу .../novost.html и .../novost.html/ Как с этим бороться? Или это не существенно?
2. По теме дублирования контента, что делать с анонсами новостей? У меня это пара первых предложений из полной новости, и это получается частичное дублирование. У тебя я смотрю также. Не вредит ли такое частичное дублирование?
3. И опять про анонсы. У меня одинаковые короткие новости встречаются: на главной, в категории, в подкатегории. То есть одинаковый текст встречается по разным адресам. Стоит ли об этом голову греть?
Очень надеюсь на твой ответ!
1. А откуда они такие появились новости с .html/ на конце? Сами слеш подставляли или поисковик такие адреса где-то нашел?
2. Главное чтобы эти первые пара предложений не были основным содержимым полной новости. Другими словами — если основная часть контента не дублируется, то все нормально.
3. Неприятно, конечно, но ничего не поделать с этим. Вы ведь не спроста выводите текст анонса, верно? Можно убрать его, оставив только заголовки, но будет ли это удобно и понятно посетителям, вот в чем вопрос!
1. Это я сам слеш подставил, проверить как откроется такая страница :)
Спасибо за ответы!
Ну если сам подставил, то не стоит волноваться, поисковик их сам не подставит :)
Ещё я заметил во всех версиях DLE дубликат по адресу site.ru/page/. Как исправить?
Смотрите этот пункт — «Склеиваем адреса страниц /page/1/ с основными адресами (главной страницы или категории)» и выполните правки для .htaccess
Здравствуйте ! Я Вам очень благодарна — закрыла и перенаправила где надо. Но у меня появилась одна беда сайт в бирже ссылок виден стал как ещё по адресу site.ru/?file=4589 Закрыла в robots.txt — адуриловка писала запрещён к индексации, А сегодня пишет проиндексирован и у него ещё возможны варианты — site.ru/?file=4589/page/1/ Хотя это «Склеиваем адреса страниц /page/1/ с основными адресами (главной страницы или категории)» — у меня благодаря вашей статье стоит и с другими страничками прекрасно работает... Даже не знаю что и делать, может подскажите...Буду очень благодарна Вам
Добавьте в robots.txt строчку:
Disallow: /*?file
И все будет окей.
Спасибо за ответ, прописала в robots.txt, но вводя в аддуриловку -> site.ru/?file=4589 Пишется:
<<Указанный URL уже проиндексирован.>>
Может надо прописать <link rel="canonical" href="http://site.ru/> — как думаю это в main.tpl пишется, но именно где не знаю.
Подскажите, пожалуйста, как быть в таком случае
Ага, я немного не то правило указал, не так понял url.
Пропишите под добавленной строчкой еще такую:
Disallow: /?file
Ой уже не знаю и так сделала, пишется — <<Указанный URL уже проиндексирован.>> Главное если я подставляю другие цифры то пишется — <<запрещён к индексации>> Но как только -> site.ru/?file=4589 Снова проиндексирован и никакого запрета ... Может у них так как в кеше... Странно всё это . Заму чала Вас тоже ))
Пропишите директивы и подождите недельку-две. А заодно можно еще проверить в панели вебмастера Гугла, может он что скажет.
У некоторых сайтов подключены дополнительные модули. У меня список авторов — members. В роботе запись Disallow: /index.php?do=members. Гугл все возможные варианты сортировки авторов включил в поиск и с одинаковым титлом сотня страниц. Вот пример site.ru?do=members&orderby=cpublicA&count=30, site.ru?do=members&orderby=nameD&count=150, итд
Можно ли это исправить? Как это прячется от поисковиков?
Разумеется он включит в поиск эти страницы.
В роботсе закрыты страницы начинающиеся с /index.php?do=members
А в поиске ?do=members&orderby=
На что вы рассчитывали в таком случае? =)
Закрыл строчкой $do == 'members' OR в engine.php, появился <meta name="robots" content="noindex,nofollow" />
Disallow: /index.php?do=members убрал. Правильно?
У кого опыт есть, как скоро из гугла странички таким образом пропадают?
Да, правильно. Пропадут в течение месяца или даже быстрее.
Уважаемый АлаичЪ, после переезда аккаунта с одного ip на другой, на сайте перестали показываться картинки. Движок DLE 9.2
Если удаляю данные записи, то начинают работать. Но перестают осуществляться переходы на полную новость, а выходит ошибочная страница!
Ну вот как-то так, уже и не знаю, что делать, просто ужасть.
Так, по порядку:
1. Используемый тип ЧПУ?
2. Пример url'а на картинку
3. Ну, и адрес сайта в студию...
Итак по парядку:
— ЧПУ тип 2
— Пример url картинок:
http://www.omidesign.ru/uploads/posts/2012-05/507nawicvn.jpg
ну и адрес перед uploads/posts/2012-05/507nawicvn.jpg
Если ставлю ЧПУ тип 1 и убираю надписи скопированные выше, то картинки появляются, а если ЧПУ 2 и всё оставляю, то картинки исчезают! Хотя раньше всё работало как часики.
А попробуйте после строки:
# Сам пост
Добавить эти:
Попробовал — не помогло :(
Удаляю — картинки начинают пахать, но полной новости нет, перекидывает на главную!
Я так понимаю, что проблема в чпу 2, так как с чпу 1 и картинка пашет и переход на полную новость осуществляется нормально.
Жду помощи, уважаемые знатоки своего дела!
Скажите, что ещё можно сделать?
Может попробовать обновить движок до 9.6? Или не поможет?
Ещё я заметил, что при нажатии на картинке — открыть ссылку в новом окне — меня перебрасывает на ссылку картинки и сразу на главную, ну а картинка так и не пашет.
Редирект какой-то.
А попробуйте заменить это:
На это:
Есть мысль, что поможет.
Вот это помогло, кажись. Огромное спасибо! Ежели чего — отпишу.
Спасибо все работает.
Не могу исправить ссылки вида http://site.ru/cat/page,1,7,10828-news-name.html при этом коментариев на странице нет. Стоит DLE 8.3
Обновил пост, смотрите пункт "Устраняем проблему с дублированием полной новости ..."
Пробуйте и отписывайтесь, все должно работать!
Не помогло. Может я не правильно объяснил... т.е. в новости нет ни одного коментария, но DLE сгенерировала кучу ссылок на коментарии к этой новости http://сайт.ru/категория/17193-новость.html
и получаются:
http://сайт.ru/категория/page,1,13107,17193-новость.html#comment
http://сайт.ru/категория/page,1,13106,17193-новость.html#comment
...
http://сайт.ru/категория/page,1,2,17193-новость.html#comment
http://сайт.ru/категория/page,1,1,17193-новость.html#comment
Может Ваше решение работает на вновь опубликованные новости, а старые прийдется чистить в ручную?
Забыл дописать, если эту новость запрещаешь комментировать сылки исчезают и соответственно заново появляются если разрешаешь
Код из пункта "Устраняем проблему с дублированием полной новости по разным адресам" обновленный ведь используете?
Там идет проверка на то включены ли комменты, проверка на номер страницы и на реальное количество страниц комментов к новости. Так что если к новости реально нет комментов, то должен срабатывать редирект на саму новость.
Тестил это даже не версии 8.5. Возможно, в 8.3 что-то иначе, но я сомневаюсь. Наверное что-то неправильно делаете...
Да, обнавленный код использую. Код вроде весь логичен, проверка комментариев и редирект на новость с этим ID Но только нет перенаправления и как объяснить движку что код рабочий не имею понятия )
Тоже думал, что что-то я не правильно сделал, повторил операцию пару раз. Приходится просто отключать комментарии.
Странно это все. Я бы порекомендовал обновиться, слишком уж DLE 8.3 устарел. Может быть даже в этом причина отказа.
О переходе думал, но хлопотно это шаблон переделывать и заново все настраивать.
А проблему с дублями решил удалив их ручками. Надеюсь они не появятся.
Обычно удаление из панели вебмастера не избавляет от проблемы, они снова появляются, я пробовал уже :)
Все же подумайте о переходе. Могу посоветовать верстальщика, если надо будет обновить шаблон.
Здравствуйте!
Я выполнил все пункты, двиг DLE 8.5. Возникла проблема с удалением слеша в конце новостей, а именно с RSS.
Проблема в следующем: набирая http://site.ru/engine/rss.php, или http://site.ru/rss.xml меня не пускает на ленту, а все время перебрасывает на главную. А так все работает отлично.
Прошу помочь разобраться с данной проблемой.
Не смог у себя повторить эту проблему.
Распишите конкретно и по шагам, какие правки вносились?
Я вносил все правки касательно Вашей сео оптимизации — часть 2, т.е. полностью все проделал как Вы рассписали. Посмотрите пож. сайт — freshkino.com
Нашел в каком месте проблема, так как при замене на оригинальный Rss лента работает, это — /engine/engine.php.
АлаичЪ, я делал оптимизацию согласно всем твоим 3 частям. Может и не во 2 части проблема, а других. Огромная просьба помочь решить данную проблему, так как все мои онлайн RSS граберы находятся в замороженном состоянии. Заранее спасибо...
Разобрался. У меня ранее стоял блок —
// 301 редирект на главную с несуществующих левых страниц
$true_link_main = $config['http_home_url'] . substr ($_SERVER['REQUEST_URI'], 1);
if ( ($dle_module == "main") && (intval ($_GET['cstart']) <= 1) && ($true_link_main != $config['http_home_url']) ) {
header ("HTTP/1.0 301 Moved Permanently");
header ("Location: {$config['http_home_url']}");
die ("Redirect");
}
// 301 редирект на главную с несуществующих левых страниц
Убрал его и работает RSS. Очень извиняюсь что побеспокоил. Прошу удалить все мои бестолковые комментарии. С уважением.
Хотел маленькую заметочку оставить для людей, которые работают с Sape. Имейте в виду что после оптимизации вы возможно пожертвуете частью купленных у вас ссылок. После оптимизации 30% ушли в ERROR причина "сервер редиректит на другую страницу". Вот теперь сижу и думаю пожертвовать баблом, или всётаки лучше сайт в порядок привести. Кстати может, заодно, посоветуете что?
Я решил пожертвовать баблом, хотя иногда жалею, так как потери составили примерно 20к в мес. Ну да ладно, чего о плохом говорить, зато сайт в идеале теперь :)
Выше комент, заметил, что про RSS написано, гляжу у меня Яндекс виджет отвалился( Перепробовал уже все варианты написание ссылки не хочет оживать( Чё делать то??)))
Так в чем проблема? Конкретнее, пожалуйста.
На сайте имеется кнопка, добавить виджет себе на гл. стр. Яши. Настраивается в кабинете яндекса "Виджет" Адрес был в виджете прописан http://sait.ru/catalog/ виджет брал с этого каталога 8 новостей и вставлял их в виджет к пользователю. Сейчас на месте виджета пишет "Ошибка при чтении RSS потока." Проблемы то нет, я его снесу, потеряю 20 юзеров но самых преданных) Проблема наверно в слеше. Хотя я попробовал и с ним и без него, и с www и без не как. Исчез после редактирования engine/engine.php
Надо проверить работают ли rss потоки на сайте, например site.ru/rss.xml, возможно, так же site.ru/catalog/rss.xml. Заодно проверить соответствующие настройки движка.
Видимо я гоню. Закинул не модифицированный файл engine.php не чего не изменилось. Получается проблема раньше возникла, до редактирования. Просто я видимо только заметил. А можно Вас попросить, если не затруднить гляньте одним глазком что может быть. Мне кажется проблема в кодировке. Так как перехожу по ссылки http://sait.ru/engine/rss.php всё в квадратиках. Сайт в форму добавил. Буду очень признателен, если посмотрите. Спасибо.
Мне вообще ничего не показывает, пишет что ошибка кодировки и все.
Так что надо вам вспоминать, что делали, что меняли, какие модули ставили и т.д.
Но, сразу могу сказать, эта проблема не от правок, что описаны в моих постах.
Ага большое спасибо! Буду искать.
Привет всем, возникла у меня проблема, у кого есть пути решения. Вообщем я убрал id новости у себя на сайте, двиг Dle 9.2 все подправил, все работает, но появилась ошибка при переключении комментарий,т. е вторую страницу и все последующие он выдает как страница не существует, где исправлять ситуацию подскажите пожалуйста кто знает.
Сами себе проблему создали... Придется самостоятельно ее и решать...
Подскажите пожалуйста как бороться, нигде решения проблемы нет, единственное что интересно, что не могу подобрать ссылку на вторую страницу с комментариями, т.е. если внимательно посмотреть, то http://site.ru/категория/page,1,2,140-stranica.html#comment не работает потому что стоит id, но если ссылка такая http://site.ru/категория/page,1,2,stranica.html#comment без id все равно не работает, также выдает страницу ошибки, хотя по идее должна. Подскажите, а то приходится все комментарии помещать на одной странице, но это совсем мне не нужно.
Не понял. Вы тоже поддались массовому идиотизму, избавившись от id в новостях? Если да, то я вам тут не помощник.
Здравствуйте, подскажите пожалуйста после того как я выполнил
Пункт "Убираем index.php из адреса главной страницы и страниц категорий" действительно перекидывает с http://site.ru/index.php на http://site.ru/ , но зато теперь что на главную что в категориях можно обращаться по любому адресу
К примеру:
http://site.ru/любой_текст.php
http://site.ru/category/любой_текст.php
Что естественно еще хуже. Подскажите как исправить данную проблему?
Можно подумать, раньше такого не было?
У вас в панели вебмастера появляются ошибки http://site.ru/любой_текст.php, если нет, то зачем сочинять тогда?
Попробуйте прописать, может поможет :)
RewriteRule (.*)/([^/]+)\.php$ $1 [R=301,L]
Такая проблема появляется только после добавления кода:
То есть без этого кода стандартно, к примеру, главную страницу, можно было открыть по адресам http://site.ru/ и http://site.ru/index.php
Но если вписать адрес, например, http://site.ru/любой_текст.php, то сайт не открывался, а выдавалась ошибка:
404 Not Found The requested URL /любой_текст.php was not found on this server.
После добавления же этого кода в .htaccess, исправилась проблема — перебрасывание с index.php на главную, то есть перебрасывает с
http://site.ru/index.php на http://site.ru/ — все как надо.
Но теперь если вписать любое слово с расширением .php, к примеру, http://site.ru/любой_текст.php или http://site.ru/indexxxxx.php, то на главную уже не перекидывает, а просто остается такой текст в url.
Тоже самое и для категорий.
Просто если кто-то случайно или нет заметит такую вот проблему на работающем сайте, то дублей может получится гораздо больше, чем стандартно с index.php.
Мой сайт пока что еще находится на денвере, поэтому за вебмастер не могу ничего сказать.
Извините, конечно, за такие вот сочинения, но проблема остается и хотелось бы очень ее решить с вашей помощью.
Ваши уроки очень понравились, полезного масса, так что респект вам за это!
Если код из моего предыдущего комментария не помогает, то у меня на данный момент больше идей нет :(
Здравствуйте уважаемый АлаичЪ. Сегодня на DLE 8.5 посетитель обнаружил ошибку что нельзя отредактировать свой профиль, все время отбрасывает назад в старый и ничего не изменяется. Попробовал я и мой тоже не меняется.
Проблема в этом:
### START Убираем слеш в конце
RewriteRule ^(.+)/$ $1 [R=301,L]
### END Убираем слеш в конце
Убираю его и профиль редактируется, ставлю и опять не изменяется.
Подскажите как решить проблему.
С уважением к Вашему труду...
А попробуйте заменить в файле engine/modules/profile.php строчку:
На такую:
Теперь все в порядке, спасибо.
Из-за вот этого:
Яша ругается при подтверждении прав на сайт через .txt. Что не есть хорошо. Вот что он пишет:
Метод проверки при помощи текстового файла неприменим, т.к. ваш веб-сервер отвечает кодом 200 на запрос несуществующей страницы
Попробуйте исправить ошибку и повторить проверку или выберите другой метод подтверждения
Какие выводы стоит из этого сделать? Вы не задумывались о том, что сайт можно и пере оптимизировать.
Выводы вы сами делайте. У меня все замечательно работает и никто ни на кого не ругается.
Если у вас возникли проблемы, то они возникли потому, что вы что-то напартачили, а не я. Не так ли?
Переоптимизировать можно, безусловно, но только если бездумно все делать...но мы то с вами умные люди!
Что можно напортачить, если проблема конкретно в вышеуказанных мною строках:
Они находятся в файле .htaccess — яндекс выдает ошибку!
Убираем эти строки из файла .htaccess — права подтверждаются без проблем!
Конечно же, можно не заморачиваться с подтверждением прав через txt, а просто добавить нужный код в head.
Не в этом беда. Достаточно понимать код: первые две строки — там четко написано условие, если идет GET запрос к файлу /index.php, то создаем редирект на просто домен site.ru/. Следующие три строки проверяют не существует ли реального файла index.php на сервере в директории, и если не существует, то просто обрезаем в адресе index.php (с редиректом на обрезанный адрес, разумеется).
Что не так?
Приветствую!
Как решить данную проблему в комплексе:
Дублирование главной страницы сайта по адресам http://site.ru/page/1/,http://site.ru/page/2/,http://site.ru/page/3/...http://site.ru/page/n/ и http://site.ru/
Дублирование основной (первой) страницы категории по адресам http://site.ru/category/page/1/ и http://site.ru/category/
То есть для категорий ничего не меняется (редирект только с http://site.ru/category/page/1/), а вот для главной сделать редирект со всех страниц. Заранее благодарен за помощь.
Вам в помощь — https://alaev.info/blog/post/3294 — "Редирект с несуществующих страниц пагинации на правильные и существующие"
По той инструкции редирект начинает работать с http://site.ru/page/29/. В настройках указан вывод по 10 новостей, всего на сайте 280. Отсюда делаю вывод что данный параметр где-то отмечен. Но как же решить данную проблему не в ущерб категориям?
Не понял идеи. Разумеется, если на сайте 280 новостей, по 10 на каждой странице, то как минимум 28 страниц должно существовать. А 29-ой(и всех последующих) уже не существует, следовательно с них и делаем редирект.
суть в том, что на главной вообще нет навигации и все адреса типа http://site.ru/page/n/ ведут на одну и ту же страницу-главную. В категориях же есть навигация. В таком варианте возможно что-то сделать?
Могу предложить вот такой вариант, должно сработать.
Открываем все тот же файл /engine/engine.php и находим:
НИЖЕ добавляем:
Добрый день! А подскажите как сделать редирект со страницы index.html на главную?
Появился у адреса хвостик в виде: ?subaction=userinfo&user=admin
Не знал как на странице userinfo в title вместо admin > название сайта вывести полное имя, изменил логин на кирилицу, сделал такой редирект.
Redirect 301 /user/admin/ http://site.ru/user/%D1%E2%E5%F2%EB%E0%ED%E0+%D1%EA%EE%F0%E8%EA/
Получаю на выходе http://site.ru/user/%D1%E2%E5%F2%EB%E0%ED%E0+%D1%EA%EE%F0%E8%EA/?subaction=userinfo&user=admin
чпу 1 дле 9,6 рекомендации по устранению дублей выполнил. Так появятся новые? Кто-то обещал свою версию робота для дле показать.
Хвостик появился потому, что перед строкой редиректа:
Redirect 301 /user/admin/ http://site.ru/user/%D1%E2%E5%F2%EB%E0%ED%E0+%D1%EA%EE%F0%E8%EA/
Надо добавить важную строку:
RewriteBase /
После этого все будет работать как надо.
Устраняем неразбериху с категориями их вложенностью и слешем / на конце («Обрабатывать неверные URL ЧПУ»)
Добрый день. Не могли бы вы чуточку дополнить данный хак. Во всех случаях он отрабатывает корректно, за исключением одного — когда URL начинается на /page/ не ваш хак, не встроенный в 9.6 не обрабатывает данную ссылку, а просто открывает главную с номеров навигационной страницы (пагинации) — (если он указан после page, иначе просто главная).
Пример: http://www.site.ru/page/18/категория_авто/подкатегория_хонда/категория_велосипед/категория_мото/
В браузере будет отображена информация со страницы (http://www.site.ru/page/18/) — а в адресной строке останется тот же перемешанный адрес.
PS Не знаю от куда, но у меня таких дублей накопилось очень много...
PPS Живой пример http://dle-news.ru/page/10/extras/uroki/pressrelease/DAZHE_NE_SUWESTVUJUWIJ_RAZDEL/
Я подумаю над этим, а пока что идей нет, как справиться с этой ерундой.
АлаичЪ, подскажите, пожалуйста, почему при изменении страницы engine.php (для того, чтобы убрать дубль page/1) вставляю
///
if ( ($config['allow_alt_url'] == "yes") && (intval ($_GET['cstart']) == 1) && (strpos ($_SERVER['REQUEST_URI'], '/page/1') !== false) ) {
$first_page_url = str_replace ( "/page/1", "", $_SERVER['REQUEST_URI'] );
header ("HTTP/1.0 301 Moved Permanently");
header ("Location: $first_page_url");
die ("Redirect");
}
///
и получаю пустую страницу с надписью Redirect.
Если удалить строку die ("Redirect"); то открывается страница site.ru/page/1
Может что-то не так делаю?!
Значит где-то противоречие возникает. Надо в браузере FireFox установить плагин HttpFox. В плагине нажать на Start и перейти по адресу с /page/1, и будет видна цепочка переадресаций. Сразу станет понятно, куда происходит редирект и почему он получается циклическим (ведь причина отображения Redirect именно в этом).
У меня с при редиректе с http://site.ru/page/1 перенаправляло на "Redirect".
Решение: в .htaccess после
### START Редирект с первой страницы на основную
RewriteRule ^(.*)/page/1/$ $1/ [R=301,L]
RewriteRule ^(.*) page/1/$ $1/ [R=301,L]
### END Редирект с первой страницы на основную
ДОБАВИТЬ
RewriteRule ^(.*)/page/1$ $1/ [R=301,L]
извиняюсь, этот способ не рабочий, у меня кеш глюканул(
Ну так тут очень важным моментом будет наличие или отсутствие слеша на конце. Будьте внимательны.
АлаичЪ, установил этот плагин, но дело в том, что в мозиле вообще никуда не переадресовывает... проверил в хроме и в опере ситуация такая. как описал выше. Что-то я не пойму?!
Не знаю тогда в чем дело, тут конкретный пример надо смотреть. На словах это не объяснить.
Еще для этого нужно редирект сделать
http://site.ru/index.php?do=cat&category=subcat -> http://site.ru/cat/subcat/
Добрый день! А как исключить такой вид
сайт/категория/новость
сайт/новость
ЧПУ тип 2 двиг 9.2
А вы правки описанные в посте проделали?
Да все сделал, прошло время в гугл вебмастере появились новые задвоенные ссылки. Может стоит подождать и они удалятся
А сами эти страницы, которые надо "убить" сайтом отрабатываются нормально, то есть редирект на правильные страницы идет? Если да, то надо ждать пару недель, чтобы в панели вебмастера начали уменьшаться ошибки.
нет, страницы открываются и так и так без редиректа
Еще раз проверил все правки, именно эту я не добавил. Теперь редирект проходит нормально. Большое спасибо!!!!
После добавления
[code]### Редиректы с site.ru/category/index.php на site.ru/category/ и др.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.*) index\.php$
RewriteRule ^(.*) index\.php$ $1 [R=301,L]
### Редиректы с index.php на сайт
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L][/code]
начинается черт-пойми-что:
-новости не открываются — редирект на главную
-урл категорий и страниц пагинации отображаются в адресной строке, но все равно видим главную
Версия 9.6
даже точнее нашлась проблема:
"### Редиректы с index.php на сайт" — после этого куска
Значит что-то не так сделали. У меня ведь (да и не только у меня) все работает замечательно.
Вопрос про:"Склеиваем адреса страниц /page/1/ "
Если пишем www.**.ru/page/1/ — редиректит отлично, а если писать www.**.ru/page/1 — без слеша замирает на пустой странице и в левом верхнем углу просто написано Redirect. Ошибся я или ?
Попробуйте вместо:
Сделать так:
так значит мой вариант был правельный? так то он работает, а вот как это на остальное сказывается?
Да, так всё отлично работает. Спасибо!
Для ссылок вида http://сайт.ру/tags/4×4+Club , не присходит редерикта на адрес вида "http://сайт.ру/tags/4×4+Club/"
Попробуй такую штуку добавить в htaccess:
Привет! Как лучше справиться с паразитными адресами вида:
— http://domen.ru/?11111
— http://domen.ru/index.php/1111
— http://domen.ru/seriyaecofr.html?11111
Чтобы они отдавали 404, к примеру?
Хех, не ждать ответа? (
Я не знаю как это сделать. А разбираться сейчас у меня, к сожалению, нет времени :(
Здравствуйте, нашёл дубль главной страницы вида site.ru/page/, Вы как-то уже тут советовали прописать в .htaccess: RewriteRule ^(.*) page/$ $1 [R=301,L]
Я прописал ниже этих:
RewriteRule ^(.*)/page/1/$ $1/ [R=301,L]
RewriteRule ^(.*) page/1/$ $1/ [R=301,L]
Но эти то редиректят, а вот на странице site.ru/page/ попрежниму редиректа нет, дубль остаётся.
Подскажите пожалуйста как исправить.
Может я не туда прописал RewriteRule ^(.*) page/$ $1 [R=301,L] ?
Замените свой вариант на такой:
Добавил эти две строки, но к сожалению стала выдаваться ошибка: 500 Server error.
Есть ещё соображения как исправить эту проблему?
Да блин, гребаный валидатор. Там не должно быть пробелов в строках. Скопируй снова, я убрал пробелы в ненужных местах.
Тоже самое...
и ещё я сейчас заметил, что на странице типа /page/1 написано на белом фоне "Redirect" и всё.
Странное дело, у меня нормально эти трюки работают. Предлагаю откатить эти изменения и оставить как было пока что.
Эхх... ну ладно. Подписался тут, буду ждать, вдруг найдёте решение.
Здравствуйте подскажите как сделать редикт со страниц http://сайт/page/2/,http://сайт/page/3/,http://сайт/page/4/ и так далее на главную только не через htaccess а как то по другом
Откройте файл engine.php и найдите строку:
// ################ Вывод отдельной категории #################
ВЫШЕ добавьте:
Должно сработать.
Здравствуйте пробавал ваш код установит на сайт всё работает спасибо большое за помощь
Сегодня, непонятно с какого перепугу, в индексе появилась страница http://site.ru/index.php/
Теперь получается две главной вместо одной... о_О Не понимаю откуда она вообще взялась — со слешем на конце?
Как её удалить? Закрыть в роботсе — Disallow: /index.php/
Приветствую! Все ненужные дубли в гугл вебмастере поуходили, но появились новые такого вида
/page/13/{$link_regist} — ссылка http://сайт/page/13/%7B$link_regist%7D
/page/13/
не пойму, что это такое
АлаичЪ может вы в курсе?
У меня что-то подобное однажды случилось, но то я сам был виноват — экспериментировал на работающем файле.
Решить проблему можно таким образом.
В файле .htaccess сразу после RewriteEngine On надо добавить:
Работает. Спасибо!
после обновления dle с DLE 9.3 до версии 9.6 Новости добавляются сразу две и когда удаляю одну удаляется и второй
И что дальше?
Открываем файл /engine/engine.php и находим:
if ($do == "cat" and $category != '' and $subaction == '') {
НИЖЕ добавляем:
//решение проблемы с категориями, редирект на верный урл, удаление слеша в конец
if ( $config['allow_alt_url'] == "yes" AND $category_id AND $view_template != "rss") {
$re_cat = get_url ( $category_id );
if ($re_cat != $_GET['category'] OR substr ( $_SERVER['REQUEST_URI'], — 1, 1 ) == '/' ) {
$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
$re_url = reset ( $re_url );
header ("HTTP/1.0 301 Moved Permanently");
header ("Location: {$re_url}{$re_cat}");
die ("Redirect");
}
}
//решение проблемы с категориями, редирект на верный урл, удаление слеша в конец
После данной операции перестают работать все страницы с категориями и субкатегориями. DLE 9.5
Вот ошибка:
На этой странице обнаружена циклическая переадресация
Загрузка веб-страницы по адресу http://site.ru/cat/subcat/ вызвала слишком много переадресаций. Попробуйте очистить для этого сервера файлы cookie или разрешить их прием от независимых сайтов. Если это не поможет, возможно, проблема связана не с вашим компьютером, а с конфигурацией сервера.
Вот несколько советов и рекомендаций:
Обновите эту страницу позже.
Подробнее об этой неполадке.
Ошибка 310 (net::ERR_TOO_MANY_REDIRECTS): Обнаружено слишком много переадресаций.
А предупреждение, видимо, вас не смутило: "ВНИМАНИЕ!!! Правки, приведенные ниже не рекомендуется делать для движка DLE версии 9.3 и выше. Удаление слеша по описанной ниже схеме возможно только для версий до 9.2 включительно."
АлаичЪ, может быть поможете понять в чем причина возникшей проблемки.
Внес правки по первой и второй частям Вашей статьи. Но у меня на сайте стоял хак "Recent Searches", он берет поисковые запросы которые пользователи ввели на сайте и генерирует страницу вида:
http://mysite.com/search/поисковый+запрос.html
Так вот после внесенных изменений я обратил внимание что любая страница такого вида (неважно что стоит после /search/) копирует содержимое главной.
Я вообще решил избавиться от этого хака (давно планировал) и убрал его. Но проблема все равно осталась.
Помогите пожалуйста разобраться.
P.S. С проблемой Robots о которой писал в коментах соответствующей статьи разобрался. Там были мои кривые руки :)
Чтобы избавиться от страниц вида http://mysite.com/search/поисковый+запрос.html и сделать 301-редирект на главную, необходимо в файле .htaccess после строки RewriteEngine On добавить:
АлаичЪ, привет.Возникала такая проблема, произошла ошибка в бд и получилось что на новость оказалось больше количество Комментов, следовательно и дохренище страниц с комментами, и гугл их все проидексировал, в поиске получилось около 200 страниц такого типа.
http://site.ru/page,1,558984,id-news.html
Вроде всё сделал по мануалу, и проблема должна была решится, но не решает, переправляет на новость только в том случае если указываю первую страницу Комментов, со второй и последующих не перенаправляет.Может Подскажи пожалуйста, какой нибудь другой способ убрать эти дубли.
Все здесь — https://alaev.info/blog/post/3294
Выполнил всё как описано, не помогло((
Всплыли новые дубли ))) одно закрываешь другое появляется
site/statya.html&post=-29824380_239
такое лучше в роботсе закрыть или через .htaccess
Это ссылки из контакта так проставляются. Закрой в robots.txt пока что.
Проделал все вышеописанное в статье. google дал результ:
Страницы с повторяющимися заголовками (теги title)
/program/
/program
Что сделал не так ? :) DLE 9.6
Беда со слешами решается включением пункта seo-контроля ЧПУ в админке.
Так я вот это — Обрабатывать неверные URL ЧПУ: врубил. Видать раньше проиндексировало чем включил ?! Подождемс .
Со временем склеятся страницы, главное чтобы сейчас при переходе на /program редиректило на /program/
Ситуация следуящая:
есть страницы такого типа:
http://shopping.mk.ua/catalog/grupa/70/type_sort/1
http://shopping.mk.ua/catalog/grupa/70/type_sort/2 и т.д.
Подскажите, плиз, как осуществить переадресацию на эти страницы со страниц без чисел после слэш:
http://shopping.mk.ua/catalog/grupa/70/type_sort/
Яндекс и гугл индексируют последние страницы и не находят их.
А конкретнее, либо редирект, если попадаются страницы с /type_sort/ без ничего после слэша, либо чтоб добавляло автомато после слэша 1 к примеру...
такая фигня не только с /type_sort/ , но и с /grupa/ /page/ и т.д.
Спасибо за помощь!
Надо после RewriteEngine On добавить:
Спасибо огромное, прокатило ;)
Другие "незаконченные" страницы сделал таким же образом...
Хорошо, что на вас наткнулся, очень хороший ресурс, другие статьи тоже понравились :) Так держать!!!
Здравствуйте подскажите как сделать редикт со страниц http://сайт/категория/page/2/,http://сайт/категория/page/3/ и так далее на страницу http://сайт/категория/ если это возможно если это не возможно сделать то можно сделать редикт хотя бы на главную страницу сайта
В файле .htaccess после строки RewriteEngine On добавить:
АлаичЪ В дле 9,6 не работает редирект с
page/5
на
page/5/
Подскажи пожалуйста что делать? Метод что ты выше написал не решает эту проблему. спасибо.
Можно так попробовать — https://alaev.info/blog/post/2400#comment-5960
помогите сделать редирект со старого адреса категории на новый
сделал вот так
Redirect 301 /allfilms/ /films/
но при переходе на /allfilms/
выбивается такая ссылка
http://live-torrent.ru/films/?do=cat&category=allfilms/
как сделать чтобы было
http://live-torrent.ru/films/
Redirect 301 /allfilms/ http://live-torrent.ru/films/
Здравствуйте! у меня такая проблема не как не магу избавится от такого http://stelari.ru/# http://stelari.ru/# http://stelari.ru/# http://stelari.ru/# и их где то 50 на внутренних ссылках. подскажите что сделать? Движок 9.3
Ничего не делать, решетка # обозначает якорь, а поисковики якори не индексируют, то есть ссылка http://stelari.ru/#blablalba для поисковика ведет как бы на страницу http://stelari.ru/
Привет, АлаичЪ!
Недавно наткнулся на твой сайт — получил и продолжаю получать множество полезной информации!
Сейчас сижу мудрю с изменениями по данной инструкции, но столкнулся с такой проблемой:
У меня почему при переходе по ссылке site.ru/page/1 вылетает белый фон с надписью "Redirect"! Если же в конце есть слеш то все нормально — перенаправляется на главную страницу. Может я чего-то упустил?
DLE 9.5
Nginx
Перевел для nginx:
Проблему решил с помощью замены кода на такой:
И в догонку глупый вопрос... По адресу site.ru/index.php/ должно выдавать 404 ошибку? У меня что-то совсем из головы вылетело.
Не, стандартно DLE выдаст просто главную страницу при вводе этого урла.
У меня при запросе site.ru/index.php/ вылетает 404 Not Found...
Каким правилом можно решить эту ошибку?
Так и в чем проблема? Значит все хорошо, пусть выдает. Или сделайте редирект в htaccess:
Redirect 301 /index.php/ http://site.ru
Решил 2 проблемы сразу данным кодом, быть может кому-то пригодится:
Теперь редиректит как index.php так и с index.php/ на www.site.ru
В общем подумал, и получилось, на мой взгляд, даже проще и лучше с таким вариантом:
Проблема с данным кодом:
### Редиректы с site.ru/category/index.php на site.ru/category/ и др.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.*) index\.php$
RewriteRule ^(.*) index\.php$ $1 [R=301,L]
### Редиректы с index.php на сайт
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Не могу его корректно перевести в nginx, начинает ругаться...
На выходе получился код:
location / {
if (!-e $request_filename){
rewrite ^/(.*) index\.php$ /$1 redirect;
}
if (!-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
}
location /index {
rewrite ^/index\.php$ / redirect;
}
Я без понятия, как писать команды для nginx :(
Склеиваем адреса страниц /page/1/ с основными адресами для главной страницы и категорий
При выполнения это пункты выскакивает ошибка —
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
С чем это связано может быть? Движок 9.6!
Это связано с БД, но никак не с правками файлов, которые я описывал...
"Устраняем неразбериху с категориями их вложенностью и слешем / на конце" — Проделал данную операцию, вроде все получилось, но в google вебмастер все равно показывает мне дублирующие ссылки со слэшем и без. Что я делаю не так?
Со временем вылечит, не все стразу и не все так быстро.
ясно, будем ждать...
DLE 9.7, после вставки кода:
### Редиректы с index.php на сайт
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
При переходе по несуществующей картинке происходит отображение главной страницы сайта а не 404 — http://uakino.com/uploads/posts/2012-07/uakino.com_13432512381.jpg
Такая же проблема была и на DLE 9.6
после добавления вот этих строк
### START Редирект с первой страницы на основную
RewriteRule ^(.*)/page/1/$ $1/ [R=301,L]
RewriteRule ^(.*) page/1/$ $1/ [R=301,L]
### END Редирект с первой страницы на основную
все работает, но возможно ли добавить исключение в редирект для страницы http://uakino.com/page/1/ чтобы он не переходил на http://uakino.com/
Для этого надо убрать строку RewriteRule ^(.*) page/1/$ $1/ [R=301,L]
АлаичЪ а что по поводу ошибки при переходе по несуществующей картинке?
Не знаю :(
Добрый вечер, АлаичЪ!
Совершенно случайно наткнулся на Ваш блог, зачитался основательно, сохранил кучу информации себе в diigo.
У меня по сайту без малого 4000 проблем с тайтлами и дубликатами урлов. Кошмар, согласен, будем резать.
Я хотел вот что спросить — как правильно прописать основным зеркалом домен третьего уровня?
Так? С дополнительным слешем?
RewriteCond %{HTTP_HOST} ^www\.site\.in\.ua$ [NC]
Ну да, все верно.
хм... если прописываю вышеуказанный вариант, то при открытии адреса с www я так и остаюсь на нем, урл в браузере не меняется, а если сделать вот так
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
то открывая www.site.in.ua меня перекидывает на site.in.ua.
Какой вариант правильнее?
Правильнее тот вариант, который работает =)
Здравствуйте
Проделала все что у вас написано на движке 8,3, потом обновилась (через пару мес) на версию 8,5
Вот в чем вопрос
при вводе адреса http://site.ru/index.php/ нет переадресации на http://site.ru
так же не работает http://site.ru/123-news-name.html/ на http://site.ru/123-news-name.html (выдается ошибка 404)
при вводе http://site.ru/category/index.php переадресовывается на страницу http://site.ru/category/index.php/ (а такой нет и выводится страница с ошибкой 404)
в чем может быть дело?
После обновления правки, описанные выше, вносили?
PS Настоятельно рекомендую обновиться до 9.7 и не парить себе мозги.
прошу прощения, обновлялась до 9.4 а не до 8.5,
т.е. рекомендуете чисто обновиться как описано в статье https://alaev.info/blog/post/3970 и поставить допом все 4 части по seo-оптимизации DLE?
Да, как-то так. Только внимательно читайте актуальность правок, везде есть пометки, и если нет вашей версии, ни в коем случае не вносите эти правки.
Здравствуйте подскажите как сделать редикт со страниц категории типа http://сайт/категория/, http://сайт/категория/page/2/ и так далее на главную чтобы при создании очередной страницы типа http://сайт/категория/page/3/ или http://сайт/категория/ происходил редикт автоматически на главную
Здравствуйте много уважаемый АлаичЪ
когда актуализируете часть 2 для dle 9.7 спасибо
Здравствуйте, помогите пожалуйста, дело в том что у меня на сайте когда нажимаешь с главной страницы на другие категории, то все переходит нормально, а когда нажимаешь с главной страницы например на 2 страницу, то есть например site.ru/page/2/, а потом пытаешься перейти например в категорию животных, адрес меняется то есть site.ru/page/2/zhivotnye, но переход не осуществляется. Помогите пожалуйста решить данную проблему.
Обрабатывать неверные URL ЧПУ включено, но не помогает.
Это ошибка в шаблоне. Используйте абсолютные ссылки, а не относительные. Прописывайте в шаблоне ссылки сразу как http://site.ru/...
Огромнейшее вам спасибо, как всегда выручаете, сделал как вы сказали и все заработало.
Здравствуйте уважаемый АлаичЪ, возник тут у меня вопрос. Существует мнение что плотность ключевых слов на странице должна быть 5-7 %, так вот вопрос в следующем, это плотность имеется ввиду только в тексте страницы, или берутся все вхождения страницы включая title, keywords, description ?
Много мнения всяких существует. А на счет плотности — все это чушь, пишите текст не привязываясь к каким-то цифрам, которые ничего не значат.
Ну а на счет плотности, обычно говорят о проценте ключевых слов в основном контенте, без учета всего остального.
АлаичЪ! Появились вот такие страницы: http://site.ru/http:/site.ru/category/novosti/
Это дубль главной страницы. Что можно сделать? Отчего может быть такая страница? DLE 9.7
У меня такие же косяки есть на одном из сайтов, сам не знаю откуда это дело появилось. Но решаю это таким образом. После RewriteEngine On добавляем:
Премного благодарен!
Работает прекрасно!
Здравствуйте АлаичЪ, помогите пожалуйста, дело в том что я хочу сделать небольшое описание с ключевыми словами у себя на главной странице. Когда я в main.tpl прописываю небольшое описание то выглядит это так, вот картинка что бы было наглядно видно http://videosmeh.ru/image1.jpg. Но мне нужно написать описание побольше, но стоит мне написать побольше текста то это выглядит так http://videosmeh.ru/image2.jpg . Как вы видите текст вылазит за серую рамку шаблона, так вот, вопрос такой, как сделать что бы эта серая рамка растягивалась, то есть что бы было так, чем больше текста тем больше серая рамка.
Дело в том, что серая рамка, как вы выразились, является изображением, которое наложено фоном, потому растягиваться оно не сможет. Надо либо отказываться от фонового изображения, либо делать меньше размер шрифта и межстрочный интервал.
Извините, но вы не правы я уже все сделал, и это изображение я изменил размеры в фотошопе залил их на сервер и в css поменял размеры.
Здравствуйте! Есть сайт site.ru с форумом site.ru/forum. Форум LogicBoard 2.2 работает хорошо, но после того, как я в файл .htaccess добавляю вот это:
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
То нажимая на любую ссылку в форуме сразу же идет перенаправление на site.ru. Что можно сделать в сложившейся ситуации?
Заранее благодарю Вас за помощь! С уважением Сергей.
Можно вот такой вот код попробовать:
К сожалению не работает (((
Я допустил нелепый косяк в коде =) Обновил комментарий, попробуй еще раз.
В пункте мануала: "Убираем index.php из адреса главной страницы и страниц категорий" у меня такая схема не работает!
При переходе на любую из категорий, в адресной строке появляется правильный путь, но при перезагрузке страницы, я остаюсь на главной, хотя путь остается тот же — site.ru/category/
Потому что надо делать по инструкции, а не так как захочется. Если сказано в самый конец, значит именно туда надо добавлять.
PS Не надо сюда огромные листинги своего кода отправлять, я такие комментарии буду удалять сразу.
Здравствуйте, помогите пожалуйста вот в чем, у меня на сайте стоит реклама от google. Я тут недавно зашел в панель управления рекламой и обнаружил вот такие ошибки "Роботу AdSense не удалось просканировать вашу страницу", то есть не все страницы, а некоторые. Например есть категория люди в ней есть 5 страниц, причем первые 2 рекламный робот просканировал, а остальные 3 не смог, вот что пишет
http://videosmeh.ru/lyudi/page/4/ — сканирование запрещено
http://videosmeh.ru/lyudi/page/5/ — сканирование запрещено
http://videosmeh.ru/lyudi/page/3/ — сканирование запрещено.
Но я не понимаю почему тоже самое только page/2/ и page3/ просканировал. Робот намекнул что ошибка может быть в robots.txt, но там я смотрел вроде все нормально. Уважаемый вебмастер АлаичЪ помогите пожалуйста.
В robots.txt есть директивы Disallow: /page/ и Disallow: */page/* — все ведь логично, сами запретили, чему тут удивляться?
Так а почему же тогда другие страницы пагинации с этой же категории без ошибок, google adsense нормально ставит рекламу ?
Видимо не дошел еще робот до туда, так что это вопрос времени.
Уважаемый АлаичЪ, как оказалось google adsense поставил рекламу только на обычные категории, а на всех страницах пагинации рекламы нет, robots.txt уже давно изменил, но до сих пор все по старому. Помогите пожалуйста решить данную проблему, я уже устал.
Не знаю в чем дело — может не переиндексировалось. Подожди недельку-другую, если ничего не изменится, стоит написать в службу поддержки.
Вообще-то Google об этом всегда сообщает и предлагает для своего робота который сканирует страницы для google adsense открыть все страницы.
В роботс.тхт прописаны следующие дерективы?
User-agent: Mediapartners-Google
Allow: /
Эта строчка только для робота Google Adsense, для других можно закрывать все, что не нужно.
После добавления следующего условия:
Любой клик по сайту ведет на главную, не могу зайти не в новость никуда вообще, все ссылки ведут на главную — что я не так делаю? как это исправить?
В какое место в htaccess добавляешь данные строки?
блин плохо быть по пояс деревянным))) не думал что есть разница — в конец файла перенес, все заработало. Спасибо за подсказку. А за тему отдельное спасибо!
Плохо быть не деревянным, плохо не следовать инструкциям, ведь я их не с потолка беру :)
А может быть дело в ошибки шаблона или самой пагинации ? Я выполнял ваши некоторые пункты из части второй, первой может там какой нибудь код запрещает пагинацию ?
Не знаю, проверьте код ответа сервера для этих страниц. Плагин для FireFox — HttpFox, как работает разберетесь быстро.
Спасибо, попробую
Ув. АлаичЪ, подскажите: оптимизирую новый сайт на денвере. версия 9.7. Делаю правки: "Дублирование страниц категорий по адресам без слеша и со слешем на конце"...
Добавляю в engine.php код:
//решение проблемы с категориями, редирект на верный урл, добавление слеша в конец
if ( $config['allow_alt_url'] == "yes" AND $category_id AND $view_template != "rss") {
$re_cat = get_url ( $category_id );
if ($re_cat != $_GET['category'] OR substr ( $_SERVER['REQUEST_URI'], — 1, 1 ) != '/' ) {
$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
$re_url = reset ( $re_url );
header ("HTTP/1.0 301 Moved Permanently");
header ("Location: {$re_url}{$re_cat}/");
die ("Redirect");
}
}
//решение проблемы с категориями, редирект на верный урл, добавление слеша в конец
Не действует... т.е. сохраняя engine.php, я пробую ввести урл типа "site.ru/category", после чего редирект на "site.ru/category/" не происходит, а остается как "site.ru/category" :(
в файле .htaccess пробую
# Редирект для категорий (чтобы в конце URL был /)
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !.html$
RewriteCond %{REQUEST_URI} !.xml$
RewriteRule (.+) $1/ [R=301,L]
Картина та же... Это что? в 9.7. не работает ни один из способа истребления урл"ов без слеша?
Ну в общем-то в посте и не написано, что данные методы совместимы с 9.7, надо быть внимательнее немного :)
Добрый день, а скажите пожалуйста, как закрыть вашем методом вот такие ссылки:( категория/page/1/ и т.д.) у меня на сайте 27 категорий и в индекси очень много site.ru/категория/page/1/!!! робот.тхт не помогает.
Эти страницы надо убивать, а не закрывать. Читаем вторую часть руководства.
Обычно скептически настроен к руководствам по ДЛЕ, опубликованным на вордпрессном блоге. Но тут же просто фантастика! Такой труд, все так по полочкам — почему мне это раньше не попалось? :) Спасибо, Александр.
А теперь вопрос (если еще есть силы на меня — 444 коммента не шутка):
Вследствие специфичности сайта (таблицы с ценами, фиг обрежешь), в кратких тот же контент, что и в полных.
В итоге получается, что у меня 1 контент на 5 страницах: на site.ru, site.ru/page/2 и т .д., а также на site.ru/category и site.ru/category/subcategory и на собственно полной новости.
Закрывать от индексации страницы всех категорий не хотелось бы — они неплохо ранжируются и привлекают трафик.
Что можно сделать? Ломаю голову уже пару месяцев. В поле URL этот сайт.
Ну, в таком случае я наверное бы закрыл от индексации все страницы пагинации. Я не думаю, что именно страницы пагинации могу приносить какой-то трафик, его скорее всего приносят главные страницы категорий, а они останутся открыты.
Disallow: /page/
Disallow: /*/page/
Спасибо, так и сделал. Насчет остального: решил избавиться от site.ru/category/subcategory/, удалив subcategory, а запрос, по которому она шла в выдаче, передать полной новости site.ru/category/subcategory/news.html
Удалил subcategory, теперь редиректится на главную (после описанных Вами правок по несуществующим категориям), но ведь наверно лучше сделать редирект с subcategory на /subcategory/news.html? Подскажите, как прописать редирект (и нужен ли он) с удаленной подкатегории на новость в ней с учетом того, что у меня сейчас настроены редиректы на главную.
Редирект можно сделать так:
Redirect 301 /category/subcategory/ http://site.ru/category/subcategory/news.html
А надо это или нет — сами решайте.
Сделал (до переиндексации пусть висит), спасибо, как вас отблагодарить? Может кнопочку какую сделайте.
Серия по ДЛЕ просто открыла мне глаза, все сделал, радуюсь красоте внутренней оптимизации :)
Да ладно, какая кнопочка, это в прошлом :) Можно просто ссылку поставить (сквозную или одну единственную где-то, это на ваше усмотрение; анкор любой, это не принципиально), мне будет приятно.
Подскажите, пожалуйста, актуально ли для версии 9.7?
В общем-то везде есть пометки что для чего подходит.
Подскажите как избавится от таких ссылок
site.ru/softsoft/1...
site.ru/softsoft/2...
site.ru/не существующая котегория/любое число, затем одна или несколько точек. Движёк 9.5
Вот у вас на 404 страницу перекидывает https://alaev.info/blogblog/12... а у меня на главную, помогите решить проблему.
Вопрос 1) Здравствуйте АлаичЪ, подскажите нужно ли закрывать страницы page в robots.txt ?
Например так
Disallow: /page/
Disallow: */page/*
Вопрос 2) Если закрываешь пропадает реклама google adsense, как быть ?
Вопрос 3) Если не закрываешь появляется реклама на всех страницах, но при этом в поисковиках по запросам ухожу вниз, как быть ?
Откройте страницы для робота Google Adsense.
В роботс.тхт пропишите следующие строчки:
User-agent: Mediapartners-Google
Allow: /
Эта строчка только для робота Google Adsense, для других можно закрывать все, что не нужно.
А сам гугл пишет
User-agent: Mediapartners-Google
Disallow:
А у вас
User-agent: Mediapartners-Google
Allow: /
Цитирую фразы самого гугла:
Как разрешить роботу индексировать мой сайт?
Если вы хотите предоставить нашему роботу доступ к своим страницам, то это можно сделать, не давая разрешения на индексацию другим роботам. Просто добавьте следующие две строки в начало файла robots.txt:
User-agent: Mediapartners-Google
Disallow:
Это изменение позволит нашему поисковому роботу индексировать содержание вашего сайта и обеспечивать показ релевантных объявлений Google.
в принципе одно и тоже. Раньше на закрытых страницах рекламы от google adsense не было. Потом они сами прислали сообщение о том, что страницы нужно открыть для поискового бота и теперь на всех страницах присутствует реклама.
Сами решайте закрывать или нет страницы пагинации.
Правильные советы Дан дает, да и вы сами нашли уже в справке что и как делать.
Помогите сделать редирект в nginx (версия 1.2.2)
с http://site.ru/index.php?do=register
на http://site2.ru/index.php?do=register
Помогите пожалуйста с проблемой. При изменении фала .htaccess ложиться. Но все делал точно по инструкции. Любое изменение этого файла его ложит. Кодировка правильная UTF-8. Версия 9.7 В чем может быть проблема???
Ошибка
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Заранее спасибо!
Не знаю, обратитесь к своему хостеру для выяснения причин.
Добрый день! Появляется ошибка при выполнении пункта:
"Склеиваем адреса страниц /page/1/ с основными адресами для главной страницы и категорий"
На разных сайтах (dle 8.5, 9.7) на разных хостингах одна и та же проблема.
При переходе domen.net/cat/page/2/ на page/1/ страница переходит по адресу с ошибкой 404
domen.net/home/site/domains/domen.net/public_html/cat/
Почитал комментарии, заработал данный вариант:
RewriteRule ^page/1/?$ / [L,R=301]
RewriteRule ^(.+)/page/1/?$ /$1/ [L,R=301]
Здравствуйте ув. АлаичЪ, помогите пожалуйста вот с такой проблемой http://сайт.ру/&sa=U&ei=fhwsT7H9H4bxsgaKvpXkDA&ved=0CC4QFjAG&usg=AFQjCNEQvoIVxqPUFCNzM6vqA04qys-nEA/
Не могу понять, что с таким дублем делать, как его закрыть (((. Заранее спасибо. С ув.
Например запретить его в robots.txt так:
Disallow: /&
Disallow: /*&
Делал все правки доступные для своей версии движка (9.6) и сегодня обнаружил дубли главной страницы по адресам:
site.ru/home.htm
site.ru/home.php
site.ru/index.asp
site.ru/index.htm
Как их грамотнее заредиректить?
Добавить в .htaccess строчки:
Redirect 301 /home.htm http://site.ru/
Redirect 301 /home.php http://site.ru/
Redirect 301 /index.asp http://site.ru/
Redirect 301 /index.htm http://site.ru/
"Устраняем неразбериху с категориями их вложенностью и слешем / на конце
Для какой версии актуально: Версии DLE 8.2-9.2. Для DLE 9.3 и выше необходимо в настройках движка активировать опцию «Обрабатывать неверные URL ЧПУ»."
Подскажите пожалуйста)Нужно просто активировать опцию или активировать и произвести изменения?
Только активировать опцию. Правок не надо вносить, а то все сломается.
Еще желательно дописать:
Иначе при переходе /page/1 без слеша редирект не происходит на главную.
Можно и так сделать:
Этот вариант более правильный, на странице пагинации /page/5 без слеша кидает на /page/5/ со слешем.
Тем самым решаем сразу две проблемы — со слешем и с редиректом.
Проверил, действительно редиректа нет, если без слеша. Ждем авторитетное подтверждение правок :)
Да, можно это применять, ничего страшного не случится.
Но вообще-то как раз проблему со страницами без слеша должна решать правка php. Описанный выше вариант — альтернатива, но тоже рабочая.
Пробовал делать правки влада, не помогли — все равно страница http://site.ru/page/1 показывает белый экран и слово Redirect. В какую часть файла .htaccess их надо вставлять?
Так а как решать проблему со страницами без слеша правкой php в DLE 9.5?
В статье у вас пометка, что актуально только для DLE 8.2-9.2.
Если выдается Redirect, значит убери php-правки для этого случая.
Проблема со слешем должна решаться самим DLE в свежих версиях, поэтому и актуально только для старых.
Убрал php-правки, и теперь, естественно, http://site.ru/page/1 и http://site.ru/page/1/ существуют и никуда не редиректят. Благо, закрыты от индексации.
Проблема со слешем в ДЛЕ решается в категориях, но не решается на страницах пагинации. Во всяком случае. так у меня получается.
На раз убрал php-правки, внедри те, что предложил влад чуть выше, все будет работать :)
Приветствую, АлаичЪ!
После того как поправил всё до пункта: "Убираем слеш в конце url — редирект со страницы со слешем в конце на страницу без слеша" у меня перестали открываться статичные страницы.
На статике у меня карта сайта HTML, при переходе на неё открывается главная страница, с остальными тоже самое. DLE 9.7.
Подскажи, где копать?
В этом посте для DLE 9.7 подходят только первые три пункта, о чем и сказано в посте. Рекомендую сделать откат всех изменений и впредь более внимательно смотреть на соответствие версий.
НАХОДИМ:
### END Определяем главное зеркало
в htaccess нет такой строки. DLE 9.7
Это появляется когда сделаешь пункт: "Склейка зеркал — выбираем главное зеркало www.site.ru или site.ru"
### START Определяем главное зеркало как site.ru (site.ru заменить на свой домен, например alaev.info)
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
### END Определяем главное зеркало
Если конечно копируешь с пояснениями.
Обнаружил в панели веб мастера гугла, следующие ошибка повторяющегося метоописания.
Пишу только про те старницы, который открываются по указанным адресам
1) http://www.site.ru/category/pod/ — основной раздел
http://www.site.ru/www/scategory/pod/ — дубль.
2) http://www.site.ru/category1/
http://www.site.ru/index.php?do=cat&category=category/
3) можно ли устранить дубли подобного типа:
/?cstart=46
/page/46/
В ближайшее время опубликую пост про редиректы в DLE. Наберитесь терпения!
как решить данный дубыль http://site.ru/page/19/advertising.html http://site.ru/page/19/
Скоро будет пост про редиректы, ждите!
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Почему то после добавления данного кода (с заменой адреса сайта на свой) в .htaccess, перестает работать расширенный поиск по сайту...
Но стОит выбрать основным зеркалом сайт с www, прописав соответствующий код — поиск функционирует в полной мере...
Сейчас ещё обнаружил проблему при регистрации, после получения ссылки на почту (для активации аккаунта) переходим по ней и жмём "Продолжить регистрацию на сайте" — получаем ID not valid!
DLE 9.7 (лицензия) никаких доп. модулей и хаков на сайте нет, код валиден (все страницы)
Я бы для начала посмотрел все ли файлы шаблона и движка закачаны. возможно что-то не догрузилось.
Либо смотреть в сторону модуля register, тот что в папке engine/modules/
Или попробуйте отключить в настройках безопасности скрипта: Включить автоматическое блокирование спам программ — поставьте"нет"
Хотя обычно такие ошибки при добавлении новостей появляются, либо с отправкой персональных сообщений, а тут с регистрацией.
Ну так может дело не в редиректе, а в настройках самого DLE, например, прописано в настройках с www, а редирект его убирает и отсюда ошибка.
Так-то вообще редирект никак не влияет на работу сайта, за все мои 7 лет никогда подобных проблем не возникало.
АлаичЪ, проблема уже устранена, ошибка была именно в настройках самого DLE — сайт был указан с www... ужасно глупо получилось... стыдно...
Нашел вот еще какую страницу с повторяющимся тайтлом главной страницы, она высветилась в вебмастере гугла
http://site.ru/index.php?act=category&do=newscore
Как быть с редиректом здесь?
Открыл категории к индексации, вылез дубль главной /?cat=1. Как можно сделать редирект в htaccess?
После RewriteEngine On надо добавить:
Просто огромнейшее спасибо!!! Кстати, со вчера жду ответа в ICQ.
АлаичЪ, вылез ещё один главной /?qwerty123456 — рассчитываю на помощь. Вообще странно как дле их любит плодить!
Да как же сделать редирект с этого ?qwerty123456?!
Выше же написано все. Ни ужели так сложно в коде заменить «^cat=» на «^qwerty123456»?
Доброго времени. Как можно решить проблему попадания вот таких страниц в "HTTP-статус: Ресурс не найден (404)" Яндекса?:
/anime/detskie/komedii/komedii/komedii/koncerti/detskie/
Спасибо за ответ.
В общем-то пункт "Устраняем неразбериху с категориями их вложенностью и слешем / на конце" как раз об этом!
Всем привет. АлаичЪ проблемы в Dle 9.7
site.ru/page/1 — на странице пишет просто "Redirect"
Не делает редирект с
site.ru/page/2 на site.ru/page/2/
site.ru/category/page/2 — делает редирект на site.ru/category/
Как можно это все исправить?
Спасибо большое.
Здравствуйте Многоуважаемые Посетители и Alaev)))
У меня проблема (все пункты вернул...дважды до всех изменений...как если бы не заходил на этот блог) но всё равно редирект идёт на главную с адреса http://site.ru/engine/download.php?id=350
Вот у него нету редиректа http://baldeem-vmeste.ru/novinki/1058-moy-paren-psih.html если в браузер вставить его ссылку http://baldeem-vmeste.ru/engine/download.php?id=1138 (это торрент этой же новости, просто из исходника взял)
У меня торрент движок но не в этом дело, мне ради партнёрки mail.ru надо позарез чтобы скачивался через браузер торрент (ссылки рабочие абсолютно, я просто привел пример одной из них)
Вобщем чтобы НЕ срабатывал редирект на главную надо, надо убрать редирект.
Будъте так ДОбры подскажите пожалуйте как исправить.
Заранее Спасибо Огромное Вам))))
А если в настройках файлов вот тут "Блокировать скачивание файлов с других серверов" — поставить нет?
http://tnt-torrent.org/games/566-skachat-torrent-gta-4-grand-theft-auto-iv.html вот если нажать на зелёную кнопку СКАЧАТЬ виден адрес (поднести курсор...или через исходник как угодно найти ссылку) http://tnt-torrent.org/engine/download.php?id=350 вот ссылка! скачивание успешно через кнопку разумеется... НО если вставить в браузер эту ссылку http://tnt-torrent.org/engine/download.php?id=350 и нажать Enter (просто перейти Господи) то редирект на главную идёт!
http://profitraf.ru/ вот партнерка ,её смысл, что скачивается файл mail.ru в котором тулбар предлагается и браузер mail.ru установить, просто галочки стоят...ну как это бывает у программм...файл .exe ...а далее этот файл скачивает настоящий торрент и даёт пользователю...она открывает мой сайт и я вижу долю секунды в адресной строке мелькает ссылка и сразу редирект на главную ,поэтому торрент не успевает и не может быть скачан.
Понимаете? Вот как убрать редирект...я КЛЯНУСЬ дважды возвращал все пункты по умолчаню...все 4 раздела оптмизации (URL борьба с дублями...htaccess и так далее) я веду дневник и все изменения у меня записаны кажись. Но всё равно редирект идет.
Я не могу понять к какому пункту оптимизации...какой файл отвечает за это...куда копать...понимаете?
ВЫ ГЕНИЙ!!!!!!!! СПАСИБО Needle!!!!!!! Ой как Вы мне помогли!!! Я до 7 утра мучался!!!
"Блокировать скачивание файлов с других серверов" поставил НЕТ и теперь все посетители могут качать реальный торрент)))) СУПЕР))))) Ой Господи...а с этими редиректами...оптимизацией... php файлами мучался.
Хорошо, что сюда решил написать. Всем Удачи))) Needle просто до Гроба благодарен буду Вам!!!
Не поверите, сам как то мучался тоже с партнеркой от майла, даже писал в тех-поддержку, правда потом было самому стыдно, что не дочитал инструкцию до конца =)
А если у меня в хтачез прописано так:
RewriteEngine On
RewriteRule ^forum/(.*)$ forum/$1 [L]
RewriteCond %{HTTP_HOST} ^site.ru
RewriteRule (.*) http://www.site.ru/$1 [R=301,L]
Зеркало главное с www. Так не правильно?
В первой строчке у меня нет — $ [NC]
Во второй нет — $ перед http
Здравствуйте Александр, спасибо вам за все 4 статьи по оптимизации dle. Я выполнил все необходимые правки со всех 4-ех статей, версия dle 9.7. Смотрите что мне не совсем понравилось — Например сайт http://site.ru пишешь вот такую например шляпу http://site.ru/sdasadsadasd.png и сайт открывает этот адрес, а на нём главная страница... Никакого 301-ого на главную (вместо 404) не производится. Не знаете в чём дело? это ведь получается можно миллионы дублей главной сделать... Или я чего то не понимаю? Объясните пожалуйста. Так же происходит если в url добавить существующую категорию сайта http://site.ru/category/sdasadsadasd.png так же открывается этот адрес с содержанием главной страницы.
На другом сайте на Dle 9.5 аналогичная ситуация, так же делал всё что актуально для моей версии по 4 статьям.
Подскажите пожалуйста. У меня Гугл и Яндекс определяет ссылки с календаря новостей как битые 404 в смысле...
Подскажите что делать?
И еще находит ссылки типа сайт.ру/категория/страница/2/сайт.ру
Как это удалить? И избежать повтора.
После проделанных выше указанных замен. Ошибки из 148 уменьшилось до 4.
Но проблема в ссылках с календаря 404 продолжает мозолить глаза. Помогите пожалуйста.
А на самом деле ссылки календаря битые? :)
Здравствуйте! Очень интересная и полезная статья, воспользовался всеми советами приведенными в ней. Но столкнулся с такой проблемой, решение которой здесь не нашел, поэтому решил обратиться за помощью. Проблема вот в чем, на сайте переименовал раздел, как название так и урл на него, и теперь при переходе по старым ссылкам вылазит ошибка. Возможно ли сделать редирект с этого удаленного раздела на новый рабочий? И еще одно, менял как-то название урлов в новостях, теперь в вебмастере гугл имеются дубликаты с одинаковыми новостями, но с разными урлами, как это можно исправить?
Попробуйте в .htaccess в самом низу добавить строчку
Redirect 301 /stariy-url http://site.ru/noviy-url
Вот так вот и вписать
Redirect 301 /мой_сайт/категория/ http://мой_сайт/новая категория/ — то есть никаких лишних символов вписывать туда не нужно? Уточняю, т.к. я в этом не очень то разбираюсь))
Спасибо, все получилось!
Здравствуйте, при установке вашего варианта редиректа с index.php на категории и главную без index.php, мы вганяем свой сайт в бесконечное число дублей — несуществующих страниц, например, site.ru/fgfgfgf.php.php, где вместо "fgfgfgf" можно написать что угодно! И никакого редиректа, только с index.php будет редирект!
Я предлагаю следующий код для вставки в .htaccess сразу после RewriteEngine On (вместо site.net нужно прописать домен своего сайта):
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://site.net [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.net [R=301,L]
P.S. Тестировалось на DLE 9.7
Тоже заметил этот косяк, спасибо за поправку.
> Склеиваем адреса страниц /page/1/ с основными адресами для главной страницы и категорий
DLE 9.7. Сделал выше описанное, но редиректа нет. Все равно можно зайти на страничку сайт/page/1/, сайт/page/5/ и т.д.
Плюс в выдаче гугла есть эти странички и они просто дублируют главную... Прописать в роботс это: Disallow: */page/ ?
Добрый день! А не подскажите ли, как избавиться от дублей, если есть необходимость добавить одну и ту же новость сразу в несколько разных категорий?
Немного подробнее о моей проблеме:
1. У меня на главной, новости выводятся не так как по стандарту в DLE (вывод 10 новостей, а переходя по страничкам 1,2,3 попадаем на странички сайт/page/1/, сайт/page/2/, сайт/page/3/ с новостями по убыванию даты). А у меня выводятся блоки: последние новости, комментируемые новости, популярные и т.д.
Таким образом попадая на странички сайт/page/1/, сайт/page/2/, сайт/page/3/, дублируется главная страница.
Как я говорил выше, сделав "Склеиваем адреса страниц /page/1/ с основными адресами для главной страницы и категорий", у меня нет редиректа на главную. А вот если я укажу не иснующую страничку (например сайт/page/10000/), то перекидывает на последнюю существующую.
2. Плюс в выдаче гугла есть эти странички и они просто дублируют главную (сайт/page/1/, сайт/page/2/... сайт/page/15/). Я так понял это можно исправить этим: Disallow: /*/page/ , Disallow: /*/*/page/.
Только где это лучше прописать, в роботс или метатеге?
Спасибо за очень полезный блог!!!
Лучше при помощи метатегов закрой все страницы пагинации, и проблем не будет.
Это должно выглядеть как-то так?
if ($subaction == 'userinfo' OR
$subaction == 'allnews' OR
$subaction == 'newposts' OR
$do == '*/page' OR
$do == '*/*/page' OR
$do == 'go' 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
$dle_module == 'date' OR
(intval ($_GET['cstart']) > 1 )) $metatags .= <<<HTML
\n<meta name="robots" content="noindex,nofollow" />
HTML;
Если что-то лишние, то подскажите пожалуйста что убрать. Заранее спасибо)
Все написано в соответствующем посте — https://alaev.info/blog/post/3900
Если я правильно понял, то вместо этого в роботс: Disallow: /*/page/ и Disallow: /*/*/page/
нужно в метатеге прописать это: (intval ($_GET['cstart']) > 1 )
Верно?
Да, все верно!
Пожалуйста, помогите разобраться с дублями! Есть страница вида http://мой сайт/articles/74-страница.html/ Недавно заметила в индексе гугла страницы такого вида http://мой сайт/articles/articles/articles/articles/74-страница.html/ , причём эти articles/можно добавлять бесчётное количество раз и каждый раз будет открываться одна и та же страница. Всё это применимо не только к статьям из articles/, но и к другим категориям сайта. Что делать ???
Проблема исчерпана, решение найдено в статье описаной выше, "Устраняем проблему с дублированием полной новости по разным адресам" АлаичЪ, спасибо огромное за Ваш бесценный труд !!!
Доброго времени суток. У меня аналогичная ситуация — примерно неделю назад создал себе новый сайт, он еще путем не проиндексировался в Яндексе. А вот Гугл уже его схавал и посмотрел, что же влетело в индекс, когда посмотрел, то там одни дубли страниц.
Помогите пожалуйста навести порядок? По тому как один сайт, я уже под фильтр Яндекса загнал( и как мне обьяснили — это из — за дублей.
Дайте дельный совет, что там закрыть, то надо. Статью я Вашу прочитал и у меня на сайте выполнено только, то что зеркала я слил и все. Домен в подписи на сайт, оставил.
За ранее спасибо!!!
Здравствуйте.
Руководствовался Вашими советами по оптимизации. Заметил, что страницы сайта по адресу fc-arsenal.by/index.php?newsid=5493 почему-то редиректятся на http://www.5493-tekstovaja-transljacija-matcha-uigan-arsenal.html/.
Где я что-то упустил? Спасибо.
Впервые вижу такую ситуацию. Предлагаю откатить все изменения.
Помогите пожалуйста. При выполнение пункта: "Устраняем неразбериху с категориями их вложенностью и слешем / на конце" не происходит редирект на нужную страницу, а появляется пустая страница с текстом: Redirect
Значит или что-то не так сделал или не для той версии движка используется правка (правка совместима только с версиями до 9.2 включительно).
Здравствуйте.
Подскажите пожалуйста, как правильно убрать дубль с index.php у галереи и форума, с адресами sipe.ru/gallery/index.php и site.ru/forum/index.php?
В htaccess добавить:
Redirect 301 /gallery/index.php http://site.ru
Redirect 301 /forum/index.php http://site.ru
Склеиваем адреса страниц /page/1/ с основными адресами для главной страницы и категорий
Если делать вставку в .htaccess, то ничего не работает. А вот если по инструкции внести изменения только в файл /engine/engine.php, то все прекрасно работает.
Здравствуйте, сразу извиняюсь за тупость, но так нужно?
### START Определяем главное зеркало как www.site.ru (www.site.ru заменить на свой домен, например www.alaev.info)
RewriteCond %{HTTP_HOST} ^alaev\.info$ [NC]
RewriteRule ^(.*)$ http://www.alaev.info/$1 [R=301,L]
### END Определяем главное зеркало
Ну, если твой сайт расположен по адресу www.alaev.info, то именно так и нужно =)
Ну нет))))
Там я пропишу свой)))
АлычЪ, а подскажи еще пожалуйста, что прописать, чтоб убрать дубли:
http://www.site.ru/forum и http://site.ru/forum?
И в каком это хтачес прописать: сайта или форума?
Заранее спасибо!!!!
Устраняем неразбериху с категориями их вложенностью и слешем / на конце >>
для 7.5 версии DLE Нет решения? гугл жалуется (Страницы с повторяющимися заголовками (теги title) 2)
Если вариант, описанный в посте, не подходит — то других решений нет.
Здравствуйте! Подскажите пожалуйста решение. Сайт на DLE 7.5 (знаю старый, но мой :)).
Так вот проблема:
http://site.com/category
и
http://site.com/bla-bla-bla/category
выдает одно и то же, то есть не редиректит обратно на /category и можно понаписывать там всякой ерунды.
Как побороть? Буду Очень благодарен, если получится решить.
Увы, такой старой версии у меня нет, так что смотреть негде. Придется как-то самостоятельно пытаться сделать по аналогии с написанным в посте.
Оптимизирую уже второй сайт (дле 9.8) по твоим руководством, вот сейчас всплыл такой момент, по адресам типа http://site.ru/page.htmlbla-bla-bla открывается главная страница site.ru, то есть полный ее дубль.
С этим надо что-то делать или не истерить?
Добавь после RewriteEngine On:
То, что надо. Редиректит с site.ru/page.htmlbla-bla-bla на site.ru/page.html
Спасибо, Алаичъ!
Автору большое спасибо!
Сделал все как описано в этих статьях. Но вот такой бок появился:
http://site.ru/8-novost.html и http://site.ru/1,1,8-novost.html — одинаковые и не редиректит на верную новость, вместо новости показывается главная страница. К стати вместо (1,1,) можно поставить любые цифры и сколько угодно их, также вместо "," можно поставить точки — эффект тот же.
Подскажите пожалуйста, как сделать редирект на верную новость?
Двиг версии 9.5, тип ЧПУ 2
Добавь после RewriteEngine On:
Большое спасибо! Теперь редиректит на верную новость.
Но решилась только часть проблемы — много цифр через запятую (http://site.ru/1,1,8-novost.html) редиректятся правильно, но если поставить только одну цифру и запятую (http://site.ru/4,8-novost.html), то снова летим на главную.
И еще: та же проблема и с точками после цифр — http://site.ru/1.1.5.8-novost.html и http://site.ru/5.8-novost.html это все летит на главную, ссылки остаются такими же.
Помоги плизз
Прекрати сочинять чушь и успокойся. Надо решать реальные существующие проблемы, а не пороть горяку. Я могу придумать 100500 ошибочных url, которые будут дублировать что-нибудь, но то ведь не значит, что надо делать 100500 редиректов!
при выполнении пункта "Склеиваем адреса страниц /page/1/ с основными адресами для главной страницы и категорий" появилась такая проблемка! при переходе на страницу http://site.net/категория/page/1/ переадресация на страницу http://site.net/категория/ не происходит а выдает 404 ошибку и в адресной строке отображается такой адрес http://site.net/usr/local/pem/vhosts/******/webspace/httpdocs/site.net/категория/
а при http://site.net/категория/page/1 переадресация проходит отлично на http://site.net/категория/
Ага, понятно. Правки вносились и в htaccess и в php? Если в htaccess вносились, то перед этими правками стоит добавить строкe:
RewriteBase /
И все будет в порядке. Проверьте и отпишитесь о результатах.
Изменения вносились строго по вашей инструкции (.htacces php файлах)
Спасибо вам, после добавления строки реврайтебасе / в фаиле .хтаксес все заработало на ура)))
Ну и замечательно :)
АлаичЪ
У меня есть такой вопрос к вам, нужно ли делать редирект со старых урлов на новые на дле 9.8 при смене чпу с тип2 (такой вид был на полную новость http://site.ru/категория/подкатегория/id-имя новости.html) на тип1 (http://site.ru/id-имя новости.html) ???? или они обрабатываются автоматом при включенной функции "обрабатывать неверные урл.чпу"
Если надо делать 301 редирект,то подскажите пожалуйста как правильно его сделать?
Откуда мне знать :) Я тип ЧПУ каждый день не меняю! Просто возьмите и попробуйте. Насколько мне известно, ничего "шаманить" не придется, редиректы должны сами срабатывать. Ну. и понятно, что необходимо активировать соответствующую настройку, о которой вы и говорили.
Добрый день! Имею проблему следующего характера. После выполнения ваших рекомендаций дубли в большем пропали. Также я сменил тип УРЛ на 1 тип, для того чтобы большая часть старых УРЛ показывала Гуглу 404ю ошибку. Но, почему то, вместо 404й, старые урл все ведут на статью, которая опубликована на главной странице! Не могли бы вы помочь советом, как сделать,чтобы старые УРЛ вели на 404?
При смене типа ЧПУ срабатывает автоматический редирект для всех новостей на новые адреса. Это правильно и так должно быть.
Здравствуйте. На двbжке DLE у меня на сайте несколько категорий, у каждой категории несколько page с разными видео роликами, я написал контент для 1-ой категории, но он появляется один и тот же на каждой странице этой категории, как можно запретить показывать один и тот же текст на разных страницах в одной категории, и как можно вставить другой текст в страницу 2, 3, 4 ...? Заранее спасибо за ответ.
Это запросто вместе с модулем CatFace — https://alaev.info/blog/post/2086
Здравствуйте, Александр. В первую очередь хочу выразить благодарность за ваши труды и вообще за то что вы есть) Ваши рекомендации и инструкции приходятся как ни к стати. Удивительно, что подобной информацией вы делитесь с общественностью совершенно бесплатно. Оптимизаторы за подобное на форумах готовы ободрать до нитки)
Возможно вопрос будет не по теме, но я буду признателен если вы поможете. Есть сайт на дле 9.8, главная страница у него с определенным количеством кратких обзоров из различных категорий, которые выводятся с помощью тегов {custom}. Дело в том, что имеется необходимость в выводе ВСЕХ новостей тегом {content} в виде каталога с стр. пагинации, думал использовать http://site.ru/page/1/, но происходит редирект на главную. Третий день голову ломаю, как вывести все новости на отдельной странице. Прошу помочь.
Не знаю даже, как сделать такую хитрость без модулей. Можно поместить тег {content} в теги [not-page-count=1,2,3][/not-page-count] и давать ссылку на http://site.ru/page/2/. Правда новостей с первой страницы там не будет видно. Но можно костыль сделать, на странице списка новостей в админке выбрать несколько (ровно столько, сколько выводится новостей на одной странице) новостей старых и зафиксировать их. Получится так, что эти новости займут всю первую страницу и переместят самые новые новости на вторую страницу, что нам и надо.
Здравствуйте! У себя на сайте, я отключил мобильную версию сайта из-за того, что раньше была ссылка на мобильную версию сайта в шаблоне, и гугль пишет что мол дубли титле и дубли метаописаний главных страниц сайта "/ и /index.php?action=mobile", так вот после отключения ссылка на /index.php?action=mobile в адресной строке не исчезает при переходе по ней, хотя находишься на обычной версии сайта...
Как убрать эту ссылку из адресной строки, или может редирект прописать какой то надо на главную например...
Спасибо. dle — 9.6
Да, если эта ссылка больше не нужна, можно сделать редирект, я писал об этом здесь https://alaev.info/blog/post/4393
Иначе, ссылку можно просто закрыть от индексациии через robots.txt
Подскажите как можно убрать дубли title и description для страниц в новости, которая разбита по страницам?
В google постоянно висят эти дубли...
Посмотри первую часть уроков по оптимизации, там в комментах я, кажется, писал варианты.
Здравствуйте!
Не срабатывает редирект вида: http://site.ru/category/page,1,2,895-name.html, и подобные этому, все делал согласно описанного поста. Версия DLE 7.5, помогите пожалуйста разобраться с данным редиректом, хотя по данной статье это была php вставка в код DLE.
Спасибо!
PS Да, хочу также добавить, что это только на тех новостях, где есть несколько страниц комментариев.
PPS Думал что можно сделать редирект в этом классе /engine/classes/comments.class.php но в версии DLE 7.5 нет такого файла в дистрибутиве. Буда рад, если поможете.
Такие страницы и не должны редиректиться, т.к. это адреса страниц комментариев.
Есть сайт www.site.ru и форум www.site.ru/forum/
Все новости с сайта, автоматом дублируются на форум, и соответственно Яша индексирует и то и другое.
Как это может повлиять на продвижение сайта?
Если все это очень плохо, то стоит ли в robots.txt запретить индексацию форума?
Сложно сказать однозначно.
Возможно, стоит выводить на форуме лишь анонс новости или просто первые xxx символов, а ниже ссылку на новость на сайте.
Добрый день!
Надоело мне постоянно удалять вот дубли на главную страницу сайта из гугла вебмастера вот такого типа:
/trillery-online/Film-on.org
/uzhasy...
/voennye-online/194-chernaya-kniga-zwartboek-black-b...
Даже и не знаю откуда они берутся. Я их удаляю и редирект в файле .htaccess прописываю на подходящую страницу или категории или новости. Через какое то время они отваливаются (примерно через месяц). Но появляются новые. Помогите как то с этим справиться. Движок 9.7. Пробовал "Устраняем проблему с дублированием полной новости по разным адресам", не помогает то же.
АлаичЪ, подскажите как решить проблему с дублями при включенной функцией "Автоматическое формирование буквенного каталога публикаций". Дублируются ссылки на одну и туже страницу каталога вида — /catalog/m/ и /catalog/m (то есть дублируются ссылка на любую букву со слешем со ссылкой на ту же букву без слеша), в шаблоне ссылки на буквы без слеша, не знаю где гугль нашел ссылки со слешем... но он выводит их как "Повторяющиеся заголовки (теги title)" и "Повторяющееся метаописание".
Подскажите как это исправить, может что то типа 301 редиректа со ссылки с слешем на ссылку без слеша...
Спасибо.
а как склеивать если у сайта есть зеркало, например www.gbdd.com.ua, gbdd.com.ua, www.gbdd.ru и gbdd.ru, последнее является главным зеркалом.
Вот как-то так — https://alaev.info/blog/post/4393#comment-17192
АлаичЪ, после проведенных манипуляций из данной статьи и из этой https://alaev.info/blog/post/3294, у одного сайта появились дубли главной страницы, такие как site.ru/tut_chto_ugodno/index.html
Подскажи пожалуйста, как можно от них избавиться.
Просмотре всю статью и все комменты, но ответа не нашёл (или не увидел).
Как сделать верный редирект с site.ru/page на site.ru/page.html
Найденные в сети варианты либо не работают, либо зацикливают до site.ru/page.html.html.html...
Вот закон: можно потратить кучу часов на поиск ответа, не найти, где-нибудь спросить, и ответ найдётся.
Но теперь htaccess раздулся, и боюсь, что-то дублируется... Но всё работает как надо)
У меня такой вопрос, есть ли решение для моей задачи и как лучше сделать.
Продукция дублируется порядка трех раз. Например:
http://www.ruselt.ru/catalog/production/shtil/557/
http://www.ruselt.ru/catalog/production/r220/557/
http://www.ruselt.ru/catalog/production/vse_stabilizatory_napryazheniya/557/
Поисковая система индексирует все три страницы. Я делал яндекс острова и указывал там разделы допустим r220 ну или в маркете и других сервисах. Если я закрою в robots.txt от индексации этот раздел, то будет ли функционировать маркет, острова и так далее. А так же эти страницы отличаются title
Что лучше убрать и посредствам чего это сделать?
Всегда рекомендуется, чтобы у товара была одна единственная ссылка, все остальные дубли — зло. Но если их закрыть от индексации, то острова не должны пропасть. Но в этом у меня нет уверенности, потому задайте вопрос в поддержку Яндекса по островам для надежности.
Уважаемый Алаич! Подскажите пожалуйста, как настроить редирект в дле 7.5 со следующих урлов на правильные:
site/uploads/pic/046.jpg+ACI
site/uploads/pic/046.jpg+ACIAPg
site/uploads/pic/238.jpg+ACIAPgA8-/a+AD4
site/uploads/pic/vna.jpg%5Cu0026size=103.4KB%5Cu00…
site/uploads/pic/158.jpg%5Cu0026size=56.7KB%5Cu0026p=%...
Появились вот такие внешние ссылки на картинки сайта. Но кривые какие-то.
Надо сделать редирект с *.jpg+* на *.jpg и с *.jpg%* на *.jpg
Заранее спасибо!
Интересные дела. Могу предположить, что должно помочь следующее:
АлаичЪ — ты мозг! :)) Большое тебе спасибо! Все работает нормально
Алаич, привет, такой вопрос. Вот кусок из хтассес DLE:
А как сделать наоборот? Что бы редиректило с site.com на site.com/index.html
Только не на DLE, а на html шаблоне
Будьте добры, подскажите?
Что значит «Только не на DLE, а на html шаблоне»? Я не понимаю.
А сделать редирект site.com -> site.com/index.html проще простого:
О спасибо огромное!!!
Да я просто не так выразился на счет html шаблона и dle ...
АлаичЪ, подскажите пожалуйста!
Как сделать редирект такого плана??????
site.ru/tags/one+two+three/ --> site.ru/tags/скачать+one+two+three/
site.ru/tags/two+three+one/ --> site.ru/tags/скачать+two+three+one/
site.ru/tags/three+two+one/ --> site.ru/tags/скачать+three+two+one/
Сделать не сложно, но меня смущает кириллический url, возможны проблемы. Кириллические символы в адресе — это плохо. Да и теги тоже — зло.
Смотрите какая ситуация: по яндекс-визор смотрю что ко мне на сайт попадают на страницы которых нет
пример: попадают на страницу site.ru/tags/one+two+three/(которой нет), но есть страница site.ru/tags/скачать+one+two+three/
вместо слова "скачать" там такая абревиатура "%F1%EA%E0%F7%E0%F2%FC"
По поводу теги это зло, то оно то понятно, но как без их.
Взгяните глазком на сайт, может подскажете что-то, думаю что вы сразу же назвете сайт ГС, но это мое первое творение которое в моих глазах СС (супер сайт))). Да и плюс хочу еще один сайт сделать но уже по тематике кулинарии и хочется что бы он был СДЛ и приносил пользу.
ГС каких свет не видывал...хотя почему же не видывал, еще как видывал — их целая куча!
На счет редиректа, можно попробовать так:
А может быть и так:
И все же я бы отказался от тегов. Удалил бы их все и сделал редирект на главную:
АлаичЪ, еще вопросик, теги вообще не использовать? Просто если их не использовать, то с пс сложно будет попасть на мой сайт.
Ну если трафик на сайт идет именно на теги, значит пока убирать их не стоит. Но это же и значит, что публикации на сайте — дерьмо, раз поисковики считают релевантными страницы тегов.
Хочу прописать это:
RewriteRule ^tags/(.+)$ / [R=301,L]
А у меня прописано это:
RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [L]
RewriteRule ^tags/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=tags&tag=$1&cstart=$2 [L]
Нужно просто рядышком дописать или заменить?
Что мешает взять и прописать?
Прописал — RewriteRule ^tags/(.+)$ / [R=301,L]
но редирект почему от не осуществляется? с чем это может быть связано?
Может быть не туда добавлен код, попробуйте добавить сразу после строки RewriteEngine On.
Здравствуйте. Подскажите, как через .htaccess сделать, чтобы при переходе на одну страницу открывалась другая?
Пример:
Нажимаем на https://alaev.info/channel.aspx?chid=23 открывается https://alaev.info/blog/post/2400
PS. Все перепробовала, никак не получается.
Вам сюда — https://alaev.info/blog/post/4393
А делается довольно просто:
И Считается ли дублем страницы страницы со слешем:
сайт.ру/lastnews/
и
сайт.ру/lastnews
А также страницы пагинации:
сайт.ру/lastnews/page/1,2,3 и т.д./
и
сайт.ру/lastnews/page/1,2,3 и т.д.
Также при проделке пункта: Убираем index.php из адреса главной страницы и страниц категорий
1. с этими страницами все ОК, идет редирект на главную (http://site.ru и http://site.ru/index.php, http://site.ru/category/index.php)
2. А вот переходя на эти страницы (http://site.ru/search/index.php, http://site.ru/tag/index.php), переходит на страницы без index.php (http://site.ru/search/, http://site.ru/tag/). А на странице пишется: По данному адресу публикаций на сайте не найдено, либо у вас нет доступа для просмотра информации по данному адресу.
Это так и должно быть? Т.к. на ДЛЕ 9.7 после этих правок, перекидывало на главную страницу...
АлаичЪ помоги устранить проблему:
После применения: "Устраняем проблему с дублированием полной новости по разным адресам"
Перестает работать распечатка страницы в новости, как только убираю код //обработка неправильного alt-name и 301 редирект все прекрасно работает, такое дело что печать страницы очень нужна, а дубль страниц тоже не хочется убирать. Спасибо. Буду очень благодарен.
В данный момент помочь с этим вопросом не могу. Нет времени и нет сайта, где я смог бы этим заняться, везде страницы печати отключены.
Здравствуйте!
Помогите, пожалуйста, решить проблему, сам уже всю голову сломал, найти причину не могу. Пару месяцев назад стали появляться ошибки в гугл вебмастере, в мегаиндексе (онлайн анализатор сайта) такого плана, к странице любой странице сайта добавляется: %20http:/globalphysics.ru/igry-po-fizike. Вот пример:
http://globalphysics.ru/online-testy-po-fizike/%20http:/globalphysics.ru/igry-po-fizike
http://globalphysics.ru/physics/speed/%20http:/globalphysics.ru/igry-po-fizike
http://globalphysics.ru/tags/%F2%E5%EF%EB%EE/%20http:/globalphysics.ru/igry-po-fizike
http://globalphysics.ru/tags/%F3%F7%E5%ED%FB%E9/%20http:/globalphysics.ru/igry-po-fizike
http://globalphysics.ru/page/7/%20http:/globalphysics.ru/igry-po-fizike
то есть, к адресу раздела сайта, например: http://globalphysics.ru/online-testy-po-fizike/ через пробел добавилось %20http:/globalphysics.ru/igry-po-fizike и таких ошибок сотни.
http://globalphysics.ru/igry-po-fizike — это тоже один из разделов сайта, но почему он добавляется к каждой странице, и тем более после http один слэш. И кроме этого гугл показывает, что на этот раздел (http://globalphysics.ru/igry-po-fizike) ссылаются все страницы сайта.
Напрямую я этого не вижу, а гугл и другие анализаторы находят...
В чем проблема, куда копать?
Спасибо!
Советую сделать такой вот редирект (не уверен на 100%, что именно такой код сработает):
Попробую... Спасибо!
То, что вы написали, решает проблему практически всех неверных адресов (происходит редирект на главную), за исключением адреса такого вида http://globalphysics.ru/page/7/%20http:/globalphysics.ru/igry-po-fizike
Получается к странице пагинации добавляется %20http:/globalphysics.ru/igry-po-fizike в этом случае показывается 7 страница и редирект не происходит.
Помогите, еще решить эту проблему. Спасибо.
Я не знаю как это пофиксить.
Подскажите в чем может быть причина, того, что после перенеса сайта на движке DLE 9.8 на новый сервер, перестал функционировать редирект с www.sayt.ru — sayt.ru, с sayt.ru/index.php — sayt.ru и т.д.
Откуда я знаю. Возможно, раньше это были настройки в панели хостинга. Смотрите .htaccess
.htaccess тот же. Если не ошибаюсь то в DLE 9.8 это уже стандартная функция, или ошибаюсь?
Нет такой стандартной функции.
Добрый день помогите пожалуйста я склеил зеркала как у вас написано, но потом обнаружил что у меня такие url стали ссылка выше. Как то можно исправить или редирект сделать эта ссылка тоже работает и та
http://www.elimsband.ru/useful.html
http://www.elimsband.ru/index.php?do=static&page=useful
обработка неверных чпу включена
Спасибо.
Александр, благодарю Вас, за всю проделанную работу по оптимизации DLE.
Что дает вот этот код при склеивании первой страницы сайта/категории с основным ее адресом?
if ( ($config['allow_alt_url'] == "yes") && (intval ($_GET['cstart']) == 1) && (strpos ($_SERVER['REQUEST_URI'], '/page/1') !== false) ) {
$first_page_url = str_replace ( "/page/1", "", $_SERVER['REQUEST_URI'] );
header ("HTTP/1.0 301 Moved Permanently");
header ("Location: $first_page_url");
die ("Redirect");
}
Я вставил только в .htaccess код и все работает. Или я, что-то упускаю?
Для подстраховки или если вариант с .htaccess не сработал.
"Устраняем неразбериху с категориями их вложенностью и слешем / на конце"
Перестала работать в версии 10.2
Вы не могли бы исправить хак?
Оно и не должно работать в 10.2. Написано же "Только версии DLE 8.2-9.2.", а что делать в более старших версиях написано там же.
Так то оно так, но бывают случаи (как у меня), что опцию «Обрабатывать неверные URL ЧПУ» включить не представляется возможным по некоторым причинам, вот я и пользовался вашими рекомендациями вплоть до версии 10.2.
Это явно не стоит того, чтобы делать. По сути, те правки, это и есть обработка неверных url ЧПУ, только для тех версий, где этого нет изначально.
Как настроить 301 редирект на главную страницу или страницу 404 ошибки с несуществующих урлов картинок?
http://site.ru/uploads/posts/2013-03/net_takoy_kartinki.jpg
Сегодня увидел, что по такому адресу у меня дубли главной.
Не нужны никакие редиректы, сервер должен быть правильно настроен. Обратись к хостеру.
Здравствуйте все!
Тут я не-нашёл ответ на свой вопрос.
Я сделал на-своём сайте на главной странице один материал (Приветствие, Описание и т.д.)!
Всё хорошо получилось, но только одна проблема осталась!
Можно увидеть все страницы сайта только со-второй страницы site.ru/page/2/ и остальные, а первая страница с новосями site.ru/page/1/ перебрасывается на главную (
Мой вопрос:
Как мне отключить переадресацию с site.ru/page/1/ на site.ru ???
Спасибо!
Внимательно прочитайте пост, там прямо так пункт и называется. Просто не делайте, что там написано, и не будет редиректа.
Добрый день.
Подскажите пожалуйста.
Изначально был сделан сайт, и построена карта сайта, после индексации через гугл для веб мастеров прошло время и все страници были проиндексированы, решил поменять путь урла, поменял, построил заново карту сайта, загнал в гугл, и теперь такая картина:
в гугл для веб мастеров
Оптимизация HTML
Повторяющиеся заголовки (теги title)
/product/polo-spring-ii-razmer-m Старый урл (сейчас, переходя по ссылке, страница не найдена)
/spring-ii/polo-spring-ii-razmer-m Новый урл
Подскажите пожалуйста как мне удалить старый урл, чтобы гугл не считал его.
Может кто знает решение?
Спасибо.
Необходимо сделать 301 редирект со старого адреса на новый. Если такой возможности нет, то можно забить, со временем данные сообщения из панели пропадут.
Автору большое спасибо!!! Я уже ответил в статье про dle 9.3 где поменял урлы на нормальные. Все рекомендации выполнил — и все на УРА! Автор молодец! Побольше бы таких людей и было б гораздо легче нам)))
Спасибо за ваш замечательный блог, очень много полезного из него узнал и реализовал на своем сайте.
Много где искал но так и не нашел, может Вы могли бы написать пост как в DLE для активного пункта меню можно было убрать ссылку, пример — вместо ссылки добавляется что-то вроде <span class="active">анкор</span> (т.е. ссылка сама на себя пропадает, вместо тега <a> появился другой текстовый тег <span> или <p>)
Так это просто делается при помощи тегов [category]. Только вот для каждого пункта надо будет такую конструкцию городить.
Вопрос. "Полное дублирование сайта по адресам http://site.ru и http://www.site.ru"
Сделал все как написано, но сайт открывается как с www так и без. Версия 10.2
Как быть?
Я делаю так:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site.ru
RewriteRule (.*) http://site.ru/$1 [R=301,L]
100% Работает.
Спасибо. Все работает.
А как для метода "Устраняем неразбериху с категориями их вложенностью и слешем / на конце" сделать чтобы отдавало 404 заголовки и 404 страницу с ошибкой? На 10-й версии дле.
в 10.3 не работает редирект на категории со слешем
пример:
http://dle-faq.ru/faq/lamers/page/5
не редиректит
http://dle-faq.ru/faq/lamers/page/5/
есть ли решение?
ставя вот это решение ниже
//решение проблемы с категориями, которых не существует
if (!$category_id AND $view_template != "rss") {
header ("HTTP/1.0 301 Moved Permanently");
header ("Location: {$config['http_home_url']}");
die ("Redirect");
}
//решение проблемы с категориями, которых не существует
вообще получаем если страница категории обозначена без слеша то перекидывает вообще в корень сайта
Разработчики DLE пишут что в версии 10.3 дублей нет.
Может кто подтвердить???
Здравствуйте. Не подскажите? Безопасно ли закрывать страницы типа /page/ или /category/page/? Я говорю о полном закрытии в robot.txt (Disallow: /*page/*). Может ли это как-то существенно повлиять на индексацию страниц sait.ru/category/statia.html, то есть скорость индексации и вообще индексации роботом, если скажем статей добавляется много и они уходят в /page/10, или бот будет ходить и находить, но просто не будет индексировать /page/? Так и не нашел вразумительного ответа не на серче не тут, может проглядел, тогда извиняюсь, ткните носом. Заранее спасибо!
Все зависит от ситуации, но я на своих сайтах не закрываю. И вам не советую.
Понял. Спасибо за ответ! В моём случае это контентные сайты, с уник контентом. Как думаете стоит закрывать в таком случае?
Я делаю noindex, follow и всё путём!
Я бы не стал закрывать.
Здравствуйте как сделать редирект для категорий:
www.site.ru/category/index.php
www.site.ru/category/index.html
поставил ваш:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/
RewriteRule .* / [R=301,L]
но он работает только для главной страницы... :(
Вот так, я думаю:
RewriteRule (.*)/index\.(php|html) $1 [R=301,L]
Не помогло... :( перестал отображаться дизайн сайта...бред какой то.
Ну тогда лучше ничего не делать.
Подскажите пожалуйста как убрать tags из url чтобы из http://sait.ru/tags/комедии/ получилось http://sait.ru/komedii/
Не нашел среди ответов, а в посте указано, что не трогать ничего если DLE младше 9.2
Вопрос: как оставить только страницы, ИМЕЮЩИЕ слеш на конце, в разделах тегов?
То есть страница типа:
site.ru/tags/blabla
должна прекращаться в страницу типа:
site.ru/tags/blabla/
Версия DLE 10.4
Заранее спасибо. С Уважением
У меня сайт выполнен на Версия DataLife Engine: 10.3
Интересует так же момент дублей страниц категорий без / и с /. Это разумеется site.ru/tags и site.ru/tags/.
Заметил какую особенность в настройках движка включил "Обрабатывать неверные URL ЧПУ" и сразу все категории начали показываться с /. Получается таким способом убрались дубли или нужно еще что то делать?
И еще 1 вопрос. решил избавится от дублей ndex.php или index.html, вставил все как нужно, но столкнулся вот с какой проблемой. Сейчас при вводе ndex.php редирект срабатывает и отправляет на ГЛ, а index.html отправляет на главную с / и выдает ошибку 404. Как быть?
Для 10.3 ничего не надо делать, только включить "Обрабатывать неверные URL ЧПУ" и все.
Спасибо. Так и сделал.
А вот что на счет этого?
Решил избавится от дублей ndex.php или index.html, вставил все как нужно, но столкнулся вот с какой проблемой. Сейчас при вводе ndex.php редирект срабатывает и отправляет на ГЛ, а index.html отправляет на главную с / и выдает ошибку 404. Как быть?
На DLE нет страницы index.html (если Вы самостоятельно не создавали ее в Статических). А раз ее нет, то и ошибка соответствующая выдается. Ничего не надо делать)))
Здравствуйте, при включении функции "Обрабатывать неверные URL ЧПУ" перестает работать вывод результатов Яндекс поиска. Это можно исправить?
Не помню, как это решается, но где-то в комментариях к этому или соседнему посту об этом писали.
Разобрался, ели отыскал в Ваших комментариях ответ на мою задачу) Теперь все работает, нужно было в static.php пару строк уничтожить.
Здравствуйте!
Есть ситуация: сайт.ру/категория1/категория2/категория1/категория3
Как можно убрать эти подкатегории чтобы редирект сразу был на ту, которую дописываешь, а не создавалась целая ветка?
Включить "Обрабатывать неверные URL ЧПУ" в админке!
А можно ли как-то по-другому редирект сделать?
При ЧПУ не нравятся, что страницы на .html заканчиваются
Стандартными способами нельзя. А я бы не рекомендовал что-либо отличное от стандартных решений.
Спасибо огромное за ответы!
Как устранить такие дубли:
.ru/?do=feedback
.ru/index.php?do=feedback
.ru/feedback.html
Александр, спасибо за проделанную работу.
Хочу отметить один недочет (и он очень существенный).
При двух 301-х "Определяем главное зеркало" и "Убираем слеш в конце" получается два последовательных 301-х, что совсем не хорошо и даже очень вредно. Пытался объединить эти два редиректа в один, но так ничего и не получилось.
Устраняем проблему с дублированием полной новости по разным адресам
Актуальность: Только версии DLE 8.2-9.2
Работает и на 10.0 — наконец-то поправил редиректы при смене ЧПУ с тип 1 на тип 2
У меня открывались новости по обойм адресам, типа:
http://URL.ru/category/123_news_name.html (сменил ЧПУ и новость должна выглядеть так)
http://URL.ru/123_news_name.html (но вот незадача — старый адрес тоже открывается!)
Здравствуйте! редирект /page/1/ не работает на dle 10.4, не подскажите в чем проблема?
Подскажите как быть с урлами. По не знанию поигрался с чпу сначало сменил потом решил вернуть как было, итог куча повторяющихся метаописаний, и они всё прибавляются, вернётся ли всё как было или прийдётся в ручную править?
Если при открытии страниц с дублирующими описаниями происходит редирект на единственно верный url, то бояться нечего, все нормализуется со временем.
Здравствуйте! После сделанного все так как написано Вами не мог зайти на сайт пишет следующее "Внутренняя Ошибка Сервера. На сервере произошла внутренняя ошибка или неправильная и не смог выполнить ваш запрос. Пожалуйста, обратитесь к администратору сервера, "тут моя почта" и информировать их о времени произошла ошибка, и все, что вы могли бы сделать, что может вызвать ошибки. Дополнительная информация об этой ошибке могут быть доступны в журнал ошибок сервера." В чем может быть проблема?
PS версия dle 10.5
Я не ясновидящий, ошибка может быть в чем угодно. После каждой правки надо проверять, работает или нет. Хотя бы будет известно, после какого изменения сломалось.
Приветствую! Подскажите как избавиться от дублей такой страницы
/?do=orderdesc
/index.php?do=orderdesc
Вот эта проблема с редактированием профиля решена https://alaev.info/blog/post/2400#comment-9812
Но как оказалось осталась проблема с заполнением дополнительных полей при регистрации (там где "Уважаемый посетитель! аккаунт зарегистрирован, но информация о вас не полная, заполните пожалуйста ... ") . Т.е. посетитель заполняет Имя, Город, а в профиле это не сохраняется. Не сохраняет именно с этой страницы, до внесения изменений все было нормально.
Как победить?
Заранее спасибо!
столько коментов так и не нашёл вопроса по поводу статической страницы))
а какой вариант убрать дубли с статической страницы? ну когда 1 статическая страница разбита на несколько, на dle 10.1 попадает под поиск типо таких страница /page,2,blabla.html
Подскажите пожалуйста, как оптимизировать дубли страниц такого типа — /page,1,2,502-watch-dogs-2013.html ?
В свежих версиях DLE 10.x и выше это уже решено. Для старых версий я писал об этом в первой части https://alaev.info/blog/post/2373
После применения редиректа для главной страницы перестал работать на сайте расширенный поиск http://www.ctm-stroy.ru/index.php?do=search , причём поиск с главной страницы работает, не могу понять в чём причина
Здравствуйте, прочитал все статьи, такой вопрос, а если версия дле 9.7 и у меня в индексе яндекса к примеру есть дубликаты таких страниц как:
http://site.ru/page/?1&17&298-zakazat-film.html
http://site.ru/drama/page,1,2,5501-mister.html
http://site.ru/drama/page,1,3,5501-mister.html#comment
очень много страниц в индексе — http://site.ru/? и после знака "?" любые буквы — знаки и движок позволяет при таких неправильных ссылках заходить на главную страницу без редиректа, а по идеи должна быть страница 404, по поводу дублей страниц с комментариями, здесь нашел исправление но до версии дле 9.6, как же быть с 9.7?
Здравствуйте, не получается настроить редирект site.ru/index.php не хочет перекидывать просто на site.ru Перепробовал уже все варианты со страниц. DLE 7.5. Что самое интересное, при вводе index.html — он работает, при вводе index.php — нет. Помогите, пожалуйста, решить проблему.
Отличное руководство, все понятно и просто, а самое главное работает,
Здравствуйте .
Не подскажите как убрать пагинацию на сайте
http://site/kat/pod/page/2/
http://site/kat/pod/page/3/
http://site/kat/pod/page/4/
Что бы в индексе оставалось Толька http://site/kat/pod/
Версия 10.4 ...(В индексе 300 материалов и столько же это пагинации )
Здравствуйте.
После обновления до версии 10.6 и проделывания и выполнения оптимизации title из 1 части, добрался до 2 части и возникла проблема на "Редиректы с index.php или index.html на сайт":
Дело в том, что с http://sait.ru/index.php с указанным кодом и без него происходит редирект на http://sait.ru/, а при вводе http://sait.ru/index.html появляется хвост http://sait.ru/?do=static&page=index&seourl=index — также с кодом и без него.
По категориям еще не проверял.
Как от него избавиться от этого хвоста?
Нашел решение.
Открыть /engine/modules/static.php найти:
Выше вставить :
Теперь с sait.ru/index.html -> sait.ru/
Наверное, с точки зрения seo, предыдущее решение не совсем верно, так как в этом варианте с sait.ru/index.html идет 301 редирект на sait.ru/?do=static&page=index&seourl=index, а уже с этого адреса идет 302 редирект на sait.ru/
Думаю, вот так будет более правильно.
Открыть /engine/modules/static.php найти :
Выше вставить :
Теперь с sait.ru/index.html будет 301 редирект на sait.ru/?do=static&page=index&seourl=index, а с этого адреса и 301 редирект на sait.ru/
Представляется, что данный вариант намного лучше, но опять же не идеален с точки зрения seo, так как два подряд 301 редиректа, думаю, не очень хорошо. Возможно ошибаюсь.
АлаичЪ, хотелось бы ознакомиться с Вашим мнением, а также людей, хорошо разбирющихся в seo.
Проблему решил.
Открываем /engine/modules/static.php и в самом конце файла находим:
Заменяем на:
Теперь, с sait.ru/index.html идет 301 редирект на sait.ru/ и никаких промежуточных звеньев, как то sait.ru/?do=static&page=index&seourl=index, нет.
К чему весь этот сыр бор? Просто мой код надо вставлять сразу же после строки RewriteEngine On в файле htaccess, и все будет в порядке!
Здравствуйте! Сделал вот так по инструкции http://joxi.ru/E2pnkazIBjEv1r — все работает отчлино, но добавляет 2раза id новости вот так 2579—2579-pyata-hvilya-2016.html как исправить?
Где-то ошибка, по моей инструкции такого быть не может, проверено многократно мной лично.
Может быть какие-то другие хаки и/или доработки делали в движке?
Александр, подскажите, для DLE 11 можно эти доработки применять? Не будет ли каких нибудь проблем?
Я бы не стал ничего применять на 11 версии.
Т.е. совсем правки не применять, или именно эти?
Александр, спасибо вам за вашу работу — всё очень хорошо оъясняете. Есть у меня такой интерес: использую dle 10.6, включена мобильная версия (стандартный шаблон) — стоит ли закрывать её от индексации? Если "да", то как грамотно это сделать? Использую вашу кольцевую перелинковку (за что отдельное спасибо) — нужно ли её выносить в мобильный шаблон? Просто не могу разобраться, как происходит индексация мобильной версии.
Я точно не знаю, а у мобильной версии есть отдельный специальный URL? Вроде бы нет, так что ничего предпринимать не следует.
Сегодня заметил в выдаче, что мои категории в выдаче имеют следующий URL (хотя на сайте таких ссылок нет):
site.ru/index.php?do=cat&category=name-category.
Саша, подскажи пожалуйста, как сделать 301 редирект на:
site.ru/name-category/
Заранее благодарю!
Статья в помощь — https://alaev.info/blog/post/4393
Пункт "Устраняем проблему с дублированием полной новости по разным адресам" не работает на 11.1 :(
Можете показать рабочий код?
Здравствуйте, вот такая проблема на DLE, не знаю как исправить, может вы поможете?
Например давайте возьмем эту страницу : http://grandmods.ru/file/page/2/ это вторая страница файлового раздела на сайте.
Но она почему то дублируется (Да и не только она, такого много на сайте с каждым разделом) например вот, дубль этой самой страницы: http://grandmods.ru/file/file/file/file/file/file/file/page/2/
http://grandmods.ru/file/file/file/page/2/
http://grandmods.ru/file/file/file/file/file/page/2/
http://grandmods.rufile/file/file/file/file/file/page/2/
Просто добавляешь в строку /file и открывается та же самая страница, почему не пойму, сайт по идее должен выдавать ошибку, что такой страницы не существует.
А если попробовать просто не добавлять в строку /file?
Я бы дополнил пункт "Устраняем неразбериху с категориями их вложенностью и слешем / на конце".
Поясню причину. Переводил сайт на протокол https и немного ошибся — в файле .htaccess правило редиректа с протокола HTTP на протокол HTTPS поставил последним.
И хотя эта ошибка просуществовала сутки — Яндекс при очередном обновлении выдачи проиндексировал ссылки на категории без ЧПУ. Например:
http://site.ru/index.php?do=cat&category="тут название категории"/
Поэтому могу порекомендовать дополнить вышеназванный пункт:
/* решение проблемы с категориями, редирект на верный урл, добавление слеша в конец и редирект на категорию с ЧПУ */
if ( $config['allow_alt_url'] == "yes" AND $category_id AND $view_template != "rss") {
$re_cat = get_url ( $category_id );
if ($re_cat != $_GET['category'] OR substr ( $_SERVER['REQUEST_URI'], — 1, 1 ) != '/' ) {
$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
$re_url = reset ( $re_url );
$my_url = $config['http_home_url'];
header ("HTTP/1.0 301 Moved Permanently");
header ("Location: {$my_url}{$re_cat}/");
die ("Redirect");
}
if ($_SERVER[REQUEST_URI] == '/index.php?do=' . $do . '&category=' . $category . '/') {
header ("HTTP/1.0 301 Moved Permanently");
header ("Location: {$my_url}{$re_cat}/");
die ("Redirect");
}
}
/* решение проблемы с категориями, редирект на верный урл, добавление слеша в конец и редирект на категорию с ЧПУ */
У меня на сайте нет подкатегорий, а для тех, у кого есть — способ не совсем верный, нужно еще добавлять проверку пути для подкатегорий.
Добрый день. Помогите пожалуйста. Заметил в гугл вебмастере странные дубли.
site.ru/m/статья
site.ru/mobile/статья
Мобильной версии никогда не было, поддоменов не было. Недавно перевел сайт на https и сделал адаптивный шаблон.
От куда берутся эти дубли и как их исправить?
В htaccess пропишите строки:
RewriteRule ^m/(.*)$ / [R=301,L]
RewriteRule ^mobile/(.*)$ / [R=301,L]
И они будут редиректиться на главную.
Алаичь, скажите пожалуйста. Когда я ввожу на сайте адрес
sait.ru/m/статья оно редиректит на sait.ru/статья
sait.ru/mobile/статья редиректит на sait.ru/статья
Нужно ли еще Ваш редирект прописывать?
P.s. Весь свой сайт оптимизировал по Вашим статьям.
Наверное, не туда прописали строки, которые я указал. Их надо добавлять сразу после RewriteEngine On.
Нет, не так. Я Ваш редирект не прописывал. Оно само по себе редиректит, как я написал выше. Так вот спрашиваю: «нужно ли ваш редирект прописывать или оставить как есть»?
Оно должно редиректить с таких страниц на главную или же как у меня — на страницу статьи?
О чем мы тогда говорим, если вы не прописывали мой редирект? Конечно его надо прописать и будет редиректить на главную. Ведь так надо или не так?
Алаичь, скажите пожалуйста еще одно. Свой сайт весь оптимизировал по Вашим статьям. Недавно перевел сайт на https. Нужно ли где-то делать правки в коде, в редиректах?
Ничего корректировать не надо.
спасибо очень помогло На дне 11.2
только не могу понять В конце эти //// нормально для Сайта?
https://godia.ru/
https://godia.ru//
https://godia.ru///
Не очень нормально, но только если вы их нашли в каком-то отчете, а не сами придумали.
Нет не я сам. Какаято компания позвонила и предложила сайт продвинуть в яндексе, тогда и прислали отчоь аудита. Другие все устранил сам с помошю етой и другой вашей статьи. Вот только не могу понятчто сним делать https://godia.ru////
Если таких страниц нет в индексе, то и бороться с ними не надо.
Необходимо настроить 301 редирект по правилу для всех страниц сайта:
со страниц содержащие в конце index.php должен быть настроен 301 редирект на такую же без него.
Здравствуйте, а если у меня стоит сертификат https, то мне вот этот редирект не подходит:
### START Определяем главное зеркало как site.ru (site.ru заменить на свой домен, например alaev.info)
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
### END Определяем главное зеркало
Что мне надо прописать в файл .htaccess ???
Буду очень благодарен за ответ...Спасибо!
Здравствуйте!
Вот адрес:/muzyka/page/2/ убираю /(слеш) и выбрасывает на этот адрес:/muzyka/.
Так должно быть?Или должно быть так:/muzyka/page/2-без слеша.Может же человек забыть в конце поставить /
Нормальный человек не вводит url-адреса вручную, а переходит по ссылкам. Все нормально!
Спасибо за консультацию
Здравствуйте Александр.
В DLE 11.2 в файле htaccess был установлен редирект с www на без него, но когда поставил редирект с http на https сервер выдает ошибку, то есть вместе два редиректа выводит ошибку сервера 403. Я оставил один с http на https —
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
а для www указал яндексу главное зеркало без www. Подскажите пожалуйста есть вариант поставить вот эти два редиректа только с https и без www чтобы они работали?
Обратитесь с этим вопросом к хостеру, там часто все очень индивидуально, а еще чаще настраивается просто через панель управления хостингом :)
Всем кому надо установить редирект с http на https и с www на без него, чтобы оба работали и не вырубали сервер. Вставляем этот код в корневом файле htaccess после строки # Редиректы
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule (.*) https://site.ru/$1 [L,R=301]
На dle 11.2 работает.
Здравствуйте. Яндекс начал выдавать дубли страниц со слешем вместо точки /html вместо .html. Самое интересное, что страница по этому адресу открывается. Как такое возможно? Как исправить? Если нет, то как сделать 301 редирект с адреса с /html на .html?
Надо лечить сиптомы, а не последствия. Тут вам надо с движком разобраться, почему он такие страницы генерит и откуда они взялись и проиндексировались.
Всего одна страница была, редирект поставил
а как можно сделать редирект в тегах, чтоб с юникода переадресовывалось на кирилические?
например:
с site.ru/tags/%E3%EB%E0%E7%E0/ на site.ru/tags/глаза/
вопрос в том, чтоб не каждый тег прописывать, а чтоб все теги так стало переадресовывать
Это правило не работает на версии 11.2, на более ранних без проблем!
### Редиректы с index.php или index.html на сайт
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/
RewriteRule .* / [R=301,L]
Мое приветствие
Спасибо за статью, но не нашел для себя полезного или пропустил...
Просьба помочь...
Есть site.ru
и на нем есть три категории news, blog, shop
в каждой категории есть подкатегории cat1, cat2,cat3...(разные названия)
яндекс индексирует как две страницы site.ru/news/cat1 и site.ru/cat1
это дубль и его нужно исправить
подскажите реализацию, чтобы была индексация только site.ru/cat1
спасибо за все эти уроки очень помогли) но есть один вопрос,как добавить окончание для тайтла и дескрипшена на главных страницах пагинации я разобрался,а вот как добавить окончание для тега h1 на страницах пагинации,чтобы было также <h1>Заголовок страницы</h1> страница 123
Зачем?
впринципе и правда это совсем не надо)ещё вопрос такой если я закрою фулстори от индексации будет ли индексироваться сам товар всмысле название каждого товара,я через ваш модуль настроил и тайтлы и дескрипшены чтобы вводились уникальными,но хочу закрыть фулстори от индекса так как ненужная информация и много лишних цифр от туда попадает в индекс,или же если закрою будут индексироваться только категории а товар не будет,я не очень силён в этом пока что,но благодаря вам что то получается надеюсь вы поняли мою мысль)
Хм...если закрыть fullstory, то страницы детального просмотра статьи/новости/товара (или чего-то там еще) не будут индексироваться вообще. Будут индексироваться только страницы категорий + главная страница. Если это то, что вам надо, то ок.
Здравствуйте Александр!
В Яндекс-вебмастере в раздели дубли есть такое:
/vsya-literatura/knigi/rss.xml
/literatura/knigi/rss.xml
Будьте добры подскажите пожалуйста.Если сделать редирект в модуле Редиректы со страницы: /literatura/knigi/rss.xml на страницу: /vsya-literatura/knigi/rss.xml, это будет правильно?
Или просто закрыть:
Disallow: /*rss.xml
Disallow: /rss.xml
Поможет? Не выпадут ли страницы категорий из индекса?
Я думаю, лучше закрыть просто эти страницы. Достаточно будет одной директивы: Disallow: /*rss.xml
Здравствуйте .
Не подскажите как убрать пагинацию на сайте
http://site/page/2/
http://site/page/3/
и т.д.
Что бы в индексе оставалось только http://site
Например, в robots.txt прописать
Disallow: /page/*
Добрый день подскажите пожалуйста как убрать дубли страниц с //////////
Сам спросил — сам ответил)
RewriteCond %{THE_REQUEST} //
RewriteRule .* /$0 [R=301,L]
# Исключаем все лишние слеши.