• Автор:

    Flesha
  • Добавлено:

    мар 13, 2011
  • Комментариев:

    1
  • Просмотров:

    10 203

Оптимизируем сайт на DLE

Оптимизируем сайт на DLE

1. Убираем дубли главной страницы сайта, типа index.php, index.html

Редактируем файл .htaccess в корне сайта:

Открываем файл и заменяем:
RewriteEngine On


на:
Options +FollowSymLinksRewriteEngine OnRewriteCond %{HTTP_HOST} ^www.example.com$RewriteRule (.*) https://example.com/$1 [R=301,L]RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/RewriteRule ^index\.html$ https://example.com/ [R=301,L]RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/RewriteRule ^index\.php$ https://example.com/ [R=301,L]


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

2. Убираем дубли внутренних страниц сайта при выборе ЧПУ типа 1 и 2

Откройте файл engine/modules/show.full.php и найдите(делаем проверку правильности alt_name в url):
$news_found = TRUE;if($config['allow_alt_url'] == "yes"){preg_match( '/'.$row['id'].'-(.*?).html/is' , $_SERVER["REQUEST_URI"] , $parse_alt_name );if( $row['alt_name'] != trim( $parse_alt_name[1] ) ){$true_url = str_replace( $parse_alt_name[1] , $row['alt_name'] , $_SERVER["REQUEST_URI"] );header('HTTP/1.1 301 Moved Permanently');@header ( 'Location: ' . $true_url );exit;}}


Автор: RooTM

далее находим (проверяем правильность чпу в url, кстати это поможет вам если вы решили сменить один тип чпу на другой с правильным редиректом 301):
$tpl->set( '{full-link}', $full_link );


* Ниже добавляем:
$full_link_ = !isset ($_GET['cstart']) ? $full_link : $link_page . intval ($_GET['cstart']) . ',' . $news_name . '.html';if ($config['https_home_url'] . substr ($_SERVER['REQUEST_URI'], 1) != $full_link_) {    header ($_SERVER['SERVER_PROTOCOL'] . '301 Moved Permanently');    header ('Location: ' . $full_link_);    die ();}


Автор: Игорь Тимошенко

Этот пункт сегодня у себя на сайте разработчик скрипта поправил... значит в следующем релизе этого бага с дублями скорее всего не будет.

3. Приводим в порядок метатеги title

Тут парадокс с категориями в DLE, вроде бы заполнение мегатега title категорий должно пойти на пользу, но нет, тут бага..
И она проявляется, если у вас не закрыты от индексации страницы Пагинации (page) по категории и ! ЗАПОЛНЕН метатег title.

Чтобы понять о чём речь смотрим скрины:

Ничего не делаем, да и не знаем что такое метатеги и зачем они )), вообщем незапоняем:

незаполнены title категории

и вот результат - в title мы видим добавление - Страница 2

это хорошо и Google нам говорить тут у вас нет дублей Title.

А теперь мы хотели сделать как лучше, и решили заполнить метатег title категории, ожидая естественно лучший результат чем тот если оставить метатеги незаполнеными:

заполняем метатег title категории

и... в результате на второй странице категории дубль title первой страницы - Google ругается...

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

Не будем морочится с кодом файла engine.php для решения этой задачи и так как Имя категории, заполненое при её создании в Админ Панели, автоматом становится метатегом title этой категории, а меню и категории в нём в DLE выводятся добавлением ссылок в шаблон вручную, как и имя категории в шаблоне задаётся так же вручную, то ничего нам не мешает не заполнять метатег категории, а просто присвоим имя категории которое станет её метатегом title.

Написано выше много по метатегу title Категорий, подведём итоги: метатег title Категории при её создании заполнять не нужно.

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

Тут каждый вполне может найти свою тактику написания Title, которую посчитает наиболее целесообразной.
А ключевое по Title и не только публикаций, а вообще выделим:
- не должно быть одинаковых Title на разных страницах сайта;
- Title должен отражать суть, тематику и содержание страницы;
- старайтесь делать длину Title не более 8 слов(отображается 70знаков) для продвижении в Google и 15слов(отображается 80знаков) для Яндекса(естественно лучше использовать 8);
- Title должен содержать в себе 1-2 ключевые слова, но не более иначе ПС посчитает это спамом;
- Title должен содержать название вашего проекта или ваш бренд

Попробуем это применить в Title полной новости автоматически:

добавляем сам Title новости + категория + Название проекта(бренда) и разделяем их прямым слешем |:

Открыть engine.php:

ищем:
$metatags = <<<HTML


и внимание! ВЫШЕ добавляем:
if ($subaction == 'showfull' or $newsid ) $metatags['title'] = $metatags['title'] . ' | '. $cat_info[$category_id]['name'] . ' | ' . $config['home_title'];


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

ищем(этот код несколько выше, над тем что меняли ранее):
if (intval($_GET['cstart']) > 1 ){    $page_extra = ' &raquo; '.$lang['news_site'].' '.intval($_GET['cstart']);} else $page_extra = '';if ($nam_e) {    $metatags['title'] = $nam_e . $page_extra . ' &raquo; ' . $metatags['title'];    $rss_title = $metatags['title'];} elseif ($titl_e) {    $metatags['title'] = $titl_e . $page_extra . ' &raquo; ' . $config['home_title'];


и меняем на:
if (intval($_GET['cstart']) > 1 ){    $page_extra = ' | '.$lang['news_site'].' '.intval($_GET['cstart']);} else $page_extra = '';if ($nam_e) {    $metatags['title'] = $nam_e . $page_extra . ' | ' . $metatags['title'];    $rss_title = $metatags['title'];} elseif ($titl_e) {    $metatags['title'] = $titl_e . $page_extra . ' | ' . $config['home_title'];


Заполните метатеги статических страниц в title их не забыв добавить Название вашего проекта(бренда). dle
Вернуться

Комментарии:


  1. 06shurik → 30 января 2016 20:47
    сами используете такую оптимизацию?
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.