Привет, друзья. Наконец-то пришло время для третьей части моего мега-руководства по оптимизации DLE.
Только сейчас с ужасом осознал, что предыдущая вторая часть руководства вышла более полугода назад!
По сложившейся традиции мы будем говорить о внутренней оптимизации сайта, а конкретно в этой части я расскажу про некоторые особенности движка и мелкие, но очень полезные фишки и хаки, которые не подошли по формату в предыдущих частях.
Эта часть так же связана с адресами страниц, но в отличии от второй части, где мы боролись с дублями и исключали их появление, в этой части мы рассмотрим, как избавиться от несуществующих страниц, появившихся в результате удаления или ошибки в адресе.
Обновлены вносимые в движок изменения, добавлена поддержка новых версий движка.
Актуально для следующих версий DLE: 7.x, 8.x, 9.x, 10.x!
Другие части SEO-руководства:
Часть 1, Оптимизация заголовков Title — https://alaev.info/blog/post/2373
Часть 2, Борьба с дублированием контента — https://alaev.info/blog/post/2400
Часть 4, Исправление для версий DLE 9.3, 9.4, 9.5, 9.6 — https://alaev.info/blog/post/3513
Редирект с несуществующих страниц пагинации на правильные и существующие
Актуальность: Все версии DLE. Проверено на 7.x, 8.x, 9.x, 10.x.
Фишка была придумана буквально сегодня, когда я нашел множество 404 ошибок на одном из сайтов в панели вебмастера.
Возьмем вполне реальную ситуацию – по какой-то причине вы решили изменить количество новостей, выводимых на главной странице или страницах категорий. Как случилось у меня: редизайн сайта; структура страниц полностью поменялась; было решено выводить больше кратких анонсов новостей на каждой странице (было 7, стало 10). Итог был следующим — в панели вебмастера появилось много страниц с 404 ошибками. Простая арифметика, было на сайте 1000 новостей, на каждой странице выводилось по 7 анонсов, следовательно, только на главной у нас получается 1000/7=142 страницы пагинации. После изменений страниц стало ровно 100. В итоге 42 страницы просто пропали. А если возьмем еще категории, то несуществующих страниц уже сотня-две. Это плохо, некрасиво и вообще не тру.
Открываем файл /engine/modules/show.short.php и в самом низу находим:
} ?> |
ВЫШЕ добавляем:
//редирект на последнюю страницу, если в url указана страница больше чем максимально существующая $all_pages_count = @ceil( $count_all / $config['news_number'] ); if ($cstart > $all_pages_count) { if ($all_pages_count > 1) { header('HTTP/1.1 301 Moved Permanently'); header ('Location: ' . $url_page . '/page/' . $all_pages_count . '/'); die(); } else { header('HTTP/1.1 301 Moved Permanently'); header ('Location: ' . $url_page . '/'); die(); } } //редирект на последнюю страницу, если в url указана страница больше чем максимально существующая |
Немного поясню код: идет проверка на условие — если номер текущей страницы больше чем максимальное количество страниц на сайте (или в категории), то происходит редирект на последнюю страницу. Если запрашивается страница номер 2, а страниц всего одна, то происходит редирект на гравную страницу (или главную страницу категории).
Пример на пальцах, кто-то запрашивает страницу сайта site.ru/page/435/, а на этом сайте всего 268 страниц, следовательно, случится редирект на адрес site.ru/page/268/.
Редирект с несуществующих страниц пагинации комментариев на правильные
Актуальность: Только версии DLE 8.x, 9.x. Для DLE 10.x не актуально, т.к. уже реализовано в самом движке.
Аналогичная ситуация с пагинацией в комментариях. Может возникнуть такая ситуация, что, например, вам наспамили в комментариях, поисковики проиндексировали все страницы комментариев, а потом вы это заметили и удалили все комменты. Но страницы, которые проиндексировал поисковик, все равно останутся, просто на них не будут отображаться никакие комментарии, а будет полный дубль основной страницы новости. И это печально, надо исправлять!
Открываем файл /engine/classes/comments.class.php и в самом низу находим:
} } ?> |
ВЫШЕ добавляем:
//редирект на последнюю страницу комментариев, если в url указана страница больше чем максимально существующая if ( $this->cstart > $enpages_count ) { header('HTTP/1.1 301 Moved Permanently'); header('Location: ' . $url); die(); } //редирект на последнюю страницу комментариев, если в url указана страница больше чем максимально существующая |
Ну вот, теперь все в порядке, можете проверить.
Редирект со ссылок с лишними символами или неправильным окончанием на верные адреса
Актуальность: Все версии DLE. Проверено на 7.x, 8.x, 9.x, 10.x.
Типичная ситуация – добродушный посетитель вашего сайта решил поделиться ссылочкой на понравившийся материал в своем уютном бложике на ЖЖ или на МоемМире. Спасибо ему за это, молодец! Только вот беда – пользователь не знаком с html как таковым, он ничего кроме визуального редактора в глаза не видел. У меня таких «простофиль» на emofans.ru пруд пруди, ссылками делятся направо и налево. Так вот, вставил ссылочку человек в свой блог, да нечаянно окончание в ссылке потер (получилось не site.ru/123-page_name.html
, а site.ru/123-page_name.htm
), а проверить забыл, так и осталась «битая» ссылка на веки вечные, а в панели вебмастера ошибка затаилась и глаза мозолит! Или еще живой пример, пользователь не потер окончание, а, наоборот, в визуальном редакторе слилась ссылка с текстом (получилось не site.ru/123-page_name.html
, а что-то в духе site.ru/123-page_name.html,где
), и опять ошибки свалились на вебмастерскую голову. Таких примеров у меня много, специально не исправлял эти ошибки до написания данного поста, чтобы не забыть.
Раньше тут было очень сложное решение, которое зависело от версии движка. Но с момента написания данного поста я достаточно прокачал свои умения, чтобы составить универсальное решение для всех версий DLE и вообще совершенно для любого движка или любого сайта!
Открываем .htaccess, который лежит в корне и находим:
# Редиректы RewriteRule ^page/([0-9]+)(/?)$ index.php?cstart=$1 [L] |
ВЫШЕ добавляем:
RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.*)\.html(.+) [OR] RewriteCond %{REQUEST_URI} ^(.*)\.htm$ [OR] RewriteCond %{REQUEST_URI} ^(.*)\.ht$ [OR] RewriteCond %{REQUEST_URI} ^(.*)\.h$ [OR] RewriteCond %{REQUEST_URI} ^(.*)\.$ RewriteRule ^(.*)\.(.*) $1.html [R=301,L] |
Вне зависимости от выбранного типа ЧПУ при переходе по любой «кривой» ссылке посетитель попадет туда, куда должен был попасть.
Редирект с разделов или категорий, которых больше не существует, на главную страницу
Актуальность: Все версии DLE. Проверено на 7.x, 8.x, 9.x, 10.x.
Пример из жизни: вы решили поменять структуру сайта или просто удалили какие-то категории за ненадобностью, следовательно, эти страницы перестанут существовать, а ссылки на них могут где-то остаться. Например, на emofans’е у меня когда-то были блоги для пользователей, доступные по адресу site.ru/blog/, а в них шло деление на пользователей, вот так site.ru/blog/user1/, site.ru/blog/user2/ и т.д. Уже много лет как я снес эти блоги за ненадобностью, а ссылки на них и ошибки в панели вебмастера живут.
Еще данная правка позволит избежать появления адресов страниц полной новости без расширения на конце или вообще адресов полной новости когда отсутствует целый кусок url в конце. Таким образом, в сочетании с предыдущим пунктом, эти изменения помогут на 99% избежать появления неверных и нежелательный адресов.
Открываем файл /engine/engine.php и находим:
if (!$category_id) $category_id = 'not detected'; |
ЗАМЕНЯЕМ на:
//решение проблемы с категориями, которых не существует if (!$category_id AND $view_template != "rss") { header("HTTP/1.0 301 Moved Permanently"); header("Location: {$config['http_home_url']}"); die("Redirect"); } //решение проблемы с категориями, которых не существует |
Теперь все категории или каталоги, которые не существуют и не имеют своего id (проверка на существование идет именно по id) будут редиректиться на главную страницу.
Редирект для публикаций, у которых отсутствует ID, на главную страницу
Актуальность: Все версии DLE. Проверено на 7.x, 8.x, 9.x, 10.x.
Еще одна реальная история, взятая с моих сайтов. В панели вебмастера висит много страниц с ошибкой 404 такого вида site.ru/category/subcat/page-name.html, а по правилам должно быть так site.ru/category/subcat/123-page_name.html. Вот честно, до сих пор не понимаю, каким образом и почему пропал ID новости и кто ссылался на публикации таким образом. Никаких модулей и хаков, которые убирают из url его идентификатор я никогда не использовал, так что грешу на пользователей, которые «криво» ставят ссылки в своих бложеках на мой сайт. Ну да ладно, это уже не важно, а важно разобраться с этой проблемой!
Только для версий DLE 10.x (а так же для 9.5, 9.6, 9.7 и 9.8)
Новая версия кода помимо того, что редиректит «проблемные» адреса страниц полной новости, но так же редиректит на главную еще и несуществующие или удаленные статические страницы. Связано это с изменившейся логикой в движке. С одной стороны, наверное, это хорошо, ведь одним махом две проблемы решаем. С другой стороны, изначально движок выдает обычную 404 ошибку — если вас устраивает такое положение дел, тогда не вносите правки, описанные в этом пункте.
Открываем файл /engine/modules/static.php и находим в самом конце:
@header( "HTTP/1.0 404 Not Found" ); $lang['static_page_err'] = str_replace ("{page}", $name.".html", $lang['static_page_err']); msgbox( $lang['all_err_1'], $lang['static_page_err'] ); |
ЗАМЕНЯЕМ на:
// 301 редирект на главную с адресов страниц новостей, где пропал id, а так же несуществующих статических страниц header("HTTP/1.0 301 Moved Permanently"); header("Location: {$config['http_home_url']}"); die("Redirect"); // 301 редирект на главную с адресов страниц новостей, где пропал id, а так же несуществующих статических страниц |
Старое решение. Только для версий DLE 7.x, 8.x, 9.0, 9.2 и 9.3
Все адреса, содержащие на конце .html и не содержащие в себе ID будут редиректиться на главную страницу. Существующие и корректные статические страницы, хоть и они так же не имеют ID в url-адресе, редиректиться не будут, а будут работать как и прежде.
Открываем все файл /engine/engine.php и находим:
if ($subaction == '') $subaction = "showfull"; } |
НИЖЕ добавляем:
// 301 редирект на главную с адресов страниц новостей, где пропал id if ( ( $config['allow_alt_url'] == "yes" ) && (strpos($_SERVER['REQUEST_URI'], '.html') !== false) && ($dle_module == "main") ) { header("HTTP/1.0 301 Moved Permanently"); header("Location: {$config['http_home_url']}"); die("Redirect"); } // 301 редирект на главную с адресов страниц новостей, где пропал id |
Редирект для удаленных или несуществующих новостей на главную
Актуальность: Все версии DLE. Проверено на 7.x, 8.x, 9.x, 10.x.
Ну, тут стандартная ситуация и может встретиться на любом сайте. Вы удалили какую-то новость и, понятное дело, будет выдаваться 404 ошибка. Если вас это не устраивает, а именно то, что выдается 404 ошибка, то можно сделать, например, 301-редирект на главную страницу сайта, которая уж точно существует ;)
Открываем файл /engine/modules/show.full.php и находим:
elseif( ! $news_found ) { @header( "HTTP/1.0 404 Not Found" ); msgbox( $lang['all_err_1'], $lang['news_err_12'] ); } |
ЗАМЕНЯЕМ на:
// 301 редирект на главную, если новость не найдена/не существует elseif( ! $news_found ) { header("HTTP/1.0 301 Moved Permanently"); header("Location: {$config['http_home_url']}"); die("Redirect"); } // 301 редирект на главную, если новость не найдена/не существует |
Теперь при переходе на несуществующую или удаленную публикацию будет осуществляться редирект на главную страницу сайта.
Я вам рекомендую с ним ознакомиться, независимо от того, работаете ли вы только с DLE или другой какой-то CMS.
Запрещаем индексацию разделов сайта при помощи мета-тега robots
Актуальность: Все версии DLE. Проверено на 7.x, 8.x, 9.x, 10.x.
Итак, помните я недавно публиковал пост про особенности индексации сайтов, robots.txt и мета-тег robots, где говорил, что закрывать страницы от индексации при помощи robots.txt не тру, а вот закрывать при помощи <meta name="robots" content="noindex">
правильный вариант. Настоятельно рекомендую изучить данный пост.
А сейчас я расскажу, как можно реализовать вывод этого самого метатега в движке DLE в определенных разделах сайта.
Расширенную версию данного трюка смотрите в посте про правильный robots.txt для DLE.
Если не чувствуете в себе уверенности, настоятельно рекомендую использовать мой модуль DonBot! С модулем вы по любому не ошибетесь нигде, а так же вам не придется после каждого обновления движка вносить данные правки.
Открываем уже полюбившийся файл /engine/engine.php, находим бесполезную строку и удаляем:
<meta name="robots" content="all" /> |
Если такой строки нет, ничего страшного, просто идем дальше.
Находим далее:
if ($config['allow_rss']) $metatags .= <<<HTML <link rel="alternate" type="application/rss+xml" title="{$rss_title}" href="{$rss_url}" /> HTML; |
ВЫШЕ добавляем:
if ($subaction == 'userinfo' OR $subaction == 'allnews' OR $subaction == 'newposts' OR $do == 'stats' OR $do == 'addnews' OR $do == 'register' OR $do == 'favorites' OR $do == 'rules' OR $do == 'pm' OR $do == 'feedback' OR $do == 'lastcomments' OR $do == 'lostpassword' OR $do == 'search' OR $do == 'lastnews' OR $do == 'alltags' OR $do == 'tags' OR $dle_module == 'date') $metatags .= <<<HTML \n<meta name="robots" content="noindex,nofollow" /> HTML; |
Если вы хотите закрыть от индексации страницы пагинации, типа site.ru/page/X/ или site.ru/category/page/X/, тогда необходимо добавить одну строчку:
(intval($_GET['cstart']) > 1 ) |
В итоге код, приведенный выше преобразуется так:
if ($subaction == 'userinfo' OR $subaction == 'allnews' OR ... $dle_module == 'date' OR (intval($_GET['cstart']) > 1 )) $metatags .= <<<HTML \n<meta name="robots" content="noindex,nofollow" /> HTML; |
Теперь я поясню, что означает каждый из пунктов условия if, и я для вас подготовил замечательную табличку с описанием.
Модуль | Описание | Пример URL |
---|---|---|
userinfo | Просмотр профиля пользователя. | site.ru/user/user_name/ |
allnews | Просмотр новостей конкретного пользователя. | site.ru/user/user_name/news/ |
newposts | Просмотр новинок, индивидуально для каждого пользователя, доступно только зарегистрированным, гостям показывается ошибка. | site.ru/newposts/ |
stats | Страница статистики сайта и ТОП10 пользователей. | site.ru/statistics.html |
addnews | Страница добавления новости на сайт. | site.ru/addnews.html |
register | Страница формы регистрации нового пользователя. | site.ru/index.php?do=register |
favorites | Просмотр избранного, индивидуально для каждого пользователя, доступно только зарегистрированным, гостям показывается ошибка. | site.ru/favorites/ |
rules | Страница правил сайта, которые показываются перед регистрацией, которые существуют так же отдельной страницей. | site.ru/rules.html |
pm | Просмотр личных сообщений пользователем или форма отправки личного сообщения любому пользователю сайта. | site.ru/index.php?do=pm |
feedback | Страница обратной связи. | site.ru/feedback.html |
lastcomments | Просмотр всех комментариев к публикация на сайте в обратном хронологическом порядке. | site.ru/index.php?do=lastcomments |
lostpassword | Страница восстановления пароля. | site.ru/index.php?do=lostpassword |
search | Раздел поиска по сайту. | site.ru/index.php?do=search |
lastnews | Просмотр всех последних новостей сайта. Точная копия главной страницы сайта и всех страниц пагинации. | site.ru/lastnews/ |
alltags | Просмотр страницы всех тегов сайта. | site.ru/tags/ |
tags | Просмотр публикаций с конкретным тегом. | site.ru/tags/Tag+Name/ |
date | Архив сайта. Список публикаций за определенный год или месяц или день. | site.ru/2007/ или site.ru/2007/06/ или site.ru/2007/06/22/ |
* Самый важный момент — при закрытии от индексации страниц описанным методом, необходимо убрать запрещающие правила в robots.txt для страниц и разделов, которые мы закрыли при помощи мета-тага. Иначе никакого смысла не будет.
На свое усмотрение вы можете из приведенного мною кода убрать какие-то части, разделы, которые конкретно для вашего сайта закрывать от индексации не требуется. Так что, пожалуйста, будьте внимательнее.
Добавляем тег rel=”canonical” для страниц просмотра полной новости
Актуальность: Все версии DLE. Проверено на 7.x, 8.x, 9.x, 10.x.
Помнится, кто-то в комментариях одной из предыдущих частей просил рассказать, как выводить тег rel=”canonical” в публикациях на сайте, так вот, кто не видел моего комментария с описанием данного метода, читайте дальше.
Открываем файл /engine/modules/show.full.php и...
для версий DLE 7.x, 8.x, 9.0, 9.2 и 9.3 находим:
} 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 = ""; } |
для версий DLE 10.x (а так же для 9.5, 9.6, 9.7 и 9.8) находим:
} 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 = ""; $link_page = ""; $news_name = ""; } |
НИЖЕ добавляем:
$full_canonical = $full_link; |
Открываем файл /engine/engine.php и находим:
if ($config['allow_rss']) $metatags .= <<<HTML |
ВЫШЕ добавляем:
if ($full_canonical) { $metatags .= <<<HTML <link rel="canonical" href="{$full_canonical}" /> HTML; } |
Как бы и все ;) Кому надо, пользуйтесь на здоровье.
Что-то я, наверное, забыл описать в данном посте, так как информацию, описанную тут, собирал в течение длительного времени в голове, а не записывал в блокнот. Но если вы что-то вспомните или найдете необычные ошибки на своем сайте – обязательно пишите в комментариях, я придумаю решение вашей проблемы и добавлю его в пост.
Спасибо за внимание, друзья, оставайтесь на связи и подписывайтесь на новости блога.
PS Я не уверен, будет ли следующая часть руководства, так как на данный момент писать в ней нечего, все, что могло бы быть полезным, уже описано в существующих трех частях. Но мало ли… Все зависит от вас и ваших вопросов и предложений!
Однозначно полезнейшая информация! Спасибо, обязательно буду пользовать метатег robots.
Но вот что не мешало бы уточнить — это версии движка, для которых это актуально, а то многие вещи целсофт всётаки правит (те же ссылки на категории без слешей/со шлешами) а неродивые пользователи (коих привеликое множество) будут дополнительно пилить двиг )))).
Спасибо за комментарий.
В данной части все правки актуальны для любой версии движка, хоть для самой старой, хоть для актуальной (вроде пока что это 9.5). В предыдущих же частях я везде пишу актуальность и условия, при которых надо или не надо вносить эти самые правки. В частности про слеши, вроде, проблема не актуальна начиная с DLE 9.3, но только при включенной настройке в админке, которая активирует исправление. Но вот не все люди после обновления заглядывают туда.
В общем, народ у нас не внимательный, делают ошибки даже на ровном месте :(
Не то чтобы не внимательный, а скорее ленивый, отсюда и невнимательность. Двиг обновил, а в админку заглядывать — нуеёнафиг ))
Вот и получается...
В данном случае надо не лениться прочитать полный список изменений в новой версии на оф.сайте перед обновлением.
Даже внимательно просматривая админку очень легко пропустить новый пункт настройки среди огромного их количества.
Спасибо за статью! Долго искал, как добавить каноникал в новости.
Но мне нужно немного не так, потому что у меня материал будет входить в несколько категорий, поэтому мне надо указывать каноникал от каждой новости, потому что по умолчанию в этом случае ставится каноникал первой по списку категории, в которую добавлен материал. И поисковые машины будут думать, что в остальных категориях (кроме нескольких первых) нет материалов, следовательно не будут их нормально ранжировать.
Хотелось бы попросить подсказать можно ли это осуществить через доп. поля? Если можно то как? Пробовал изменить ваш код что типа того)) $full_canonical = [xfvalue_canonical]; но не получается))
Несомненно полезно...
Вопрос: Нужно ли закрывать метароботсом страницы пагинации?
И еще, например, я у себя в панели вебмастера обнаружил такие вот 404 страницы:
http://site.com/2011/07/ или http://site.com/2012/01/page/8/
Подходит ли какой либо пункт статьи, чтобы исправить этот недоразумение?
Или вот еще такое — http://site.com/print:page/?
Закрывать страницы пагинации или нет — это только ваше решение. Я на своих сайтах не закрываю (когда-то и где-то я говорил, что закрываю, но я перестал это делать).
Решения, которое бы подставляло метатег robots для страниц пагинации, я в этом посте не рассматривал.
Теоретически проблемы с http://site.com/2011/07/ или http://site.com/2012/01/page/8/ или http://site.com/print:page/ могут решиться вот этим пунктом "Редирект с разделов или категорий, которых больше не сущестувет, на главную страницу". Но мне негде это проверить. Так что проверьте вы, а потом напишите что и как работает.
А я закрываю :) Ладно...
На счет http://site.com/2011/07/ или http://site.com/2012/01/page/8 и «Редирект с разделов или категорий, которых больше не сущестувет, на главную страницу» — не работает!
Нужно будет как-то думать, что сделать... Может быть если сервер отдает 404, то перенаправлять на нужную страницу (например, главную). Только вот, думаю, все равно 404-ки будут в панели после этого, даже и не знаю...
Или же искать решение наподобие «Редирект с несуществующих страниц пагинации на правильные и существующие».
Поправка — но http://site.com/print:page — работает!
Я могу написать код и для 301-редиректа с любой несуществующей страницы на главную, могу написать конкретно только для архива. Да вообще можно что угодно сделать =)
Я вроде выследил что заменить на
header ("HTTP/1.0 301 Moved Permanently");
header ("Location: {$config['http_home_url']}");
die ("Redirect");
в шоушорт.пхп
Перенаправление работает... Теперь вот вот думаю... оставлять или попробовать сделать на более глобальном уровне как-то...
Меня интересует один вопрос — если сервер отдает 404, то если мы пропишем потом делать 301-й редирект, будет гугл хавать это как 404-я страница... или нет...
Сервер не может отдавать несколько разных ответов враз. Сервер скажет или 404 или 301, одновременно и то и другое не случится :)
Если пропишем 301 редирект, то со временем (недели две) в панели вебмастера Гугла ошибки сами пропадут.
Скажите пожалуйста, а есть какая-либо программа, которая могла бы найти 4-4 страницы?
Заранее благодарен и если можно ссылочку на эту программу.
Лучшая программа в вашем случае — панели вебмастера Яндекс и Гугла.
А так же моя публикация про расширенный отчет о 404 ошибках в Google Analytics и плюс обзор программы Page Weight.
Странно, но не могу найти <meta name="robots" content="all" /> в engine.php. DLE 9.5.
Кстати, это и для Yandex, и для Google?
> Странно, но не могу найти <meta name="robots" content="all" /> в engine.php. DLE 9.5.
В 9.5 убрали.
> Кстати, это и для Yandex, и для Google?
Да.
2Andrey, так и в 9.4 тоже не могу найти.
Что делать? Куда тогда вставлять?
Прошу прощения, что-то я не догладел, не думал что в новых версиях удалили этот тег, я тестил свои наработки на старых версиях.
Внес правки в пост, снова проверьте данный пункт — я пояснил, что надо делать, если не нашли метатег.
Спасибо, а страницы пагинации можно как-то запретить этим способом?
Можно, без проблем. Для этого в приведенном коде необходимо заменить одну строку:
На такую:
Тогда для всех страниц пагинации будет так же прописываться
<meta name="robots" content="noindex,nofollow">
Спасибо, это относится и к страницам разделов?
Конечно.
Еще есть такие ошибки, обнаружила в панели вебмастера Гугла, страницы были статические и были в результате изменения структуры сайта удалены, но по интернету разбежались ссылки на эти страницы и теперь висят в ошибках 404, удалить через паненльку вебмастера невозможно из-за ссылок, как такие ошибки убрать или возможно ставить 301 редирект, но их слишком много порядка 100.
Очень ждала эту часть раздела, поэтому извините, но буду еще задавать вопросы. Вообще большое спасибо автору за блог и за его развитие, за очень классные материалы.
Опишу немного историю возникновения ошибок. Домен был перекуплен. Какой был движок на этом домене ранее не знаю. Сейчас DLE 9.2.
Ошибки следующие:
http://site.ru/inetrnet.php/ — есть ссылки с других ресурсов на эту страницу
http://site.ru/site.ru/der/free_tds11.ph/ — 2 раза вписан site.ru + расширение ph. надо php
http://site.ru/site.ru/der/blocks/top/3_/ — 2 раза вписан site.ru
http://site.ru/city-help.ru/free_srv.php/?l=a
http://site.ru/free_srv.p/
Да, бывают такие проблемы. Для этого необходимо проделать следующее.
Открываем /engine/engine.php и находим:
ВЫШЕ вставляем:
И все, дело в шляпе, теперь будет осуществляться 301-редирект на главную.
Пробуйте и отписывайтесь потом.
Как и просили, пишу результат после выполненных рекомендаций в статьях SEO оптимизация DLE – Часть 2 и Часть 1.
Прошло чуть более 2-х недель. Для работы были взяты 2 сайта. Данные по Гугл вебмастеру.
------------------------------
Первый сайт (Веб-страницы: 39 338; Проиндексировано: 24 541)
Ошибок было более 300, осталось 25 (те, о которых чуть выше я писала).
Страницы с повторяющимся метаописанием: 10
/категория 1/, /категория 2/, /page/10/, /page/3/, /page/6/, /page/7/, /page/8/, /page/9/, /sitemap/0.html
Здесь страницы в robotx.txt не закрывала. Пока подожду, может еще не все переиндексировались.
А так все очень чистенько и красиво.
Осталось только добиться 301 редирект на главную с несуществующих левых страниц. Надеюсь и эту проблемы решим.
------------------------------
Второй сайт — молодой, чуть более 1 месяца (Веб-страницы: 20 014; Проиндексировано: 12 664)
Ошибок было более 2778, осталось 1866 (это удаленные страницы).
Повторяющееся метаописание: было 7, осталось 2 (это главная и одна еще категория не переиндексировалась).
Длинное метаописание: 0 — ранее были дубли
Короткие метаописания: 0
Тег заголовка Страницы: Мы не обнаружили проблем с тегами заголовка title на вашем сайте — дублей нет
Здесь в robotx.txt закрыты:
Disallow: /page/
Disallow: /*print
------------------------------
Еще не в этой теме, но давно уже ничего нового не публиковали по SAPE. Последняя публикация "7 шагов к получению идеальной ссылки в Sape" опубликована 27 июля 2011. Возможно у вас есть какие нибудь наработки новые с которыми Вы могли бы поделиться с нами?
Замечательно! Живой пример того, что я пишу действительно дельные вещи ;) Спасибо за подробный комментарий!
Так а зачем отдавать 301 редирект с несуществующих страниц? Для этих целей только 404 и ничего страшного, если в панели вебмастера показываются эти ошибки. В рекомендациях того же гугла они на ранжирование никак не влияют. 301 редирект подойдет только тогда, если адрес страницы изменился, а страница не была удалена.
Вашими действиями вы, во-первых, вводите в заблуждение пользователя, который попадает сразу на главную. Во-вторых, посетитель врядли будет искать несуществующий материал с главной и наверняка сразу уйдет, а это уже явно повлияет на ПФ, так как увеличится % отказов, соответственно и на ранжирование.
Не подскажите, у меня стоит движок DLE 9.4, и страница вида site.ru/category1, site.ru/category2 выдает ошибку «The requested URL /news was not found on this server», хотя site.ru/category1/, site.ru/category2/ существуют и все с ними в порядке, редикректы которые вы описывали все сделал, все работает кроме того, что я написал. Это нужно исправлять или так и должно быть?
И вообще, все виды таких адресов без слеша на конце выдают ошибку, в панели вебмастера они помечены как ошибочные, так как на сайте категорий много, то и ошибок в панели яндекса очень много. Как это изменить?
Специально для вашего случая есть пункт во второй части руководства — https://alaev.info/blog/post/2400 — "Устраняем неразбериху с категориями их вложенностью и слешем / на конце".
Огромное спасибо за статью! Уберу большое количество ошибок :)
Скажите, пожалуйста, зачем для полной новости добавлять rel=”canonical” ? Ведь этот тег нужен только в случае, когда на сайте могут быть две страницы с одинаковым контентом, и чтообы поисковику показать, какой странице отдавать предпочтение, и нужно ставить rel=”canonical”. Немного сути не понял...
Ну, во-первых, rel=”canonical” еще никому не мешал и лишним точно не будет.
Во-вторых, он нужен для того, чтобы отсекать страницы с параметрами вида site.ru/news_name.html?param=blabla, хотя в DLE такого и не случается.
В-третьих, я просто рекомендую это сделать, но если вам не надо, то дело ваше.
Яндекс исключает страницы, содержащие rel=”canonical” из индекса.
вот запрещаю индексацию разделов сайта при помощи мета-тега robots, при это мне прийдется все удалить из robots.txt так как там запрещены только вот эти страницы, как поступить лучше оставить так как было или все таки сделать по вашему?
Если бы было лучше оставить все как есть, я бы не писал ничего такого, чтобы сделать все хуже. Читайте внимательно и все поймете.
Спасбо большое очень полезная информация. Не подскажете как полностью убрать название новости и только оставить "id" и чтобы срабатывал редирект на верный адрес?
Что за чушь? Напишите более понятно и подробно, что именно вы хотите получить?
Например на сайте Тип чпу 1, тоесть адрес новости будет "http://site.ru/id-имя новости.html" как можно из чпу убрать "имя новости.html" чтобы чпу был http://site.ru/id/
Это надо переписывать ЧПУ, так что это вы уж как-нибудь сами, лично меня эта идея не заинтриговала, да и не вижу абсолютно никакого в ней смысла.
По умолчанию и так есть редирект на правильный адрес при указанном одном id из всего названия, т.е., например, есть новость по адресу site/cat/34-newsjfsdjfs.html, при вводе site/cat/34, произойдет редирект на site/cat/34-newsjfsdjfs.html.
В принципе все что было описано в этой статье я уже знаю, но все таки нашелся один вопросик...
Скажите пожалуйста нужно ли закрывать метароботсом страницы пагинации?
Это исключительно на ваше усмотрение, хотите закрывайте, а хотите и не закрывайте. Лично я не закрываю.
После этих исправлении, если можно так сказать, индексация моего сайта в google выросла до 97%.
Спасибо всем, особенно АлаичЪ'у, за советы и труды в этой сфере!
В инструкции добавления тега rel="canonical" у меня не совпал код...
На конце у меня так:
$short_link = "";
$link_page = "";
$news_name = "";
Версия дле: Актуальная :)
Ну так перед этими строчками есть код:
} else {
Перед этой строчкой и добавьте.
И еще осле установки, тег выглядит так
<link rel="alternate" type="application/rss+xml" title="" href="" /> <link rel="canonical" href="" />
То есть всё в одну строку. Как с отдельной строки вставить тег?
Необходимо перед строкой добавить \n.
Посмотрите обновленный код в посте.
здравствуйте!
Интересует 301 редирект на главную с несуществующих левых страниц
Пробовал метод, описанный выше, не помогает!
Надо смотреть сам "кривой" url с которого не происходит редирект, там есть свои особенности.
Редирект через .htaccess не сработал, выдало ошибку — невозможно завершить редирект, а при "Редирект для публикаций, у которых отсутствует ID, на главную страницу" выскакивает заглушка 404, а также при "Редирект для удаленных или несуществующих новостей на главную", хм?
И чёт каноникал не добавился, а вот за мета-тега robots респект, а можна через него запретить так, например, есть категория и подкатегории:
сайт/кат-олл/ — запрет индексации
сайт/кат-олл/кат1 — разрешена индексация
сайт/кат-олл/кат2 — разрешена индексация
сайт/кат-олл/кат3 — разрешена индексация
Ну и естественно новости в каждой подкатегории были доступны для индексации, т.к. это не удалось корректно решить через роботс.
Значит что-то не так делали, раз столько проблем вылезло разом. Я, конечно, еще раз сейчас перепроверю у себя, но, скорее всего, это ваша ошибка.
На счет категорий и подкатегорий. Надо сделать так, после строки:
добавить
где X — это id категории в системе.
Условие работает, благодарю.
А вот с остальным ещё поковыряюсь, может что не так делаю.
АлаичЪ, скажите, можно ли как-то ссылки на файл в аттаче (/engine/download.php?id=...) в rel="nofollow" закрыть? А то в robots.txt прописана директива Disallow: /engine/ и в панеле веб-мастера Яндекса постоянно присутсвует большое количество исключенных страниц с такими url. Или не стоит придавать этому большого значения?
Да, закрыть их как-то можно, только у меня нет ни одного сайта, где были бы подобные ссылки, так что подсказать, где и что именно надо исправить не могу.
Конечно, неприятно, что в панели вебмастера висит куча загруженных страниц /engine/, но на ранжирование это не сказывается никак.
Ну на любом сайте можно просто загрузить файл и покрутить с кодом. Ну да ладно :) Я пытался сам найти, но все безрезультатно.
Сейчас в яндексе 641 страница загружена и 241 страница ислючена, все исключенныйе станицы типа /engine/download.php?id=... Очень не приятно!
Если вдруг найдете, как подкрутить, отпишитесь тут.
Что если снять запрет Disallow: /engine/ и посмотреть что будет. Теоретические такие страницы не должны индексироваться поисковиком, так как по сути и не являются страницами. Есть подозрение, что если снять запрет, то эти страницы не будут отображаться в панели вебмастера.
PS Я как раз у себя сейчас с этим экспериментирую.
Верно! Вообще не логично было закрывать от индексации их. Если и запретить индексировать их, то исключительно атрибутом rel="nofollow".
Запрет снял...
Окей. Отпишитесь потом по результатам.
Здравствуйте очень полезная информация на счёт тега rel=”canonical” давно искал способы использовать его в ДЛЕ. У меня вопрос, я заранее извиняюсь если его решение уже было изложено, так как про этот сайт узнал только сейчас и мог не найти ответа. На моём сайте закрыты от индексации страницы вида сайт.ру/page1/ сайт ру/page2/ и так далее, закрыть страницы решил только по причине схожего тайтл , и описания с главной. Возможна ли какая то реализация в движке, при которой эти теги для главной можно было указывать через админпанель в самом движке, а что бы страницы описанные выше брали инфу из самой верхней новости расположенной на этой страницы и соответственно менялись при смене самой новости на более свежую то есть были динамическими? Заранее благодарен!
Добрый день. Ваша идея мне не нравится. Но по поводу настройки тайтлов рекомендую ознакомиться с первой частью руководства — https://alaev.info/blog/post/2373
А почему идея не нравится, считаете оставить запрет на индексацию этих страниц или какая то другая причина?
Просто не нравится. Я считаю, что лучше открыть страницы пагинации к индексации, никакого вреда в этом не вижу. Разве что у вас не совпадает анонс shortstory и текст полной новости fullstory.
Я кстати соглашусь с Артуром, мне кажется Вы его не поняли. Закрывать от индексации столько страниц типа сайт.ру/page1/ сайт ру/page2/ только из за дублирования тайтлов и, возможно части текстов — очень жалко.
Вот Пример сайт онлайн видео: у меня есть "категория 1" и категория1/page1/ ... категория1/page22/ то есть еще 21 страница отличного контента, каждая включает в себя 30 роликов. У каждой из этих страниц категория1/pageХ/ собирается существенный вес, который можно было бы эффективно использовать, а мы их тупо закрываем от индексации только по тому что не реализован вариант уникальных тайтлов и нет возможности использовать [category=х] текст [/category] для /page1/ ... категория1/page22/, что очень ограничивает наполнение уникальным текстом разделов сайта.
То есть идеальным был бы вариант, когда можно было бы менять тайтлы и метатеги для page1/ и для этих страниц можно было бы использовать оператор что то типа [category=х-page1] — это бы существенно могло повлиять на релевантность наших категорий. Шутка ли учитывается вес первой страницы категории, или все 20 страниц категории.
А нельзя ли например в meta-robots страницы пагинации сделать что-то типа
<meta name="robots" content="noindex,FOLLOW" /> да бы в индекс не включался, но и вес не терялся?
Вес потеряется в любом случае, если страница запрещена к индексации.
Редирект для публикаций, у которых отсутствует ID, на главную страницу — https://alaev.info/post/3294#tolist_04
Редирект для удаленных или несуществующих новостей на главную — https://alaev.info/post/3294#tolist_05
Никак не прикручу, не хочет работать, всё делал чётко по инструкции, несколько раз перепроверял, но никак :(
Пиши на почту с указанием страниц и т.д., будем разбираться.
Вот такой вопрос сегодня задали на dle-faq.pro (не реклама):
------------------------------
Мне понадобилось снова отправить на модерацию новости, которые уже были опубликованы и проиндексированы поисковиками. Совсем удалять их не хочу, просто через некоторое время подкорректировать и снова опубликовать. После того, как сняла новости с публикации, обновила xml-карту сайта, отправила поисковикам, они ее скушали.
Ну, думаю, все в порядке, снятые с публикации новости потихоньку выпадут из индекса, чтобы люди не приходили из поиска на пустые страницы. А сегодня смотрю логи — роботы спокойно гуляют по страницам снятых с публикации новостей, им отдается ответ 200.
Скажите пожалуйста, разве страницы снятых с публикации новостей не должны отдавать ответ 404? И сами собой эти страницы не выпадут из индекса?
-------------------------------
Я даже как то и не думал, что отправленные на модерацию новости отдают 200...
Да, кстати, я у себя такую же фигню заметил :( Раньше не было такого, на ранних версиях, а на более новых появилось. Надеюсь в новой версии исправят.
Пишу опять по поводу атрибута rel="nofollow" в ссылках на аттач.
На dle-faq помогли закрыть ссылки, но и заставили задуматься, делать ли мне это... Не отнимаю ли я вес страницы, закрывая внутриненние ссылки от индексации? Хотя с другой стороны дико выглядит, когда в яндекс.вебмастер показывает структуру сайта, где engine/ составляет аж 36%.
А чего тут задумываться, закроешь ты их или нет, вес одинаковый со страницы "утечет". Тут выходов не много — или убрать эти ссылки вовсе или оставить как есть, хотя можно и просто скрыть их от гостей, но это зависит от политики сайта.
Забавно то, что после того как я убрал директиву Disallow: /engine/, все не нужные ссылки выпали из индекса яндекса. Пропали те 36% engine/ из общей сруктуры сайта... Нет огромного списка исключенных страниц.
Вывод: Не нужно в robots.txt запрещать то, что по сути и не может индексироваться — /engine/ ;)
P.S. А ведь везде, где якобы правильные robots.txt, engine закрыт от индексации... о_О
Ну а я о чем говорил =)
В сегодняшний АП все страницы /engine/ вернулись... Как быть теперь? :)
Плюс ко всему, теперь большое количестов не сообщений об исключенных страницах, а "Формат документа не поддерживается". Мне кажется, что это гораздо хуже :)
Хм, ну что ж, видимо захотелось Яндеку их проиндексировать.
То, что в панели показываются эти предупреждения, никак не сказывается на качество ранжирования.
Здравствуйте, спасибо огровное за статью!
В DLE 9.5 в файле .htaccess не нашел след. строк:
RewriteRule ^([^.]+)/([0-9]+) — (.*).html (/?)+$ index.php?newsid=$2 [L]
RewriteRule ^([0-9]+) — (.*).html (/?)+$ index.php?newsid=$1 [L]
Как быть?
Обновил пост, смотрите. А вообще можно было бы догадаться и внести изменения самому по шаблону :)
Также в файле engine.php не нашел
if (! $category_id) $category_id = 'not detected';
Все там есть, пробуйте включать фантазию и искать не по всей фразе, а по ее части, так как пробелы в некоторых местах могут стоять, а могут и отсутствовать!
Здравствуйте Многоуважаемый Разработчик, Программист!
Без ума от Вашего блога, предыдущего поста (дубли, где три ссылки на одну новость и слэш у категорий, всё сделал, всё СУПЕР) здесь тоже все пункты сделал кроме ПОСЛЕДНЕГО.
Цитирую тему раздела здесь "Редирект для удаленных или несуществующих новостей на главную" ну нету у меня в /engine/modules/show.full.php этого кода. А мне этот пункт ой как нужен! Будьте так любезны помогите пожалуйста! Версия DLE 9.5
Заранее Вам буду Безумно Благодарен!!!
Всё сделал! Простите, пожалуйста, за беспокойство. Дело в том, что делал махинации перед этим на http://angelys.ru/optimizaciya-sayta/17-delaem-svoyu-stranicu-oshibok-404-na-dle-datalife.html, а именно пункт:
Поэтому и не мог найти код, но я заменил его на Ваш и у меня работает вроде, вместо удаленной новости главная сразу появляется. Вот только не знаю правильно ли я сделал, что создал 404 страницу.
О Господи, теперь не работают обычные новости все:
«Неверное перенаправление на странице.
Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.»
А как избежать бесконечное количество дублей site.ru/page/99999999/ (где девятки можно сколько хочешь прописывать и везде будет главная страница БЕЗ редиректа, в адресной строке будет полный адрес с девятками). Редирект нельзя поставить ни как?
Заранее спасибо огромное!
Смотрите самый первый пункт данного поста, там как раз про это и говорится.
В том то и дело, что стр. page 435 (наобум вбил, всего у меня 11 страниц на сайте) редирект на 11 идёт, вбиваю 999 редирект на 11 идет, а если больше девяток ставлю то редирект уже НЕ идет. Друг сказал, что враги могут ссылок на блоге любом наставить, к примеру site.ru/page/999999 а ПС их проиндексирует и зачтет как дубль главной.
В общем, съёзно говорю, что на длинные большие цифры редирект не срабатывает. А так всё СУПЕР!!! ВЫ ГЕНИЙ своего дела!!! Я прочел сделал вывод, что Ваши пункты заменяют 404 стр и 404 к черту НЕ нужна. Вместо ошибки ПС будет главную видеть всё время и, полагаю, мои полугодичные удаленные страницы в ПС наконец-то удаляться.
СПАСИБО ЗА ТО ЧТО ВЫ ДЕЛАЕТЕ! УСПЕХОВ ВАМ!
И про редирект http:/сайт>ru/page/9999999 и наберите тоже самое но с МИНУС одной девяткой, проще говоря меньше 7 девяток редирект работает, а если больше то нет!
Мой домен знаете, просто подставьте его, то что мы обсуждали, что враги могут ссылок наделать на говно сайтах созданных, чтобы ПС дублей засчитали до фига.
Это бред =) Никто не станет так делать, кому вы нужны (Не в плохом смысле, разумеется)? У вас сайт с миллионом посетителей, миллиардной выручкой, у вас много завистников и врагов, вы мешаете им жить? Если нет, то успокойтесь, врагам вы не нужны!
Если вы поставите 301 редирект с несуществующих категорий на главную страницу (решение описано в этой теме АлаичЪем), то при очень большем номере страницы будет происходить 301 переадресация на главную. Видимо ДЛЕ подобние страницы уже не воспринимает как подстраницу категории, а считает их отдельной подкатегорией.
Нет, это вряд ли, так как маркером тут является page/ в адресе. Просто слишком большое количество знаков выходит за диапазон допустимых значений поля в БД.
Главное, что происходит переадресация, а не возникает дубль главной страницы, как писал Дима.
Будьте так добры, скажите, пожалуйста, как мне быть: у меня на главной странице всего ОДНА страница! Модуль популярные показывает 10 новостей, а движок думает, что 11 и у меня 11 дублей из за этого — page/1, page/2 и таких 11, потому что все выглядят как главная.
Надо чтобы редирект был чисто на главную, без всяких /page
Заранее Вам Безумно Благодарен!!!
Я попробовал ваш способ. Всё класс! Оживил множество ссылок.
Только вот остались не оживлённые ссылки на теги например:
Если бы ещё с этой проблемой разобраться было бы вообще.
Но и за это спасибо, хороший у вас блог, помогаете людям!
У меня появились проблемы, которые я сразу не заметил. При изменении engine.php, я имею виду для публикаций у которых отсутствует ID:
Изменил это:
на это:
На сайте пишет такое:
Parse error: syntax error, unexpected $end in /home/sniffyyy/public_html/engine/engine.php on line 836
В engine.php у меня это выглядит вот так:
Ещё одна проблема с изменениям файла htaccess. это для ссылок неправильных окончаниях. Когда я меняю строку:
на строку:
При просмотре полной новости браузер открывает окно где написано следующее:
Вот все мои проблемы, много правда я вам написал. Но по моему проблемы не такие и сложные. Спасибо за внимание!
О чём я Вам и писал тогда!!! Я полностью поддерживаю arsenaleli, я же писал , что у меня таже проблема (Редирект со ссылок с лишними символами или неправильным окончанием на верные адреса):
При просмотре полной новости браузер открывает окно где написано следующее:
Неверное перенаправление на странице
Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.
Разумеется будет ошибка, там надо НЕ ЗАМЕНЯТЬ, а ДОБАВИТЬ ниже.
С .htaccess известная проблема, описанные мной "махинации" для 9.3 и выше не подходят :(
Помогите пожалуйста появились такие вещи вообще не знаю как их исправить
site.com/page/1.../любая категория/ — вот любая категория нафиг не нужна, как ее удалить, т.е сделать редирект на главную?
site.com/category/page/1.../любая категория/ — и при таком варианте тоже бы нужен редирект.
Прочитайте вторую часть руководства, там как раз подобные проблемы разбираются.
Всё что там написано сделал, все равно движок отдает такие страницы, движок 8.5.
Добрый день!
rel=”canonical” все отлично работает!
Я так понимаю что теперь поисковик не будет обращать внимание на частичное дублирование контента из краткой новости.
А считаются ли элементы навигации и просто блоки сайта повтором? Ведь они на всех страницах. И на двух разных страницах с атрибутом rel=”canonical” тоже будет такое дублирование. Тоесть как робот определит действительно релевантную страницу? Может неправильно задал вопрос, но надеюсь вы понимаете о чем я :)
Наличие rel=”canonical” никак не влияет на понимание поисковиками текста полной новости и ее анонса на страницах категорий. Так что частичное дублирование никуда не денется, разумеется.
Элементы навигации и сайдбары — это сквозные элементы, отношение к ним у поисковиков особенное, они прекрасно понимают, что все это есть блоки навигации и они сквозные.
rel=”canonical” нужен для того, чтобы поисковик понял, какая страница основная и предпочтительная (при этом предполагается, что на обоих страницах содержится rel=”canonical” и в его содержимом указан какой-то один url, одинаковый для двух рассматриваемых страниц).
Здравствуйте,
Не могли бы Вы, пожалуйста, подправить пункт "Редирект с несуществующих страниц пагинации на правильные и существующие" под дле 9.6 ?
Хак то работает, но не полноценно, то есть в не зависимости 2 страницы или 200, хак кидает на саму категорию, а не на последнюю страницу.
Недавно код обновлял — обновитесь. Но я на 9.6 не тестировал, я себе еще не ставил 9.6 версию.
Будет ли добавлен редирект с несуществующих страниц пагинации на правильные и существующие для DLE 9.6?
Так как предыдущий на DLE 9.6 работает не корректно.
Смотрите новый пост — https://alaev.info/blog/post/3513
Редирект для публикаций, у которых отсутствует ID, на главную страницу.
Это не работает в DLE 9.6 , как исправить ?
Не знаю пока, разберемся со временем.
Подскажите, как можно сделать редирект страниц вида
site.ru/2007/
site.ru/2007/06/
site.ru/2007/06/22/
на главную, но чтобы страницы вида site.ru/2007/06/22/страница.html это не затронуло?
Без проблем!
Открываем engine/engine.php и находим:
// ################ Новость целиком #################
Выше добавляем:
Здравствуйте! Спасибо за ответы на предыдущие мои вопросы. Очень помогли.
Вот появился еще один вопрос. Еще раз перечитал вашу статью, пробежался по комментариям, но вроде как ответа не нашел. Если уж повторяюсь, то извиняйте.
У меня на сайте ЧПУ вида http://сайт.ru/2012/04/19/страница.html, версия движка 9.3
В Яндексе все впорядке, а вот в Гугле почему-то для каждой страницы 100% дубль такого
вида http://сайт.ru/категория/id-страница.html, хотя ссылок на сайте на такие страницы нету.
Так вот вопрос,
как можно сделать редирект со страниц http://сайт.ru/категория/id-страница.html на http://сайт.ru/2012/04/19/страница.html (на случай если кто-то на них уже ссылается),
а также закрыть в метатегах страницы http://сайт.ru/категория/id-страница.html от Гугла?
Посмотрите новый пост — https://alaev.info/blog/post/3513, возможно те правки помогут. Не забудьте прочитать комментарии к тому посту, чтобы быть готовым к возможным проблемам ;)
Спасибо за информацию, но очень неплохо было бы оптимизировать и этот цикл советов :) Установил себе DLE9.6, и вот теперь сижу гадаю, что уже не нужно исправлять, а что еще нужно поправить... Как удобно было бы прочитать все это в отдельных разделах, заточенных под разные версии DLE, а не сортировать по зернышкам.
Нет, разделения по версиям не будет, это точно.
Просто проверьте наличие ошибки по шаблону — если есть, значит надо вносить правки, если само исправляется, значит не надо.
Александр, Вы просто профи. Второй раз за неделю попадаю к вам из поисковика. Причем первый раз на вторую часть статьи — искал как оптимизировать .htaccess, а сегодня на третью. Хотел закрыть в профиле зарегистрированных пользователей ссылки, а в итоге с помощью мета закрыл намного больше. Спасибо за статьи, снимаю перед Вами шляпу!
Спасибо за познавательные статьи, очень помогли. Но вот вопрос, а стоит ли закрывать "Краткую новость" от индексации, если она дублирует полную новость( правда не полностью) Если стоит то как, это сделать?
Нет, не стоит.
А я наоборот специально месяц назад убрал все краткие новости, потому что дублировали они частично полные.
Оставил в них только постеры. Да и админ FreerutorCOM вообще списком выводит краткие (без описания) как на руторе, считает что дубли иначе будут.
Кстати на DLE 9.6 замечательно все пункты работают на УРА!! ПРОВЕРЕНО ЛИЧНО!! (кроме конечно "Редирект со ссылок с лишними символами или неправильным окончанием на верные адреса" )
Тут все зависит от формата сайта. Цель краткого анонса — заинтересовать посетителя, чтобы он перешел на просмотр полной новости.
На счет редиректа с лишними символами — я вчера опубликовал 4ую часть уроков специально под новые версии DLE — https://alaev.info/blog/post/3513
Привет! У меня такой вопрос. Я воспользовался вашим способом закрытия от индексации.
Проблема в date, который закрывает от индексации такие страницы как site.ru/2007/ или site.ru/2007/06/ или site.ru/2007/06/22/. У меня всё правильно сделано, я установил коды так, как у вас объясняется:
Но в поиске яндекса всё ещё появляются такие страницы как site.ru/2007/06/, а главное в том, что таких страниц %60-%70. Если можно подскажите как ещё можно закрыть их от индексации. А то такие страницы в поиске не очень привлекательны.
Надо подождать пока Яндекс выкинет эти страницы, это может занять до 1 месяца по времени. Так же важно не закрывать эти страницы в robots.txt
Версия движка 8.5. Сделал полную сео оптимизацию согласно ваших частей 1,2,3. Все работает на ура, но вот проблема с категориями которые начинаются на числа ( у меня это 2010, 2011, 2012-god). Почему то при нажатии на них меня стало перебрасывать в другие части сайта ( не по назначению). Подскажите в чем причина. С уважением к вашему труду, Андрей...
Понял в чем причина — Редирект со ссылок с лишними символами или неправильным окончанием на верные адреса (3 часть сео оптимизации).
Но так и не разобрался как исправить.
АлаичЪ — объясните пожалуйста этот момент — * Самый важный момент — при закрытии от индексации страниц описанным методом, необходимо убрать запрещающие правила в robots.txt для страниц и разделов, которые мы закрыли при помощи мета-тага. Иначе никакого смысла не будет.
Желательно с примерами!
А чего тут понимать то?
Если вы, например, добавили <meta name="robots" content="noindex"> для страниц профилей юзеров, типа site.ru/user/myname, то в robots.txt нельзя прописывать директиву Disallow: /user
Понятно?
Как делать понятно, не понятно почему вы так считаете, если яндекс сам пишет — "Для любой поисковой системы абсолютно не важно, каким образом вы указываете команды для индексации, в файле robots.txt или в метатеге robots, а вот если вы в разных случаях используете противоречащие друг другу команды, например в файле robots.txt страница запрещена к индексации, а вы вручную проставляете мета тег со значением "all" или наоборот, то поисковый робот учтет более строгую команду и это всегда будет noindex, т.е. робот учтет запрещающую директиву и не будет индексировать страницу. Поэтому будьте внимательны, если одновременно используете на сайте оба варианта robots."
Почему и исходя из чего я так считаю, написано в отдельном большом посте, ссылка на который дана выше — https://alaev.info/blog/post/3013 — прочитайте, все вопросы пропадут.
Привет! У меня такая проблема на ссылках с тегами, например:
http://site.ru/tags/%EF%EE%F0%ED%EE...%D0%BD%D0%BE%20%D0%BD%D0%B0%20site.ru
http://site.ru/tags/%E1%EE%EB%FC%F8...%BD%D0%BE%20%D0%BD%D0%B0%20site.ru
http://site.ru/tags/Aria/
http://site.ru/tags/Romana/
Гугл пишет код ответа 404. Таких ссылок у меня около 1000. Можно ли каким нибудь способом оживить их, чтобы происходил редирект на главную страницу?
А теги вообще нужны на сайте?
Можно прописать 301 редирект на главную, но только тогда все теги будут редиректиться, а не только битые.
Для этого надо добавить в свой .htaccess строку
Например, сразу после строки RewriteEngine On
Я попробовал ваш вариант, но появляется такое окно с ошибкой:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@pornogods.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/0.9.8e-fips-rhel5 DAV/2 mod_bwlimited/1.4 Server at сите.ру Port 80
Возможно неправильно код вставили, так как в комментарии выше он появился с пробелом. Сейчас я оформил его по другому, попробуйте еще раз.
Работает! Спасибо!
Сделал все преобразования написанные в статьях, и перестали отображаться картинки на сайте. При прямом обращении к картинке происходит редирект на главную страницу.
Сайт на ДЛЕ 9.6, пока находится на локальном компе.
Редирект происходит из за строчки в .htaccess
RewriteRule ^([^.]+)/([0-9]+) — (.*)$ index.php?newsid=$2 [L]
Как поправить это дело?
Добавьте перед этой строчкой вот эти две:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Попробуйте и сразу отписывайтесь!
Добавил эти 2 строчки и картинки заработали.
Спасибо.
Супер! Спасибо, что протестировали вариант!
На сайте онлайн кинотеатра для доп. "Актеры" и "Режисеры" стоит настройка "Использовать значения полей как перекрестные гиперссылки". При клике на актера "Уилл+Смит", открывается страница http://site.ru/xfsearch/Уилл+Смит/, где отображаются все вильмы с его участием.
Нужно ли закрывать от нидексации такие сраницы методом добавления срочки:
$do == 'tags' OR в выше описанном методе?
Можете закрывать, только для этого надо будет писать не
$do == 'tags' OR
, а$do == 'xfsearch' OR
.Именно это я и имел ввиду. Под утро уже невнимательно писать стал.
Title у страницы становится "Именем актера", а вот description и keywords берутся от главной страницы.
Получается совсем плохо. Получается 2 варианта:
1. Ковырять движок и делать уникальное описание и ключевые слова, плюс выводить хотя бы имя актера на самой странице.
2. Закрывать от индексации.
Первый вариант, я так понимаю труден в реализации. Может кто то уже делал такое?
Да в принципе-то не трудно сделать уникальные описания и ключевые слова.
Открываем engine/engine.php
Находим:
Заменяем на:
И снова здравствуйте! можете подсказать, как убрать такие вот ссылки http://сайт.ru/page/,fffturftuyfgkiuyugh77-pora-piti-pivo.html. При наборе такой ссылки редиректит на главную, но ссылка остается эта.
Где эта ссылка остается?
В браузере остается, не редиректит с http://сайт.ru/page/,fffturftuyfgkiuyugh77-pora-piti-pivo.html на http://сайт.ru/77-pora-piti-pivo.html
Совсем нетипичная ошибка. Некоторые ошибки не поддаются исправлениям, эта из их числа.
Если вы эту ошибку сами искусственно придумали, то можно не волноваться, а если она взята из панели вебмастера Яндекса или Гугла, то тогда уже можно что-то предпринимать.
АлаичЪ спасибо за помощь! И есть еще проблемка, как такое может быть, что яндекс индексирует только страницы, которые выводятся на главную. Может редирект какой стоит не тот.
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteRule ^page/(.*)$ index.php?cstart=$1 [L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ / [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
Заранее спасибо!
Ну мало ли, вдруг сайт под АГС попал, или еще какая беда случилась.
Если походить по сайту и все страницы будут открываться так, как им положено, и никаких аномалий не будет замечено, значит с сайтом все в порядке, соответственно, и Яндекс сможет так же перемещаться по сайту.
Следовательно у вас проблема в любовных отношениях с Яндексом...
А как с таким ссылками бороться
http:/......ru/soft/multi/55623-joboshare.html#7783567
Или ссылки (после знака "#") игнорируются?
Поставил 301 редирект на главную с несуществующих левых страниц, не помогает.
С такими ссылками не надо бороться. Решетка # и все, что идет после нее, называется якорем, и не является какой-то самостоятельной отдельной ссылкой.
Ок. Спасибо.
В общем можно подвести итог — Сайт DLE 8.3, после применения ваших советов в веб-мастере Google:
"Ошибки сканирования: За последние 90 дней ошибок не обнаружено."
"Оптимизация HTML: Ошибок не обнаружено."
Не под фильтром 98% страниц.
Отлично! Спасибо, АлаичЪ.
Здравствуйте. Установил ДЛЕ 9.6 и в гугле вижу 404 ошибку и ссылку http://мой сайт/xfsearch//page/2/. Что посоветуете сделать?
Видимо используете дополнительные поля. Я их не использую. Но а в итоге то что хочется получить? Какая ссылка правильная будет?
Да, использую дополнительные поля. Они обе неправильные, и от куда они взялись сам не знаю. Может редерикт поставить на перенаправление?
Какие обе, если вы только одну мне ссылку дали?
Я могу подсказать как сделать 301-редирект со ссылок начинающихся с http://site.ru/xfsearch/ на просто http://site.ru/
По поводу двух ссылок, прошу прощения
Буду очень рад если подскажите.
Как бы еще сделать, что бы robots" content="noindex,nofollow добавлялсяи в профили пользователей?
Читайте пост, там все написано.
Все, недосмотрел, что и у профилях стоит noindex,nofollow. Просто по какой-то причине гугл начал индексировать профиль.
Имеются ссылки на сайт вида http://site.ru/load/11-22-33 Как можно осуществить переадресацию на главную страницу?
RewriteRule ^load/(.*)$ http://site.ru/ [R=301,L]
Спасибо. Помого :)
АлаичЪ, у меня тоже проблема, непонятно откуда появилось несколько тысяч ссылок вида
hd-films-online.net/drama/page,1,559175,309-belye-irlandskie-pyanicy-smotret-onlayn.html ссылку оставляю, чтоб ты мог посмотреть. Я уже не знаю что делать.
Хм, попробуй внести правку "Устраняем проблему с дублированием полной новости по разным адресам" из этого поста https://alaev.info/blog/post/2400 вне зависимости от версии движка.
АлаичЪ ОГРОМНЕЙШЕЕ СПАСИБО!!!!!!)))))))))) Я не знаю откуда эта проблема взялась, у меня есть подозрения, что меня из за нее Гугл под фильтра загнал, вить не нормально, когда на сайте 400 страниц уник контента, и 6000 страниц дублей... Посмотрим после индексации, может что-то изменится. Р Э С П Э К Т!))))
Стало быть помогло, раз респект, да?
Откуда проблема и для меня загадка, ты не первый, кто обращается с такой фигней...
Для 404 ошибок лучшее решение это грамотно оформленная страница 404, но не в коем случае не редирект на главную, иначе санкций не избежать. В интернете море статей на эту тему и лучше новичков посвящать по этому поводу чтобы позже не было вопросов почему яндекс забанил и т.д.
Все зависит от ситуации, так что не надо так категорично заявлениями кидаться.
Есть у вас хоть один пример получения сайтом санкций за редиректы с ошибочных страниц на правильные?
Раз уже зашел разговор о редиректе, в чем может быть причина, когда при наборе урла сайта + абра-кадабра выводится просто пустая страница, вместо ошибки? Исправил вышеописаным редиректом на главную, но после коментария стреманулся о_О...
Что значит просто пустая страница? Белый экран? Посмотрите через сервис Яндекса http://webmaster.yandex.ru/server-response.xml что сервер отвечает на введенный урл, и все станет ясно.
В смысле отображается страница только без контентного блока, он пустой. Уже редирект 301 работает, так как сделал изменения указанные выше. Спасибо за советы.
Редирект ошибочных страниц на правильные это супер! Я имею ввиду конкретные страницы 404, которых на сайте больше не существует. Для них лучше не делать редирект на главную, а оформить 404 страницу согласно рекомендаций ПС с поиском по сайту и ссылкой на главную.
Ну вот это да, правильно, не спорю. Но судя по статистике, намеренное удаление страниц, это не частое явление. А тем более если говорить про движок DLE, то тут 404 ошибки возникают лишь по причине глюков движка.
Здравствуйте. Я вот сделал изменения с этими редиректами, теперь у меня при переходе на любую полную новость загружается главная страница. Не подскажете в чем дело? Заранее спасибо за ответ.
PS. Причем загружается url данной новости (а не просто домен), но открывается главная страница.
Причина в том, что накосячили где-то. Где именно, не знаю. Так что проверьте еще раз все правки. Попробуйте все отменить и проделать заново...
Все я нашел проблему — https://alaev.info/blog/post/2400 Склеиваем адреса страниц /page/1/ с основными адресами для главной страницы и категорий.
Вот здесь я вернул все обратно, теперь работают полные новости.
Спасибо, очень помог ваш пост, смог реализовать то что давно хотел но не мог. Низкий поклон.
У меня один может быть глупый но интересующий меня вопрос:
Можно ли в мета-теге <meta name="robots" content="noindex,nofollow" /> Nofollow сделать Follow да бы робот не брал в индекс эту страницу но мог переходил дальше по страницам. На сколько это правильно?
Заранее благодарю.
Конечно, можете заменить как захочется. При этом робот будет переходить по ссылкам, но вес передаваться не будет. Именно по этой причине я использовал nofollow. Хотя это может быть полезно разве что в вопросе скорости индексации.
Можно ли как в случае "Редирект с разделов или категорий, которых больше не сущестувет, на главную страницу или Редирект для удаленных или несуществующих новостей на главную" получить редирект с удаленных тегов на главную(а то гугл вебмастер заполнен ошибками из-за удаленных тегов)
Заранее Благодарю.
А давайте попробуем, мне самому интересно. Проделать надо следующее.
Открываем engine/engine.php
Находим:
ВЫШЕ добавляем:
После проверки отписывайтесь, я буду ждать.
Спасибо за ответ, но не сработало почему-то :(
Александр, у вас есть какие-то другие варианты как реализовать такое?
Пока нет :(
Жду с нетерпением решение этой проблемы.
Здравствуйте, прошло очень много времени, наверно вы уже смогли разобраться и придумать как можно решить задачу с редиректом удаленных тегов на главную?
Нет, я не разбирался.
Вот еще не понятно как оптимизировать.
В категории выводятся короткие новости, а в них ссылки на профили пользователей, передающие вес. И автора убрать нельзя и лишняя ссылка на странице пользы не приносит. Че делать?
Почему нельзя? Я у себя в коротких новостях автора убрал.
Даже если на такое пойти то в полной новости какой-то редирект ставить нужно?
Я о ссылках на профиль пользователя из полной новости.
Если у него новостей много значит много ссылок вникуда?
Ну если хотите удалите автора и в полной новости.
Я у себя сделал так, что автор отображается текстом, а не ссылкой для гостей. Для зарегистрированных юзеров все отображается ссылками ;)
Как это сделать расскажу в одном из следующих уроков по оптимизации ДЛЕ.
Здравствуйте, вы писали, что расскажете (автор отображается текстом, а не ссылкой для гостей. Для зарегистрированных юзеров все отображается ссылками) в одном из следующих уроков по оптимизации ДЛЕ.
Я искал, но что то не нашел...
Не могли бы вы сейчас рассказать как это реализовать?
Спасибо!
Замените {author} на {login} :)
Спасибо! Сделал как вы написали: "Замените {author} на {login}", но тогда (DLE 9.6) и для гостей, и для зарегистрированных я тоже текстом почему то... не подскажете как исправить?
[group=5]{login}[/group][not-group=5]{author}[/not-group]
Спасибо! Все отлично работает, как и все ваши советы по оптимизации Dle...
АлаичЪ, протестировал на DLE 9.6 вот этот пункт: Редирект с несуществующих страниц пагинации на правильные и существующие — теперь, при наборе несуществующей страницы на главной — перекидывает на главную страницу сайта (site.ru/page/27/ на страницу site/ru), а задумка то была на последнюю существующую страницу. В разделах по другому, перекидывает на первую страницу раздела (site.ru/video/page/22/ на site.ru/video/).
Я думаю это не страшно, просто решил поделиться протестированным на DLE 9.6, так как у вас в начале поста было сказано не тестировалось на DLE 9.6. Думаю пригодится для информации.
Хм. Окей, спасибо, разберемся с этим делом.
АлаичЪ, протестировал то же самое и на dle 9.7 — тот же результат. Посмотри пожалуйста в чем дело?
АлаичЪ, такой вопрос, если выполнить "Запрещаем индексацию разделов сайта при помощи мета-тега robots", в коде страницы же должны появиться эти самые мета теги? Сделал все как описано, но у ссылок не наблюдаю этих тегов =/
Да, теги должны обязательно появиться в коде, только так можно понять, что правки сработали.
Но причем тут ссылки?
В вебмастере появились дубли, после открытия страниц пагинации к индексации
site.ru/page/22/
site.ru/page/22/site.ru/
site.ru/page/15/
site.ru/page/15/site.ru/
site.ru/page/23/
site.ru/page/23/site.ru/
и так далее, как их закрыть?
Прописать в robots.txt следующую строку:
Disallow: /*/site.ru
АлаичЪ, такой вопрос, если выполнить "Запрещаем индексацию разделов сайта при помощи мета-тега robots", в коде страницы же должны появиться эти самые мета теги? Сделал все как описано, но у ссылок не наблюдаю этих тегов =/
А у меня нет этих самых мета тегов. Значит не работает?
Разобрался. Все теги на месте.
Добрый Вечер, меня интересует такой вопрос, возможно ли для страниц пагинации задавать определенный title и как это реализовать.
Допустим, Страница http://site.ru/category/ = имеет Title = Сурки
А для страницы http://site.ru/category/page2/ = Title = Веселые сурки
И т.д
То есть для каждой страницы задать title вручную
Заранее благодарен.
Не знаю, как это сделать, да и не вижу никакого смысла в этом. А вам это зачем, поясните скрытый смысл?
Запретил индексацию раздела ($do == 'lastnews' OR) сайта при помощи <meta name="robots" content="noindex,nofollow" />
и при наборе http://site.ru/lastnews/ , индексация действительно запрещена, но вот беда на http://site.ru/index.php?do=lastnews/ не действует!
Оказывается все дело в последнем слэше на конце http://site.ru/index.php?do=lastnews/
Яша уже проглотил эту ссылку и выдает как дубль с главной. Подскажите что делать?
Запретите эту страницу в robots.txt таким образом:
Disallow: /index.php?do=lastnews/
Здравствуйте, я у себя в вебмастере гугла нашел такого типа ссылки /action-online%3E , при переходе по них, %3E трансформируется в этот знак > и на пустой странице появляется сообщение: Hacking attempt!
Вы не подскажите, как правильно их прикрыть и как вообще с ними бороться. Я заметил, что это, в основном, уже давно удаленные категории и разделы.
Также, у меня в наличии вебмастере гугла имеется несколько страниц такого типа http://мойсайт.ru/&post=158571125_329, являющиеся дублями главной страницы. Откуда они могли взяться и как их эффективнее прикрыть? Буду признателен за помощь.
И еще одна наводка-вопрос. Не планируете ли вы выкласть подробную инструкцию по особенностях работы с микроразметкой на дле и есть ли они, эти особеннности? Я пробовал самостоятельно сделать сниппет под гугл, но у меня ничего не вышло:(. Вот, почему-то про Вас вспомнил.
Страницы вида http://мойсайт.ru/&post=158571125_329 и подобные берутся из-за ссылок с соц сетей, в данном случае это из Вконтакте такая фигня, у меня такие же страницы есть.
Решений тут несколько: Первое — прописывать rel="canonical" для всех страниц сайта. Второе — закрыть в robots.txt, прописав Disallow: /&post=
И еще — нет такого слова "выкласть", есть слово "выложить" :) Нет, не планирую, слишком уж это вкусная тема, чтобы ее рассказывать всем!
Спасибо за ответ.
Прошу прощения за недоскональное знание русского, мой родной — украинский, поэтому иногда случаются такие "перлы". А со снипетом самому удалось решить вопрос. Действительно впечатляюще смотрится:)
Такая проблема получилась. При разбивки статьи на страницы {PAGEBREAK} переход по ссылки "Следующая страница" не осуществляется.
Подскажите пожалуйста, это где я на касячил или из-за редиректа получилось?
Это однозначно из-за какого-то редиректа, и не исключено, что накосячили где-то. Так что предлагаю откатить изменения и снова их постепенно вносить. При этом после каждого изменения проверяйте работу всех ссылок. Когда выясните из-за чего происходит сбой, сообщите, будем разбираться.
Вообщем разобрался, ошибка была в файле show.full.php.
Устраняем проблему с дублированием полной новости по разным адресам.
Вместо вашего кода, был вставлен, взятый с другого сайта
$true_link = $config['http_home_url'] . substr ($_SERVER['REQUEST_URI'], 1);
if (intval ($_REQUEST['cstart']) >= 2) {
$comments_link = $link_page . intval ($_REQUEST['cstart']) . "," . $row['alt_name'] . ".html";
}
if (($true_link != $full_link) and ($true_link != $comments_link)) {
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: ' . $full_link);
die ();
}
Этот убрал, вставил ваш, теперь разбивка страниц работает. Спасибо.
Здравствуйте Александр. Действительно Вы пишите ценнейшую информацию. Огромное Вам за это спасибо. Однако прочитав эту статью и про файл robots.txt осталось некоторое недопонимание вещей. Скажите пожалуйста как я понял из ваших постов, то для гугула использование meta name="robots" целесообразней чем robots.txt, но вот что с яндексом. Как я понял Вы писали что он не особо обращает внимание на meta name="robots". Что делать прописать запрет в robots.txt но только для робота яндекса?
Вы все не так поняли. Я не буду снова вдаваться в механизм работы этих директив, но скажу так — для Яндекса нет никакой разницы между используемыми вариантами в конечном итоге. Таким образом делаем вывод — чтобы угодить и Гуглу и Яндексу одновременно, надо использовать meta name="robots".
Уважаемый АлаичЪ, извиняюсь если уже обсуждалось, можно ли как нибудь так же метатегом закрыть все категории на сайте? Именно сами страницы категорий но не новости к которым они относятся. Спасибо!
Да, можно закрыть и категории. Кусочек кода такой: $do == "cat"
АлаичЪ, можно ли метатегом закрыть категорию и под категорию на сайте?
Только что выше написал решение :)
Категория ФИЛЬМЫ под категория ФАНТАСТИКА — закрыть надо полностью под категорию ФАНТАСТИКА (вместе с публикациями)
То есть надо закрыть только одну единственную категорию и все, а остальные оставить для индексации?
Тогда надо использовать конструкцию
($do == "cat" AND $category_id == "123")
Где 123 — это id категории.
Спасибо
Алаичъ, помогите, пожалуйста!
Есть сайт на DLE 9.4 под Пингвином. Нашел методику по выводу сайтов из-под фильтра, там надо сделать главное зеркало на новом домене.
Мне непонятны такие моменты:
— на всех страницах старого сайта прописать canonical тег на такую же страницу на новом;
— в файле htaccess делаем 301 редирект со всех страниц старого домена на все страницы нового домена.
Подскажите, плиз!
Надо будет для старого сайта прописать в файле .htaccess следующее:
Больше ничего делать не нужно.
Еще вопросик.
При разбивки статьи на страницы, rel=”canonical” на страницы №2 показывает ссылку на главную новость. Получается что ПС будет считать 2 страницу дублем первой?
Или я не так понимаю функцию тега rel=”canonical”?
Да, так и было задумано изначально. Поисковик, попадая на вторую страницу, будет понимать, что основная первая, т.е. та, которая указана в теге rel=”canonical”. Таким образом вторая страница не будет проиндексирована. Если вас это не устраивает, придется от использования rel=”canonical” отказаться.
Или отказаться на разбивку статьи на страницы. Хорошо, спасибо.
Все верно, рекомендую отказаться от разбивки на страницы.
Здравствуйте, подскажите пожалуйста, как закрывать отдельные страницы, например site.ru/prava.html тегом <meta name="robots" content="noindex">
Версия 9.5. Заранее благодарен за ответ.
В версии DLE 9.6 появилась такая возможность — вот и повод обновиться :)
Ужасно полезная статья. Особенно баг фикс с комментами мне был интересен. Перечитаю пару раз этот пост.
Хочу добавить еще одну багу в DLE 9.2
Уже который год висят в индексе стринички типа
http://site.ru/index.php?do=cat&category=detalimashin
http://site.ru/detalimashin/
(Реальная категория: http://site.ru/vuz/specialnost/kurs/detalimashin/)
Как сделать 301 редиректы с этих страничек на реальную категорию? Это все произошло из-за смены типа ЧПУ
А если ссылка сократилась например так site.ru/123-pag...me.html
Будет ли редирект на site.ru/123-page_name.html?
Для ссылок
site.ru/123-news_name.html
site.ru/page,1,1,123-news_name.html
site.ru/page,1,2,123-news_name.html
site.ru/page,1,n,123-news_name.html
итд.
Тег canonical будет прописывается только для первой ссылки?
Здравствуйте. Вопрос относительно метатега canonocal. Реализовал данный фикс на сайте, ожидая, что страницы с комментариями к новости (коих иногда бывает по несколько десятков) будут указывать на главную страницу новости. Однако, бродя по страницам с комментариями и открывая исходный код, вижу, что в теге указывается не главная, а страница с комментарием. Например:
на главной странице новости — <link rel="canonical" href="http://site.ru/43-news-name.html" />
на второй и последующих страницах комментариев — <link rel="canonical" href="http://site.ru/page,1,2,43-news_name.html" />
Хотелось бы, чтобы они указывали на главную. Можно ли это как-то сделать? Версия движка — 9.5. Заранее спасибо за ответ!
Нашёл ещё один способ в интернете:
В корневом файле index.php вносим изменения. После строки:
if ($dle_module == ‘showfull’) {
Добавить:
$metatags .= <<<HTML
<link rel="canonical" href={$full_link}>
HTML;
Но он даёт совершенно тот же результат...
Видимо механика в последних версиях DLE изменилась.
Когда-нибудь займусь этим делом и обновлю мануал.
АлаичЪ, Редирект с несуществующих страниц юзеров можно сделать и вообще нужен ли он, в панели вебмастера, много страниц с несуществующими пользователями. Например /user/joker45 (404 ошибка) Как можно эту проблему исправить?
Попробовал сделать "Редирект с несуществующих страниц пагинации комментариев на правильные" на DLE 9.4, но редиректа не происходит...
http://site.ru/razdel/page,1,24,226-news.html — и подобных страниц очень много и все дублируют полную новость...
Подскажите, пожалуйста, в чем может быть дело.
Добрый день, АлаичЪ.
Запретил от индексации все страницы пагинации с помощью:
(intval ($_GET['cstart']) > 1 )
Меня интересует вопрос, как запретить от индексации все страницы пагинации только на главной (site.ru/page/X/), а для всех страниц пагинации категорий (site.ru/category/page/X/) запрет убрать?
Спасибо за помощь!
Как раз сегодня появится расширенный пост про это дело, следи за обновлением.
Здравствуй! Спасибо за столь интересные посты по поводу оптимизации.
Для каждой правки ты описывал для какой версии движка, а как по поводу этих правок:
Редирект для публикаций, у которых отсутствует ID, на главную страницу
Редирект для удаленных или несуществующих новостей на главную.
Заранее спасибо за ответ!
Это подходит для всех версий.
Александр, а есть ли возможно запретить Google индексацию файлов вида engine/download.php?id=4 через мета-тег robots?
Нет, так как это не является страницей.
Тут поможет только закрытие самой ссылки с помощью rel="nofollow" и закрытием в robots.txt Disallow: /engine/download.php
Да, именно так я и сделал на следующий день. :-)
Добрый день АлаичЪ! Благодарен за твои труды и выводы таких замечательных постов. Но вот вопрос имеется, а в таблице приведены модули, это всё что можно запретить в meta name="robots"? Или можно ещё чего нибудь запретить, чего нет в таблице??? Ну например папку engine или как прописать строку, что есть в роботсе (Disallow: /statistics.html). Я к тому, что в роботсе имеются как пути к папкам, так и пути к страницам, — для исключения. Ещё прописываются символы типа /* , ?. Как это всё правильно прописать в meta name="robots" для запрета?
При помощи метатега robots можно запрещать только реальные страницы (в том числе, сгенерированные динамически, разумеется), а не папки или что-то иное. Страница /statistics.html это и есть модуль $do == 'stats'
Похоже что Александр куда-то пропал, либо он занят делами по важнее ))
Все верно =) И дела важные и новые поста на подходе!
Здравствуйте АлаичЪ, и стандартное спасибо за труды — пользуюсь с удовольствием. Подскажите, при обращении к несуществующей странице site/page/100000/ должна же выдаваться 404 ошибка?
Просто столкнулся с проблемой — после снятия публикации всех новостей на главной странице появилось (осталось) много несуществующих страниц site/page/xxx/ без 404 ошибки. Сделать 301-й редирект на главную со всех страниц скорее всего глупо (как столько страниц могли переехать в одно место на постоянку? поисковики не поймут наверное). Нужно как-то настроить 404-ю ошибку. Не знаете как?
Взяли страницы да переехали, что тут такого :) Если не вносить мои правки, то и будет выдаваться 404 ошибка по умолчанию.
так это после ваших доработок такое получается?! не уточните, после какой именно?
Я говорю еще раз — мои правки направлены на реализацию 301 редиректа с несуществующих страниц, вместо 404 ошибки (как сделано по умолчанию в чистом дистрибутиве DLE).
Если надо вернуть обратно 404 ошибку — отмените пункт руководства "Редирект с несуществующих страниц пагинации на правильные и существующие".
Здравствуйте, подскажите как закрыть от индексации ссылку, которая выводится с помощью доп. поля?
Например:
Вот прописаны в коде в fullstory доп. поля через которые выводятся две ссылки:
[xfgiven_download1]<a target="_blank" href="[xfvalue_download1]">Скачать</a> фильм «{title}» через торрент[/xfgiven_download1]
и второе доп. поле
[xfgiven_download2]<a target="_blank" href="[xfvalue_download2]" class="dowld-button"><img src="{THEME}/images/download.png" alt="Скачать фильм на высокой скорости" /></a>[/xfgiven_download2]
В админке в доп. поле ссылка прописывается такого вида:
http://site.ru/lp_target_link.php?r=12560&q={title}&service=LoadFiles
Подскажите как их закрыть от индексации? Гугл постоянно их индексирует, и в панели вебмастера постоянно появляются "ошибки сканирования" этих ссылок.
Я код закрывал и rel=”nofollow” преред href=, и ставил по бокам <noindex><nofollow>_</nofollow></noindex>, ни то ни то не помогло.
Читайте новый пост — https://alaev.info/blog/post/3900
Извиняюсь, но я там не нашёл решение как закрыть ссылку, которая находится в доп. поле.
Помогите пож-та закрыть, если знаете.
А там про страницы говорится. А чтобы закрыть ссылку, надо редактировать файлы движка, чего я вам не рекомендую делать самостоятельно.
как сделать редирект с страниц типа site.ru/?newsid=32 на site.ru/32-название новости на сайте.html
По идее, этот редирект должен осуществляться силами движка при включении ЧПУ.
Здравствуйте. Хочу обратится к вам с проблемой в надежде на помощь. У меня сайт на DLe.
Кажется я что то крутил с редиректами, вообщем:
Страница site.ru работает нормально.
Страница site.ru/статья.html тоже нормально
Да, на сайте всего 2 страницы))
Если пишу в адресной строке site.ru/статья/любые символы.html , то идет перенаправление на страницу 404 — это меня устраивает, НО
если написать site.ru/любые символы.html , то идет редирект на главную страницу, а не на 404. Как от этого избавить? Помогите! Заранее спасибо)
Чтобы выдавалась 404 ошибка (а она выдается по умолчанию в оригинальном дистрибутиве движка), просто залейте оригинальные файлы движка и все.
Доброго времени суток
Спасибо большое за информацию, почти всё беру на вооружение
Появился такой вопрос ...
Можно ли сделать редирект с не существующих тэгов на главную страницу по примеру страниц?
С уважением Сергей
Внес в to-do лист, в следующей части руководства появится :)
Здравствуйте АлаичЪ, спасибо Вам за ооочень полезную информацию! Несколько раз использовала Ваши решения, помогло :)
Вот сейчас возникла такая проблема, сайт варез, добавляют новости журналисты, появились более 600 стр. с повторяющимися метаописаниями. Причина: сериал или разные версии программы с одинаковым описанием.
PS Воспользовалась рекомендациями https://alaev.info/blog/post/2373, не помогло :(
Можно попробовать такую фишку, открыть /engine/modules/show.full.php и найти:
и заменить на:
Спасибо! Что бы мы все без Вас делали.
Здравствуйте.Несколько месяцев назад сделал сайт на DLE 9.5 и установил "редирект с разделов или категорий, которых больше не сущестувет, на главную страницу",но тогда еще не было нумерации страниц так как не было новостей.Через 3 месяца,когда новостей на сайте было более 200,а соответственно и страниц я обнаружил что нумерация не главной не работает,то есть кликаешь на любую цифру,например 2.5.10,а страница тупо обновляется,а все равно остаешься на этой же странице.Но когда находишься в каком-нибудь любом разделе,то все работает отлично,можно перейти на любую страницу данного раздела.
Так вот я стал искать причину...И попробывал вместо этих строк:
//решение проблемы с категориями, которых не существует
if ($config['allow_alt_url'] == "yes" AND ! $category_id AND $view_template != "rss") {
header ("HTTP/1.0 301 Moved Permanently");
header ("Location: {$config['http_home_url']}");
die ("Redirect");
}
//решение проблемы с категориями, которых не существует
Вставить снова что было и раньше:
if (!$category_id) $category_id = 'not detected';
И о чудо!Все заработало,но...
Дело в том что все страницы стали открываться с правильным url например сайт.ru/page/6/ но на всех страницах:
"Внимание, обнаружена ошибка
По данному адресу публикаций на сайте не найдено, либо у вас нет доступа для просмотра информации по данному адресу."
То есть их как бы и нету...
Можно ли их как то прописать или что то сделать?Или возвращать обратно редирект 301?Там хоть на главную отправляет,а не на пустую страницу.
Тут проблема не в моих правках, а в движке где-то. Так что либо переустановите движок, либо я не знаю...
Перезалил полностью /engine/* из оригинального дистрибутива...Проблема осталась...Где искать причину не понятно.
Значит где-то в настройках...
Проблему решил! Спасибо.
Дело было в htaccess.
Спасибо за блог, очень полезный оказался.
Не поможете с проблемой?
В гугл вебмастер после оптимизации появилось много ошибок такого типа:
Переход не выполнен
?cstart=1807&do=lastcomments
index.php?cstart=2165&do=lastcomments
Закройте их от индексации да и все. При помощи метатега (описано в посте) или при помощи robots.txt (Disallow: /*do=lastcomments)
Здравствуйте подскажите можно как то сделать чтобы при добавление новой статьи на сайт она сразу перемещалось на страницу http://сайт/категория/page/2/
Не знаю.
Здравствуйте скажите зачем нужен <meta name="robots" content="all" /> на сайте и что будет к примеру если я его уберу с шаблона engine какие последствие будут хотелось бы знать
Как я уже говорил, конкретно этот код бесполезен, его можно удалить, это никак не повлияет на индексацию.
Спасибо за информацию
АлаичЪ, как удалить из индекса страницу http://мойсайт.ru/index.php/ ?
Redirect 301 /index.php/ http://site.ru/
Спасибо. Ничего не понял.
Правила rewrite допиши:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php/$ http://site.ru/ [R=301,L]
Денис, не работает.
ну тогда хз... если тебе ни один код не подходит, уж тем более тот что тебе Аличъ дал:
Redirect 301 /index.php/ http://site.ru/
ковыряй значит движок
Я повторюсь — надо попробовать в файле .htaccess сразу после строки RewriteEngine On добавить:
Redirect 301 /index.php/ http://site.ru/
Если не поможет, то я даже не знаю...
// 301 редирект на главную с адресами страниц новостей, где пропал id
if ( ( $config['allow_alt_url'] == "yes" ) && (strpos ($_SERVER['REQUEST_URI'], '.html') !== false) && ($dle_module == "main") ) {
header ("HTTP/1.0 301 Moved Permanently");
header ("Location: {$config['http_home_url']}");
die ("Redirect");
}
// 301 редирект на главную с адресами страниц новостей, где пропал id
Это дело не хочет работать =( При удаление в адрессной строки ID новости с тире и без, вылетает ошибка "К сожалению, данная страница для Вас не доступна: возможно, был изменен ее адрес или она была удалена. Пожалуйста, воспользуйтесь поиском."
Что с этим можно сделать?
У меня если применить "// 301 редирект на главную с несуществующих левых страниц" доступа к site.ru/rss.xml нету, сразу перекидывает на главную страницу site.ru. Почему так?
Попробуй изменить строку:
На эту:
Заработало, спасибо
Пост обновлен с учетом выхода версии DLE 9.7 — все правки пересмотрены, где надо откорректированы. Под каждым пунктом подписано, для какой версии актуально, а для какой нет!
Редирект с несуществующих страниц пагинации комментариев на правильные
Актуальность: Провернено на 7.x, 8.x, 9.x (на 9.5, 9.6, 9.7 не тестировалось, но работать должно).
В 9.7 уже встроено "при обращении к несуществующей страницы с комментариями, производится автоматический 301 редирект на первую страницу."
Редирект с несуществующих страниц пагинации комментариев на правильные для версии 9.5 не работает, не могли бы вы подсказать что нужно исправить чтобы этот хак работал на 9.5?
Судя по комментарию выше, стоит обновиться до версии 9.7 :)
Уже очень много было проделано на версии 9.5, настроена идеально под себя. Обновляюсь только на версии x.5, они почему то для меня самые стабильные, может получиться как то извлечь это решение с 9.7?
Скажите, а тег rel=”canonical” продемонстрирован здесь для чего, я просто не понимаю в этом, для того чтобы ПС не индексировали краткую новость(в категориях например), а распознавали и индексировали только полную?
Нет, этот метатег предназначен для указания роботу основной страницы. То есть, например, если на двух страницах указан rel=”canonical” с каким-то одним адресом, то этот адрес и будет считаться основным и только он будет проиндексирован.
Хорошо, тогда скажите или покажите на примере, как сделать так, чтобы короткие новости не индексировались, а индексировались только полные новости?
Коротки новости самостоятельно и так не индексируются, индексируются страницы пагинации со списком анонсов.
Смотрите этот пост https://alaev.info/blog/post/3900, надо будет активировать строку /* Любые страницы пагинации */.
Здравствуйте. DLE версия 8.3.
После правок с 1, 2, 3 части недавно заметил, что при переходе на site.ru/rss.xml перекидывает на главную.
Как исправить? Эта правка не помогла:
Попробуй изменить строку:
if ( ($dle_module == "main") && (intval ($_GET['cstart']) <= 1) && ($true_link_main != $config['http_home_url']) ) {
На эту:
if ( ($dle_module == "main") && (intval ($_GET['cstart']) <= 1) && ($true_link_main != $config['http_home_url']) && ($view_template != "rss") ) {
Вообще-то правильно писать не
!=
, а!==
.!= заменил на !==, не помогло.
Может есть еще варианты как исправить?
в категориях лента работает (в опере в адресной строке информер остался, в других браузерах уже нет) при нажатии на информер открывается rss вида site.ru/категория/rss.xml, если нажимать информер в полной новости какой либо категории, то перекидывает на главную, если нажимать на главной, перекидывает на главную.
В общем не открывается только по адресу site.ru/rss.xml
все, rss заработало, просто почистил кэш браузера, про который сразу не вспомнил так как все правки до этого работали сразу, без чистки кэша...))
АлаичЪ, помогите, очень большая проблема. :(
Недавно заметил что в некоторых новостях, где есть ссылки на 4files.net, идёт редирект на qiq.ws Мне это очень не понравилось, и чтобы не сливать халявный трафик засранцам, не подумавши, взял да и заменил домен 4files.net на мойсайт.ru
Через пару апов в индексе появились страницы типа http://мойсайт.ru/z55.3f6e67997790a4a135093ad2/ http://мойсайт.ru/zba4.zba4.3uydtehudhyrterfsdweradse/ http://мойсайт.ru/ab.8b593744ed675693ced35a3f/ которые ведут на главную, да ещё и с анкором "скачать с мойсайт.ru", тоесть по сути вылезла куча дублей главной страницы, и с каждым апом их всё больше и больше... :( Удаляю их через поиск и замену, но они всё лезут и лезут...
Что интересно, попробовал ввести эти урлы (/z55.3f6e67997790a4a135093ad2/) на других сайтах — Not Found
The requested URL /z55.3f6e67997790a4a135093ad2/ was not found on this server.
Непонятно, почему они не ведут на 404, и как сделать чтобы шёл редирект на 404 или на главную (тоесть просто http:мойсайт.ru/) Какой вариант наиболее приемлим, и как это реализовать? Двиг DLE 9.5
Заранее признателен за помощь, вся надежда только на вас.
Неприятность ;) Можно попробовать в файле .htaccess в самом начале после RewriteEngine on добавить строку:
RewriteRule ^([a-z0-9.]){20,40}/$ / [R=301,L]
Должно помочь, но не уверен.
АлаичЪ, ПОМОГЛО!!! Редиректит на главную. Буду надеяться что со временем левые "главные" вылетят из индекса.
Спасибо вам большое, я очень долго бьюсь над решением этой проблемы, перелопатил гугл, задавал этот вопрос на куче форумов и блогов, и только вы решили проблему. Просто нет слов :)
Ещё раз большое спасибо.
Заменяю:
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html (/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L]
на
%{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)\.(.*?)+(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L]
Сервер отдает ошибку:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Уже пересмотрел каждый символ и пробел — ничего не помогает. Подскажите. в чем может быть дело?
А версия DLE то какая?
9.0
Скорее всего, помимо этой правки вносились и другие. Вот где-то несовместимость. Надо проверять, вносить правки по одной и проверять.
АлаичЪ подскажите пожалуйста, заголовок новости (title) и метатег title будут содержать одно и тоже название поста, это как нибудь скажется на дублировании контента.
Нет, все нормально будет.
спасибо
АлаичЪ пожалуйста, подскажите, как сделать следующее. Нужен выполнить правильный редирект. При развитии сайта иногда приходится более точно разделять новости по категориям.
Пример такой допустим: была категория /Горячительные-напитки/ я ее разделил на разделы /водка/, /вино/.
Основная информация в категории /Горячительные-напитки/ была про водку и поэтому я переместил ее полностью в категорию /водка/.
Нажимаешь на сайте информацию по новому адресу она с успехом открывается по следующему адресу:
/водка/01-чем-водка-лучше-пива.html
но также открывается дубль проиндексированный поисковиком по адресу старой категории:
/Горячительные-напитки/01-чем-водка-лучше-пива.html
Как сделать правильный редирект со старой категории в новую, чтобы поисковики показывали новости только по правильной категории.
Можно конечно же в robots.txt закрыть /Горячительные-напитки/, а можно как то через .htaccess склеить страницы старой и новой категорий?
>>>Можно конечно же в robots.txt закрыть /Горячительные-напитки/>>>
Зачем извращаться? Просто закройте в роботсе, и через пару апдейтов они отваляться.
Спасибо за ответ Виктор, в роботсе сейчас как раз стоит такая строчка.
В htaccess после RewriteEngine On добавьте:
Огромное спасибо.
Было бы неплохо увидеть инструкцию по установке тега rel=canonical для DLE 9.7. :-)
Прошу прощения, работает и для 9.7. Просто первый раз что-то напутал.
Извиняюсь за скорее всего тупой вопрос, но в вашем разделе "Запрещаем индексацию разделов сайта при помощи мета-тега robots" запрещается /engine/go.php ли нет?
также сейчас на dle 9.7 при вводе site.ru/cat/123-page_name.htm происходит загрузка site.ru/cat/ но в адресной строке все тот же адрес, т.е редиректа как такового нет, нужно ли ставить редирект на главную или оставить?
/engine/go.php не запрещается, его надо в robots.txt запрещать.
Для DLE 9.7 в этом посте нет инструкций, как исправить неверные адреса конечных страниц. Есть решение на форуме, там посмотрите.
Движок DLE конечно это пстец, не знаю почему он пользуется такой популярностью и еще за это 50 баксов дерут. Ошибка на ошибке.
Просто огромное спасибо, за грамотный пост — также считаю, что нужны запреты мета тегами а не в роботс!
Возникло 3 вопроса:
1 — Думаю нужно и rss запретить к индексации, тоже как дубли, как это сделать?
2 — Можно запретить категории как и теги? Например втавить код $do == 'category' OR
3 — Не могу понять, куда вставить код на запрет индексации страниц пагинации.
Сейчас код выгдядит так
if ($subaction == 'userinfo' OR
$subaction == 'allnews' OR
$subaction == 'newposts' OR
$do == 'stats' OR
$do == 'addnews' OR
$do == 'register' OR
$do == 'favorites' OR
$do == 'rules' OR
$do == 'pm' OR
$do == 'feedback' OR
$do == 'lastcomments' OR
$do == 'lostpassword' OR
$do == 'search' OR
$do == 'lastnews' OR
$do == 'alltags' OR
$do == 'tags' OR
$category_id == 2 OR
$category_id == 3 OR
$dle_module == 'date') $metatags .= <<<HTML
\n<meta name="robots" content="noindex,nofollow" />
HTML;
Читайте — https://alaev.info/blog/post/3900
Редирект для удаленных или несуществующих новостей на главную — вчера ставил на utf-8, работало. Сейчас на 1251 — не работает, проверял три раза :(
От кодировки это никак не зависит, ищите причину в чем-то другом.
АлаичЪ подскажите пожалуйста в чем может быть проблема.
Движок DLE 9.7
Выполнил все рекомендации по оптимизации, которые здесь вы описали.
Сегодня захожу в Гугловскую Панель Вебмастера. В разделе "Оптимизация HTML" вижу ошибки, которых не было.
Во первых в во вкладке "Страницы с повторяющимся метаописанием"
Две страницы с разным описанием показываются как будто имеют одинаковое описание. Description у разных категорий свой, единственное что похоже это название Страница 24 в конце описания
Примерно в панели выглядит это так:
>> Страница 24
/books/page/24/
/zhurnal/page/24/
По идее эти страницы вообще не должны были индексироваться, так как ставил строчку (intval ($_GET['cstart']) > 1 ))
На странице мета тег robots стоит на своем месте и вроде бы что нужно, то и выполняет <meta name="robots" content="noindex,nofollow" />
Появились страницы в панели когда в robots.txt удалил строчку запрета /page/.
А еще прикол, то что некоторые из этих же страниц появляются во вкладке "Короткие метаописания"
Подскажите пожалуйста в чем может быть проблема.
Если на проблемных страницах присутствует <meta name="robots" content="noindex,nofollow" /> не стоит переживать, это страницы скоро пропадут из панели вебмастера.
Огромное спасибо АлаичЪ.
Извиняюсь, может не в тему оптимизации, но буду очень признателен если подскажите как сделать следующее:
В DLE 8.3 в rss выводится краткая новость с датой и временем, например, 17 октября 2012 г. 19:05:52
Как сделать чтобы выводилась дата без времени? Вот так: 17 октября 2012 г.
Заранее, благодарю.
А какой в этом смысл? Возможно, дата берется из глобальных настроек скрипта и надо менять там (это в админке, третья по счету вкладка в настройках, пункт "Формат времени для новостей").
АлаичЪ, вопрос на счет rel=”canonical”. Вот всё что описано в посте проделал, чтобы роботу из шортстори указывало на фулстори. Но у меня на сайте ещё есть главная страница на которой выводятся новости анонсы (не шортстори как в категориях) параметром custom. Скажите, как и куда мне вписать rel=”canonical” (или подобное) в этот параметр custom, чтобы указать роботу на предпочтительный фулстори?
Просто после того, как я проделал всё по посту https://alaev.info/blog/post/3900, у меня из фильтра гугла вся эта не нужная мишура исчезла, но вместе с этим почему-то и все новости, которым больше двух недель. У меня сейчас новостей 260, а в поиске гугла показывается всего 41, а остальные все почему-то он загоняет под фильтр.
Вот я и подумал, может это из-за анонсов на главной? Ведь анонсов на главной как раз чуть выше 40.
Сайт я скинул.
В шортстори невозможно указать rel=”canonical”, этот метатег указывается ТОЛЬКО для конкретной страницы, а не для ее элементов. Поэтому указывать метатег надо только в полной новости.
Подскажите на примере как это сделать? И что делать с анонсами на главной (не шортстори)?
Как сделать на примере — рассказано в посте, ни больше ни меньше, все как есть.
Что делать с анонсами? Да ничего...
Ну я же написал, гугл индексирует только те новости, чьи анонсы находятся на главной, остальные почему-то не индексирует. И как только публикуется слудующая новость, а следовательно и её анонс на главной, то былая новость уберается с главной и тем самым также пропадает и из индекса гугла. Получается что гугл не хочет ходить по сайту дальше главной и индекирует только те новости (анонсы), которые есть на главной.
Подскажите как быть, что делать?
Да потому что накосячил где-то серьезно. Лучше отмени все правки, которые связаны с rel=”canonical” и жить станет проще и лучше. И Гугл начнет все индексировать!
Проверил, косеков не убнаружил, всё сделано так как написано. Да и тем более яндекс то все новости нормально индексирует. Непонятно в чем же дело...
Заметил две траблы. Правда не знаю были ли они до оптимизации или появились после. Вообщем оптимизировал сайт на DLE 9.7 по первым трем частям.
По адресу site.ru/& отображается главная
По адресу site.ru/z.z отражается главная (при чем вместо z можно поставить любые другие буквы и любое количество, главное что бы между ними была точка)
Помогите исправить!
Интересно, как вы наткнулись на такой урл, но у меня тоже отображается главная, причем и по адресам http://site.ru/cat/z.z тоже.
Наткнулся совершенно случайно.
От site.ru/& избавился следующим образом в .htaccess:
Не знаю на сколько это правильно, но работает. Знающие люди, подскажите!
Все правильно сделал для варианта с site.ru/&
На счет site.ru/z.z, то это совсем не типичный случай. Для избавления: RewriteRule ^z\.z$ http://site.ru/ [R=301,L]
Нашел причину отображение главной по адресам site.ru/z.z site.ru/fsdf.sdfsf и т.д. Во второй части уроков по оптимизации есть код редиректа:
Он вызывает такую ошибку. Заменил его на:
Теперь по адресам site.ru/z.z site.ru/fsdf.sdfsf и т.д. ошибка 404, как и должно быть.
Хотелось бы получить по этому вопросу комментарий от АлаичЪ
Уже поправил, но вдруг это вызовет еще одну неизведанную ошибку :)
Да, тоже жду. Пока тестирую. Все нормально вроде бы.
После этих правок получился код взятый со второй части оптимизации такого вида:
С адресами site.ru/z.z site.ru/fsdf.sdfsf все отлично работает. А вот как быть теперь с адресом: site.ru/category/index.php? Теперь не осуществляется переход на site.ru/category/
Или я что то не так сделал?
А куда правильно вставлять конструкцию для site.ru/&? У меня не работало, если вставлял в конце, получилось лишь если поставить после редиректов для "www".
После RewriteEngine On
Добрый вечер!
С удовольствием прочитал Ваш блог, раньше не знал о нем. Уже подписался на обновления, буду регулярным читателем. Спасибо за Ваш труд!
А теперь задам свой вопрос, DLE 9.3:
Статья в поиске Google выходит по 4м ссылкам:
(В Яндексе выходит только одна ссылка — на полный текст статьи)
1. Ссылка на полный текст статьи (то, что нужно)
site.ru/4316-istoriya-devushki-voditelya-s-zhenskogo-foruma.html
2. В списке статей автора статьи
site.ru/user/имя_автора/news/
3. В разделе, к которому относится статья
site.ru/название_раздела/page/2/
Вопрос прост: Как запретить вывод дублей в поиске Google?
Страницы пользователей site.ru/user/ лучше закрывать от индексации: Disallow: /user/
А в разделах выводится лишь анонс статьи, а полная новость выводится по нужному адресу. Так что дублирования не будет, если анонс не содержит полный текст новости. Все окей.
Может кто подскажет как правильно и наименее болезненно переименовать ссылки сайта с site.ru/journals/cooking/ на site.ru/journals/kulinarnyie/ (например) что бы поисковики не сильно ругались? На сайте 34 000 новостей и надо переименовать почти все подкатегории (около 60 штук). Что есле переименовать, а со старых категорий сделать редирект на новые ссылки? И как этот редирект правильно прописать?
Правильным решением будет 301-редирект на новые адреса.
Пример: Redirect 301 /journals/cooking/ http://site.ru/journals/kulinarnyie/
И так все 60 категорий надо будет проделать.
Спасибо!
А как быть с таким дублем сайта: Redirect 301 http://site.ru/links.php?rz=cypr
Такой вариант не работает: Redirect 301 /site.ru/links.php?rz=cypr http://journal-ok.net/
Алаич подскажите как правильно прописать.
Так правильно: Redirect 301 /links.php?rz=cypr http://journal-ok.net/
Как сделать редирект на главную если в категориях пока нет новостей?
Добавьте новостей в категорию, зачем вам редирект-то... Редирект это не временное решение на день-два, с ним баловаться не стоит. Хотя можно и 302-редирект использовать: Redirect 302 /category/ http://site.ru/
Здравствуйте. Спасибо за статью, очень познавательно. Но главного для себя не нашел, к сожалению...
Подскажите пожалуйста, Я меняю cms на dle, у старой cms ссылки в статьях вида /index.php&name=pages&id=2
В новой цмс, а именно дле, ссылки сменятся на такой вид /pages/2.html
Скажите как средиректить большое количество урлов? Не напрягая апач и чтобы .htaccess не грузить таким количеством ссылок.
Может есть модуль для дле типа 301 редиректа?
Когда вводишь адрес старой новости, и адрес новой новости, это все заносится в базу...затем при переходе проверяется...и если нужно редиректится.
Или это будет грузить базу?
Ссылки на страницы пагинации в DLE имеют вид /page/2, а не /pages/2.html если что...
Редирект для страниц пагинации сделать очень просто через .htaccess:
Господа, сделал 301 редирект с суб-категории на родительскую!
Возможно кому-то пригодится! Для меня это было решением многих проблем ;)
Добавляем в engine.php:
Стоит уточнить, в какое именно место файла engine.php надо добавить этот код.
Здравствуйте.Не работает у меня редирект с удалённых категорий.
Движок 9.5.
Вернее работает через раз.Сначала выводится Ошибка базы данных, после обновляю страницу редирект происходит, иногда надо пару раз обновить.
В чём может быть причина.
С удалённых страниц редирект работает без проблем.
Ошибка БД это уже ваши проблемы с сайтом или сервером, с редиректами это никак не связано.
Но вылазит после того как я в коде поменял
engine/engine.php найти :
if (!$category_id) $category_id = 'not detected';
и заменить на :
//решение проблемы с категориями, которых не существует if ($config['allow_alt_url'] == "yes" AND ! $category_id AND $view_template != "rss") { header ("HTTP/1.0 301 Moved Permanently"); header ("Location: {$config['http_home_url']}"); die ("Redirect"); } //решение проблемы с категориями, которых не существует
Возвращаю как было всё нормально
Добрый день, у меня вот этот редирект почему то не работает версия dle 9.2
// 301 редирект на главную с адресами страниц новостей, где пропал id
if ( ( $config['allow_alt_url'] == "yes" ) && (strpos ($_SERVER['REQUEST_URI'], '.html') !== false) && ($dle_module == "main") ) {
header ("HTTP/1.0 301 Moved Permanently");
header ("Location: {$config['http_home_url']}");
die ("Redirect");
}
// 301 редирект на главную с адресами страниц новостей, где пропал id
Добрый день,
уважаемый АлаичЪ, помогите, пожалуйста, настроить вот эти редиректы, что-то на 9.2 никак не хочет работать, заранее вам спасибо:
Редирект для публикаций, у которых отсутствует ID, на главную страницу — https://alaev.info/post/3294#tolist_04
Редирект для удаленных или несуществующих новостей на главную — https://alaev.info/post/3294#tolist_05
И в чем проблема?
Не "редиректит", убираю ID адреса нажимаю энтер и получаю 404 ошибку(
Редирект для удаленных новостей, если сделали по инструкции должен работать и выдавать 404 не может, т.к. вывод 404 ошибки удален.
А вот на счет пропавших ID, то тут, как и написано, на DLE выше 9.5 не тестировалось и может не работать.
Добрый день, уважаемый АлаичЪ,
с редиректом для удаленных новостей разобрался, а вот на счет пропавших ID так и не хочет работать, у меня 9.2 я так понимаю должно работать, вот кусочек кода из engine/engine.php
if ($subaction == '') $subaction = "showfull";
}
// 301 редирект на главную с адресами страниц новостей, где пропал id
if ( ( $config['allow_alt_url'] == "yes" ) && (strpos ($_SERVER['REQUEST_URI'], '.html') !== false) && ($dle_module == "main") ) {
header ("HTTP/1.0 301 Moved Permanently");
header ("Location: {$config['http_home_url']}");
die ("Redirect");
}
// 301 редирект на главную с адресами страниц новостей, где пропал id
Не знаю в чем дело. Но как разберусь — отпишусь.
Добрый день, АлаичЪ,
Тут еще вырисовывается одна проблема. Часто на форумах установлены какие-то плагины, которые автоматически сокращают ссылки, подставляя несколько точек в нее. Получается что-то наподобие такого: http://emofans.ru/creative/r...dfd56fdgdfg65444
Возможно ли в таком случае сделать редирект?
Надо разбираться...
Добрый день, АлаичЪ.
У меня вот такая проблема: сделал я все как у вас описано в частях 1,2,3 и с тех пор страницы не попадают в индекс:(
... не знаю, что и делать. Просто раньше хватало часа, чтобы страница попала в индекс яндекса и гугла, может я что-то напутал:(
... что можете порекомендовать в данной ситуации?
Подскадите пожалуйста мне в моем вопросе
Имеется приложение вк, прописал hash, нужно прописать редирект всех страниц с сайта на приложение,
пример:
есть: http://site.ru/1234-post.html
нужно: http://vk.com/app4542154#/1234-post.html
Буду очень благодарен
То есть надо, чтобы заходя на сайт, пользователя редиректило на ВК?
Тогда в самом начале файла .htaccess пишем:
RewriteRule ^([0-9]*)-(.*) http://vk.com/app4542154#/$1-$2 [L]
Должно сработать.
9.2
хак "Редирект со ссылок с лишними символами или неправильным окончанием на верные адреса"
дает
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
После данных обновлений в версии 9.7 обнаружил это в яндекс вебмастере:
Файл robots.txt не будет учтён роботом Яндекса, т.к. при запросе выполняется перенаправление.
После каких "данных обновлений"?
Удаление запретов на индексацию в файле robot.txt и перенос их в файл engine/engine.php
Хотя возможно и еще, что установил главное зеркало, начинающееся с www в панели вебмастера.
А гугл случано не игнорирует эти теги (noindex, nofallow)?
Перенаправление никак не может быть связано с правками robots.txt, и, если проблема до сих пор существует, то надо вспоминать все правки, которые вносились на сайт и постепенно их отменять и искать причину.
в яндекс веб мастере появилось сегодня сообщение: "Ваш сайт не проиндексирован"
это вообще пипец какой то...
Алаичъ у тебя с этим как после вышеописанных правок.
все это очень странно, даже page-weight с утра начал ошибки выдавать на все страницы, может что-то на серваке зависло, посмотрю сейчас
У меня все прекрасно. Рекомендую, пока не поздно, перезалить всей файлы, которые подвергались правкам, файлами из чистого дистрибутива. И прежде чем вносить исправления в следующий раз — хорошенько подумать или тщательно проверять работоспособность сайта.
Спасибо за советы, благо все ежедневные дампы (база данных + все файлы) сохранены. Возможно ошибка просто кроется в перестроении алгоритмов Яндекса, перезалить можно в любой момент, попробую переустановить page weight и логи сервера проанализировать изначально.
В критическом случае буду использовать дамп. По окончании проблем отпишусь здесь.
Вообщем разобрался с вышеописанными проблемами. потратил сутки времени (за это время проверил авбсолютно все и шаблон, и css, и файлы движка) — там все нормально, но сделал все таки намного валиднее, удалил порядка 100 ошибок в html и css.
А теперь в чем была причина:
1) После установления в яндекс вебмастере на главное зеркало сайт c www, на время сайт в панели с индекса ушел, но из поиска не исчез. По словам Платона, все скоро появиться в личном кабинете.
в то же время после всех правок настроил в гугле вебмастере более большую скорость сканирования.
и видимо сервер просто не успевает обрабатывать запросы от Page Weight.
Уменьшил в программе максимально кол-во потоков до 10, установил паузу между запросами в 50 мсек. На сайте отключил на время сжатие html страниц и java скриптов. Прогнал все снова — оказалось все в порядке.
Теперь нужно дождаться обновления поисковых роботов и вывести некоторые страницы из доп индекса, думаю на это пару месяцев достаточно будет.
Хорошо, что все хорошо. Спасибо, что отписались, другим читателям будет полезно.
Кстати возник еще один вопрос в файле robots.txt директивы — как правильно прописать при главном зеркале с WWW?
Так:
Host: www.site.ru
Sitemap: http://www.site.ru/sitemap.xml
Или все таки:
Host: site.ru
Sitemap: http://site.ru/sitemap.xml
Конечно правильно будет прописывать так же, как и указано главное зеркало, то есть с www. В том числе, может быть, и поэтому Яндекс ругается на robots.txt
Помогите пожалуйста. У меня на сайте стоит вывод топ ком.новостей, по рейтингу и по просмотрам путем {custom}
Плюс ко всему список похожих новостей тоже путем {custom}
Теперь в поисковике вывод допустим:
титл: Интервью с перис хилтон
описание: Разбираем ноут по кускам
И таких страниц много, описание одинаковое у всех новостей. Описание берется из {custom} первой в списке новости.
Если закрыть тег под noindex это никак не повлияет на сайт? Или какое может быть решение... Может поисковикам можно указать как-то откуда брать описание к новости?
Ничего не понял. Но в noindex можно закрыть, тогда в Яндексе точно этот текст не будет показываться.
Блин)) это я писал видимо от паники))
Возьму пример с гугла. Когда в поисковике тыкаешь на просмотреть, справа выводит картинку и красным выделяет текст откуда взято описание. Так вот у меня ко всем статьям с одного и того же места взято описание :D Это может быть от того, что сайт всего 2 недели живет? Ко всем статьям заполнил дескрипшн как полагается, но описание поисковик берет все равно откуда захотел... почему так?
Поисковик берет отписание оттуда, где встречается поисковый запрос. Если встречается в нескольких местах, то берет там, где по его (поисковика) мнению, более интересно или берет сразу из нескольких мест.
DLE 9.6
Страницы вида site.ru/abracadabra.php редиректятся на главную, но URL не меняется. Не сталкивались с подобной проблемой?
Подобная же проблема наблюдается и в такой ситуации:
Изображения вынесены на поддомен. По сервер-статусу увидел что идут запросы на
http://site-name.ru/templates/template-name/css/www.im.site-name.ru/images/fields.
То есть запрос в папку шаблона, в ксс запрашивается изображение (при чем странно — "fields.", не .png). Ну и проблема в том, что такой урл висит в адресной строке, выдавая главную.
Есть мысли по этому поводу? Благодраю
дубли страниц site.ru/page/30/rss.xml и site.ru/page/30/sitemap.xml как решить данную проблему?
Вообще это разные файлы: и по этому адресу их не должно быть вовсе, смотри редиректы на установку несуществующих страниц. У меня такокого точно нету.
.h%0D%0A%0D%0Atml
вот такие ссылки есть в яндекс вебмастере.
Здравствуйте!
В версии DLE 7.5 не получается сделать Редирект с несуществующих страниц пагинации комментариев на правильные.
Отсутствует выше указанный файл: /engine/classes/comments.class.php
Помогите устранить этот недочет, спасибо.
К сожалению, с настолько старыми версиями DLE я не работаю и не планирую.
"Редирект для публикаций, у которых отсутствует ID, на главную страницу" — на 9.7 к сожалению, не работает, а жаль. А в остальном вроде все стало, будем тестировать.
Спасибо огромное автору за его труды.
Подтверждаю, не работает!
hello,
i want to redirect only 404 tags
please help
Thanks
Open /engine/modules/show.short.php and find:
replase with:
This will work.
it's work thanks Mr :))
Добрый день,
УважаемыйАлаичЪ, что-то не получается у меня редирект вида site.ru/category/index.php на site.ru/category/, редирект идет на site.ru а не site.ru/category/. В чем мой косяк? Заранее спасибо за ответ.
Не знаю, в чем косяк. Но об этом написано тут https://alaev.info/blog/post/2400
Добрый день, уважаемый АлаичЪ,
проверил еще раз не работает редирект site.ru/category/index.php на site.ru/category/ :(((
Ну пропиши тогда так:
Не помогло(((
АлаичЪ день добрый, вопрос простой но мне важно знать так как я удалил весь контент сайта все разделы ибо полностью изменил направление сайта в плане тематике, понятное дело в поисковике в основной выдачи есть ссылки и не мало на сайт по тому или иному запросу, а новость уже удалена как и сам раздел, сейчас если перейти по такой ссылки попадаешь на главную, вопрос сам просится — оставить как есть, или всё токи лучше что бы срабатывало ошибка 404? и такие страницы со временем выпадут (чего бы и хотелось!), или они так и так выпадут независимо от того что на главную? Не хотелось бы пудрить людям голову, и побыстрей избавится от старых ссылок в поиске. Спасибо.
При любом раскладе страницы пропадут из выдачи со временем, главное чтобы они не отдавали ответ 200 OK. Для ускорения удаления страниц из выдачи, закрой их в robots.txt.
Пимерно 3 месяца назад или два, проделал правки кода для:
"Редирект с несуществующих страниц пагинации на правильные и существующие" самый первый пункт.
Версия 9.6, я только сейчас заметил, что не работает...
Я увеличил количество страниц на главной и в категориях и их количество естественно уменьшилось, яндекс сразу начал показывать на последние страницы (которые существовали) что они — 404, я проверил, и — не работает, подскажите, что не так, может что то исправить надо в ваших "рекомендациях", пожалуйста помогите.
Попробуй такой вариант кода:
Не работает...((
А на мой вопрос так и нет ответа? не уже ли все так плохо?
Приветствую всех. Меня терзают смутные сомнения... А подойдёт ли всё это к дле 9.8 ? Имею ввиду все части данного руководства. Создал новый сайт на 9.8 и теперь незнаю, а стоит ли это на нём все делать... На 9.7 всё это проделывал. И немного оффтопа, сори, 1 февраля посещалка сайта упала с 3к в день до 0.8-1к, трафик был весь с гугли... Что это?
АлаичЪ подскажите пожалуйста или в постах обозначьте, какие плюшки SEO оптимизации DLE в 3 частях актуальны для версии 9.8. Хотел обновиться, а то за чем будет лицензия пропадать бес толку. Заранее пребольшущее спасибо.
Не знаю, я не обновлялся до 9.8.
Подскажите пожалуйста, какой редирект нужно делать из представленных выше. Например у меня есть страница http://pilam.ru/catalogue/view/id-149/ которую я изменяю на http://pilam.ru/catalogue/shinnye-piloramy-murka/shinnaya-pilorama-murka-m1-benzinovaya/
Нужно сделать так, чтобы страницы не выпали из индекса гугл и яндекс.
Такие редиректы только вручную прописывать:
Redirect 301 /catalogue/view/id-149/ http://pilam.ru/catalogue/shinnye-piloramy-murka/shinnaya-pilorama-murka-m1-benzinovaya/
Скажите пожалуйста,
разве теги вида "index.php?do=tags&tag=" не должны редиректиться на вид /tags/ при включенном ЧПУ.
Помогите решить этот вопрос.
в htaccess вот так:
# вывод отдельному тегу
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) У меня раньше стояли теги на сайте, все они проиндексировались и появились в поиске. Потом я решил поудалять их. Конечно, эти страницы стали 404 ошибку выдавать. Вот решил в панели гугла и яши поудалять ссылки, но их много и муторное это дело. Так вот вопрос: удаляться ли эти все теги, если прописать в удалении страницы так site.ru/tags/ ?
3) Вот ненужные страницы закрываем мета robots noindex. Вот одна из строчек в engine.php:
do="uploads" OR (извините если неправильно). В этой папке uploads на DLE находится файл sitemap.xml Будет ли этот файл нормально восприниматься поисковиками? Будет ли этот файл передавать все ссылки сайта? Или лучше не закрывать эту папку?
Спасибо за внимание.
1) 301 редирект какраз и нужен, чтобы избежать той ситуации, которую вы описали. Почитайте в интернете, что такое 301 редирект, в справках Гугла и Яндекса в первую очередь!
2) По-моему, так нельзя. Можно удалять только конкретную страницу. Но не беда, через время они сами удалятся. Тут главное все ссылки на эти страницы убрать.
3) А причем здесь эта строчка? Какое отношение она имеет к метатегу robots и его использованию, которое описано в этом посте? Предложенное решение никоим образом не закривает эту папку. В robots.txt тоже не нужно ее закрывать!
Спасибо.
Помогите пожалуйста,
ЧПУ 2 включен но при этом ссылки вида
index.php?cstart=6
index.php?do=tags&tag=слово
доступны и открываются.
Как сделать чтобы и они редиректились как и ссылки новостей?
index.php?cstart=6 редиректился на page/6/
index.php?do=tags&tag=слово на tags/слово/
Заранее Благодарю.
Есть маленький вопрос:
В этом случае (Редирект с несуществующих страниц пагинации на правильные и существующие), редирект идет на последнюю существующую страницу.
А в этом (Редирект с несуществующих страниц пагинации комментариев на правильные), на первую страницу комментариев.
Так и должно быть?
PS DLE 9.7, хотя оно и без этих правок перекидывает на 1ю странице комментариев
Ну а почему нет, приемлемый вариант.
на главной странице новости — <link rel="canonical" href="http://site.ru/43-news-name.html" />
на второй и последующих страницах комментариев — <link rel="canonical" href="http://site.ru/page,1,2,43-news_name.html" />
Хотелось бы, чтобы они указывали на главную. Можно ли это как-то сделать? Версия движка — 9.5. Заранее спасибо за ответ!
—
тоже очень интересует этот момент.
Как можно исправить?
Вообщем эту канонизацию страниц, выводилось только в статьях, я так понял все статьи из гугла вылетели. Страниц вылетело из гугла-70 700. Вернул все обратно как было. Печальный опыт.)
Не понял, что куда и почему вылетело? Причина вылета точно не в canonical.
Здравствуйте, возникла такая проблемка: в гугл вебмастере появились ошибки вида http://site.ru/cate...gory/ http://site.ru/ca...tegory/ http://site.ru/catego...ry/ — это несуществующая категория, но хак решения проблем с несуществующими категориями эту проблему не решает, а по этому адресу открывается главная страница.
Попробуй правило для .htaccess, добавлять после RewriteEngine On:
Здравствуйте!
Читал, так и не нашел.
Как можно сделать редирект не существующих статических страниц на главную?
Именно статических страниц.
Также как и с новостями, открываешь /engine/modules/static.php и находишь:
Заменяешь на:
Спасибо большое. Помогло.
Здравствуйте, у меня в индекс залезла странная ссылка такого вида: http://site.ru/?&site=forumsv — по ней проиндексировался дубль главной страницы. Если возможно, посоветуйте, как её убрать?
А когда все это будет под ДЛЕ 9.8 или что работает на дле 9.8?
Привет АлаичЪ. Беда такого характера: В шаблоне сайта я использую дополнительные поля в которых у меня вставляется ID видео с YouTube. В вебмастере яши заметил такую тенденцию — HTTP-статус: Ресурс не найден (404) и ссылки с урл заканчивающимся на тот код, что используется для вставки видео, т.е. http://mysite.tu/-hgdgek где — hgdgek это тот код, который используется для вставки видео через дополнительное поле. Возможно ли настроить редирект с этих страниц, дабы убрать ошибки в вебмастере или это не так страшно, если они все равно ведут на страницу 404 ошибки.
Ничего страшного, главное что не отдает ответ 200, а значит можно не волноваться.
Если сделать это —
// 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 редирект на главную с несуществующих левых страниц
то при переходе на http://айт.ru/engine/rss.php редиректит на главную
Для этого есть http://site.ru/rss.xml
Здраствуйте, а как вставить вместо xfsearch название доп.поля, пример сайта baskino. com
ну мне кто нить поможет??(
Привет Коллеги!
В общем поменял урл категорий и соответственно прописал редирект
Redirect 301 /урл_старой_категории/ http://сайт.info/урл_новой категории/
Но вид ссылки при редиректе получается такой
http://сайт.info/урл_новой категории/?do=cat&category=урл_старой_категории/
Хотя раньше когда делал редирект, то редирект происходил нормально и адрес был таким
http://сайт.info/урл_новой категории/
В чем загвоздка?
Желательно правила добавлять в таком порядке. Сразу после RewriteEngine On пишете строку RewriteBase / а после этого уже свое правило. И все будет отлично!
Честно в этом я не разбираюсь, но если правильно понял это должно быть так?
RewriteEngine On
RewriteBase /
Redirect 301 /урл_старой_категории/ http://сайт.info/урл_новой категории/
Redirect 301 /урл_старой_категории/ http://сайт.info/урл_новой категории/
Если да, то проблема та же. Почему раньше было все нормально. Единственное, что изменил это обновил движок
И такой вариант пробовал
RewriteCond %{REQUEST_URI} ^/igra-vinks-vokrug-sveta-i-drugie-igry-testy
RewriteRule ^igra-vinks-vokrug-sveta-i-drugie-igry-testy$ http://сайт.ру/winx [R=301]
В общем попробовал 3-4 вида редиректа и редирект работает, но адрес все равно такова вида
http://сайт.ру/winx/?do=cat&category=igra-vinks-vokrug-sveta-i-drugie-igry-testy/
Интересно. В таком случае, попробуй перенести правила в конец файла.
Если не поможет, то у меня пока других идей нет :(
Тоже не помогает =(
Может, что то не так в .htaccess ?
http://s020.radikal.ru/i714/1305/21/691a8edf0bc7.png
И еще: до этого работало когда сайты были на простом хостинге, сейчас сайты на VPS у Рег.ру
Ни чего не понимаю, на локалке стоит дле 9,7 null и та же проблема.
Возможно где-то конфликт из-за множества неродных правил в htaccess. Попробуй установить чистый движок на локалке и добавить только необходимые редиректы и посмотреть, что будет.
А параллельно рекомендую обратиться к хостерам за помощью, они смогут помочь, надеюсь. Ну а если нет, то стоит поискать специалиста по администрированию серверов...
Спасибо большое за ответы!
Поставил DLE 9.6 на локалку, изменил стандартную категорию main на mains
При этом не прописывая редиректа в .htaccess.
Заходя на страницу http://dle.ru/main/
Открывает http://dle.ru/mains/?do=cat&category=main/ ??? Но как если редирект не прописан.
http://s017.radikal.ru/i416/1305/86/c32beb465a6f.png
голова кругом, понять ни чего не могу. =)
Оставьте в покое файл htaccess и используйте стандартный и архива движка. И все будет путем.
ой это я не тот скрин залил, сейчас выложу который стандартный был в дистрибуте.
И в нем я не прописывал редирект а он срабатывает с этой же приставкой.
http://s017.radikal.ru/i415/1305/93/0d818300bac5.png
Вопрос решен методом тыка =), спасибо АлаичЪ за поддержку =)
Хотя странно почему стандартный .htaccess не помогал.
Ну слава богу =)
Кстати на всякий случай поделюсь, вдруг у кого траблы такие же будут. =)
Правильный редирект:
RewriteCond %{QUERY_STRING} ^do=cat&category=bestsoft\/$ [NC]
RewriteRule ^soft/$ /soft/? [NC,L,R=301]
Здравствуйте! Я сделал как в этом комменте https://alaev.info/blog/post/3294#comment-9543, но в вебмастере гугла появились Повторяющееся метаописание, то есть проблема в том что, идет Название доп.поля и Название сайта. Как можно в данном случае убрать Название сайта? Заранее спасибо.
Название сайта тут не причем. Но если все же хочется это сделать, то тут https://alaev.info/blog/post/2373 надо проделать пункт "Улучшение SEO характеристик заголовков title".
Для тех, кто будет добавлять тег canonical в полную новость по инструкции, рекомендую удалить из /engine/engine.php следующий код:
if ($canonical) {
$metatags .= <<<HTML
<link rel="canonical" href="{$config['http_home_url']}" />
HTML;
}
Кстати, если выполнить последнюю рекомендацию (про canonical), то на главной странице, страницах категорий и пр., кроме страниц полных новостей, мета-тег тоже выводится:
<link rel="canonical" href="" />
Это можно как-то исправить?
Александр, можно!
Удалите ещё:
if ($_SERVER['REQUEST_URI'] != "/" AND $cstart == 0) $canonical = true;
и это:
$canonical = FALSE;
в каком файле это удалить?
Вопрос:
Сделал "Редирект для удаленных или несуществующих новостей на главную". Должны ли теперь страницы типа "http://site.ru/cat/8-easy-maintenance", где cat — несуществующая категория, а 8-easy-maintenance — несуществующая новость, редиректиться на главную?
Если да, то беда — у меня не редиректит :( Что может быть? Может, ДЛЕ 9,8 потому что?
А если и не должны, то как настроить редирект на такие несуществующие страницы?
Кто-то меня прямо закидывает ими, вебмастер Гугла прям трещит.
Спасибо за помощь заранее.
Слишком много всего несуществующего.
Проще делать редирект с адресов, включающих несуществующую категорию:
Думал, атаки конкурентов — фух, паранойя, оказывается, раньше на этом домене был сайт, вот и всплыли старые урлы в вебмастере — на сегодня уже более 100.
Спасибо, Алаичъ, дождался твоего совета! Все несуществующие страницы теперь редиректят на главную.
Пока исправлял, нашел еще дубль главной — site.ru/page/. Вроде в твоих постах оптимизацию DLE такого не видел.
:)
Читал как то Ваш диалог на сайте shakin.ru, там Вы рассказывали от Вашей карьере и тд.И там я от Вас услышал такие слова: "Хотя остается мой блог — он не ради денег и никогда не будет, на нем не будет ни одного баннера и не одной заказной рекламной статьи."
Это значит что Вы все таки не сдержали слово
Так и где же я не сдержал свое слово?
Подскажите как сделать правильно.
Хочу сделать нормальную 404 страницу (отдельную информативную), но у меня почему-то при вводе несуществующей страницы перебрасываюет на главуню, а нужно сделать чтобы на 404 отдельную!
Не знаю, как это сделать. Поищите мануалы в сети, я точно видел, правда там достаточно все непросто в плане реализации.
Сейчас на большинстве хостинг панелей, есть пункт свой страницы ошибок, 401, 404 и тд, что же мешает вам Владимир, создать такую "Информативную страницу под дизайн сайта?" как по мне так как 2 пальца апасфальт!
Спасибо за советы.
У меня когда набираю несуществующий адрес (к примеру http://мой_сайт.info/пример1.html) открывается главная а не стандартное предупреждение ДЛЕ ( Внимание, обнаружена ошибка...). Пример с http://alaev.info когда статья удалена или не существует у меня не проделан.
Тогда что делает редирект???
А страницу сам сделаю!
Спасибо большое. Очень полезный блог. вы написали "если вы что-то вспомните или найдете необычные ошибки на своем сайте – обязательно пишите в комментариях, я придумаю решение вашей проблемы и добавлю его в пост" так вот, можно ли сделать чтоб для каждой страницы можно было описание делать самому? например у меня _kino.lite.uz и _kino.lite.uz/index.php?do=rules описание одинаковое=( и _kino.lite.uz/xfsearch/2013/ кривое. можно ли как ни будь исправить?
Редирект для удаленных или несуществующих новостей на главную
при добавлении на 9.7 не открываются полные новости.
Все сделал что можно было для 9.7, помогло но отчасти, хотелось бы узнать как убрать остальные битые ссылочки. Типа :
http://pcracing.ru/2013/03/seriya-colin-mcrae-rally.html
error code: 404 (not found), linked from page (s):
http://pcracing.ru/2013/03/
http://pcracing.ru/2013/07/seriya-colin-mcrae-rally.html
error code: 404 (not found), linked from page (s):
http://pcracing.ru/2013/07/
http://pcracing.ru/2013/08/seriya-colin-mcrae-rally.html
error code: 404 (not found), linked from page (s):
http://pcracing.ru/2013/08/
http://pcracing.ru/2013/09/page/2/seriya-colin-mcrae-rally.html
error code: 404 (not found), linked from page (s):
http://pcracing.ru/2013/09/page/2/
http://pcracing.ru/2013/09/seriya-colin-mcrae-rally.html
error code: 404 (not found), linked from page (s):
http://pcracing.ru/2013/09/
<link rel="canonical" href="" /> выводится на главной, причем урл пустой, и портит валидацию.
Попробуй убрать все что сделал по инструкции, отмени все изменения в файлах,
В корневом файле index.php внеси изменения
После строки:
if ( $dle_module == "showfull" ) {
Добавь:
$metatags .= <<<HTML
<link rel="canonical" href="{$full_link}">
HTML;
Как сделать редирект на главную???
Чтобы не было вот таких дублей. (буквы могут быть любые, главное формат /xxx.xxx)
http://site.ru/ffff.fff
http://site.ru/page/3/ffff.fff
http://site.ru/anime/ffff.fff
Движок 9.8