Привет! Я запускаю обучающие онлайн курсы по SEO. Подробности и форма записи на Alaev.school
promopult
 

SEO оптимизация DLE: Часть 3 — Тонкости и особенности внутренней оптимизации движка

SEO оптимизация DLE – Часть 3 Привет, друзья. Наконец-то пришло время для третьей части моего мега-руководства по оптимизации DLE.

Только сейчас с ужасом осознал, что предыдущая вторая часть руководства вышла более полугода назад!

По сложившейся традиции мы будем говорить о внутренней оптимизации сайта, а конкретно в этой части я расскажу про некоторые особенности движка и мелкие, но очень полезные фишки и хаки, которые не подошли по формату в предыдущих частях.

Эта часть так же связана с адресами страниц, но в отличии от второй части, где мы боролись с дублями и исключали их появление, в этой части мы рассмотрим, как избавиться от несуществующих страниц, появившихся в результате удаления или ошибки в адресе.


Пост обновлен 6 мая 2014 года:
Обновлены вносимые в движок изменения, добавлена поддержка новых версий движка.
Актуально для следующих версий DLE: 7.x, 8.x, 9.x, 10.x!

Другие части SEO-руководства:
Часть 1, Оптимизация заголовков Title — http://alaev.info/blog/post/2373
Часть 2, Борьба с дублированием контента — http://alaev.info/blog/post/2400
Часть 4, Исправление для версий DLE 9.3, 9.4, 9.5, 9.6 — http://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 редирект на главную, если новость не найдена/не существует

Скрыть список правок

Теперь при переходе на несуществующую или удаленную публикацию будет осуществляться редирект на главную страницу сайта.


Запрещаем индексацию разделов сайта при помощи мета-тега 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 Я не уверен, будет ли следующая часть руководства, так как на данный момент писать в ней нечего, все, что могло бы быть полезным, уже описано в существующих трех частях. Но мало ли… Все зависит от вас и ваших вопросов и предложений!

С уважением, Александр Алаев
 
Ерунда и баянЪ!Зачет! Плюсую!
+51
 
Оптимизация сайта

Профессиональный технический аудит и оптимизация вашего сайта.
Тот самый необходимый «фундамент» для успешного продвижения.

от 15 000 руб.
Продвижение сайта

Комплексный подход к решению поставленных задач, будь то достижение заветных позиций в ТОП 10 или увеличение трафика на сайт. В стоимость уже включены полный технический аудит и оптимизация сайта.

от 20 000 руб.
Консультация

У вас недостаточно знаний?
Нужен ответ на ряд вопросов?
Хотите узнать мнение эксперта?
Вы задаете вопрос — я отвечаю!

2 500 руб./час
 
Получай новости блога АлаичЪ'а на e-mail:
 
Другие посты из категории Datalife Engine:
  1. ПафНутиЙ (123 комм.)

    Однозначно полезнейшая информация! Спасибо, обязательно буду пользовать метатег robots.

    Но вот что не мешало бы уточнить — это версии движка, для которых это актуально, а то многие вещи целсофт всётаки правит (те же ссылки на категории без слешей/со шлешами) а неродивые пользователи (коих привеликое множество) будут дополнительно пилить двиг )))).

    • АлаичЪ

      Спасибо за комментарий.

      В данной части все правки актуальны для любой версии движка, хоть для самой старой, хоть для актуальной (вроде пока что это 9.5). В предыдущих же частях я везде пишу актуальность и условия, при которых надо или не надо вносить эти самые правки. В частности про слеши, вроде, проблема не актуальна начиная с DLE 9.3, но только при включенной настройке в админке, которая активирует исправление. Но вот не все люди после обновления заглядывают туда.

      В общем, народ у нас не внимательный, делают ошибки даже на ровном месте :(

      • ПафНутиЙ (123 комм.)

        Не то чтобы не внимательный, а скорее ленивый, отсюда и невнимательность. Двиг обновил, а в админку заглядывать — нуеёнафиг ))

        Вот и получается...

        • АлаичЪ

          В данном случае надо не лениться прочитать полный список изменений в новой версии на оф.сайте перед обновлением.

          Даже внимательно просматривая админку очень легко пропустить новый пункт настройки среди огромного их количества.

      • Владимир (1 комм.)

        Спасибо за статью! Долго искал, как добавить каноникал в новости.

        Но мне нужно немного не так, потому что у меня материал будет входить в несколько категорий, поэтому мне надо указывать каноникал от каждой новости, потому что по умолчанию в этом случае ставится каноникал первой по списку категории, в которую добавлен материал. И поисковые машины будут думать, что в остальных категориях (кроме нескольких первых) нет материалов, следовательно не будут их нормально ранжировать.

        Хотелось бы попросить подсказать можно ли это осуществить через доп. поля? Если можно то как? Пробовал изменить ваш код что типа того)) $full_canonical = [xfvalue_canonical]; но не получается))

  2. Andrey (14 комм.)

    Несомненно полезно...

    Вопрос: Нужно ли закрывать метароботсом страницы пагинации?

    И еще, например, я у себя в панели вебмастера обнаружил такие вот 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/ могут решиться вот этим пунктом "Редирект с разделов или категорий, которых больше не сущестувет, на главную страницу". Но мне негде это проверить. Так что проверьте вы, а потом напишите что и как работает.

      • Andrey (14 комм.)

        А я закрываю :) Ладно...

        На счет http://site.com/2011/07/ или http://site.com/2012/01/page/8 и «Редирект с разделов или категорий, которых больше не сущестувет, на главную страницу» — не работает!

        Нужно будет как-то думать, что сделать... Может быть если сервер отдает 404, то перенаправлять на нужную страницу (например, главную). Только вот, думаю, все равно 404-ки будут в панели после этого, даже и не знаю...

        Или же искать решение наподобие «Редирект с несуществующих страниц пагинации на правильные и существующие».

        Поправка — но http://site.com/print:page — работает!

        • АлаичЪ

          Я могу написать код и для 301-редиректа с любой несуществующей страницы на главную, могу написать конкретно только для архива. Да вообще можно что угодно сделать =)

          • Andrey (14 комм.)

            Я вроде выследил что заменить на

            header ("HTTP/1.0 301 Moved Permanently");

            header ("Location: {$config['http_home_url']}");

            die ("Redirect");

            в шоушорт.пхп

            Перенаправление работает... Теперь вот вот думаю... оставлять или попробовать сделать на более глобальном уровне как-то...

            Меня интересует один вопрос — если сервер отдает 404, то если мы пропишем потом делать 301-й редирект, будет гугл хавать это как 404-я страница... или нет...

            • АлаичЪ

              Сервер не может отдавать несколько разных ответов враз. Сервер скажет или 404 или 301, одновременно и то и другое не случится :)

              Если пропишем 301 редирект, то со временем (недели две) в панели вебмастера Гугла ошибки сами пропадут.

  3. Сергей (3 комм.)

    Скажите пожалуйста, а есть какая-либо программа, которая могла бы найти 4-4 страницы?

    Заранее благодарен и если можно ссылочку на эту программу.

  4. Дмитрий (44 комм.)

    Странно, но не могу найти <meta name="robots" content="all" /> в engine.php. DLE 9.5.

    Кстати, это и для Yandex, и для Google?

    • Andrey (14 комм.)

      > Странно, но не могу найти <meta name="robots" content="all" /> в engine.php. DLE 9.5.

      В 9.5 убрали.

      > Кстати, это и для Yandex, и для Google?

      Да.

      • Дмитрий (44 комм.)

        2Andrey, так и в 9.4 тоже не могу найти.

        Что делать? Куда тогда вставлять?

        • АлаичЪ

          Прошу прощения, что-то я не догладел, не думал что в новых версиях удалили этот тег, я тестил свои наработки на старых версиях.

          Внес правки в пост, снова проверьте данный пункт — я пояснил, что надо делать, если не нашли метатег.

          • Дмитрий (44 комм.)

            Спасибо, а страницы пагинации можно как-то запретить этим способом?

            • АлаичЪ

              Можно, без проблем. Для этого в приведенном коде необходимо заменить одну строку:

              	$dle_module == 'date') {

              На такую:

              	$dle_module == 'date' OR
              	(intval($_GET['cstart']) > 1 )) {

              Тогда для всех страниц пагинации будет так же прописываться <meta name="robots" content="noindex,nofollow">

  5. tarin (5 комм.)

    Еще есть такие ошибки, обнаружила в панели вебмастера Гугла, страницы были статические и были в результате изменения структуры сайта удалены, но по интернету разбежались ссылки на эти страницы и теперь висят в ошибках 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 и находим:

      		if (($subaction == "showfull" or $subaction == "addcomment") and ((! isset ( $category ) or $category == ""))) {

      ВЫШЕ вставляем:

      // 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 редирект на главную с несуществующих левых страниц

      И все, дело в шляпе, теперь будет осуществляться 301-редирект на главную.

      Пробуйте и отписывайтесь потом.

      • tarin (5 комм.)

        Как и просили, пишу результат после выполненных рекомендаций в статьях 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. Возможно у вас есть какие нибудь наработки новые с которыми Вы могли бы поделиться с нами?

        • АлаичЪ

          Замечательно! Живой пример того, что я пишу действительно дельные вещи ;) Спасибо за подробный комментарий!

        • Сергей (7 комм.)

          Так а зачем отдавать 301 редирект с несуществующих страниц? Для этих целей только 404 и ничего страшного, если в панели вебмастера показываются эти ошибки. В рекомендациях того же гугла они на ранжирование никак не влияют. 301 редирект подойдет только тогда, если адрес страницы изменился, а страница не была удалена.

          Вашими действиями вы, во-первых, вводите в заблуждение пользователя, который попадает сразу на главную. Во-вторых, посетитель врядли будет искать несуществующий материал с главной и наверняка сразу уйдет, а это уже явно повлияет на ПФ, так как увеличится % отказов, соответственно и на ранжирование.

  6. Герман (1 комм.)

    Не подскажите, у меня стоит движок 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/ существуют и все с ними в порядке, редикректы которые вы описывали все сделал, все работает кроме того, что я написал. Это нужно исправлять или так и должно быть?

    И вообще, все виды таких адресов без слеша на конце выдают ошибку, в панели вебмастера они помечены как ошибочные, так как на сайте категорий много, то и ошибок в панели яндекса очень много. Как это изменить?

    • АлаичЪ

      Специально для вашего случая есть пункт во второй части руководства — http://alaev.info/blog/post/2400 — "Устраняем неразбериху с категориями их вложенностью и слешем / на конце".

  7. Axel (63 комм.)

    Огромное спасибо за статью! Уберу большое количество ошибок :)

    Скажите, пожалуйста, зачем для полной новости добавлять rel=”canonical” ? Ведь этот тег нужен только в случае, когда на сайте могут быть две страницы с одинаковым контентом, и чтообы поисковику показать, какой странице отдавать предпочтение, и нужно ставить rel=”canonical”. Немного сути не понял...

    • АлаичЪ

      Ну, во-первых, rel=”canonical” еще никому не мешал и лишним точно не будет.

      Во-вторых, он нужен для того, чтобы отсекать страницы с параметрами вида site.ru/news_name.html?param=blabla, хотя в DLE такого и не случается.

      В-третьих, я просто рекомендую это сделать, но если вам не надо, то дело ваше.

  8. Влад (1 комм.)

    вот запрещаю индексацию разделов сайта при помощи мета-тега robots, при это мне прийдется все удалить из robots.txt так как там запрещены только вот эти страницы, как поступить лучше оставить так как было или все таки сделать по вашему?

    • АлаичЪ

      Если бы было лучше оставить все как есть, я бы не писал ничего такого, чтобы сделать все хуже. Читайте внимательно и все поймете.

  9. Cawa (3 комм.)

    Спасбо большое очень полезная информация. Не подскажете как полностью убрать название новости и только оставить "id" и чтобы срабатывал редирект на верный адрес?

    • АлаичЪ

      Что за чушь? Напишите более понятно и подробно, что именно вы хотите получить?

      • Cawa (3 комм.)

        Например на сайте Тип чпу 1, тоесть адрес новости будет "http://site.ru/id-имя новости.html" как можно из чпу убрать "имя новости.html" чтобы чпу был http://site.ru/id/

        • АлаичЪ

          Это надо переписывать ЧПУ, так что это вы уж как-нибудь сами, лично меня эта идея не заинтриговала, да и не вижу абсолютно никакого в ней смысла.

    • Art (8 комм.)

      По умолчанию и так есть редирект на правильный адрес при указанном одном id из всего названия, т.е., например, есть новость по адресу site/cat/34-newsjfsdjfs.html, при вводе site/cat/34, произойдет редирект на site/cat/34-newsjfsdjfs.html.

  10. Алексей (3 комм.)

    В принципе все что было описано в этой статье я уже знаю, но все таки нашелся один вопросик...

    Скажите пожалуйста нужно ли закрывать метароботсом страницы пагинации?

    • АлаичЪ

      Это исключительно на ваше усмотрение, хотите закрывайте, а хотите и не закрывайте. Лично я не закрываю.

  11. TITAN-UZ (3 комм.)

    После этих исправлении, если можно так сказать, индексация моего сайта в google выросла до 97%.

    Спасибо всем, особенно АлаичЪ'у, за советы и труды в этой сфере!

  12. Axel (63 комм.)

    В инструкции добавления тега rel="canonical" у меня не совпал код...

    На конце у меня так:

    $short_link = "";

    $link_page = "";

    $news_name = "";

    Версия дле: Актуальная :)

    • АлаичЪ

      Ну так перед этими строчками есть код:

      } else {

      Перед этой строчкой и добавьте.

      • Axel (63 комм.)

        И еще осле установки, тег выглядит так

        <link rel="alternate" type="application/rss+xml" title="" href="" /> <link rel="canonical" href="" />

        То есть всё в одну строку. Как с отдельной строки вставить тег?

        • АлаичЪ

          Необходимо перед строкой добавить \n.

          Посмотрите обновленный код в посте.

  13. MIRREXX (13 комм.)

    здравствуйте!

    Интересует 301 редирект на главную с несуществующих левых страниц

    Пробовал метод, описанный выше, не помогает!

    • АлаичЪ

      Надо смотреть сам "кривой" url с которого не происходит редирект, там есть свои особенности.

  14. Art (8 комм.)

    Редирект через .htaccess не сработал, выдало ошибку — невозможно завершить редирект, а при "Редирект для публикаций, у которых отсутствует ID, на главную страницу" выскакивает заглушка 404, а также при "Редирект для удаленных или несуществующих новостей на главную", хм?

    И чёт каноникал не добавился, а вот за мета-тега robots респект, а можна через него запретить так, например, есть категория и подкатегории:

    сайт/кат-олл/ — запрет индексации

    сайт/кат-олл/кат1 — разрешена индексация

    сайт/кат-олл/кат2 — разрешена индексация

    сайт/кат-олл/кат3 — разрешена индексация

    Ну и естественно новости в каждой подкатегории были доступны для индексации, т.к. это не удалось корректно решить через роботс.

    • АлаичЪ

      Значит что-то не так делали, раз столько проблем вылезло разом. Я, конечно, еще раз сейчас перепроверю у себя, но, скорее всего, это ваша ошибка.

      На счет категорий и подкатегорий. Надо сделать так, после строки:

      $do == 'tags' OR

      добавить

      $category_id == X OR

      где X — это id категории в системе.

      • Art (8 комм.)

        Условие работает, благодарю.

        А вот с остальным ещё поковыряюсь, может что не так делаю.

  15. Axel (63 комм.)

    АлаичЪ, скажите, можно ли как-то ссылки на файл в аттаче (/engine/download.php?id=...) в rel="nofollow" закрыть? А то в robots.txt прописана директива Disallow: /engine/ и в панеле веб-мастера Яндекса постоянно присутсвует большое количество исключенных страниц с такими url. Или не стоит придавать этому большого значения?

    • АлаичЪ

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

      Конечно, неприятно, что в панели вебмастера висит куча загруженных страниц /engine/, но на ранжирование это не сказывается никак.

      • Axel (63 комм.)

        Ну на любом сайте можно просто загрузить файл и покрутить с кодом. Ну да ладно :) Я пытался сам найти, но все безрезультатно.

        Сейчас в яндексе 641 страница загружена и 241 страница ислючена, все исключенныйе станицы типа /engine/download.php?id=... Очень не приятно!

        Если вдруг найдете, как подкрутить, отпишитесь тут.

        • АлаичЪ

          Что если снять запрет Disallow: /engine/ и посмотреть что будет. Теоретические такие страницы не должны индексироваться поисковиком, так как по сути и не являются страницами. Есть подозрение, что если снять запрет, то эти страницы не будут отображаться в панели вебмастера.

          PS Я как раз у себя сейчас с этим экспериментирую.

          • Axel (63 комм.)

            Верно! Вообще не логично было закрывать от индексации их. Если и запретить индексировать их, то исключительно атрибутом rel="nofollow".

            Запрет снял...

  16. Артур (2 комм.)

    Здравствуйте очень полезная информация на счёт тега rel=”canonical” давно искал способы использовать его в ДЛЕ. У меня вопрос, я заранее извиняюсь если его решение уже было изложено, так как про этот сайт узнал только сейчас и мог не найти ответа. На моём сайте закрыты от индексации страницы вида сайт.ру/page1/ сайт ру/page2/ и так далее, закрыть страницы решил только по причине схожего тайтл , и описания с главной. Возможна ли какая то реализация в движке, при которой эти теги для главной можно было указывать через админпанель в самом движке, а что бы страницы описанные выше брали инфу из самой верхней новости расположенной на этой страницы и соответственно менялись при смене самой новости на более свежую то есть были динамическими? Заранее благодарен!

    • АлаичЪ

      Добрый день. Ваша идея мне не нравится. Но по поводу настройки тайтлов рекомендую ознакомиться с первой частью руководства — http://alaev.info/blog/post/2373

      • Артур (2 комм.)

        А почему идея не нравится, считаете оставить запрет на индексацию этих страниц или какая то другая причина?

        • АлаичЪ

          Просто не нравится. Я считаю, что лучше открыть страницы пагинации к индексации, никакого вреда в этом не вижу. Разве что у вас не совпадает анонс shortstory и текст полной новости fullstory.

          • mjxjm (2 комм.)

            Я кстати соглашусь с Артуром, мне кажется Вы его не поняли. Закрывать от индексации столько страниц типа сайт.ру/page1/ сайт ру/page2/ только из за дублирования тайтлов и, возможно части текстов — очень жалко.

            Вот Пример сайт онлайн видео: у меня есть "категория 1" и категория1/page1/ ... категория1/page22/ то есть еще 21 страница отличного контента, каждая включает в себя 30 роликов. У каждой из этих страниц категория1/pageХ/ собирается существенный вес, который можно было бы эффективно использовать, а мы их тупо закрываем от индексации только по тому что не реализован вариант уникальных тайтлов и нет возможности использовать [category=х] текст [/category] для /page1/ ... категория1/page22/, что очень ограничивает наполнение уникальным текстом разделов сайта.

            То есть идеальным был бы вариант, когда можно было бы менять тайтлы и метатеги для page1/ и для этих страниц можно было бы использовать оператор что то типа [category=х-page1] — это бы существенно могло повлиять на релевантность наших категорий. Шутка ли учитывается вес первой страницы категории, или все 20 страниц категории.

            • eqoist (20 комм.)

              А нельзя ли например в meta-robots страницы пагинации сделать что-то типа

              <meta name="robots" content="noindex,FOLLOW" /> да бы в индекс не включался, но и вес не терялся?

  17. Art (8 комм.)

    Редирект для публикаций, у которых отсутствует ID, на главную страницу — http://alaev.info/post/3294#tolist_04

    Редирект для удаленных или несуществующих новостей на главную — http://alaev.info/post/3294#tolist_05

    Никак не прикручу, не хочет работать, всё делал чётко по инструкции, несколько раз перепроверял, но никак :(

  18. ПафНутиЙ (123 комм.)

    Вот такой вопрос сегодня задали на dle-faq.pro (не реклама):

    ------------------------------

    Мне понадобилось снова отправить на модерацию новости, которые уже были опубликованы и проиндексированы поисковиками. Совсем удалять их не хочу, просто через некоторое время подкорректировать и снова опубликовать. После того, как сняла новости с публикации, обновила xml-карту сайта, отправила поисковикам, они ее скушали.

    Ну, думаю, все в порядке, снятые с публикации новости потихоньку выпадут из индекса, чтобы люди не приходили из поиска на пустые страницы. А сегодня смотрю логи — роботы спокойно гуляют по страницам снятых с публикации новостей, им отдается ответ 200.

    Скажите пожалуйста, разве страницы снятых с публикации новостей не должны отдавать ответ 404? И сами собой эти страницы не выпадут из индекса?

    -------------------------------

    Я даже как то и не думал, что отправленные на модерацию новости отдают 200...

    • АлаичЪ

      Да, кстати, я у себя такую же фигню заметил :( Раньше не было такого, на ранних версиях, а на более новых появилось. Надеюсь в новой версии исправят.

  19. Axel (63 комм.)

    Пишу опять по поводу атрибута rel="nofollow" в ссылках на аттач.

    На dle-faq помогли закрыть ссылки, но и заставили задуматься, делать ли мне это... Не отнимаю ли я вес страницы, закрывая внутриненние ссылки от индексации? Хотя с другой стороны дико выглядит, когда в яндекс.вебмастер показывает структуру сайта, где engine/ составляет аж 36%.

    • АлаичЪ

      А чего тут задумываться, закроешь ты их или нет, вес одинаковый со страницы "утечет". Тут выходов не много — или убрать эти ссылки вовсе или оставить как есть, хотя можно и просто скрыть их от гостей, но это зависит от политики сайта.

      • Axel (63 комм.)

        Забавно то, что после того как я убрал директиву Disallow: /engine/, все не нужные ссылки выпали из индекса яндекса. Пропали те 36% engine/ из общей сруктуры сайта... Нет огромного списка исключенных страниц.

        Вывод: Не нужно в robots.txt запрещать то, что по сути и не может индексироваться — /engine/ ;)

        P.S. А ведь везде, где якобы правильные robots.txt, engine закрыт от индексации... о_О

        • АлаичЪ

          Ну а я о чем говорил =)

          • Axel (63 комм.)

            В сегодняшний АП все страницы /engine/ вернулись... Как быть теперь? :)

            Плюс ко всему, теперь большое количестов не сообщений об исключенных страницах, а "Формат документа не поддерживается". Мне кажется, что это гораздо хуже :)

            • АлаичЪ

              Хм, ну что ж, видимо захотелось Яндеку их проиндексировать.

              То, что в панели показываются эти предупреждения, никак не сказывается на качество ранжирования.

  20. Глеб (2 комм.)

    Здравствуйте, спасибо огровное за статью!

    В DLE 9.5 в файле .htaccess не нашел след. строк:

    RewriteRule ^([^.]+)/([0-9]+) — (.*).html (/?)+$ index.php?newsid=$2 [L]

    RewriteRule ^([0-9]+) — (.*).html (/?)+$ index.php?newsid=$1 [L]

    Как быть?

    • АлаичЪ

      Обновил пост, смотрите. А вообще можно было бы догадаться и внести изменения самому по шаблону :)

      • Глеб (2 комм.)

        Также в файле engine.php не нашел

        if (! $category_id) $category_id = 'not detected';

        • АлаичЪ

          Все там есть, пробуйте включать фантазию и искать не по всей фразе, а по ее части, так как пробелы в некоторых местах могут стоять, а могут и отсутствовать!

  21. Дима (4 комм.)

    Здравствуйте Многоуважаемый Разработчик, Программист!

    Без ума от Вашего блога, предыдущего поста (дубли, где три ссылки на одну новость и слэш у категорий, всё сделал, всё СУПЕР) здесь тоже все пункты сделал кроме ПОСЛЕДНЕГО.

    Цитирую тему раздела здесь "Редирект для удаленных или несуществующих новостей на главную" ну нету у меня в /engine/modules/show.full.php этого кода. А мне этот пункт ой как нужен! Будьте так любезны помогите пожалуйста! Версия DLE 9.5

    Заранее Вам буду Безумно Благодарен!!!

    • Дима (4 комм.)

      Всё сделал! Простите, пожалуйста, за беспокойство. Дело в том, что делал махинации перед этим на http://angelys.ru/optimizaciya-sayta/17-delaem-svoyu-stranicu-oshibok-404-na-dle-datalife.html, а именно пункт:

      5. Открываем файл engine/modules/show.full.php находим:
      msgbox ( $lang['all_err_1'], $lang['news_err_12'] );
      Заменяем на:
      require_once ROOT_DIR.'/404.html';
      die ();

      Поэтому и не мог найти код, но я заменил его на Ваш и у меня работает вроде, вместо удаленной новости главная сразу появляется. Вот только не знаю правильно ли я сделал, что создал 404 страницу.

      • Дима (4 комм.)

        О Господи, теперь не работают обычные новости все:

        «Неверное перенаправление на странице.

        Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.»

  22. Дима (4 комм.)

    А как избежать бесконечное количество дублей site.ru/page/99999999/ (где девятки можно сколько хочешь прописывать и везде будет главная страница БЕЗ редиректа, в адресной строке будет полный адрес с девятками). Редирект нельзя поставить ни как?

    Заранее спасибо огромное!

    • АлаичЪ

      Смотрите самый первый пункт данного поста, там как раз про это и говорится.

      • Дима (8 комм.)

        В том то и дело, что стр. page 435 (наобум вбил, всего у меня 11 страниц на сайте) редирект на 11 идёт, вбиваю 999 редирект на 11 идет, а если больше девяток ставлю то редирект уже НЕ идет. Друг сказал, что враги могут ссылок на блоге любом наставить, к примеру site.ru/page/999999 а ПС их проиндексирует и зачтет как дубль главной.

        В общем, съёзно говорю, что на длинные большие цифры редирект не срабатывает. А так всё СУПЕР!!! ВЫ ГЕНИЙ своего дела!!! Я прочел сделал вывод, что Ваши пункты заменяют 404 стр и 404 к черту НЕ нужна. Вместо ошибки ПС будет главную видеть всё время и, полагаю, мои полугодичные удаленные страницы в ПС наконец-то удаляться.

        СПАСИБО ЗА ТО ЧТО ВЫ ДЕЛАЕТЕ! УСПЕХОВ ВАМ!

        • Дима (8 комм.)

          И про редирект http:/сайт>ru/page/9999999 и наберите тоже самое но с МИНУС одной девяткой, проще говоря меньше 7 девяток редирект работает, а если больше то нет!

          Мой домен знаете, просто подставьте его, то что мы обсуждали, что враги могут ссылок наделать на говно сайтах созданных, чтобы ПС дублей засчитали до фига.

          • АлаичЪ

            Это бред =) Никто не станет так делать, кому вы нужны (Не в плохом смысле, разумеется)? У вас сайт с миллионом посетителей, миллиардной выручкой, у вас много завистников и врагов, вы мешаете им жить? Если нет, то успокойтесь, врагам вы не нужны!

          • Юрий (23 комм.)

            Если вы поставите 301 редирект с несуществующих категорий на главную страницу (решение описано в этой теме АлаичЪем), то при очень большем номере страницы будет происходить 301 переадресация на главную. Видимо ДЛЕ подобние страницы уже не воспринимает как подстраницу категории, а считает их отдельной подкатегорией.

            • АлаичЪ

              Нет, это вряд ли, так как маркером тут является page/ в адресе. Просто слишком большое количество знаков выходит за диапазон допустимых значений поля в БД.

              • Юрий (23 комм.)

                Главное, что происходит переадресация, а не возникает дубль главной страницы, как писал Дима.

  23. Дима (8 комм.)

    Будьте так добры, скажите, пожалуйста, как мне быть: у меня на главной странице всего ОДНА страница! Модуль популярные показывает 10 новостей, а движок думает, что 11 и у меня 11 дублей из за этого — page/1, page/2 и таких 11, потому что все выглядят как главная.

    Надо чтобы редирект был чисто на главную, без всяких /page

    Заранее Вам Безумно Благодарен!!!

  24. arsenaleli (14 комм.)

    Я попробовал ваш способ. Всё класс! Оживил множество ссылок.

    Только вот остались не оживлённые ссылки на теги например:

    http://site.ru/tags/%EF%EE%F0%ED%EE+%EB%E5%F1%E1%E8%FF%ED%EE%EA+%F1%EA%E0%F7%E0%F2%FC/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%B1%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%BF%D0%BE%D1%80%D0%BD%D0%BE%20%D0%BD%D0%B0%20site.ru
     
    http://site.ru/tags/%E1%EE%EB%FC%F8%E5%E9+%F7%EB%E5%ED/page/2/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%B1%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%BF%D0%BE%D1%80%D0%BD%D0%BE%20%D0%BD%D0%B0%20site.ru

    Если бы ещё с этой проблемой разобраться было бы вообще.

    Но и за это спасибо, хороший у вас блог, помогаете людям!

  25. arsenaleli (14 комм.)

    У меня появились проблемы, которые я сразу не заметил. При изменении engine.php, я имею виду для публикаций у которых отсутствует ID:

    Изменил это:

    	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

    На сайте пишет такое:

    Parse error: syntax error, unexpected $end in /home/sniffyyy/public_html/engine/engine.php on line 836

    В engine.php у меня это выглядит вот так:

    	// ################ Новость целиком #################
    			if ($subaction != '' or $newsid) {
    				if (! $newsid) $sql_news = "SELECT id, autor, date, short_story, full_story, xfields, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, approve, votes, access, flag, editdate, editor, reason, view_edit, tags, metatitle FROM " . PREFIX . "_post WHERE alt_name ='$news_name' AND date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR LIMIT 1";
    				else $sql_news = "SELECT id, autor, date, short_story, full_story, xfields, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, approve, votes, access, flag, editdate, editor, reason, view_edit, tags, metatitle FROM " . PREFIX . "_post WHERE  id = '$newsid'";
     
    			// 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
    		}
     
    		if (($subaction == "showfull" or $subaction == "addcomment") and ((! isset ( $category ) or $category == ""))) {

    Ещё одна проблема с изменениям файла htaccess. это для ссылок неправильных окончаниях. Когда я меняю строку:

    RewriteRule ^([^.]+)/([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]

    на строку:

    RewriteRule ^([^.]+)/([0-9]+)-(.*?)$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]

    При просмотре полной новости браузер открывает окно где написано следующее:

    Неверное перенаправление на странице
    Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.

    Вот все мои проблемы, много правда я вам написал. Но по моему проблемы не такие и сложные. Спасибо за внимание!

    • Дима (8 комм.)

      О чём я Вам и писал тогда!!! Я полностью поддерживаю arsenaleli, я же писал , что у меня таже проблема (Редирект со ссылок с лишними символами или неправильным окончанием на верные адреса):

      При просмотре полной новости браузер открывает окно где написано следующее:

      Неверное перенаправление на странице

      Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.

    • АлаичЪ

      Разумеется будет ошибка, там надо НЕ ЗАМЕНЯТЬ, а ДОБАВИТЬ ниже.

      С .htaccess известная проблема, описанные мной "махинации" для 9.3 и выше не подходят :(

  26. Иван (7 комм.)

    Помогите пожалуйста появились такие вещи вообще не знаю как их исправить

    site.com/page/1.../любая категория/ — вот любая категория нафиг не нужна, как ее удалить, т.е сделать редирект на главную?

    site.com/category/page/1.../любая категория/ — и при таком варианте тоже бы нужен редирект.

    • АлаичЪ

      Прочитайте вторую часть руководства, там как раз подобные проблемы разбираются.

      • Иван (7 комм.)

        Всё что там написано сделал, все равно движок отдает такие страницы, движок 8.5.

  27. MIRREXX (13 комм.)

    Добрый день!

    rel=”canonical” все отлично работает!

    Я так понимаю что теперь поисковик не будет обращать внимание на частичное дублирование контента из краткой новости.

    А считаются ли элементы навигации и просто блоки сайта повтором? Ведь они на всех страницах. И на двух разных страницах с атрибутом rel=”canonical” тоже будет такое дублирование. Тоесть как робот определит действительно релевантную страницу? Может неправильно задал вопрос, но надеюсь вы понимаете о чем я :)

    • АлаичЪ

      Наличие rel=”canonical” никак не влияет на понимание поисковиками текста полной новости и ее анонса на страницах категорий. Так что частичное дублирование никуда не денется, разумеется.

      Элементы навигации и сайдбары — это сквозные элементы, отношение к ним у поисковиков особенное, они прекрасно понимают, что все это есть блоки навигации и они сквозные.

      rel=”canonical” нужен для того, чтобы поисковик понял, какая страница основная и предпочтительная (при этом предполагается, что на обоих страницах содержится rel=”canonical” и в его содержимом указан какой-то один url, одинаковый для двух рассматриваемых страниц).

  28. Глеб (3 комм.)

    Здравствуйте,

    Не могли бы Вы, пожалуйста, подправить пункт "Редирект с несуществующих страниц пагинации на правильные и существующие" под дле 9.6 ?

    Хак то работает, но не полноценно, то есть в не зависимости 2 страницы или 200, хак кидает на саму категорию, а не на последнюю страницу.

  29. Тимур (7 комм.)

    Редирект для публикаций, у которых отсутствует ID, на главную страницу.

    Это не работает в DLE 9.6 , как исправить ?

  30. Аркадий (4 комм.)

    Подскажите, как можно сделать редирект страниц вида

    site.ru/2007/

    site.ru/2007/06/

    site.ru/2007/06/22/

    на главную, но чтобы страницы вида site.ru/2007/06/22/страница.html это не затронуло?

    • АлаичЪ

      Без проблем!

      Открываем engine/engine.php и находим:

      			// ################ Новость целиком #################

      Выше добавляем:

      if ($year != '' and $month == '' and $day == '') {
      	header("HTTP/1.0 301 Moved Permanently");
      	header("Location: {$config['http_home_url']}");
      	die("Redirect");
      } elseif ($year != '' and $month != '' and $day == '') {
      	header("HTTP/1.0 301 Moved Permanently");
      	header("Location: {$config['http_home_url']}");
      	die("Redirect");
      } elseif ($year != '' and $month != '' and $day != '' and $subaction == '') {
      	header("HTTP/1.0 301 Moved Permanently");
      	header("Location: {$config['http_home_url']}");
      	die("Redirect");
      }
      • Аркадий (4 комм.)

        Здравствуйте! Спасибо за ответы на предыдущие мои вопросы. Очень помогли.

        Вот появился еще один вопрос. Еще раз перечитал вашу статью, пробежался по комментариям, но вроде как ответа не нашел. Если уж повторяюсь, то извиняйте.

        У меня на сайте ЧПУ вида 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 от Гугла?

        • АлаичЪ

          Посмотрите новый пост — http://alaev.info/blog/post/3513, возможно те правки помогут. Не забудьте прочитать комментарии к тому посту, чтобы быть готовым к возможным проблемам ;)

  31. Мах (8 комм.)

    Спасибо за информацию, но очень неплохо было бы оптимизировать и этот цикл советов :) Установил себе DLE9.6, и вот теперь сижу гадаю, что уже не нужно исправлять, а что еще нужно поправить... Как удобно было бы прочитать все это в отдельных разделах, заточенных под разные версии DLE, а не сортировать по зернышкам.

    • АлаичЪ

      Нет, разделения по версиям не будет, это точно.

      Просто проверьте наличие ошибки по шаблону — если есть, значит надо вносить правки, если само исправляется, значит не надо.

  32. Андрей (1 комм.)

    Александр, Вы просто профи. Второй раз за неделю попадаю к вам из поисковика. Причем первый раз на вторую часть статьи — искал как оптимизировать .htaccess, а сегодня на третью. Хотел закрыть в профиле зарегистрированных пользователей ссылки, а в итоге с помощью мета закрыл намного больше. Спасибо за статьи, снимаю перед Вами шляпу!

  33. Александр (23 комм.)

    Спасибо за познавательные статьи, очень помогли. Но вот вопрос, а стоит ли закрывать "Краткую новость" от индексации, если она дублирует полную новость( правда не полностью) Если стоит то как, это сделать?

    • АлаичЪ

      Нет, не стоит.

      • Дима (14 комм.)

        А я наоборот специально месяц назад убрал все краткие новости, потому что дублировали они частично полные.

        Оставил в них только постеры. Да и админ FreerutorCOM вообще списком выводит краткие (без описания) как на руторе, считает что дубли иначе будут.

        Кстати на DLE 9.6 замечательно все пункты работают на УРА!! ПРОВЕРЕНО ЛИЧНО!! (кроме конечно "Редирект со ссылок с лишними символами или неправильным окончанием на верные адреса" )

        • АлаичЪ

          Тут все зависит от формата сайта. Цель краткого анонса — заинтересовать посетителя, чтобы он перешел на просмотр полной новости.

          На счет редиректа с лишними символами — я вчера опубликовал 4ую часть уроков специально под новые версии DLE — http://alaev.info/blog/post/3513

  34. arsenaleli (14 комм.)

    Привет! У меня такой вопрос. Я воспользовался вашим способом закрытия от индексации.

    Проблема в date, который закрывает от индексации такие страницы как site.ru/2007/ или site.ru/2007/06/ или site.ru/2007/06/22/. У меня всё правильно сделано, я установил коды так, как у вас объясняется:

    	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;
     
    if ($config['allow_rss']) $metatags .= <<<HTML
     
    <link rel="alternate" type="application/rss+xml" title="{$rss_title}" href="{$rss_url}" />
    HTML;

    Но в поиске яндекса всё ещё появляются такие страницы как site.ru/2007/06/, а главное в том, что таких страниц %60-%70. Если можно подскажите как ещё можно закрыть их от индексации. А то такие страницы в поиске не очень привлекательны.

    • АлаичЪ

      Надо подождать пока Яндекс выкинет эти страницы, это может занять до 1 месяца по времени. Так же важно не закрывать эти страницы в robots.txt

  35. Andrey (2 комм.)

    Версия движка 8.5. Сделал полную сео оптимизацию согласно ваших частей 1,2,3. Все работает на ура, но вот проблема с категориями которые начинаются на числа ( у меня это 2010, 2011, 2012-god). Почему то при нажатии на них меня стало перебрасывать в другие части сайта ( не по назначению). Подскажите в чем причина. С уважением к вашему труду, Андрей...

    • Andrey (2 комм.)

      Понял в чем причина — Редирект со ссылок с лишними символами или неправильным окончанием на верные адреса (3 часть сео оптимизации).

      Но так и не разобрался как исправить.

  36. bob (5 комм.)

    АлаичЪ — объясните пожалуйста этот момент — * Самый важный момент — при закрытии от индексации страниц описанным методом, необходимо убрать запрещающие правила в robots.txt для страниц и разделов, которые мы закрыли при помощи мета-тага. Иначе никакого смысла не будет.

    Желательно с примерами!

    • АлаичЪ

      А чего тут понимать то?

      Если вы, например, добавили <meta name="robots" content="noindex"> для страниц профилей юзеров, типа site.ru/user/myname, то в robots.txt нельзя прописывать директиву Disallow: /user

      Понятно?

      • bob (5 комм.)

        Как делать понятно, не понятно почему вы так считаете, если яндекс сам пишет — "Для любой поисковой системы абсолютно не важно, каким образом вы указываете команды для индексации, в файле robots.txt или в метатеге robots, а вот если вы в разных случаях используете противоречащие друг другу команды, например в файле robots.txt страница запрещена к индексации, а вы вручную проставляете мета тег со значением "all" или наоборот, то поисковый робот учтет более строгую команду и это всегда будет noindex, т.е. робот учтет запрещающую директиву и не будет индексировать страницу. Поэтому будьте внимательны, если одновременно используете на сайте оба варианта robots."

  37. arsenaleli (14 комм.)

    Привет! У меня такая проблема на ссылках с тегами, например:

    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 строку

      RewriteRule ^(.*)tags/(.*)$ $1/ [R=301,L]

      Например, сразу после строки RewriteEngine On

      • arsenaleli (14 комм.)

        Я попробовал ваш вариант, но появляется такое окно с ошибкой:

        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

        • АлаичЪ

          Возможно неправильно код вставили, так как в комментарии выше он появился с пробелом. Сейчас я оформил его по другому, попробуйте еще раз.

  38. Владимир (17 комм.)

    Сделал все преобразования написанные в статьях, и перестали отображаться картинки на сайте. При прямом обращении к картинке происходит редирект на главную страницу.

    Сайт на ДЛЕ 9.6, пока находится на локальном компе.

    Редирект происходит из за строчки в .htaccess

    RewriteRule ^([^.]+)/([0-9]+) — (.*)$ index.php?newsid=$2 [L]

    Как поправить это дело?

    • АлаичЪ

      Добавьте перед этой строчкой вот эти две:

      RewriteCond %{REQUEST_FILENAME} !-f

      RewriteCond %{REQUEST_FILENAME} !-d

      Попробуйте и сразу отписывайтесь!

  39. Владимир (17 комм.)

    На сайте онлайн кинотеатра для доп. "Актеры" и "Режисеры" стоит настройка "Использовать значения полей как перекрестные гиперссылки". При клике на актера "Уилл+Смит", открывается страница http://site.ru/xfsearch/Уилл+Смит/, где отображаются все вильмы с его участием.

    Нужно ли закрывать от нидексации такие сраницы методом добавления срочки:

    $do == 'tags' OR в выше описанном методе?

    • АлаичЪ

      Можете закрывать, только для этого надо будет писать не $do == 'tags' OR, а $do == 'xfsearch' OR.

      • Владимир (17 комм.)

        Именно это я и имел ввиду. Под утро уже невнимательно писать стал.

        Title у страницы становится "Именем актера", а вот description и keywords берутся от главной страницы.

        Получается совсем плохо. Получается 2 варианта:

        1. Ковырять движок и делать уникальное описание и ключевые слова, плюс выводить хотя бы имя актера на самой странице.

        2. Закрывать от индексации.

        Первый вариант, я так понимаю труден в реализации. Может кто то уже делал такое?

        • АлаичЪ

          Да в принципе-то не трудно сделать уникальные описания и ключевые слова.

          Открываем engine/engine.php

          Находим:

          elseif ($do == 'xfsearch') $nam_e = $xf;

          Заменяем на:

          elseif ($do == 'xfsearch') {
          	$nam_e = $xf;
          	$metatags['description'] =  $xf;
          	$metatags['keywords'] =  $xf;
          	}
  40. bob (5 комм.)

    И снова здравствуйте! можете подсказать, как убрать такие вот ссылки http://сайт.ru/page/,fffturftuyfgkiuyugh77-pora-piti-pivo.html. При наборе такой ссылки редиректит на главную, но ссылка остается эта.

    • АлаичЪ

      Где эта ссылка остается?

      • bob (5 комм.)

        В браузере остается, не редиректит с http://сайт.ru/page/,fffturftuyfgkiuyugh77-pora-piti-pivo.html на http://сайт.ru/77-pora-piti-pivo.html

        • АлаичЪ

          Совсем нетипичная ошибка. Некоторые ошибки не поддаются исправлениям, эта из их числа.

          Если вы эту ошибку сами искусственно придумали, то можно не волноваться, а если она взята из панели вебмастера Яндекса или Гугла, то тогда уже можно что-то предпринимать.

          • bob (5 комм.)

            АлаичЪ спасибо за помощь! И есть еще проблемка, как такое может быть, что яндекс индексирует только страницы, которые выводятся на главную. Может редирект какой стоит не тот.

            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]

            Заранее спасибо!

            • АлаичЪ

              Ну мало ли, вдруг сайт под АГС попал, или еще какая беда случилась.

              Если походить по сайту и все страницы будут открываться так, как им положено, и никаких аномалий не будет замечено, значит с сайтом все в порядке, соответственно, и Яндекс сможет так же перемещаться по сайту.

              Следовательно у вас проблема в любовных отношениях с Яндексом...

  41. Александр (23 комм.)

    А как с таким ссылками бороться

    http:/......ru/soft/multi/55623-joboshare.html#7783567

    Или ссылки (после знака "#") игнорируются?

    Поставил 301 редирект на главную с несуществующих левых страниц, не помогает.

    • АлаичЪ

      С такими ссылками не надо бороться. Решетка # и все, что идет после нее, называется якорем, и не является какой-то самостоятельной отдельной ссылкой.

  42. Александр (23 комм.)

    В общем можно подвести итог — Сайт DLE 8.3, после применения ваших советов в веб-мастере Google:

    "Ошибки сканирования: За последние 90 дней ошибок не обнаружено."

    "Оптимизация HTML: Ошибок не обнаружено."

    Не под фильтром 98% страниц.

    Отлично! Спасибо, АлаичЪ.

  43. Сергей (16 комм.)

    Здравствуйте. Установил ДЛЕ 9.6 и в гугле вижу 404 ошибку и ссылку http://мой сайт/xfsearch//page/2/. Что посоветуете сделать?

    • АлаичЪ

      Видимо используете дополнительные поля. Я их не использую. Но а в итоге то что хочется получить? Какая ссылка правильная будет?

      • Сергей (16 комм.)

        Да, использую дополнительные поля. Они обе неправильные, и от куда они взялись сам не знаю. Может редерикт поставить на перенаправление?

        • АлаичЪ

          Какие обе, если вы только одну мне ссылку дали?

          Я могу подсказать как сделать 301-редирект со ссылок начинающихся с http://site.ru/xfsearch/ на просто http://site.ru/

          • Сергей (16 комм.)

            По поводу двух ссылок, прошу прощения

            Буду очень рад если подскажите.

  44. webglobus (3 комм.)

    Как бы еще сделать, что бы robots" content="noindex,nofollow добавлялсяи в профили пользователей?

    • АлаичЪ

      Читайте пост, там все написано.

      • webglobus (3 комм.)

        Все, недосмотрел, что и у профилях стоит noindex,nofollow. Просто по какой-то причине гугл начал индексировать профиль.

  45. AleX (4 комм.)

    Имеются ссылки на сайт вида http://site.ru/load/11-22-33 Как можно осуществить переадресацию на главную страницу?

  46. Рома (7 комм.)

    АлаичЪ, у меня тоже проблема, непонятно откуда появилось несколько тысяч ссылок вида

    hd-films-online.net/drama/page,1,559175,309-belye-irlandskie-pyanicy-smotret-onlayn.html ссылку оставляю, чтоб ты мог посмотреть. Я уже не знаю что делать.

    • АлаичЪ

      Хм, попробуй внести правку "Устраняем проблему с дублированием полной новости по разным адресам" из этого поста http://alaev.info/blog/post/2400 вне зависимости от версии движка.

      • Рома (7 комм.)

        АлаичЪ ОГРОМНЕЙШЕЕ СПАСИБО!!!!!!)))))))))) Я не знаю откуда эта проблема взялась, у меня есть подозрения, что меня из за нее Гугл под фильтра загнал, вить не нормально, когда на сайте 400 страниц уник контента, и 6000 страниц дублей... Посмотрим после индексации, может что-то изменится. Р Э С П Э К Т!))))

        • АлаичЪ

          Стало быть помогло, раз респект, да?

          Откуда проблема и для меня загадка, ты не первый, кто обращается с такой фигней...

  47. NeoMaks (3 комм.)

    Для 404 ошибок лучшее решение это грамотно оформленная страница 404, но не в коем случае не редирект на главную, иначе санкций не избежать. В интернете море статей на эту тему и лучше новичков посвящать по этому поводу чтобы позже не было вопросов почему яндекс забанил и т.д.

    • АлаичЪ

      Все зависит от ситуации, так что не надо так категорично заявлениями кидаться.

      Есть у вас хоть один пример получения сайтом санкций за редиректы с ошибочных страниц на правильные?

      • Рома (7 комм.)

        Раз уже зашел разговор о редиректе, в чем может быть причина, когда при наборе урла сайта + абра-кадабра выводится просто пустая страница, вместо ошибки? Исправил вышеописаным редиректом на главную, но после коментария стреманулся о_О...

        • АлаичЪ

          Что значит просто пустая страница? Белый экран? Посмотрите через сервис Яндекса http://webmaster.yandex.ru/server-response.xml что сервер отвечает на введенный урл, и все станет ясно.

          • Рома (7 комм.)

            В смысле отображается страница только без контентного блока, он пустой. Уже редирект 301 работает, так как сделал изменения указанные выше. Спасибо за советы.

      • NeoMaks (3 комм.)

        Редирект ошибочных страниц на правильные это супер! Я имею ввиду конкретные страницы 404, которых на сайте больше не существует. Для них лучше не делать редирект на главную, а оформить 404 страницу согласно рекомендаций ПС с поиском по сайту и ссылкой на главную.

        • АлаичЪ

          Ну вот это да, правильно, не спорю. Но судя по статистике, намеренное удаление страниц, это не частое явление. А тем более если говорить про движок DLE, то тут 404 ошибки возникают лишь по причине глюков движка.

  48. Алекс (2 комм.)

    Здравствуйте. Я вот сделал изменения с этими редиректами, теперь у меня при переходе на любую полную новость загружается главная страница. Не подскажете в чем дело? Заранее спасибо за ответ.

    PS. Причем загружается url данной новости (а не просто домен), но открывается главная страница.

    • АлаичЪ

      Причина в том, что накосячили где-то. Где именно, не знаю. Так что проверьте еще раз все правки. Попробуйте все отменить и проделать заново...

      • Алекс (2 комм.)

        Все я нашел проблему — http://alaev.info/blog/post/2400 Склеиваем адреса страниц /page/1/ с основными адресами для главной страницы и категорий.

        Вот здесь я вернул все обратно, теперь работают полные новости.

  49. eqoist (20 комм.)

    Спасибо, очень помог ваш пост, смог реализовать то что давно хотел но не мог. Низкий поклон.

    У меня один может быть глупый но интересующий меня вопрос:

    Можно ли в мета-теге <meta name="robots" content="noindex,nofollow" /> Nofollow сделать Follow да бы робот не брал в индекс эту страницу но мог переходил дальше по страницам. На сколько это правильно?

    Заранее благодарю.

    • АлаичЪ

      Конечно, можете заменить как захочется. При этом робот будет переходить по ссылкам, но вес передаваться не будет. Именно по этой причине я использовал nofollow. Хотя это может быть полезно разве что в вопросе скорости индексации.

  50. eqoist (20 комм.)

    Можно ли как в случае "Редирект с разделов или категорий, которых больше не сущестувет, на главную страницу или Редирект для удаленных или несуществующих новостей на главную" получить редирект с удаленных тегов на главную(а то гугл вебмастер заполнен ошибками из-за удаленных тегов)

    Заранее Благодарю.

    • АлаичЪ

      А давайте попробуем, мне самому интересно. Проделать надо следующее.

      Открываем engine/engine.php

      Находим:

      		if (($subaction == "showfull" or $subaction == "addcomment") and ((! isset ( $category ) or $category == ""))) {

      ВЫШЕ добавляем:

      		if ( ($do == "tags") and (!isset($tag) or $tag == "") ) {
      					header("HTTP/1.0 301 Moved Permanently");
      					header("Location: {$config['http_home_url']}");
      					die("Redirect");
      		}

      После проверки отписывайтесь, я буду ждать.

  51. Poetry (12 комм.)

    Вот еще не понятно как оптимизировать.

    В категории выводятся короткие новости, а в них ссылки на профили пользователей, передающие вес. И автора убрать нельзя и лишняя ссылка на странице пользы не приносит. Че делать?

    • eqoist (20 комм.)

      Почему нельзя? Я у себя в коротких новостях автора убрал.

      • Poetry (12 комм.)

        Даже если на такое пойти то в полной новости какой-то редирект ставить нужно?

        Я о ссылках на профиль пользователя из полной новости.

        Если у него новостей много значит много ссылок вникуда?

        • eqoist (20 комм.)

          Ну если хотите удалите автора и в полной новости.

          • АлаичЪ

            Я у себя сделал так, что автор отображается текстом, а не ссылкой для гостей. Для зарегистрированных юзеров все отображается ссылками ;)

            Как это сделать расскажу в одном из следующих уроков по оптимизации ДЛЕ.

            • Валентин (67 комм.)

              Здравствуйте, вы писали, что расскажете (автор отображается текстом, а не ссылкой для гостей. Для зарегистрированных юзеров все отображается ссылками) в одном из следующих уроков по оптимизации ДЛЕ.

              Я искал, но что то не нашел...

              Не могли бы вы сейчас рассказать как это реализовать?

              Спасибо!

              • АлаичЪ

                Замените {author} на {login} :)

              • Валентин (67 комм.)

                Спасибо! Сделал как вы написали: "Замените {author} на {login}", но тогда (DLE 9.6) и для гостей, и для зарегистрированных я тоже текстом почему то... не подскажете как исправить?

  52. surcho (27 комм.)

    АлаичЪ, протестировал на DLE 9.6 вот этот пункт: Редирект с несуществующих страниц пагинации на правильные и существующие — теперь, при наборе несуществующей страницы на главной — перекидывает на главную страницу сайта (site.ru/page/27/ на страницу site/ru), а задумка то была на последнюю существующую страницу. В разделах по другому, перекидывает на первую страницу раздела (site.ru/video/page/22/ на site.ru/video/).

    Я думаю это не страшно, просто решил поделиться протестированным на DLE 9.6, так как у вас в начале поста было сказано не тестировалось на DLE 9.6. Думаю пригодится для информации.

  53. AleX (4 комм.)

    АлаичЪ, такой вопрос, если выполнить "Запрещаем индексацию разделов сайта при помощи мета-тега robots", в коде страницы же должны появиться эти самые мета теги? Сделал все как описано, но у ссылок не наблюдаю этих тегов =/

    • АлаичЪ

      Да, теги должны обязательно появиться в коде, только так можно понять, что правки сработали.

      Но причем тут ссылки?

  54. Александр (23 комм.)

    В вебмастере появились дубли, после открытия страниц пагинации к индексации

    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/

    и так далее, как их закрыть?

  55. sprrut (16 комм.)

    АлаичЪ, такой вопрос, если выполнить "Запрещаем индексацию разделов сайта при помощи мета-тега robots", в коде страницы же должны появиться эти самые мета теги? Сделал все как описано, но у ссылок не наблюдаю этих тегов =/

    А у меня нет этих самых мета тегов. Значит не работает?

  56. Алексей (1 комм.)

    Добрый Вечер, меня интересует такой вопрос, возможно ли для страниц пагинации задавать определенный title и как это реализовать.

    Допустим, Страница http://site.ru/category/ = имеет Title = Сурки

    А для страницы http://site.ru/category/page2/ = Title = Веселые сурки

    И т.д

    То есть для каждой страницы задать title вручную

    Заранее благодарен.

    • АлаичЪ

      Не знаю, как это сделать, да и не вижу никакого смысла в этом. А вам это зачем, поясните скрытый смысл?

  57. VS (10 комм.)

    Запретил индексацию раздела ($do == 'lastnews' OR) сайта при помощи <meta name="robots" content="noindex,nofollow" />

    и при наборе http://site.ru/lastnews/ , индексация действительно запрещена, но вот беда на http://site.ru/index.php?do=lastnews/ не действует!

    • VS (10 комм.)

      Оказывается все дело в последнем слэше на конце http://site.ru/index.php?do=lastnews/

      Яша уже проглотил эту ссылку и выдает как дубль с главной. Подскажите что делать?

  58. drasty (2 комм.)

    Здравствуйте, я у себя в вебмастере гугла нашел такого типа ссылки /action-online%3E , при переходе по них, %3E‎ трансформируется в этот знак > и на пустой странице появляется сообщение: Hacking attempt!

    Вы не подскажите, как правильно их прикрыть и как вообще с ними бороться. Я заметил, что это, в основном, уже давно удаленные категории и разделы.

    Также, у меня в наличии вебмастере гугла имеется несколько страниц такого типа http://мойсайт.ru/&post=158571125_329, являющиеся дублями главной страницы. Откуда они могли взяться и как их эффективнее прикрыть? Буду признателен за помощь.

    И еще одна наводка-вопрос. Не планируете ли вы выкласть подробную инструкцию по особенностях работы с микроразметкой на дле и есть ли они, эти особеннности? Я пробовал самостоятельно сделать сниппет под гугл, но у меня ничего не вышло:(. Вот, почему-то про Вас вспомнил.

    • АлаичЪ

      Страницы вида http://мойсайт.ru/&post=158571125_329 и подобные берутся из-за ссылок с соц сетей, в данном случае это из Вконтакте такая фигня, у меня такие же страницы есть.

      Решений тут несколько: Первое — прописывать rel="canonical" для всех страниц сайта. Второе — закрыть в robots.txt, прописав Disallow: /&post=

      И еще — нет такого слова "выкласть", есть слово "выложить" :) Нет, не планирую, слишком уж это вкусная тема, чтобы ее рассказывать всем!

      • drasty (2 комм.)

        Спасибо за ответ.

        Прошу прощения за недоскональное знание русского, мой родной — украинский, поэтому иногда случаются такие "перлы". А со снипетом самому удалось решить вопрос. Действительно впечатляюще смотрится:)

  59. Сергей (5 комм.)

    Такая проблема получилась. При разбивки статьи на страницы {PAGEBREAK} переход по ссылки "Следующая страница" не осуществляется.

    Подскажите пожалуйста, это где я на касячил или из-за редиректа получилось?

    • АлаичЪ

      Это однозначно из-за какого-то редиректа, и не исключено, что накосячили где-то. Так что предлагаю откатить изменения и снова их постепенно вносить. При этом после каждого изменения проверяйте работу всех ссылок. Когда выясните из-за чего происходит сбой, сообщите, будем разбираться.

      • Сергей (5 комм.)

        Вообщем разобрался, ошибка была в файле 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 ();

        }

        Этот убрал, вставил ваш, теперь разбивка страниц работает. Спасибо.

  60. Павел (8 комм.)

    Здравствуйте Александр. Действительно Вы пишите ценнейшую информацию. Огромное Вам за это спасибо. Однако прочитав эту статью и про файл robots.txt осталось некоторое недопонимание вещей. Скажите пожалуйста как я понял из ваших постов, то для гугула использование meta name="robots" целесообразней чем robots.txt, но вот что с яндексом. Как я понял Вы писали что он не особо обращает внимание на meta name="robots". Что делать прописать запрет в robots.txt но только для робота яндекса?

    • АлаичЪ

      Вы все не так поняли. Я не буду снова вдаваться в механизм работы этих директив, но скажу так — для Яндекса нет никакой разницы между используемыми вариантами в конечном итоге. Таким образом делаем вывод — чтобы угодить и Гуглу и Яндексу одновременно, надо использовать meta name="robots".

  61. Даниэль (16 комм.)

    Уважаемый АлаичЪ, извиняюсь если уже обсуждалось, можно ли как нибудь так же метатегом закрыть все категории на сайте? Именно сами страницы категорий но не новости к которым они относятся. Спасибо!

  62. sprrut (16 комм.)

    АлаичЪ, можно ли метатегом закрыть категорию и под категорию на сайте?

    • АлаичЪ

      Только что выше написал решение :)

      • sprrut (16 комм.)

        Категория ФИЛЬМЫ под категория ФАНТАСТИКА — закрыть надо полностью под категорию ФАНТАСТИКА (вместе с публикациями)

        • АлаичЪ

          То есть надо закрыть только одну единственную категорию и все, а остальные оставить для индексации?

          Тогда надо использовать конструкцию

          ($do == "cat" AND $category_id == "123")

          Где 123 — это id категории.

  63. Виктор (1 комм.)

    Алаичъ, помогите, пожалуйста!

    Есть сайт на DLE 9.4 под Пингвином. Нашел методику по выводу сайтов из-под фильтра, там надо сделать главное зеркало на новом домене.

    Мне непонятны такие моменты:

    — на всех страницах старого сайта прописать canonical тег на такую же страницу на новом;

    — в файле htaccess делаем 301 редирект со всех страниц старого домена на все страницы нового домена.

    Подскажите, плиз!

    • АлаичЪ

      Надо будет для старого сайта прописать в файле .htaccess следующее:

      RewriteEngine On
      RewriteCond %{HTTP_HOST} oldsite.ru
      RewriteRule (.*) http://newsite.ru/$1 [R=301,L]

      Больше ничего делать не нужно.

  64. Сергей (5 комм.)

    Еще вопросик.

    При разбивки статьи на страницы, rel=”canonical” на страницы №2 показывает ссылку на главную новость. Получается что ПС будет считать 2 страницу дублем первой?

    Или я не так понимаю функцию тега rel=”canonical”?

    • АлаичЪ

      Да, так и было задумано изначально. Поисковик, попадая на вторую страницу, будет понимать, что основная первая, т.е. та, которая указана в теге rel=”canonical”. Таким образом вторая страница не будет проиндексирована. Если вас это не устраивает, придется от использования rel=”canonical” отказаться.

  65. Алексей (4 комм.)

    Здравствуйте, подскажите пожалуйста, как закрывать отдельные страницы, например site.ru/prava.html тегом <meta name="robots" content="noindex">

    Версия 9.5. Заранее благодарен за ответ.

  66. Программулькин (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 редиректы с этих страничек на реальную категорию? Это все произошло из-за смены типа ЧПУ

  67. LERR (6 комм.)

    А если ссылка сократилась например так site.ru/123-pag...me.html

    Будет ли редирект на site.ru/123-page_name.html?

  68. LERR (6 комм.)

    Для ссылок

    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 будет прописывается только для первой ссылки?

  69. Владимир (2 комм.)

    Здравствуйте. Вопрос относительно метатега 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. Заранее спасибо за ответ!

    • Владимир (2 комм.)

      Нашёл ещё один способ в интернете:

      В корневом файле index.php вносим изменения. После строки:

      if ($dle_module == ‘showfull’) {

      Добавить:

      $metatags .= <<<HTML

      <link rel="canonical" href={$full_link}>

      HTML;

      Но он даёт совершенно тот же результат...

      • АлаичЪ

        Видимо механика в последних версиях DLE изменилась.

        Когда-нибудь займусь этим делом и обновлю мануал.

        • Сергей (1 комм.)

          АлаичЪ, Редирект с несуществующих страниц юзеров можно сделать и вообще нужен ли он, в панели вебмастера, много страниц с несуществующими пользователями. Например /user/joker45 (404 ошибка) Как можно эту проблему исправить?

  70. Дмитрий (44 комм.)

    Попробовал сделать "Редирект с несуществующих страниц пагинации комментариев на правильные" на DLE 9.4, но редиректа не происходит...

    http://site.ru/razdel/page,1,24,226-news.html — и подобных страниц очень много и все дублируют полную новость...

    Подскажите, пожалуйста, в чем может быть дело.

  71. VS (10 комм.)

    Добрый день, АлаичЪ.

    Запретил от индексации все страницы пагинации с помощью:

    (intval ($_GET['cstart']) > 1 )

    Меня интересует вопрос, как запретить от индексации все страницы пагинации только на главной (site.ru/page/X/), а для всех страниц пагинации категорий (site.ru/category/page/X/) запрет убрать?

    Спасибо за помощь!

    • АлаичЪ

      Как раз сегодня появится расширенный пост про это дело, следи за обновлением.

  72. zennuk (14 комм.)

    Здравствуй! Спасибо за столь интересные посты по поводу оптимизации.

    Для каждой правки ты описывал для какой версии движка, а как по поводу этих правок:

    Редирект для публикаций, у которых отсутствует ID, на главную страницу

    Редирект для удаленных или несуществующих новостей на главную.

    Заранее спасибо за ответ!

  73. Дмитрий (44 комм.)

    Александр, а есть ли возможно запретить Google индексацию файлов вида engine/download.php?id=4 через мета-тег robots?

    • АлаичЪ

      Нет, так как это не является страницей.

      Тут поможет только закрытие самой ссылки с помощью rel="nofollow" и закрытием в robots.txt Disallow: /engine/download.php

  74. Денис (34 комм.)

    Добрый день АлаичЪ! Благодарен за твои труды и выводы таких замечательных постов. Но вот вопрос имеется, а в таблице приведены модули, это всё что можно запретить в meta name="robots"? Или можно ещё чего нибудь запретить, чего нет в таблице??? Ну например папку engine или как прописать строку, что есть в роботсе (Disallow: /statistics.html). Я к тому, что в роботсе имеются как пути к папкам, так и пути к страницам, — для исключения. Ещё прописываются символы типа /* , ?. Как это всё правильно прописать в meta name="robots" для запрета?

    • АлаичЪ

      При помощи метатега robots можно запрещать только реальные страницы (в том числе, сгенерированные динамически, разумеется), а не папки или что-то иное. Страница /statistics.html это и есть модуль $do == 'stats'

  75. VS (10 комм.)

    Похоже что Александр куда-то пропал, либо он занят делами по важнее ))

  76. Den (2 комм.)

    Здравствуйте АлаичЪ, и стандартное спасибо за труды — пользуюсь с удовольствием. Подскажите, при обращении к несуществующей странице site/page/100000/ должна же выдаваться 404 ошибка?

    Просто столкнулся с проблемой — после снятия публикации всех новостей на главной странице появилось (осталось) много несуществующих страниц site/page/xxx/ без 404 ошибки. Сделать 301-й редирект на главную со всех страниц скорее всего глупо (как столько страниц могли переехать в одно место на постоянку? поисковики не поймут наверное). Нужно как-то настроить 404-ю ошибку. Не знаете как?

    • АлаичЪ

      Взяли страницы да переехали, что тут такого :) Если не вносить мои правки, то и будет выдаваться 404 ошибка по умолчанию.

      • Den (2 комм.)

        так это после ваших доработок такое получается?! не уточните, после какой именно?

        • АлаичЪ

          Я говорю еще раз — мои правки направлены на реализацию 301 редиректа с несуществующих страниц, вместо 404 ошибки (как сделано по умолчанию в чистом дистрибутиве DLE).

          Если надо вернуть обратно 404 ошибку — отмените пункт руководства "Редирект с несуществующих страниц пагинации на правильные и существующие".

  77. AlexP_RUS (24 комм.)

    Здравствуйте, подскажите как закрыть от индексации ссылку, которая выводится с помощью доп. поля?

    Например:

    Вот прописаны в коде в 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>, ни то ни то не помогло.

    • АлаичЪ

      Читайте новый пост — http://alaev.info/blog/post/3900

      • AlexP_RUS (24 комм.)

        Извиняюсь, но я там не нашёл решение как закрыть ссылку, которая находится в доп. поле.

        Помогите пож-та закрыть, если знаете.

        • АлаичЪ

          А там про страницы говорится. А чтобы закрыть ссылку, надо редактировать файлы движка, чего я вам не рекомендую делать самостоятельно.

  78. Александр (3 комм.)

    как сделать редирект с страниц типа site.ru/?newsid=32 на site.ru/32-название новости на сайте.html

    • АлаичЪ

      По идее, этот редирект должен осуществляться силами движка при включении ЧПУ.

  79. Сергей (1 комм.)

    Здравствуйте. Хочу обратится к вам с проблемой в надежде на помощь. У меня сайт на DLe.

    Кажется я что то крутил с редиректами, вообщем:

    Страница site.ru работает нормально.

    Страница site.ru/статья.html тоже нормально

    Да, на сайте всего 2 страницы))

    Если пишу в адресной строке site.ru/статья/любые символы.html , то идет перенаправление на страницу 404 — это меня устраивает, НО

    если написать site.ru/любые символы.html , то идет редирект на главную страницу, а не на 404. Как от этого избавить? Помогите! Заранее спасибо)

    • АлаичЪ

      Чтобы выдавалась 404 ошибка (а она выдается по умолчанию в оригинальном дистрибутиве движка), просто залейте оригинальные файлы движка и все.

  80. Sergio (1 комм.)

    Доброго времени суток

    Спасибо большое за информацию, почти всё беру на вооружение

    Появился такой вопрос ...

    Можно ли сделать редирект с не существующих тэгов на главную страницу по примеру страниц?

    С уважением Сергей

  81. Alika (3 комм.)

    Здравствуйте АлаичЪ, спасибо Вам за ооочень полезную информацию! Несколько раз использовала Ваши решения, помогло :)

    Вот сейчас возникла такая проблема, сайт варез, добавляют новости журналисты, появились более 600 стр. с повторяющимися метаописаниями. Причина: сериал или разные версии программы с одинаковым описанием.

    PS Воспользовалась рекомендациями http://alaev.info/blog/post/2373, не помогло :(

    • АлаичЪ

      Можно попробовать такую фишку, открыть /engine/modules/show.full.php и найти:

      			$metatags['description'] = $row['descr'];

      и заменить на:

      			$metatags['description'] = $row['descr'].' новость №'.$row['id'];
  82. Олег (3 комм.)

    Здравствуйте.Несколько месяцев назад сделал сайт на 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?Там хоть на главную отправляет,а не на пустую страницу.

  83. Владимир (2 комм.)

    Спасибо за блог, очень полезный оказался.

    Не поможете с проблемой?

    В гугл вебмастер после оптимизации появилось много ошибок такого типа:

    Переход не выполнен

    ?cstart=1807&do=lastcomments

    index.php?cstart=2165&do=lastcomments

    • АлаичЪ

      Закройте их от индексации да и все. При помощи метатега (описано в посте) или при помощи robots.txt (Disallow: /*do=lastcomments)

  84. belov (8 комм.)

    Здравствуйте подскажите можно как то сделать чтобы при добавление новой статьи на сайт она сразу перемещалось на страницу http://сайт/категория/page/2/

  85. belov (8 комм.)

    Здравствуйте скажите зачем нужен <meta name="robots" content="all" /> на сайте и что будет к примеру если я его уберу с шаблона engine какие последствие будут хотелось бы знать

  86. Виктор (8 комм.)

    АлаичЪ, как удалить из индекса страницу http://мойсайт.ru/index.php/ ?

    • АлаичЪ

      Redirect 301 /index.php/ http://site.ru/

      • Виктор (8 комм.)

        Спасибо. Ничего не понял.

        • Денис (10 комм.)

          Правила rewrite допиши:

          RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/

          RewriteRule ^index\.php/$ http://site.ru/ [R=301,L]

          • Виктор (8 комм.)

            Денис, не работает.

            • Денис (10 комм.)

              ну тогда хз... если тебе ни один код не подходит, уж тем более тот что тебе Аличъ дал:

              Redirect 301 /index.php/ http://site.ru/

              ковыряй значит движок

              • АлаичЪ

                Я повторюсь — надо попробовать в файле .htaccess сразу после строки RewriteEngine On добавить:

                Redirect 301 /index.php/ http://site.ru/

                Если не поможет, то я даже не знаю...

  87. Денис (10 комм.)

    // 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 новости с тире и без, вылетает ошибка "К сожалению, данная страница для Вас не доступна: возможно, был изменен ее адрес или она была удалена. Пожалуйста, воспользуйтесь поиском."

    Что с этим можно сделать?

  88. Сергей (23 комм.)

    У меня если применить "// 301 редирект на главную с несуществующих левых страниц" доступа к site.ru/rss.xml нету, сразу перекидывает на главную страницу site.ru. Почему так?

    • АлаичЪ

      Попробуй изменить строку:

      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") ) {
  89. АлаичЪ

    Пост обновлен с учетом выхода версии DLE 9.7 — все правки пересмотрены, где надо откорректированы. Под каждым пунктом подписано, для какой версии актуально, а для какой нет!

  90. joynik (12 комм.)

    Редирект с несуществующих страниц пагинации комментариев на правильные

    Актуальность: Провернено на 7.x, 8.x, 9.x (на 9.5, 9.6, 9.7 не тестировалось, но работать должно).

    В 9.7 уже встроено "при обращении к несуществующей страницы с комментариями, производится автоматический 301 редирект на первую страницу."

  91. Сергей (2 комм.)

    Редирект с несуществующих страниц пагинации комментариев на правильные для версии 9.5 не работает, не могли бы вы подсказать что нужно исправить чтобы этот хак работал на 9.5?

    • АлаичЪ

      Судя по комментарию выше, стоит обновиться до версии 9.7 :)

      • Сергей (2 комм.)

        Уже очень много было проделано на версии 9.5, настроена идеально под себя. Обновляюсь только на версии x.5, они почему то для меня самые стабильные, может получиться как то извлечь это решение с 9.7?

  92. Александр (2 комм.)

    Скажите, а тег rel=”canonical” продемонстрирован здесь для чего, я просто не понимаю в этом, для того чтобы ПС не индексировали краткую новость(в категориях например), а распознавали и индексировали только полную?

    • АлаичЪ

      Нет, этот метатег предназначен для указания роботу основной страницы. То есть, например, если на двух страницах указан rel=”canonical” с каким-то одним адресом, то этот адрес и будет считаться основным и только он будет проиндексирован.

      • Александр (2 комм.)

        Хорошо, тогда скажите или покажите на примере, как сделать так, чтобы короткие новости не индексировались, а индексировались только полные новости?

        • АлаичЪ

          Коротки новости самостоятельно и так не индексируются, индексируются страницы пагинации со списком анонсов.

          Смотрите этот пост http://alaev.info/blog/post/3900, надо будет активировать строку /* Любые страницы пагинации */.

  93. ds8880 (5 комм.)

    Здравствуйте. 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") ) {

  94. ds8880 (5 комм.)

    != заменил на !==, не помогло.

    Может есть еще варианты как исправить?

    в категориях лента работает (в опере в адресной строке информер остался, в других браузерах уже нет) при нажатии на информер открывается rss вида site.ru/категория/rss.xml, если нажимать информер в полной новости какой либо категории, то перекидывает на главную, если нажимать на главной, перекидывает на главную.

    В общем не открывается только по адресу site.ru/rss.xml

    • ds8880 (5 комм.)

      все, rss заработало, просто почистил кэш браузера, про который сразу не вспомнил так как все правки до этого работали сразу, без чистки кэша...))

  95. Артём (2 комм.)

    АлаичЪ, помогите, очень большая проблема. :(

    Недавно заметил что в некоторых новостях, где есть ссылки на 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]

      Должно помочь, но не уверен.

      • Артём (2 комм.)

        АлаичЪ, ПОМОГЛО!!! Редиректит на главную. Буду надеяться что со временем левые "главные" вылетят из индекса.

        Спасибо вам большое, я очень долго бьюсь над решением этой проблемы, перелопатил гугл, задавал этот вопрос на куче форумов и блогов, и только вы решили проблему. Просто нет слов :)

        Ещё раз большое спасибо.

  96. Борис (2 комм.)

    Заменяю:

    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.

    Уже пересмотрел каждый символ и пробел — ничего не помогает. Подскажите. в чем может быть дело?

  97. Дан (1 комм.)

    АлаичЪ подскажите пожалуйста, заголовок новости (title) и метатег title будут содержать одно и тоже название поста, это как нибудь скажется на дублировании контента.

  98. Дан (15 комм.)

    АлаичЪ пожалуйста, подскажите, как сделать следующее. Нужен выполнить правильный редирект. При развитии сайта иногда приходится более точно разделять новости по категориям.

    Пример такой допустим: была категория /Горячительные-напитки/ я ее разделил на разделы /водка/, /вино/.

    Основная информация в категории /Горячительные-напитки/ была про водку и поэтому я переместил ее полностью в категорию /водка/.

    Нажимаешь на сайте информацию по новому адресу она с успехом открывается по следующему адресу:

    /водка/01-чем-водка-лучше-пива.html

    но также открывается дубль проиндексированный поисковиком по адресу старой категории:

    /Горячительные-напитки/01-чем-водка-лучше-пива.html

    Как сделать правильный редирект со старой категории в новую, чтобы поисковики показывали новости только по правильной категории.

    Можно конечно же в robots.txt закрыть /Горячительные-напитки/, а можно как то через .htaccess склеить страницы старой и новой категорий?

    • Виктор (8 комм.)

      >>>Можно конечно же в robots.txt закрыть /Горячительные-напитки/>>>

      Зачем извращаться? Просто закройте в роботсе, и через пару апдейтов они отваляться.

      • Дан (15 комм.)

        Спасибо за ответ Виктор, в роботсе сейчас как раз стоит такая строчка.

        • АлаичЪ

          В htaccess после RewriteEngine On добавьте:

          RewriteBase /
          RewriteRule ^Горячительные-напитки/(.*)$ водка/$1 [R=301,L]
  99. Дмитрий (44 комм.)

    Было бы неплохо увидеть инструкцию по установке тега rel=canonical для DLE 9.7. :-)

    • Дмитрий (44 комм.)

      Прошу прощения, работает и для 9.7. Просто первый раз что-то напутал.

  100. Viktor (1 комм.)

    Извиняюсь за скорее всего тупой вопрос, но в вашем разделе "Запрещаем индексацию разделов сайта при помощи мета-тега 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 в этом посте нет инструкций, как исправить неверные адреса конечных страниц. Есть решение на форуме, там посмотрите.

  101. sergey (3 комм.)

    Движок DLE конечно это пстец, не знаю почему он пользуется такой популярностью и еще за это 50 баксов дерут. Ошибка на ошибке.

  102. Иван (41 комм.)

    Просто огромное спасибо, за грамотный пост — также считаю, что нужны запреты мета тегами а не в роботс!

    Возникло 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;

  103. Иван (41 комм.)

    Редирект для удаленных или несуществующих новостей на главную — вчера ставил на utf-8, работало. Сейчас на 1251 — не работает, проверял три раза :(

  104. Дан (15 комм.)

    АлаичЪ подскажите пожалуйста в чем может быть проблема.

    Движок 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" /> не стоит переживать, это страницы скоро пропадут из панели вебмастера.

  105. ds8880 (5 комм.)

    Извиняюсь, может не в тему оптимизации, но буду очень признателен если подскажите как сделать следующее:

    В DLE 8.3 в rss выводится краткая новость с датой и временем, например, 17 октября 2012 г. 19:05:52

    Как сделать чтобы выводилась дата без времени? Вот так: 17 октября 2012 г.

    Заранее, благодарю.

    • АлаичЪ

      А какой в этом смысл? Возможно, дата берется из глобальных настроек скрипта и надо менять там (это в админке, третья по счету вкладка в настройках, пункт "Формат времени для новостей").

  106. Александр (24 комм.)

    АлаичЪ, вопрос на счет rel=”canonical”. Вот всё что описано в посте проделал, чтобы роботу из шортстори указывало на фулстори. Но у меня на сайте ещё есть главная страница на которой выводятся новости анонсы (не шортстори как в категориях) параметром custom. Скажите, как и куда мне вписать rel=”canonical” (или подобное) в этот параметр custom, чтобы указать роботу на предпочтительный фулстори?

    Просто после того, как я проделал всё по посту http://alaev.info/blog/post/3900, у меня из фильтра гугла вся эта не нужная мишура исчезла, но вместе с этим почему-то и все новости, которым больше двух недель. У меня сейчас новостей 260, а в поиске гугла показывается всего 41, а остальные все почему-то он загоняет под фильтр.

    Вот я и подумал, может это из-за анонсов на главной? Ведь анонсов на главной как раз чуть выше 40.

    Сайт я скинул.

    • АлаичЪ

      В шортстори невозможно указать rel=”canonical”, этот метатег указывается ТОЛЬКО для конкретной страницы, а не для ее элементов. Поэтому указывать метатег надо только в полной новости.

      • Александр (24 комм.)

        Подскажите на примере как это сделать? И что делать с анонсами на главной (не шортстори)?

        • АлаичЪ

          Как сделать на примере — рассказано в посте, ни больше ни меньше, все как есть.

          Что делать с анонсами? Да ничего...

          • Александр (24 комм.)

            Ну я же написал, гугл индексирует только те новости, чьи анонсы находятся на главной, остальные почему-то не индексирует. И как только публикуется слудующая новость, а следовательно и её анонс на главной, то былая новость уберается с главной и тем самым также пропадает и из индекса гугла. Получается что гугл не хочет ходить по сайту дальше главной и индекирует только те новости (анонсы), которые есть на главной.

            Подскажите как быть, что делать?

            • АлаичЪ

              Да потому что накосячил где-то серьезно. Лучше отмени все правки, которые связаны с rel=”canonical” и жить станет проще и лучше. И Гугл начнет все индексировать!

              • Александр (24 комм.)

                Проверил, косеков не убнаружил, всё сделано так как написано. Да и тем более яндекс то все новости нормально индексирует. Непонятно в чем же дело...

  107. KaiN_nRg (14 комм.)

    Заметил две траблы. Правда не знаю были ли они до оптимизации или появились после. Вообщем оптимизировал сайт на DLE 9.7 по первым трем частям.

    По адресу site.ru/& отображается главная

    По адресу site.ru/z.z отражается главная (при чем вместо z можно поставить любые другие буквы и любое количество, главное что бы между ними была точка)

    Помогите исправить!

    • Алекс (45 комм.)

      Интересно, как вы наткнулись на такой урл, но у меня тоже отображается главная, причем и по адресам http://site.ru/cat/z.z тоже.

      • KaiN_nRg (14 комм.)

        Наткнулся совершенно случайно.

        От site.ru/& избавился следующим образом в .htaccess:

        RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /& HTTP/
        RewriteRule ^&$ http://site.ru/ [R=301,L]

        Не знаю на сколько это правильно, но работает. Знающие люди, подскажите!

        • АлаичЪ

          Все правильно сделал для варианта с site.ru/&

          На счет site.ru/z.z, то это совсем не типичный случай. Для избавления: RewriteRule ^z\.z$ http://site.ru/ [R=301,L]

          • KaiN_nRg (14 комм.)

            Нашел причину отображение главной по адресам site.ru/z.z site.ru/fsdf.sdfsf и т.д. Во второй части уроков по оптимизации есть код редиректа:

            ### Редиректы с index.php на сайт
            RewriteBase /
            RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
            RewriteRule ^index.php$ / [R=301,L]
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule . /index.php [L]

            Он вызывает такую ошибку. Заменил его на:

            RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
            RewriteRule ^index.php$ / [R=301,L]

            Теперь по адресам site.ru/z.z site.ru/fsdf.sdfsf и т.д. ошибка 404, как и должно быть.

            • Alex (45 комм.)

              Хотелось бы получить по этому вопросу комментарий от АлаичЪ

              Уже поправил, но вдруг это вызовет еще одну неизведанную ошибку :)

            • mixail366 (13 комм.)

              После этих правок получился код взятый со второй части оптимизации такого вида:

              ### Редиректы с site.ru/category/index.php на site.ru/category/ и др.
              RewriteCond %{REQUEST_FILENAME} !-f
              RewriteCond %{REQUEST_FILENAME} !-d
              RewriteCond %{REQUEST_URI} (.*)index.php$
              RewriteRule ^(.*)index.php$ $1 [R=301,L]
              RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/ 
              RewriteRule ^index.php$ / [R=301,L]

              С адресами site.ru/z.z site.ru/fsdf.sdfsf все отлично работает. А вот как быть теперь с адресом: site.ru/category/index.php? Теперь не осуществляется переход на site.ru/category/

              Или я что то не так сделал?

          • Alex (45 комм.)

            А куда правильно вставлять конструкцию для site.ru/&? У меня не работало, если вставлял в конце, получилось лишь если поставить после редиректов для "www".

  108. OrangeCat (1 комм.)

    Добрый вечер!

    С удовольствием прочитал Ваш блог, раньше не знал о нем. Уже подписался на обновления, буду регулярным читателем. Спасибо за Ваш труд!

    А теперь задам свой вопрос, 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/

      А в разделах выводится лишь анонс статьи, а полная новость выводится по нужному адресу. Так что дублирования не будет, если анонс не содержит полный текст новости. Все окей.

  109. mixail366 (13 комм.)

    Может кто подскажет как правильно и наименее болезненно переименовать ссылки сайта с site.ru/journals/cooking/ на site.ru/journals/kulinarnyie/ (например) что бы поисковики не сильно ругались? На сайте 34 000 новостей и надо переименовать почти все подкатегории (около 60 штук). Что есле переименовать, а со старых категорий сделать редирект на новые ссылки? И как этот редирект правильно прописать?

    • АлаичЪ

      Правильным решением будет 301-редирект на новые адреса.

      Пример: Redirect 301 /journals/cooking/ http://site.ru/journals/kulinarnyie/

      И так все 60 категорий надо будет проделать.

  110. mixail366 (13 комм.)

    А как быть с таким дублем сайта: Redirect 301 http://site.ru/links.php?rz=cypr

    Такой вариант не работает: Redirect 301 /site.ru/links.php?rz=cypr http://journal-ok.net/

    Алаич подскажите как правильно прописать.

  111. Николай (5 комм.)

    Как сделать редирект на главную если в категориях пока нет новостей?

    • АлаичЪ

      Добавьте новостей в категорию, зачем вам редирект-то... Редирект это не временное решение на день-два, с ним баловаться не стоит. Хотя можно и 302-редирект использовать: Redirect 302 /category/ http://site.ru/

  112. Александр (5 комм.)

    Здравствуйте. Спасибо за статью, очень познавательно. Но главного для себя не нашел, к сожалению...

    Подскажите пожалуйста, Я меняю cms на dle, у старой cms ссылки в статьях вида /index.php&name=pages&id=2

    В новой цмс, а именно дле, ссылки сменятся на такой вид /pages/2.html

    Скажите как средиректить большое количество урлов? Не напрягая апач и чтобы .htaccess не грузить таким количеством ссылок.

    Может есть модуль для дле типа 301 редиректа?

    Когда вводишь адрес старой новости, и адрес новой новости, это все заносится в базу...затем при переходе проверяется...и если нужно редиректится.

    Или это будет грузить базу?

    • АлаичЪ

      Ссылки на страницы пагинации в DLE имеют вид /page/2, а не /pages/2.html если что...

      Редирект для страниц пагинации сделать очень просто через .htaccess:

      RewriteCond %{QUERY_STRING} ^name=pages&id=(.+)$
      RewriteRule (.*) http://site.ru/page/%1 [R=301,L]
  113. Андрей (1 комм.)

    Господа, сделал 301 редирект с суб-категории на родительскую!

    Возможно кому-то пригодится! Для меня это было решением многих проблем ;)

    Добавляем в engine.php:

    //START Редирект с суб-категории на родительскую
    if ($cat_info[$cat_info[$category_id]['parentid']]['id'] > 0) {
    header ("HTTP/1.0 301 Moved Permanently");
    header ("location: {$config['http_home_url']}{$cat_info[$cat_info[$category_id]['parentid']]['alt_name']}/");
    die ("Redirect");
    }
    //END Редирект с суб-категории на родительскую
  114. владимир (3 комм.)

    Здравствуйте.Не работает у меня редирект с удалённых категорий.

    Движок 9.5.

    Вернее работает через раз.Сначала выводится Ошибка базы данных, после обновляю страницу редирект происходит, иногда надо пару раз обновить.

    В чём может быть причина.

    С удалённых страниц редирект работает без проблем.

    • АлаичЪ

      Ошибка БД это уже ваши проблемы с сайтом или сервером, с редиректами это никак не связано.

      • владимир (3 комм.)

        Но вылазит после того как я в коде поменял

        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"); } //решение проблемы с категориями, которых не существует

        Возвращаю как было всё нормально

  115. Александр (34 комм.)

    Добрый день, у меня вот этот редирект почему то не работает версия 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

  116. Александр (34 комм.)

    Добрый день,

    уважаемый АлаичЪ, помогите, пожалуйста, настроить вот эти редиректы, что-то на 9.2 никак не хочет работать, заранее вам спасибо:

    Редирект для публикаций, у которых отсутствует ID, на главную страницу — http://alaev.info/post/3294#tolist_04

    Редирект для удаленных или несуществующих новостей на главную — http://alaev.info/post/3294#tolist_05

    • АлаичЪ

      И в чем проблема?

      • Александр (34 комм.)

        Не "редиректит", убираю ID адреса нажимаю энтер и получаю 404 ошибку(

        • АлаичЪ

          Редирект для удаленных новостей, если сделали по инструкции должен работать и выдавать 404 не может, т.к. вывод 404 ошибки удален.

          А вот на счет пропавших ID, то тут, как и написано, на DLE выше 9.5 не тестировалось и может не работать.

          • Александр (34 комм.)

            Добрый день, уважаемый АлаичЪ,

            с редиректом для удаленных новостей разобрался, а вот на счет пропавших 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

  117. Сергей (7 комм.)

    Добрый день, АлаичЪ,

    Тут еще вырисовывается одна проблема. Часто на форумах установлены какие-то плагины, которые автоматически сокращают ссылки, подставляя несколько точек в нее. Получается что-то наподобие такого: http://emofans.ru/creative/r...dfd56fdgdfg65444

    Возможно ли в таком случае сделать редирект?

  118. Klim (1 комм.)

    Добрый день, АлаичЪ.

    У меня вот такая проблема: сделал я все как у вас описано в частях 1,2,3 и с тех пор страницы не попадают в индекс:(

    ... не знаю, что и делать. Просто раньше хватало часа, чтобы страница попала в индекс яндекса и гугла, может я что-то напутал:(

    ... что можете порекомендовать в данной ситуации?

  119. Назар (1 комм.)

    Подскадите пожалуйста мне в моем вопросе

    Имеется приложение вк, прописал 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]

      Должно сработать.

  120. Андрей (2 комм.)

    9.2

    хак "Редирект со ссылок с лишними символами или неправильным окончанием на верные адреса"

    дает

    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

  121. remont63 (12 комм.)

    После данных обновлений в версии 9.7 обнаружил это в яндекс вебмастере:

    Файл robots.txt не будет учтён роботом Яндекса, т.к. при запросе выполняется перенаправление.

    • АлаичЪ

      После каких "данных обновлений"?

      • remont63 (12 комм.)

        Удаление запретов на индексацию в файле robot.txt и перенос их в файл engine/engine.php

        Хотя возможно и еще, что установил главное зеркало, начинающееся с www в панели вебмастера.

        А гугл случано не игнорирует эти теги (noindex, nofallow)?

        • АлаичЪ

          Перенаправление никак не может быть связано с правками robots.txt, и, если проблема до сих пор существует, то надо вспоминать все правки, которые вносились на сайт и постепенно их отменять и искать причину.

          • remont63 (12 комм.)

            в яндекс веб мастере появилось сегодня сообщение: "Ваш сайт не проиндексирован"

            это вообще пипец какой то...

            Алаичъ у тебя с этим как после вышеописанных правок.

            • remont63 (12 комм.)

              все это очень странно, даже page-weight с утра начал ошибки выдавать на все страницы, может что-то на серваке зависло, посмотрю сейчас

              • АлаичЪ

                У меня все прекрасно. Рекомендую, пока не поздно, перезалить всей файлы, которые подвергались правкам, файлами из чистого дистрибутива. И прежде чем вносить исправления в следующий раз — хорошенько подумать или тщательно проверять работоспособность сайта.

                • remont63 (12 комм.)

                  Спасибо за советы, благо все ежедневные дампы (база данных + все файлы) сохранены. Возможно ошибка просто кроется в перестроении алгоритмов Яндекса, перезалить можно в любой момент, попробую переустановить page weight и логи сервера проанализировать изначально.

                  В критическом случае буду использовать дамп. По окончании проблем отпишусь здесь.

                  • remont63 (12 комм.)

                    Вообщем разобрался с вышеописанными проблемами. потратил сутки времени (за это время проверил авбсолютно все и шаблон, и css, и файлы движка) — там все нормально, но сделал все таки намного валиднее, удалил порядка 100 ошибок в html и css.

                    А теперь в чем была причина:

                    1) После установления в яндекс вебмастере на главное зеркало сайт c www, на время сайт в панели с индекса ушел, но из поиска не исчез. По словам Платона, все скоро появиться в личном кабинете.

                    в то же время после всех правок настроил в гугле вебмастере более большую скорость сканирования.

                    и видимо сервер просто не успевает обрабатывать запросы от Page Weight.

                    Уменьшил в программе максимально кол-во потоков до 10, установил паузу между запросами в 50 мсек. На сайте отключил на время сжатие html страниц и java скриптов. Прогнал все снова — оказалось все в порядке.

                    Теперь нужно дождаться обновления поисковых роботов и вывести некоторые страницы из доп индекса, думаю на это пару месяцев достаточно будет.

                    • АлаичЪ

                      Хорошо, что все хорошо. Спасибо, что отписались, другим читателям будет полезно.

                • remont63 (12 комм.)

                  Кстати возник еще один вопрос в файле 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

  122. Дмитрий (2 комм.)

    Помогите пожалуйста. У меня на сайте стоит вывод топ ком.новостей, по рейтингу и по просмотрам путем {custom}

    Плюс ко всему список похожих новостей тоже путем {custom}

    Теперь в поисковике вывод допустим:

    титл: Интервью с перис хилтон

    описание: Разбираем ноут по кускам

    И таких страниц много, описание одинаковое у всех новостей. Описание берется из {custom} первой в списке новости.

    Если закрыть тег под noindex это никак не повлияет на сайт? Или какое может быть решение... Может поисковикам можно указать как-то откуда брать описание к новости?

    • АлаичЪ

      Ничего не понял. Но в noindex можно закрыть, тогда в Яндексе точно этот текст не будет показываться.

      • Дмитрий (2 комм.)

        Блин)) это я писал видимо от паники))

        Возьму пример с гугла. Когда в поисковике тыкаешь на просмотреть, справа выводит картинку и красным выделяет текст откуда взято описание. Так вот у меня ко всем статьям с одного и того же места взято описание :D Это может быть от того, что сайт всего 2 недели живет? Ко всем статьям заполнил дескрипшн как полагается, но описание поисковик берет все равно откуда захотел... почему так?

        • АлаичЪ

          Поисковик берет отписание оттуда, где встречается поисковый запрос. Если встречается в нескольких местах, то берет там, где по его (поисковика) мнению, более интересно или берет сразу из нескольких мест.

  123. Atway (8 комм.)

    DLE 9.6

    Страницы вида site.ru/abracadabra.php редиректятся на главную, но URL не меняется. Не сталкивались с подобной проблемой?

    • Atway (8 комм.)

      Подобная же проблема наблюдается и в такой ситуации:

      Изображения вынесены на поддомен. По сервер-статусу увидел что идут запросы на

      http://site-name.ru/templates/template-name/css/www.im.site-name.ru/images/fields.

      То есть запрос в папку шаблона, в ксс запрашивается изображение (при чем странно — "fields.", не .png). Ну и проблема в том, что такой урл висит в адресной строке, выдавая главную.

      Есть мысли по этому поводу? Благодраю

  124. Min-Z-Drav (7 комм.)

    дубли страниц site.ru/page/30/rss.xml и site.ru/page/30/sitemap.xml как решить данную проблему?

    • remont63 (12 комм.)

      Вообще это разные файлы: и по этому адресу их не должно быть вовсе, смотри редиректы на установку несуществующих страниц. У меня такокого точно нету.

  125. Андрей (2 комм.)

    .h%0D%0A%0D%0Atml

    вот такие ссылки есть в яндекс вебмастере.

  126. Артем (1 комм.)

    Здравствуйте!

    В версии DLE 7.5 не получается сделать Редирект с несуществующих страниц пагинации комментариев на правильные.

    Отсутствует выше указанный файл: /engine/classes/comments.class.php

    Помогите устранить этот недочет, спасибо.

  127. kovalenko (2 комм.)

    "Редирект для публикаций, у которых отсутствует ID, на главную страницу" — на 9.7 к сожалению, не работает, а жаль. А в остальном вроде все стало, будем тестировать.

    Спасибо огромное автору за его труды.

  128. TusMan (4 комм.)

    hello,

    i want to redirect only 404 tags

    please help

    Thanks

    • АлаичЪ

      Open /engine/modules/show.short.php and find:

      	} elseif( !$news_found AND !$allow_userinfo AND $do != '' and $do != 'favorites' and $view_template != 'rss' ) {
      		if ( $newsmodule ) @header( "HTTP/1.0 404 Not Found" );

      replase with:

      	} elseif( !$news_found AND !$allow_userinfo AND $do != '' and $do != 'favorites' and $view_template != 'rss' ) {
      		if ( $newsmodule ) {
      			@header( "HTTP/1.0 301 Moved Permanently" );
      			@header( "Location: http://site.com/" );
      		}

      This will work.

  129. Александр (34 комм.)

    Добрый день,

    УважаемыйАлаичЪ, что-то не получается у меня редирект вида site.ru/category/index.php на site.ru/category/, редирект идет на site.ru а не site.ru/category/. В чем мой косяк? Заранее спасибо за ответ.

  130. Чико (1 комм.)

    АлаичЪ день добрый, вопрос простой но мне важно знать так как я удалил весь контент сайта все разделы ибо полностью изменил направление сайта в плане тематике, понятное дело в поисковике в основной выдачи есть ссылки и не мало на сайт по тому или иному запросу, а новость уже удалена как и сам раздел, сейчас если перейти по такой ссылки попадаешь на главную, вопрос сам просится — оставить как есть, или всё токи лучше что бы срабатывало ошибка 404? и такие страницы со временем выпадут (чего бы и хотелось!), или они так и так выпадут независимо от того что на главную? Не хотелось бы пудрить людям голову, и побыстрей избавится от старых ссылок в поиске. Спасибо.

    • АлаичЪ

      При любом раскладе страницы пропадут из выдачи со временем, главное чтобы они не отдавали ответ 200 OK. Для ускорения удаления страниц из выдачи, закрой их в robots.txt.

  131. Валентин (67 комм.)

    Пимерно 3 месяца назад или два, проделал правки кода для:

    "Редирект с несуществующих страниц пагинации на правильные и существующие" самый первый пункт.

    Версия 9.6, я только сейчас заметил, что не работает...

    Я увеличил количество страниц на главной и в категориях и их количество естественно уменьшилось, яндекс сразу начал показывать на последние страницы (которые существовали) что они — 404, я проверил, и — не работает, подскажите, что не так, может что то исправить надо в ваших "рекомендациях", пожалуйста помогите.

    • АлаичЪ

      Попробуй такой вариант кода:

      $all_pages_count = @ceil( $count_all / $config['news_number'] );
      	if ($cstart > $all_pages_count) {
      			header('HTTP/1.1 301 Moved Permanently');
      			header ('Location: ' . $url_page . '/');
      			die();
      	}
  132. Андрей (1 комм.)

    Приветствую всех. Меня терзают смутные сомнения... А подойдёт ли всё это к дле 9.8 ? Имею ввиду все части данного руководства. Создал новый сайт на 9.8 и теперь незнаю, а стоит ли это на нём все делать... На 9.7 всё это проделывал. И немного оффтопа, сори, 1 февраля посещалка сайта упала с 3к в день до 0.8-1к, трафик был весь с гугли... Что это?

  133. Дан (15 комм.)

    АлаичЪ подскажите пожалуйста или в постах обозначьте, какие плюшки SEO оптимизации DLE в 3 частях актуальны для версии 9.8. Хотел обновиться, а то за чем будет лицензия пропадать бес толку. Заранее пребольшущее спасибо.

  134. Евгений (1 комм.)

    Подскажите пожалуйста, какой редирект нужно делать из представленных выше. Например у меня есть страница 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/

  135. eqoist (20 комм.)

    Скажите пожалуйста,

    разве теги вида "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]

  136. Андрей (2 комм.)

    Есть пару вопросов по вашим постам.

    1) Вот вы пишите про редирект с несуществующих категорий и новостей (допустим я их удалил) на главную. Скажите мне такое: поисковик, перейдя на несуществующую категорию или раздел, будет редиректом отправлен на главную и будет думать, что страница существует и все хорошо. Может лучше не делать такой редирект? Может лучше поудалять эти страницы в панели вебмастера гугла и яши?

    2) У меня раньше стояли теги на сайте, все они проиндексировались и появились в поиске. Потом я решил поудалять их. Конечно, эти страницы стали 404 ошибку выдавать. Вот решил в панели гугла и яши поудалять ссылки, но их много и муторное это дело. Так вот вопрос: удаляться ли эти все теги, если прописать в удалении страницы так site.ru/tags/ ?

    3) Вот ненужные страницы закрываем мета robots noindex. Вот одна из строчек в engine.php:

    do="uploads" OR (извините если неправильно). В этой папке uploads на DLE находится файл sitemap.xml Будет ли этот файл нормально восприниматься поисковиками? Будет ли этот файл передавать все ссылки сайта? Или лучше не закрывать эту папку?

    Спасибо за внимание.

    • Юрий (23 комм.)

      1) 301 редирект какраз и нужен, чтобы избежать той ситуации, которую вы описали. Почитайте в интернете, что такое 301 редирект, в справках Гугла и Яндекса в первую очередь!

      2) По-моему, так нельзя. Можно удалять только конкретную страницу. Но не беда, через время они сами удалятся. Тут главное все ссылки на эти страницы убрать.

      3) А причем здесь эта строчка? Какое отношение она имеет к метатегу robots и его использованию, которое описано в этом посте? Предложенное решение никоим образом не закривает эту папку. В robots.txt тоже не нужно ее закрывать!

  137. eqoist (20 комм.)

    Помогите пожалуйста,

    ЧПУ 2 включен но при этом ссылки вида

    index.php?cstart=6

    index.php?do=tags&tag=слово

    доступны и открываются.

    Как сделать чтобы и они редиректились как и ссылки новостей?

    index.php?cstart=6 редиректился на page/6/

    index.php?do=tags&tag=слово на tags/слово/

    Заранее Благодарю.

  138. Simur (20 комм.)

    Есть маленький вопрос:

    В этом случае (Редирект с несуществующих страниц пагинации на правильные и существующие), редирект идет на последнюю существующую страницу.

    А в этом (Редирект с несуществующих страниц пагинации комментариев на правильные), на первую страницу комментариев.

    Так и должно быть?

    PS DLE 9.7, хотя оно и без этих правок перекидывает на 1ю странице комментариев

  139. Руслан (10 комм.)

    на главной странице новости — <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. Заранее спасибо за ответ!

    тоже очень интересует этот момент.

    Как можно исправить?

  140. Руслан (10 комм.)

    Вообщем эту канонизацию страниц, выводилось только в статьях, я так понял все статьи из гугла вылетели. Страниц вылетело из гугла-70 700. Вернул все обратно как было. Печальный опыт.)

  141. Артем (1 комм.)

    Здравствуйте, возникла такая проблемка: в гугл вебмастере появились ошибки вида http://site.ru/cate...gory/ http://site.ru/ca...tegory/ http://site.ru/catego...ry/ — это несуществующая категория, но хак решения проблем с несуществующими категориями эту проблему не решает, а по этому адресу открывается главная страница.

    • АлаичЪ

      Попробуй правило для .htaccess, добавлять после RewriteEngine On:

      RewriteRule ^([^.]+)...([^.]+)$ / [R=301,L]
  142. Александр (2 комм.)

    Здравствуйте!

    Читал, так и не нашел.

    Как можно сделать редирект не существующих статических страниц на главную?

    Именно статических страниц.

    • Alex (19 комм.)

      Также как и с новостями, открываешь /engine/modules/static.php и находишь:

      else {
       
      	@header ( "HTTP/1.0 404 Not Found" );
      	msgbox ( $lang['all_err_1'], $lang['news_page_err'] );
       
      }

      Заменяешь на:

      // 301 редирект на главную, если страница не найдена/не существует
      	elseif( ! $news_found ) {
      					header ("HTTP/1.0 301 Moved Permanently");
      					header ("Location: {$config['http_home_url']}");
      					die ("Redirect");
      	}
      // 301 редирект на главную, если новость не найдена/не существует
  143. Максим (1 комм.)

    Здравствуйте, у меня в индекс залезла странная ссылка такого вида: http://site.ru/?&site=forumsv — по ней проиндексировался дубль главной страницы. Если возможно, посоветуйте, как её убрать?

  144. NeedLe (22 комм.)

    А когда все это будет под ДЛЕ 9.8 или что работает на дле 9.8?

  145. Starlei (4 комм.)

    Привет АлаичЪ. Беда такого характера: В шаблоне сайта я использую дополнительные поля в которых у меня вставляется ID видео с YouTube. В вебмастере яши заметил такую тенденцию — HTTP-статус: Ресурс не найден (404) и ссылки с урл заканчивающимся на тот код, что используется для вставки видео, т.е. http://mysite.tu/-hgdgek где — hgdgek это тот код, который используется для вставки видео через дополнительное поле. Возможно ли настроить редирект с этих страниц, дабы убрать ошибки в вебмастере или это не так страшно, если они все равно ведут на страницу 404 ошибки.

    • АлаичЪ

      Ничего страшного, главное что не отдает ответ 200, а значит можно не волноваться.

  146. Алекс (1 комм.)

    Если сделать это —

    // 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 редиректит на главную

  147. x0x0x7 (2 комм.)

    Здраствуйте, а как вставить вместо xfsearch название доп.поля, пример сайта baskino. com

  148. NeedLe (22 комм.)

    Привет Коллеги!

    В общем поменял урл категорий и соответственно прописал редирект

    Redirect 301 /урл_старой_категории/ http://сайт.info/урл_новой категории/

    Но вид ссылки при редиректе получается такой

    http://сайт.info/урл_новой категории/?do=cat&category=урл_старой_категории/

    Хотя раньше когда делал редирект, то редирект происходил нормально и адрес был таким

    http://сайт.info/урл_новой категории/

    В чем загвоздка?

    • АлаичЪ

      Желательно правила добавлять в таком порядке. Сразу после RewriteEngine On пишете строку RewriteBase / а после этого уже свое правило. И все будет отлично!

  149. NeedLe (22 комм.)

    Честно в этом я не разбираюсь, но если правильно понял это должно быть так?

    RewriteEngine On

    RewriteBase /

    Redirect 301 /урл_старой_категории/ http://сайт.info/урл_новой категории/

    Redirect 301 /урл_старой_категории/ http://сайт.info/урл_новой категории/

    Если да, то проблема та же. Почему раньше было все нормально. Единственное, что изменил это обновил движок

    • NeedLe (22 комм.)

      И такой вариант пробовал

      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/

      • АлаичЪ

        Интересно. В таком случае, попробуй перенести правила в конец файла.

        Если не поможет, то у меня пока других идей нет :(

        • NeedLe (22 комм.)

          Тоже не помогает =(

          Может, что то не так в .htaccess ?

          http://s020.radikal.ru/i714/1305/21/691a8edf0bc7.png

          • NeedLe (22 комм.)

            И еще: до этого работало когда сайты были на простом хостинге, сейчас сайты на VPS у Рег.ру

            • NeedLe (22 комм.)

              Ни чего не понимаю, на локалке стоит дле 9,7 null и та же проблема.

              • АлаичЪ

                Возможно где-то конфликт из-за множества неродных правил в htaccess. Попробуй установить чистый движок на локалке и добавить только необходимые редиректы и посмотреть, что будет.

                А параллельно рекомендую обратиться к хостерам за помощью, они смогут помочь, надеюсь. Ну а если нет, то стоит поискать специалиста по администрированию серверов...

                • NeedLe (22 комм.)

                  Спасибо большое за ответы!

                • NeedLe (22 комм.)

                  Поставил 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 и используйте стандартный и архива движка. И все будет путем.

                    • NeedLe (22 комм.)

                      ой это я не тот скрин залил, сейчас выложу который стандартный был в дистрибуте.

                      И в нем я не прописывал редирект а он срабатывает с этой же приставкой.

                      http://s017.radikal.ru/i415/1305/93/0d818300bac5.png

                    • NeedLe (22 комм.)

                      Вопрос решен методом тыка =), спасибо АлаичЪ за поддержку =)

                      Хотя странно почему стандартный .htaccess не помогал.

                    • АлаичЪ

                      Ну слава богу =)

                    • NeedLe (22 комм.)

                      Кстати на всякий случай поделюсь, вдруг у кого траблы такие же будут. =)

                      Правильный редирект:

                      RewriteCond %{QUERY_STRING} ^do=cat&category=bestsoft\/$ [NC]

                      RewriteRule ^soft/$ /soft/? [NC,L,R=301]

  150. Mako (5 комм.)

    Здравствуйте! Я сделал как в этом комменте http://alaev.info/blog/post/3294#comment-9543, но в вебмастере гугла появились Повторяющееся метаописание, то есть проблема в том что, идет Название доп.поля и Название сайта. Как можно в данном случае убрать Название сайта? Заранее спасибо.

    • АлаичЪ

      Название сайта тут не причем. Но если все же хочется это сделать, то тут http://alaev.info/blog/post/2373 надо проделать пункт "Улучшение SEO характеристик заголовков title".

  151. Александр (9 комм.)

    Для тех, кто будет добавлять тег canonical в полную новость по инструкции, рекомендую удалить из /engine/engine.php следующий код:

    if ($canonical) {

    $metatags .= <<<HTML

    <link rel="canonical" href="{$config['http_home_url']}" />

    HTML;

    }

  152. Александр (9 комм.)

    Кстати, если выполнить последнюю рекомендацию (про canonical), то на главной странице, страницах категорий и пр., кроме страниц полных новостей, мета-тег тоже выводится:

    <link rel="canonical" href="" />

    Это можно как-то исправить?

  153. Алекс (45 комм.)

    Вопрос:

    Сделал "Редирект для удаленных или несуществующих новостей на главную". Должны ли теперь страницы типа "http://site.ru/cat/8-easy-maintenance", где cat — несуществующая категория, а 8-easy-maintenance — несуществующая новость, редиректиться на главную?

    Если да, то беда — у меня не редиректит :( Что может быть? Может, ДЛЕ 9,8 потому что?

    А если и не должны, то как настроить редирект на такие несуществующие страницы?

    Кто-то меня прямо закидывает ими, вебмастер Гугла прям трещит.

    Спасибо за помощь заранее.

    • АлаичЪ

      Слишком много всего несуществующего.

      Проще делать редирект с адресов, включающих несуществующую категорию:

      RewriteRule ^cat/(.*)$ http://site.ru/ [R=301,L]
      • Алекс (45 комм.)

        Думал, атаки конкурентов — фух, паранойя, оказывается, раньше на этом домене был сайт, вот и всплыли старые урлы в вебмастере — на сегодня уже более 100.

        Спасибо, Алаичъ, дождался твоего совета! Все несуществующие страницы теперь редиректят на главную.

        Пока исправлял, нашел еще дубль главной — site.ru/page/. Вроде в твоих постах оптимизацию DLE такого не видел.

  154. Игорь (1 комм.)

    Читал как то Ваш диалог на сайте shakin.ru, там Вы рассказывали от Вашей карьере и тд.И там я от Вас услышал такие слова: "Хотя остается мой блог — он не ради денег и никогда не будет, на нем не будет ни одного баннера и не одной заказной рекламной статьи."

    Это значит что Вы все таки не сдержали слово

  155. Владимир (8 комм.)

    Подскажите как сделать правильно.

    Хочу сделать нормальную 404 страницу (отдельную информативную), но у меня почему-то при вводе несуществующей страницы перебрасываюет на главуню, а нужно сделать чтобы на 404 отдельную!

    • АлаичЪ

      Не знаю, как это сделать. Поищите мануалы в сети, я точно видел, правда там достаточно все непросто в плане реализации.

      • Hooligan (11 комм.)

        Сейчас на большинстве хостинг панелей, есть пункт свой страницы ошибок, 401, 404 и тд, что же мешает вам Владимир, создать такую "Информативную страницу под дизайн сайта?" как по мне так как 2 пальца апасфальт!

        • Владимир (8 комм.)

          Спасибо за советы.

          У меня когда набираю несуществующий адрес (к примеру http://мой_сайт.info/пример1.html) открывается главная а не стандартное предупреждение ДЛЕ ( Внимание, обнаружена ошибка...). Пример с http://alaev.info когда статья удалена или не существует у меня не проделан.

          Тогда что делает редирект???

          А страницу сам сделаю!

  156. Ramiz95 (2 комм.)

    Спасибо большое. Очень полезный блог. вы написали "если вы что-то вспомните или найдете необычные ошибки на своем сайте – обязательно пишите в комментариях, я придумаю решение вашей проблемы и добавлю его в пост" так вот, можно ли сделать чтоб для каждой страницы можно было описание делать самому? например у меня _kino.lite.uz и _kino.lite.uz/index.php?do=rules описание одинаковое=( и _kino.lite.uz/xfsearch/2013/ кривое. можно ли как ни будь исправить?

  157. Владимир (1 комм.)

    Редирект для удаленных или несуществующих новостей на главную

    при добавлении на 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/

  158. coolteams (5 комм.)

    <link rel="canonical" href="" /> выводится на главной, причем урл пустой, и портит валидацию.

    • M@ks (1 комм.)

      Попробуй убрать все что сделал по инструкции, отмени все изменения в файлах,

      В корневом файле index.php внеси изменения

      После строки:

      if ( $dle_module == "showfull" ) {

      Добавь:

      $metatags .= <<<HTML

      <link rel="canonical" href="{$full_link}">

      HTML;

  159. Владимир (8 комм.)

    Как сделать редирект на главную???

    Чтобы не было вот таких дублей. (буквы могут быть любые, главное формат /xxx.xxx)

    http://site.ru/ffff.fff

    http://site.ru/page/3/ffff.fff

    http://site.ru/anime/ffff.fff

    Движок 9.8

    • АлаичЪ

      Вот как-то так, наверное:

      RewriteRule (.*)/([a-z]{3})\.([a-z]{3})$ $1 [L,R=301]

      • Владимир (8 комм.)

        Александр спасибо за совет и оперативность, очень приятно!

        Ваш вариант не подошел. Все равно мне отдает страницу ту которая отображается без /fff.fff

        Мот есть другие советы???

        • АлаичЪ

          Мой код не должен редиректить на главную, он должен редиректить на адрес без вашей приставки. Это более правильно. Но, я так понял, приставка все равно не убирается ни для http://site.ru/ffff.fff, ни для http://site.ru/anime/ffff.fff?

          • Лена (8 комм.)

            Здравствуйте. Вот вроде как сделала настройки все (9.8), оно редиректит на главную, а приставки не убираются. И вообще не понимаю откуда гугл их взял такие приставки.

            Пример

            Страницы с повторяющимися заголовками (теги title)

            /4057-devchata-1961.html%3Bs1280/

            /apple-touch-icon-precomposed.png/

            /c/P-1a.19/

            /files/misc/dogovor-zd.doc/

            /index.m3u8/

            /kino_online/otechestvennye/melodrama/%3B0.7511226416599258/

            /rules.html

            /serials/vel-vek-4-s.txt/

            • Лена (8 комм.)

              Извините. Не дописала. Еще что-то стало творится с методанныыми. РДС бар (вывод seo тегов текущей страницы) выдает все в двойном экземпляре. Как это исправить? Спасибо

  160. Владимир (8 комм.)

    Оно мне показывает ту страницу на которой я остановился (главная, категория, страница пагинации) когда я в адрес пишу fff. Интересно что даже если я на главной додам к адресу /anime/ffff.fff никуда с главной я не перехожу...

    Хотелось чтобы 404 отдавало или редирект на главную.

  161. Сергей (1 комм.)

    Как я понимаю человек, который отписал вше говорит про DLE 10 и когда он дописывает несуществующие символы в строку, то его не переадресует ни на главную ни на ошибку, он просто остается на этой странице.

    АлаичЪ мы конечно все понимаем, что ты занят очень, но пожалуйста внеси поправки по DLE 10 так как многие правки там уже не работают, а проблемы так же остаются.

  162. влад (5 комм.)

    а мне кажется этот метод вывода ссылки не правильный

    if (!empty ($newsid)) $title_dop = "<link rel=\"canonical\" href=\"{$canonical}\" />";

    и выводить тегом {$title_dop}

    как то так...

    а вот этот вариант

    if (isset ($canonical)) $metatags .= <<<HTML

    \n <link rel="canonical" href="{$canonical}" />

    HTML;

    Оставляет пустые теги <link rel="canonical" href="" /> — в категориях, везде кроме полной новости

  163. Лански (1 комм.)

    Добавляем тег rel=”canonical” для страниц просмотра полной новости

    Можете объяснит? что дает этот код? у меня поисковик выводит дубль одной новости, первая короткая новость 30% а вторая полная новость 100%, так при установке этого кода какую новость будет выводит поисковик? короткую 30% или полную 100%.

  164. anmobian (1 комм.)

    Доброго времени! Перелопатил кучу сайтов и не могу найти ответ на свой вопрос. Проблема такая. Запилили мне сайт, я оптимизировал, настроил редиректы, все вроде хорошо. Гугл начал индексировать страницы, вместе с тем откуда-то копает страницы, которых нет на сайте типа сайт.ру/мужская-одежда/брюки/женская-одежда/статьи... т.е. тупо склеиваются урлы каталога № 1 с каталогом № 2, в эту же кучу закидывает еще какой-нибудь урл типа статей и все это размножается в пргорессии... голову сломал. Гугл накопал 700 таких страниц и отдает конечно 404 ошибку для них...

    Ради интереса в мегаиндексе в аудите проверил сайт, он показал (в разделе аудит редиректов) 25000!! 301 редиректов... начал разбираться. Убрал редирект 301 на страницы без слеш — мегаиндекс не обнаружил этого конского кол-ва редиректов, ставлю обратно, снова 25000.

    Думаю, обнаружение гуглом большого кол-ва улов с ошибкой 404 и выявление мегаиндексом "мегаколичества" 301 редиректов — проблемы пересекающиеся... так вот простой вопрос — что делать??

    Общался с программистами, предположения есть, проверил — результата нет, все так же. Но не убирать же редирект 301 со страниц со слеш...

  165. andrey (1 комм.)

    Редирект со ссылок с лишними символами или неправильным окончанием на верные адреса

    в htaccess имеются указанные строки но с другими окончаниями:

    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html (/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 [L]

    RewriteRule ^([^.]+)/([0-9]+) — (.*).html (/?)+$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]

    RewriteRule ^([0-9]+) — (.*).html (/?)+$ index.php?newsid=$1&seourl=$2 [L]

    Что вставлять в этом случае? v.9.6

    • АлаичЪ

      Там же в посте написано, что для 9,6 другая инструкция, даже ссылка на нее дана!

  166. Денис (6 комм.)

    Редирект со ссылок с лишними символами или неправильным окончанием на верные адреса. Будет ли это для DLE 10.1? и ещё кое что для DLE 10.1:

    .html/ чтобы редиректило на >> .html

    новость.html/azvb >> либо на новость с правильным адресом, либо на главную.

    домен/категория/новость >> домен/категория/новость.html

    ?

    Пробовал добавлять код, чтобы исправить эти ошибки (код брал для версии до DLE 9.2), дак с помощью него исправились ошибки, НО только на последне-добавленной новости на сайте, на всех остальных — не пашет.

  167. евгений (2 комм.)

    Здравствуйте а не подскажете как бороться с таким?

    http://ikinokz.net/1075-bibliotekar-v-poiskah-kopya-sudby.html

    http://ikinokz.net/1075-oderzhimost.html

    Выводит тупость какую то. id Новости одинаковые дублируются и чпу воопще левые. = (

  168. Роман (3 комм.)

    Здравствуйте, Александр!

    Огромное Вам спасибо за труды и такой полезный манул! У меня к Вам вот какой вопрос...

    Нет ли подобной "оптимизации" для 10.1 ? Или данный подойдет?

    Заранее Вам благодарен!

  169. Лена (8 комм.)

    Здравствуйте. Не могу придумать — почему при нажатии на тег, перекидывает на главную. Как поправить это чудо? Если можно — как для блондинок пожалуйста.

    DLE 9.6.

    • АлаичЪ

      Надо выяснить, в чем причина такого поведения. Просто так это не могло случиться, а значит вы вносили какие-то правки в файлы движка. а значит надо эти правки откатить назад.

      А вообще, я бы порекомендовал вам обновиться до актуальной версии DLE. Вот таким вот образом — http://alaev.info/blog/post/3970

      • Лена (8 комм.)

        Откат точно не получится — нет ничего сохраненного. Обновление — тоже не выход... Модулей нету у меня таких(( Ладно... Как-нибудь без тегов тогда. Спасибо за ответ

  170. Ильшат (4 комм.)

    Как все таки решить проблему с rel="canonical"

    То есть полная новость вот так показывает:

    <link href="http://dle1/" rel="canonical">

    <link href="http://dle1/16-eqwfergferg.html" rel="canonical">

    а в категориях и на главной

    <link href="" rel="canonical"> link вовсе отсутствует

    • Лена (8 комм.)

      canonical только для полных новостей и прописывается, но никак не для категорий и главной

      • Ильшат (4 комм.)

        Ну я так и сделал все по инструкции, от и до. А проблема которая у меня оказалась частой, но решение никто не придумал, и читал что в 10+ версии есть каноникал на глвную, так и я себе оставил и не парюсь.

        • Лена (8 комм.)

          А главная каким-то образом может изменить урл? Зачем он для главной? Может я чего-то недопонимаю...

          • Ильшат (4 комм.)

            Ну как я заметил, там всего-лишь при вводе к примеру site.ru/sgirgrgn.php будет мета с канониклом на site.ru

  171. Rasse (1 комм.)

    Hi!

    Is 'redirect' possible from deleted categories to 'main page' — in the dle 10.2?

    Thanks.

  172. Глеб (6 комм.)

    Здравствуйте!

    На DLE 10.2 не работает редирект с удаленных категорий. Выдает такую ошибку:

    MySQL error in file: /engine/modules/show.short.php at line 66

  173. kovalenko (2 комм.)

    "Редирект для публикаций, у которых отсутствует ID, на главную страницу" — работает только если стоит Тип ЧПУ 2, если ЧПУ 1 не работает.

    Подскажите пожалуйста как можно сделать чтобы работало при Типе ЧПУ 1?

    Спасибо заранее за ответ.

  174. Алекс (45 комм.)

    На странице "Правильный robots.txt для DLE" не смог оставить комментарий — нет поля.

    Алаичъ, подскажите, как настроить запрет индексации используя meta robots (желательно через engine.php) для страниц перекрестных ссылок из дополнительных полей? Появилась новая фишка в DLE, решил использовать вместо тегов, но не знаю, как закрыть от индексации.

    Выглядят они так: http://site.ru/xfsearch/znachenie_dop_pole/

    И еще вопрос: как настроить с таких страниц 301 редирект на категорию? Обычный не заработал.

    • АлаичЪ

      Думаю, что надо после строки:

      	$do == 'tags' OR

      Добавить:

      	$do == 'xfsearch' OR

      Пробуй.

      • Алекс (45 комм.)

        Блин, это ж логично :) Спасибо, помогло.

        Буду рад узнать: как настроить с таких страниц 301 редирект на категорию?

        Обычный не заработал

        Redirect 301 /site.ru/xfsearch/znachenie_dop_pole/ http://site.ru/category/

        • АлаичЪ

          RewriteRule ^xfsearch/znachenie_dop_pole/$ http://site.ru/category/ [R=301,L]

          • Алекс (45 комм.)

            Работает!

            Для тех, у кого, как и у меня значения доп. полей кириллицей, в .htacess лучше указывать слово кириллицей

            RewriteRule ^xfsearch/Значение_доп_поля/$ http://site.ru/category/ [R=301,L]

            Если копировать то, что выдает браузер (аля %C3-%EE%E1%F0%E0%E7%ED%E0%FF/) то редирект не работает.

  175. Витя (1 комм.)

    аналогично

    На DLE 10.2 не работает редирект с удаленных категорий. Выдает такую ошибку:

    MySQL error in file: /engine/modules/show.short.php at line 66

    выдает:

    MySQL error in file: /engine/modules/show.short.php at line 66

    Error Number: 1139

    The Error returned was:

    Got error 'empty (sub) expression' from regexp

    SQL query:

    SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH (p.full_story) as full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM dle_post p LEFT JOIN dle_post_extras e ON (p.id=e.news_id) WHERE category regexp '[[:<:]](|1)[[:>:]]' AND approve=1 AND date < '2014-04-20 12:06:43' ORDER BY fixed desc, date DESC LIMIT 0,1

    что нужно поменять чтобы работало на 10.2 ?

  176. Валерий (63 комм.)

    Алаичъ, можно ли каким-то образом сделать редирект с несуществующих категорий на существующие?

    Например, была категория site.ru/domashnij/, адрес новой категории стал таким: site.ru/dom/

    1) чтобы происходил редирект с /domashnij/ на /dom/

    2) чтобы происходил редирект страниц, опубликованных в этой категории:

    например, с site.ru/domashnij/post-1.html на site.ru/dom/post-1.html.

    Саша, буду благодарен за помощь!

  177. Renovatio (8 комм.)

    Подскажите плиз по тегу "canonical"...

    Как я понимаю, он запрещает к индексации страницы сайта (в последнем примере полную новость)?

    Делал всё по инструкции в этой статье и автоматом проделал все этапы, включая и последний... В итоге в отчёте Яндекс-вебмастер увидел кучу страниц с пометкой "Документ является неканоническим"... После чего я отменил последнюю правку, но на всех страницах остался такой код <link rel="canonical" href="" />... Это нормально? Если нет, то как исправить?

    P.S. DLE 10.2

    • АлаичЪ

      После моих правок этого не могло случиться. canonical на страницах просмотра новости указывает на саму страницу, на ее верный адрес. Даже после отмены правок <link rel="canonical" href="" /> никак не может остаться. Так что где-то допустили ошибку.

      • Renovatio (8 комм.)

        Алаич, подскажи плиз где может быть ошибка?

        Делал всё по всем 4-м частям. Ещё установлен DonBot.

        Кроме этой части, где-то ещё упоминается canonical?

        • АлаичЪ

          Нигде каноникал больше не встречается и не упоминается. Могу порекомендовать перезалить файлы из чистого дистрибутива, тогда все ошибки и правки пропадут. После этого, если решите вносить изменения, надо быть внимательнее и все проверять.

  178. Артём (4 комм.)

    Попробовал закрыть страницы от индекса — /page/2/ и т.д. ничего не получилось! Яндекс видит эту страницу (Результат разрешен).

    Делал пр данному пункту — (intval ($_GET['cstart']) > 1 )

    Гугл, тоже видит...(

    • АлаичЪ

      Если в исходном коде страницы нужный метатег присутствует, значит все работает. А в панели вебмастера проверяется только robots.txt, метатеги не проверяются.

  179. Михаил (12 комм.)

    Приветствую, у меня проиндексировалась такая страница как главная:

    site.ru/?story=Готика

    подскажите плиз, что нужно в этом случае сделать? писать в роботсе или еще какой редирект есть?

    • АлаичЪ

      Запретите в robots.txt. А вообще, в версии 10.2 там должен срабатывать либо редирект на главную, либо в коде ложен быть canonical и страница не должна проиндексироваться.

  180. Михаил (12 комм.)

    так наверно правильней будет

    Disallow: /?*

  181. Дмитрий (1 комм.)

    Сделал Редирект с несуществующих страниц пагинации на правильные и существующие DLE 10.1.

    Пропал расширенный поиск новостей в админке. То есть я ввожу заголок статьи, жму найти и меня перебрасывает на главную.

    • АлаичЪ

      Это никак не связанные явления, т.к. правится файл, не имеющий никакого отношения к админке.

  182. Anton (2 комм.)

    Редирект со ссылок с лишними символами или неправильным окончанием на верные адреса

    Нашел

    # Редиректы

    RewriteRule ^page/([0-9]+)(/?)$ index.php?cstart=$1 [L]

    добавил выше

    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]

    Итог:

    Если ввожу с ошибкой .htm .ht .h и т.д.

    Открывается URL (Not found) вида http://site.ru/home/b/название/site.ru/public_html/2-post2.html

    Если ввожу адрес верный, соответственно все работает, как и должно быть.

    DLE 10.1, UTF-8, движок только с конвеера, модификаций нет.

    Как решить, АлаичЪ? Заранее благодарю.

  183. Роман (3 комм.)

    Похоже боты Google плевали на этот — <meta name="robots" content="noindex,nofollow" />

    Индексируют влегкую!

    • АлаичЪ

      «Какие ваши доказательства?» ©

      • Роман (3 комм.)

        Проверял в Гугловских "инструментах для веб-мастеров", в разделе "Заблокированные URL". У меня много ошибок из site.ru/user/user_name/ и site.ru/tags/Tag+Name/ вылазят. Я так понимаю это автоматом удаленные юзеры, ну и теги я удалил и не использую более. Но, если я правильно понял это все вообще не должно индексироваться? Почему тогда лезет в ошибки?

        Тут же, в панели, проверил эти каталоги на доступность для Роботам User Agent и ...доступно и сканируется. :(

        • АлаичЪ

          Насколько я знаю, в разделе "Заблокированные URL" в принципе нет никакой информации об ошибках. Что вы имели ввиду?

          Ошибки 404 это когда страница удалена и не существует, а значит и никакого метатега на ней быть не может, но такие страницы в индекс и не попадают или быстро из него вылетают. Индексация тут не при чем, если у вас есть ошибки на сайте, мета-тег то чем провинился?

  184. Денис (6 комм.)

    АлаичЪ, подскажи, пожалуйста, почему у меня "Редирект для публикаций, у которых отсутствует ID, на главную страницу" может не работать? Версия ДЛЕ 10,1. НО, дело даже не в том почему редирект не работает, не работает даже стандартный код, который должен перенаправлять на 404 ошибку, но он не перенаправляет на 404. А просто, если новость без ID , то выводит главную стрfницу с ссылкой не главной, а которая была указана без ID.

    • АлаичЪ

      Причин может быть очень много. Рекомендую обновиться до последней версии, а потом внести правки. Возможно, в текущем состоянии файлов движка уже внесены какие-то изменения, которые не позволяют моим правкам работать.

      • Денис (6 комм.)

        дело даже не в ваших правках, а просто даже стандартный код ДЛЕ не работает. Стандартно должно ведь выбивать 404, а выдает просто главную с кривой ссылкой.

  185. Денис (6 комм.)

    АлаичЪ, к моему прошлому посту: DLE 10.1, сейчас заметил, что хлебные крошки не работают(стандартные), 404 страница не работает. В общем даже стандартные файлы ДЛЕ: modules/static.php и modules/functions.php не работают. В них ничего не менял, из-за чего такое может быть?

    • Денис (6 комм.)

      Все, по поводу неработоспособности 404 и static.php — справился.

      Данный редирект блокировал, почему-то:

      ### Редиректы с index.php на сайт

      RewriteBase /

      RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/

      RewriteRule ^index\.php$ / [R=301,L]

      RewriteCond %{REQUEST_FILENAME} !-f

      RewriteCond %{REQUEST_FILENAME} !-d

      RewriteRule . /index.php [L]

      • АлаичЪ

        Откуда этот редирект взялся? Его нет в посте. Когда-то был, но с тех пор все изменилось :)

  186. Sergey (14 комм.)

    Беда такая, сайт доступен и по адресу domen.ru и по IP xxx.xxx.xxx.xxx

    Как сделать редирект?

    • Олег (17 комм.)

      Sergey, сделайте заглушку, если не знаете как обратитесь к своему хостеру.

  187. Александр (1 комм.)

    Приветствую. ДЛЕ 10.1 как сделать ссылки пагинации с атрибутом rel="nofollow"

  188. Артем (8 комм.)

    Здравствуйте. У меня в Вебмастере куча вот таких страниц http://site.ru/uzhastiki/21850-promete...</div>%20%20%20%20%20%20%20%20</div>%20%20%20%20%20%20</td>%20%20%20%20%20%20<td></td>%20%20%20%20</tr>%20%20%20%20<tr>%20%20%20%20%20%20<td%20colspan=/

    Не могу понять откуда они. Как избавиться от таких кракозябр?

  189. Игорь (1 комм.)

    Крутой пост, спасибо!

    В моём случае не отработал хак для редиректа с пустых страниц комментариев. Логика DLE просто не открывает файл /classes/comments.class.php. да и баг проявляется только для постов без комментариев. Где они есть с постраничкой, там редиректит сама CMS нормально.

    Вот моя рабочая правка (/modules/show.full.php после инициализации $comments_num = $row['comm_num']; // примерно 350 строка):

    if ( $cstart && !$comments_num ) {

    header ('HTTP/1.1 301 Moved Permanently');

    header ('Location: ' . $full_link);

    die ();

    }

  190. Андрей Алаичу (2 комм.)

    алаич проблема с урлами

    http://site.ru/sadasdasdsada — даже 404 не выдает версия 10.х код ответа 200. Как думаешь где искать проблему?

    Редирект для удаленных или несуществующих новостей на главную — не помогло

    • Андрей Алаичу (2 комм.)

      Поставил Default шабьлон выдается ошибка 404. Что поправить чтобы на том шаблоне нтоже 404 выдавался?

  191. Игорь (1 комм.)

    Здравствуйте! Сервер не отдает ошибку 404 с url вида:

    http://www.site.com/.../porno-filmy/biseksualy-online

    http://www.site.com/.../

    http://www.site.com/.../любой бред

    Я не понимаю откуда взялись эти троеточия! Можно настроить движок, чтобы с таких url отдавались ошибки 404?

  192. Владимир (1 комм.)

    Спасибо за статью! Долго искал, как добавить каноникал в новости.

    Но мне нужно немного не так, потому что у меня материал будет входить в несколько категорий, поэтому мне надо указывать каноникал от каждой новости, потому что по умолчанию в этом случае ставится каноникал первой по списку категории, в которую добавлен материал. И поисковые машины будут думать, что в остальных категориях (кроме нескольких первых) нет материалов, следовательно не будут их нормально ранжировать.

    Хотелось бы попросить подсказать можно ли это осуществить через доп. поля? Если можно то как? Пробовал изменить ваш код что типа того)) $full_canonical = [xfvalue_canonical]; но не получается))

  193. Даниил (3 комм.)

    Как убрать дубли страниц типа: .ru/page,1,2,39-test.html в версии dle 10.2

  194. Jester (14 комм.)

    Здравствуйте, к примеру если удалить файл то при его запросе отдает ответ сервера 200 но с текстом Доступ запрещен. Как сделать так что если файл удален с сервер и с новости при его прямом запросе отдавалась 404 ошибка, а для рабочих 200?

  195. Александр (1 комм.)

    АлаичЪ, подскажи пожалуйста. Правильно так:

    } 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;

    или так:

    } 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;

    }

  196. Наташа (1 комм.)

    Спасибо, вы меня спасли, побежало куча людей на несуществующий урл, не знала, что делать, благодаря вам проблему решила.

    • Websot (Иван) (2 комм.)

      Через .htaccess прописать определенное правило редиректа для всех новостей на них, только с добавлением .html

      Пример:

      /category/666-petrov-vasya

      на

      /category/666-petrov-vasya.html

  197. Андрей (1 комм.)

    Здравствуйте подскажите пожалуйста как решить такую проблему. У меня сначала был чпу в таком виде

    http://sitename.ru/films/50-zheleznyy-chelovek-3 а потом через некоторое время добавил расширения то есть теперь с ".html" на конце. Проблема состоит в том что у меня большая часть на яндексе проиндексировалось без расширения. Как можно сделать именно редирект всех новостей если нет расширения на страницы с расширением ? Просто видел много примеров где по одной ссылке вставлять, но надеюсь есть и другое решение. Помогите пожалуйста.

    • АлаичЪ

      Обратитесь к Олегу (его скайп ru.mofsy), скажите, что от Алаича. Он поможет. Не бесплатно, разумеется.

  198. Bogdan (1 комм.)

    Добрый день. ПОМОГИТЕ пожалуйста !!! Появился дубль в категории

    site.ru/index.php?do=cat&category=zolotaya-podkova

    а должно быть вот так

    site.ru/zolotaya-podkova/

    Не могу понять как его убрать

  199. Константин (1 комм.)

    Здравствуйте Александр, вопрос по теме — "Запрещаем индексацию разделов сайта при помощи мета-тега robots"

    А как запретить индексацию всех новостей в определённой категории? Но при этом сама страница категории должна индексироваться.

    Жду вашего ответа...

  200. Олег (5 комм.)

    Нормальный каноникал к фулл новостям

    В show.full.php после $metatags['title'] = $row['title'];

    $metatags2 .= <<<HTML

    <link rel="canonical" href="{$full_link}">

    HTML;

    В engine.php после <meta name="description" content="{$metatags['description']}" />{$disable_index}

    {$metatags2}

    ну или куда удобней

  201. Олег (5 комм.)

    Вопрос к АлаичЪ

    Как дописать каноникал не к фулл новостям а к категориям? есть допустим категория site.ru/newauto/ и что б в её коде был <link rel="canonical" href="http://site.ru/newauto/">

  202. Олег (5 комм.)

    Хорошо А как вообще убрать description из страниц пагинации?

  203. Георгий (1 комм.)

    Добавляем тег rel=”canonical” для страниц просмотра полной новости.

    Нужно делать для 11.1 подойдет ли данный мануал?

  204. Alexandro (2 комм.)

    Здравствуйте! Подскажите как решится вопрос с уже проиндексированной страницей/категорией, если применить "Запрещаем индексацию разделов сайта при помощи мета-тега robots"? Строкой "//$dle_module == 'date' OR /*" я отдаю страницее <meta name="robots" content="noindex,nofollow" />, а что это значит для ПС? К примеру в выдаче уже есть страница http://мой_сайт.ru/2016/11/01/. Она уйдет из выдачи со временем?

  205. kolt32 (3 комм.)

    Здравствуйте уважаемый автор блога!

    Скажите пожалуйста, как сделать редирект отключенных новостей на главную?

    Возможно не одному мне нужно, и может найдется минутка пополнить статью данным редиректом, или подсказкой в комментарии?

    Был бы от души признателен.

  206. Иван (10 комм.)

    Алаичь, помогите пожалуйста. Уже все облазил, не могу решить проблему.

    1) Когда ввожу адрес site.ru/ЛюбыеСимволы оно не редиректит на главную, а такая страница остается и пишет "По данному адресу публикаций на сайте не найдено, либо у Вас нет доступа для просмотра информации по данному адресу." Как сделать редирект? (перепробовал все на сайте, ну не редиректит, движок DLE 11.1). Обработка неверных URL включено, ТИП ЧПУ 2

    2) Видел у одного человека на сайте. Когда ввожу site.ru/category/103-nazvanie.html переходит на статью, а когда так site.ru/category/103 то редиректит на site.ru/category/103-nazvanie.html Как такое можно сделать?

  207. Виталий (1 комм.)

    Здравствуйте!

    Cделал по вашей рекомендации для CMS DLE 10.0 : "Редирект со ссылок с лишними символами или неправильным окончанием на верные адреса" очень помогло "съеденных" окончаний оказалось не мало, но при их проверке в вебмастере яндекса увидел ещё дубли страниц с неправильными окончаниями пример:

    https://сайт/news/182-lodiya-pain/html (неправильная страница)

    https://сайт/news/182-lodiya-pain.html (правильная страница)

    при этом яндекс посчитал правильную страницу за дубль и удалил её из поиска.

    Сам сайт выдаёт обе эти страницы как быть в такой ситуации ( / слэш) вместо ( . точки) ?

    Тоже нужен какой-то редирект?

    И образовался этот неправильный адрес как я понимаю из-за ссылки которую тоже кто-то неправильно оставил на полную новость?

    Но даже потом взял любую другую новость и вставив на окончание ( / слэш) вместо ( . точки) сайт выдаёт эту страницу со слэш.

  208. Олег (1 комм.)

    привет, подскажите как Редирект для удаленных или несуществующих новостей на главную, сделать на версии дле 12.0

  209. Валерий (2 комм.)

    Доброго времени суток уважаемые, тоже интересует Редирект для удаленных или несуществующих новостей на главную.

    Для версии DLE 13.1

    АлаичЪ как бы можно было это реализовать

    } elseif ( !$news_found ) {

    @header ( "HTTP/1.1 404 Not Found" );

    if ( $config['own_404'] AND file_exists (ROOT_DIR . '/404.html') ) {

    @header ("Content-type: text/html; charset=".$config['charset']);

    echo file_get_contents ( ROOT_DIR . '/404.html' );

    die ();

    } else msgbox ( $lang['all_err_1'], $lang['news_err_12'] );

    }

  210. Валерий (2 комм.)

    Было бы даже очень не плохо обновить все эти темы до актуальной версии движка DLE. Было бы супер, все очень грамотно, только вот не хватает обновлений.

Оставь комментарий, Бро!

· Малоинформативные комментарии или комментарии, не содержащие вопрос, удаляются.
· В поле URL оставляйте ссылку только на свой сайт/блог. Эта ссылка для админа, посетители ее не увидят.
· Любой html-код отображается в виде текста, любые ссылки неактивны.
· Для спаммеров - БЛОГ НЕ DOFOLLOW!!!