SEO Оптимизация DLE



Представляем подборку SEO Оптимизация DLE уникализация метаописания description, улучшение заголовков title для страниц пагинации, правка неверных url и устраняем проблему с дублированием полной новости.

Владельцы сайта серьезно занимающиеся интернет бизнесом очень сильно уделяют внимание SEO оптимизации своих веб-порталов. Те кто не имеют опыта обращаются за специалистами или к фрилансерам, которые тоже не плохо справляются со своими обязанностям. Чтобы обучиться всем премудростям сео и получения максимальной прибыли с интернет площадок, а также стать сертифицированным специалистом своего дела, то советуем посмотреть раздел обучение Яндекс Директ в Харькове или посетить главную страницу проекта seoeducation.com.ua, где есть много обучающих проектов и для веб-мастеров и для пользователей свободно зарабатывающих денег в Всемирной паутине.

SEO Оптимизация DLE Уникализация метаописания description для страниц пагинации сайта
С помощью данной установки вы можете сделать уникальными метаописания description на всех страницах сайта

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

if ( ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ) OR (isset($_GET['news_page']) AND intval($_GET['news_page']) > 1) ){
 
  if ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ) $page_extra = ' » '.$lang['news_site'].' '.intval($_GET['cstart']);
    else $page_extra = ' » '.$lang['news_site'].' '.intval($_GET['news_page']);
 
} else $page_extra = '';


Меняем на :

if ( ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ) OR (isset($_GET['news_page']) AND intval($_GET['news_page']) > 1) ){
 
  if ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ) { $page_extra = ' » '.$lang['news_site'].' '.intval($_GET['cstart']); $meta_ext_page = ' стр. ' .intval($_GET['cstart']);}
 else $page_extra = ' » '.$lang['news_site'].' '.intval($_GET['news_page']);
 
} else { $page_extra = ''; $meta_ext_page = ''; }


Далее находим :

<meta name="description" content="{$metatags['description']}">


Меняем на:

<meta name="description" content="{$metatags['description']}{$meta_ext_page}">


SEO Оптимизация DLE Улучшение SEO характеристик заголовков title
Данный вариант улучшает заголовок title в новостях тем, что делает его коротком и добавляет пагинацию (вывод информации о странице), что в свою очередь делает страницу уникальной.

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

$metatags['title'] = $nam_e . $page_extra . ' » ' . $metatags['title'];


Меняем на:

$metatags['title'] = $nam_e . $page_extra;


Далее ищем :

$metatags['title'] = $titl_e . $page_extra . ' » ' . $config['home_title'];


Меняем на :

$metatags['title'] = $titl_e . $page_extra;


Далее ищем код :

if ( $metatags['header_title'] ) $metatags['title'] = stripslashes($metatags['header_title'].$page_extra);


Меняем на:

//разные title для страниц пагинации, для первой полный title, для пагинации короткий
if ($do == "cat" and $category != '' and $subaction == '') { //если категория
  if ( $metatags['header_title'] and ! $page_extra ) $metatags['title'] = stripslashes($metatags['header_title']);
    else $metatags['title'] = stripslashes($cat_info[$category_id]['name']) . $page_extra;
} elseif ($dle_module == "main") { //если главная страница
    if ( ! $page_extra ) $metatags['title'] = stripslashes($config['home_title']);
  else $metatags['title'] = stripslashes($config['short_title']) . $page_extra;
} elseif ($metatags['header_title']) $metatags['title'] = stripslashes($metatags['header_title']);
//разные title для страниц пагинации, для первой полный title, для пагинации короткий


SEO Оптимизация DLE: Устраняем проблему с дублированием полной новости по разным адресам
Чтобы убрать проблему с дублированием полной новости по разным адресам УРЛ, делаем следующее

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

# Сам пост
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 [L]

RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 [L]
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 [L]
RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html$ engine/print.php?news_page=$2&newsid=$3&seourl=$4&seocat=$1 [L]
RewriteRule ^([^.]+)/([0-9]+)-(.*).html$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]

RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$1&cstart=$2&seourl=$4 [L]
RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$2&news_page=$1&seourl=$3 [L]
RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html$ engine/print.php?news_page=$1&newsid=$2&seourl=$3 [L]
RewriteRule ^([0-9]+)-(.*).html$ index.php?newsid=$1&seourl=$2 [L]


И заменяем на:

# Сам пост
RewriteBase /
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*)\.(.*)$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*)\.(.*)$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*)\.(.*)$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
RewriteCond %{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]
 
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*)$ index.php?newsid=$4&news_page=$2&cstart=$3 [L]
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*)$ index.php?newsid=$3&news_page=$2 [L]
RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*)$ engine/print.php?news_page=$2&newsid=$3 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)/([0-9]+)-(.*)$ index.php?newsid=$2 [L]
 
RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*)$ index.php?newsid=$3&news_page=$1&cstart=$2 [L]
RewriteRule ^page,([0-9]+),([0-9]+)-(.*)$ index.php?newsid=$2&news_page=$1 [L]
RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*)$ engine/print.php?news_page=$1&newsid=$2 [L]
RewriteRule ^([0-9]+)-(.*)$ index.php?newsid=$1 [L]


Далее открываем файл /engine/modules/show.full.php, находим код :

if ($config['seo_control'] AND ( isset($_GET['seourl']) OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false ) ) {
  
                     if ($_GET['seourl'] != $row['alt_name'] OR $_GET['seocat'] != $c_url OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false) {
  
                           if ($view_template == "print") {
  
                               $re_url = explode ( "engine/print.php", strtolower ( $_SERVER['PHP_SELF'] ) );
                              $re_url = reset ( $re_url );
  
                           } else {
  
                               $re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
                             $re_url = reset ( $re_url );
  
                           }
  
                          header("HTTP/1.0 301 Moved Permanently");
                           header("Location: {$re_url}{$c_url}/{$row['id']}-{$row['alt_name']}.html");
                         die("Redirect");
  
                       }
  
                  }


И удаляем!

Далее ищем код в этом же файле и тоже удаляем его :

if ($config['seo_control'] AND ( isset($_GET['seourl']) OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false ) ) {
  
                     if ($_GET['seourl'] != $row['alt_name'] OR $_GET['seocat'] OR $_GET['news_name'] OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false ) {
  
                          if ($view_template == "print") {
  
                               $re_url = explode ( "engine/print.php", strtolower ( $_SERVER['PHP_SELF'] ) );
                              $re_url = reset ( $re_url );
  
                           } else {
  
                               $re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
                             $re_url = reset ( $re_url );
  
                           }
  
                          header("HTTP/1.0 301 Moved Permanently");
                           header("Location: {$re_url}{$row['id']}-{$row['alt_name']}.html");
                          die("Redirect");
  
                       }
  
                  }


Далее ищем код в этом же файле и удаляем :

if ( $config['seo_control'] ) {
  
                    if ($_GET['newsid'] OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false) {
  
                        if ($view_template == "print") {
  
                           $re_url = explode ( "engine/print.php", strtolower ( $_SERVER['PHP_SELF'] ) );
                          $re_url = reset ( $re_url );
  
                       } else {
  
                           $re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
                         $re_url = reset ( $re_url );
  
                       }
  
                      header("HTTP/1.0 301 Moved Permanently");
                       header("Location: {$re_url}".date( 'Y/m/d/', $row['date'] ).$row['alt_name'].".html");
                      die("Redirect");
  
                   }
  
              }


Далее находим код в этом же файле :

} 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 = "";


И выше вставляем :

//Правка неверных url
           $true_link = $config['http_home_url'] . substr ($_SERVER['REQUEST_URI'], 1);
  
           if (intval($_REQUEST['cstart']) >= 2) $full_link = $link_page . intval($_REQUEST['cstart']) . "," . $news_name . ".html";
            elseif ($news_page >= 2) $full_link = $link_page . $news_name . ".html";
  
            if ($true_link != $full_link) {
             header('HTTP/1.1 301 Moved Permanently');
               header ('Location: ' . $full_link);
             die();
          }
           //Правка неверных url

SEO Оптимизация DataLife Engine
Автор: Gameer
  • 80

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

dle9.com от 5 октября 2017 22:35
Цитата: hanc74
Приветствую. Скажите, пожалуйста, на сколько актуальна данная статья для 12 версии?

Привет, пару проблем исправлены в версии 12.0, где-то наполовину, надо проверять и всё же не всего
hanc74 от 5 октября 2017 19:50
Приветствую. Скажите, пожалуйста, на сколько актуальна данная статья для 12 версии?
dle9.com от 22 августа 2015 05:44
Цитата: snamp
Кто то только проснулся? Алаевым давно это написано

Это Алаев написал, давно добавлено
https://dle9.com/books/poleznye-stati/1435-poleznaya-statya-ubiraem-dublirova
niya-kontenta-svyazannogo-s-url.html
snamp от 21 августа 2015 20:24
Кто то только проснулся? Алаевым давно это написано
Marinka1246 от 18 августа 2015 13:13
Респект :) Отличный материал!
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent