Внутренняя SEO оптимизация DLE
0

SEO оптимизация DLE: Часть 1 — Избавляемся от дублирования контента, связанного с URL

Доброго времени суток, настало то время когда нужно написать кратенькую и полезную статью про внутреннюю SEO оптимизация движка DataLife Engine. Для начала приведу некое правило, которому нужно следовать всегда при оптимизации: страница должна быть доступна только по одному url! Ему мы и будем придерживаться в ходе данной статьи, ведь она будет про избавление от дублей контента (страниц). Не будем вдаваться и рассуждать кто виноват в этом и почему до сих пор не внесли подобные правки в релиз, программистам с dle-news похоже виднее и лучше, чтобы их продукт оставался без SEO части...

 

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

Возможный дубль 301 Основная страница
Главная страница (http://site.ru)
http://www.site.ru -> http://site.ru
http://site.ru/index.php -> http://site.ru
http://site.ru/page/1/ -> http://site.ru
Страница категории (http://site.ru/category/)
http://site.ru/category -> http://site.ru/category/
http://site.ru/category/page/1/ -> http://site.ru/category/
Страница субкатегории, если есть вложенность (http://site.ru/cat/subcat/)
http://site.ru/cat/subcat -> http://site.ru/cat/subcat/
http://site.ru/cat/subcat/page/1/ -> http://site.ru/cat/subcat/
http://site.ru/subcat/ -> http://site.ru/cat/subcat/
http://site.ru/subcat -> http://site.ru/cat/subcat/
http://site.ru/subcat/page/1/ -> http://site.ru/cat/subcat/
Страница материнской категории, если есть вложенность (http://site.ru/cat/)
http://site.ru/cat -> http://site.ru/cat/
http://site.ru/cat/page/1/ -> http://site.ru/cat/
http://site.ru/subcat/cat/ -> http://site.ru/cat/
http://site.ru/subcat/cat -> http://site.ru/cat/
http://site.ru/subcat/cat/page/1/ -> http://site.ru/cat/
Страница полной новости, которая пусть принадлежит категории truecat (http://site.ru/truecat/123-news-name.html)
http://site.ru/truecat/123-bla-bla-bla-name.html -> http://site.ru/truecat/123-news-name.html
http://site.ru/123-news-name.html -> http://site.ru/truecat/123-news-name.html
http://site.ru/fakecat/123-news-name.html -> http://site.ru/truecat/123-news-name.html
http://site.ru/truecat/page,1,1,123-news-name.html -> http://site.ru/truecat/123-news-name.html

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

 

Важное отступление... Прежде чем вносить правки, проверьте версию движка на наличие уже реализованных исправлений. Разработчики все же начали уже вносить изменения по этому поводу. В связи с этим я буду делать акцентирование внимания на версии DLE, для которой они предназначены. И в основном буду приводить правки для версий DLE выше 10.x, ибо старые версии использует мало кто уже, и кто использует - использует их давно, а соответственно правки там уже скорее всего внесены подобные.

 

 

Склейка зеркал — выбираем главное зеркало www.site.ru или site.ru:

Актуальность: Все версии DLE. Проверено на 7.x, 8.x, 9.x, 10.x.

Какие проблемы решаем:

  • Полное дублирование сайта по адресам http://site.ru и http://www.site.ru

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

Чего мы добились: Теперь пользователи могут заходить по любому из адресов, при этом редирект будет происходить на тот, что мы выбрали (у меня лично без www). При этом дублей создаваться не будет.

 

 

Убираем index.php и index.html из адреса главной страницы:

Актуальность: Все версии DLE. Проверено на 7.x, 8.x, 9.x, 10.x.

Какие проблемы решаем:

  • Дублирование главной страницы по адресам http://site.ru, http://site.ru/index.php и http://site.ru/index.html
Раскрыть список правок

Открываем файл .htaccess, который находится в корне сайта (это там, где лежит основной index.php).
В самый конец добавляем:

### Редиректы с index.php или index.html на сайт
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/
RewriteRule .* / [R=301,L]

[свернуть]

Чего мы добились: Мы убрали дубли главной страницы.

 

 

Склеиваем адреса страниц /page/1/ с основными адресами для главной страницы и категорий:

Актуальность: Все версии DLE. Проверено на 7.x, 8.x, 9.x, 10.x.

Какие проблемы решаем:

  • Дублирование главной страницы сайта по адресам http://site.ru/page/1/ и http://site.ru/
  • Дублирование основной (первой) страницы категории по адресам http://site.ru/category/page/1/ и http://site.ru/category/
Раскрыть список правок

Открываем файл .htaccess, который находится в корне сайта (это там, где лежит основной index.php).
Находим:

### END Определяем главное зеркало

Ниже добавляем:

### START Редирект с первой страницы на основную
RewriteBase /
RewriteRule ^(.*)page/1(/|)$ $1 [R=301,L]
### END Редирект с первой страницы на основную

Для подстраховки или если вариант с .htaccess не сработал. Открываем файл /engine/engine.php:
Находим:

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

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

	if ( (intval($_GET['cstart']) == 1) && (strpos($_SERVER['REQUEST_URI'], '/page/1') !== false) ) {
		$first_page_url = str_replace ( "/page/1", "", $_SERVER['REQUEST_URI'] );
		header("HTTP/1.0 301 Moved Permanently");
		header("Location: $first_page_url");
		die("Redirect");
	}

[свернуть]

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

 

 

Устраняем неразбериху с категориями их вложенностью и слешем / на конце:

Актуальность: Для DLE 9.3 и выше необходимо "ОБЯЗАТЕЛЬНО" в настройках движка активировать опцию «Обрабатывать неверные URL ЧПУ».

Какие проблемы решаем:

  • Дублирование страниц категорий по адресам без слеша и со слешем на конце
  • Дублирование страниц пагинации по адресам без слеша и со слешем на конце
  • Дублирование страниц категорий и подкатегорий при нарушении иерархии(вложенности)

 

 

На этом собственно и всё, что я хотел бы рассказать. Достаточно кратенько вышло, года 2-3 назад статья была бы раза в 2-3 больше, а теперь вот так вот. Приятно видеть, что разработчики прислушиваются к мнениям сторонних вебмастеров и программистов...

 

При изменение в новых версиях движка, будут вноситься правки в данную статью также. Если кому-то нужны правки для более низких версий движка, например 7.x, 8.x и 9.x, то пишите в комментариях, сделаю отдельную статью, под старые версии двикжка DLE. За материал для статьи спасибо - Алаеву.

Запись опубликована В категории: DataLife Engine

Shnapik

Вебмастер с опытом ищет приют! Возьмите меня, а то меня рвут!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *