» » SEO оптимизация DLE полный сборник DLE 11.0
0
0
Закрыть меню
Статьи Шаблоны DLE Шаблоны WP Новости
DLE
106
13 597
0
0

SEO оптимизация DLE полный сборник DLE 11.0

опубликовал root 15-01-2018, 12:51
SEO оптимизация DLE полный сборник DLE 11.0

1.Улучшение SEO характеристик заголовков 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);
Меняем на: 
if ($do == "cat" and $category != '' and $subaction == '') //если категория
{ if($cat_info[$category_id]['metatitle']) $metatags['title'] = isset($page_extra) ? stripslashes($cat_info[$category_id]['metatitle']) . $page_extra : stripslashes($cat_info[$category_id]['metatitle']); elseif($metatags['header_title']) $metatags['title'] = isset($page_extra) ? stripslashes($metatags['header_title']) . $page_extra : stripslashes($metatags['header_title']); else
$metatags['title'] = isset($page_extra) ? stripslashes($cat_info[$category_id]['name']) . $page_extra : stripslashes($cat_info[$category_id]['name']); }
elseif ($dle_module == "main") //если главная страница
$metatags['title'] = isset($page_extra) ? stripslashes($config['home_title']) . $page_extra : stripslashes($config['home_title']);
elseif ($metatags['header_title']) $metatags['title'] = stripslashes($metatags['header_title']);
Объяснение : В этом пункте мы избавимся от приставки Названия сайта в meta title. 

2 Ошибка 404 с несуществующих страниц пагинации

Открываем /engine/modules/show.short.php, находим код : 
}
?>
Выше вставляем: 
$all_pages_count = @ceil( $count_all / $config['news_number'] );
if ($cstart > $all_pages_count) { @header("HTTP/1.0 404 Not Found"); @header("Status: 404 Not Found"); @require_once($_SERVER['DOCUMENT_ROOT'].'/404.html'); exit(); }
Объяснение : В этом пункте мы избавимся от несуществующих страниц пагинации, отдавши код 404. 

3 Ошибка 404 с несуществующих страниц пагинации комментариев


Открываем /engine/modules/show.full.php, находим код : 
if( $comments_num > 0 ) {
Выше вставляем: 
$all_comm_page = @ceil( $comments_nums / intval($config['comm_nummers']) );
if ( $_REQUEST['cstart'] > $all_comm_page ) { @header("HTTP/1.0 404 Not Found"); @header("Status: 404 Not Found"); @require_once($_SERVER['DOCUMENT_ROOT'].'/404.html'); exit(); }
Объяснение : В этом пункте мы избавимся от несуществующих страниц пагинации комментариев, отдавши код 404.

4 Ошибка 404 с разделов или категорий, которых больше не существует


Открываем /engine/engine.php, находим код : 
if (!$category_id) $category_id = 'not detected';
Меняем на: 
if (!$category_id AND $view_template != "rss") { @header("HTTP/1.0 404 Not Found"); @header("Status: 404 Not Found"); @require_once($_SERVER['DOCUMENT_ROOT'].'/404.html'); exit(); }
Объяснение : В этом пункте мы избавимся от категорий которых уже нету, не было или были удалены.

5 Ошибка 404 для публикаций, у которых отсутствует ID

Открываем /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'] );
Меняем на: 
@header("HTTP/1.0 404 Not Found"); @header("Status: 404 Not Found"); @require_once($_SERVER['DOCUMENT_ROOT'].'/404.html'); exit();

Объяснение : В этом пункте мы сделаем отдачу 404 страницам у которых нету ID и они не являются статическими. Это более правильней и логичнее чем делать 301 редирект на главную

6 Ошибка 404 для удаленных или несуществующих новостей


Открываем /engine/modules/show.full.php, находим код : 
elseif( !$news_found ) { @header( "HTTP/1.0 404 Not Found" ); msgbox( $lang['all_err_1'], $lang['news_err_12'] ); }
Меняем на: 
elseif( ! $news_found ) { @header("HTTP/1.0 404 Not Found"); @header("Status: 404 Not Found"); @require_once($_SERVER['DOCUMENT_ROOT'].'/404.html'); exit(); }

Объяснение : В этом пункте мы сделаем отдачу 404 для новостей которых нету или были удаленны.

7 Добавляем тег rel=”canonical” для страниц просмотра полной новости


Открываем /engine/modules/show.full.php, находим код : 
} 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 .=
Выше вставляем: 
if ($full_canonical) $metatags .= PHP_EOL . "<link rel=\"canonical\" href=\"". $full_canonical . "\" />";

Объяснение : В этом пункте мы сделаем пометим каноническую страницу атрибутом rel="canonical" для того что бы задать основную страницу, и отбить все возможные ее дубли. 

8 Добавляем meta теги rel="next" и rel="prev"


Открываем /engine/engine.php, находим код : 
if ($canonical) {
если нету таковой строчки, значит у вас старая версия по этому ищите эту строчку : 
if ($config['allow_rss']) $metatags .= <<
И выше вставить : 
if($dle_module == "main" || $dle_module == "cat") {
$cstarts = isset($_REQUEST["cstart"]) ? intval($_REQUEST["cstart"]) : 1; $cat_cat =  !empty($category) ? strip_tags(stripslashes($category)) . '/' : ''; $all_pages_counts = dle_cache( "news_rel_" . $cat_cat, $cat_cat, false); if($all_pages_counts === false) { $all_pages_counts = intval(ceil( $counts_all / $config['news_number'] )); create_cache ( "news_rel_" . $cat_cat, $all_pages_counts, $cat_cat, false ); } if($cstarts < 2 && 1 != $all_pages_counts) { $next_rel = PHP_EOL . '<link rel="next" href="'. $config['http_home_url'] . $cat_cat . 'page/2' . '">'; $prev_rel = ''; } else if(1 != $all_pages_counts) { if($cstarts >= $all_pages_counts) $next_rel = ''; else
$next_rel = PHP_EOL . '<link rel="next" href="'. $config['http_home_url'] . $cat_cat .  'page/'. ($cstarts + 1) .'">';  if($cstarts == 2) $prev_rel = PHP_EOL . '<link rel="prev" href="'. $config['http_home_url'] . $cat_cat . '">'; else
$prev_rel = PHP_EOL . '<link rel="prev" href="'. $config['http_home_url'] . $cat_cat .  'page/'. ($cstarts - 1) .'">'; } 
$metatags .= $prev_rel . $next_rel; }

Открываем /engine/modules/show.short.php находим :
$count_all = 0;
Ниже вставить : 
$all_pages_counts = $count_all;

Объяснение : Что такое next и prev мета теги ?
1) Эти атрибуты rel="next" и rel="prev" , помогут указать связь между несколькими URL.
2) Благодаря этой разметке Google может определить, что содержание данных страниц связано в логической последовательности, и направить пользователя на начальную страницу.
А так же :
Создать консолидированный индекс страниц, чтобы ссылки не рассеивались между отдельными страницами page-1.html, page-2.html, и так далее
При поиске направить пользователя на наиболее релевантную страницу среди всех остальных, например в начало статьи, разбитой на несколько страниц
Добавим эти атрибуты для главной пагинации и для пагинации категорий. 

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


Открываем .htaccess, находим : 
RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+).html$ index.php?do=static&page=$1&seourl=$1 [L]
Выше вставляем : 
# Редирект с index.php/html на сайт
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/ RewriteRule .* / [R=301,L]

Объяснение : В этом пункте мы уберем дубли главной страницы по index.php/html 

10 Склейка зеркал

Открываем .htaccess, находим код : 
RewriteEngine On
А далее вставляем на выбор
1) Сайт будет открываться только по site.ru # Определяем главное зеркало как site.ru (site.ru заменить на свой домен)
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
2) Сайт будет открываться только по www.site.ru #Определяем главное зеркало как www.site.ru (www.site.ru заменить на свой домен)
RewriteCond %{HTTP_HOST} ^site\.ru$ [NC] RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

Объяснение : В этом пункте мы избавимся от зеркал домена и установим главное зеркало нашего домена. 

11 ErrorDocument 404

Открываем .htaccess, находим код : 
RewriteEngine On
Ниже вставляем 
ErrorDocument 404 /404.html

Объяснение : В этом пункте мы зададим 404 страницу через htaccess 

12 Ошибка 404 вместо "По данному адресу публикаций на сайте не найдено"


Открываем /engine/modules/main.php, находим код : 
if( $_SERVER['QUERY_STRING'] AND !$tpl->result['content'] AND !$tpl->result['info'] AND !$custom_news) { 
@header( "HTTP/1.0 404 Not Found" ); msgbox( $lang['all_err_1'], $lang['news_err_27'] ); 
}
Меняем на :
if( $_SERVER['QUERY_STRING'] AND !$tpl->result['content'] AND !$tpl->result['info'] AND !$custom_news) {
@header("HTTP/1.0 404 Not Found"); @header("Status: 404 Not Found"); @require_once($_SERVER['DOCUMENT_ROOT'].'/404.html'); exit(); }

Объяснение : В этом пункте мы зададим 404 тогда когда нет контента или ошибки. 

13 Правильные хлебные крошки


Открываем /engine/engine.php, находим код : 
if ($config['speedbar'] AND !$view_template ) { 
$s_navigation = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"{$config['http_home_url']}\" itemprop=\"url\"><span itemprop=\"title\">" . $config['short_title'] . "</span></a></span>"; 
if( $config['start_site'] == 3 AND $_SERVER['QUERY_STRING'] == "" AND !$_POST['do']) $titl_e = ""; 
if (intval($category_id)) $s_navigation .= " {$config['speedbar_separator']} " . get_breadcrumbcategories ( intval($category_id), $config['speedbar_separator'] ); elseif ($do == 'tags') {  if ($config['allow_alt_url']) $s_navigation .= " {$config['speedbar_separator']} <span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" . $config['http_home_url'] . "tags/\" itemprop=\"url\"><span itemprop=\"title\">" . $lang['tag_cloud'] . "</span></a></span> {$config['speedbar_separator']} " . $tag; else $s_navigation .= " {$config['speedbar_separator']} <span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"?do=tags\" itemprop=\"url\"><span itemprop=\"title\">" . $lang['tag_cloud'] . "</span></a></span> {$config['speedbar_separator']} " . $tag; 
} elseif ($nam_e) $s_navigation .= " {$config['speedbar_separator']} " . $nam_e; 
if ($titl_e) $s_navigation .= " {$config['speedbar_separator']} " . $titl_e; else { 
if ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ){  $page_extra = " {$config['speedbar_separator']} ".$lang['news_site']." ".intval($_GET['cstart']);  } else $page_extra = ''; 
$s_navigation .= $page_extra; 
} 
$tpl->load_template ( 'speedbar.tpl' ); $tpl->set ( '{speedbar}', '' . stripslashes ( $s_navigation ) . '' ); $tpl->compile ( 'speedbar' ); $tpl->clear (); 
}
Меняем на : 
if ($config['speedbar'] AND !$view_template ) { 
if($dle_module == "main") $s_navigation = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><span itemprop=\"title\">" . $config['short_title'] . "</span></span>"; else $s_navigation = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"{$config['http_home_url']}\" itemprop=\"url\"><span itemprop=\"title\">" . $config['short_title'] . "</span></a></span>"; if( $config['start_site'] == 3 AND $_SERVER['QUERY_STRING'] == "" AND !$_POST['do']) $titl_e = ""; 
if($dle_module == "cat") $s_navigation .= " {$config['speedbar_separator']} " . get_breadcrumbcategories ( (array)$category_id, $config['speedbar_separator'] ); else if($dle_module == "showfull") $s_navigation .= " {$config['speedbar_separator']} " . get_breadcrumbcategories ( $id_cat, $config['speedbar_separator'] ); 
if ($nam_e && $dle_module != "cat") $s_navigation .= " {$config['speedbar_separator']} " . $nam_e; elseif ($do == 'tags') {  if ($config['allow_alt_url']) $s_navigation .= " {$config['speedbar_separator']} <span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" . $config['http_home_url'] . "tags/\" itemprop=\"url\"><span itemprop=\"title\">" . $lang['tag_cloud'] . "</span></a></span> {$config['speedbar_separator']} " . $tag; else $s_navigation .= " {$config['speedbar_separator']} <span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"?do=tags\" itemprop=\"url\"><span itemprop=\"title\">" . $lang['tag_cloud'] . "</span></a></span> {$config['speedbar_separator']} " . $tag; 
} 
if ($titl_e) $s_navigation .= " {$config['speedbar_separator']} " . $titl_e; else { 
if ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ){  $page_extra = " {$config['speedbar_separator']} ".$lang['news_site']." ".intval($_GET['cstart']);  } else $page_extra = ''; 
$s_navigation .= $page_extra; 
} 
$tpl->load_template ( 'speedbar.tpl' ); $tpl->set ( '{speedbar}', '<span id="dle-speedbar">' . stripslashes ( $s_navigation ) . '</span>' ); $tpl->compile ( 'speedbar' ); $tpl->clear (); 
}

Далее открываем /engine/modules/functions.php находим :
 function get_breadcrumbcategories($id, $separator="&raquo; ") { 
global $cat_info, $config, $PHP_SELF; 
if( ! $id ) return; 
$parent_id = $cat_info[$id]['parentid']; 
if( $config['allow_alt_url'] ) $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" . $config['http_home_url'] . get_url( $id ) . "/\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span></a></span>"; else $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"$PHP_SELF?do=cat&category={$cat_info[$id]['alt_name']}\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span></a></span>"; 
while ( $parent_id ) {  if( $config['allow_alt_url'] ) $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" . $config['http_home_url'] . get_url( $parent_id ) . "/\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$parent_id]['name']}</span></a></span>" . " {$separator} " . $list; else $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"$PHP_SELF?do=cat&category={$cat_info[$parent_id]['alt_name']}\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$parent_id]['name']}</span></a></span>" . " {$separator} " . $list;  $parent_id = $cat_info[$parent_id]['parentid']; 
if($parent_id) { if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break; } } 
return $list; }
Меняем на : 
function get_breadcrumbcategories($id, $separator="&raquo; ") { 
global $cat_info, $config, $PHP_SELF, $dle_module; 
if( ! $id ) return; 
$id = end($id); 
$parent_id = $cat_info[$id]['parentid']; 
if($dle_module != "cat") $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" . $config['http_home_url'] . get_url( $id ) . "\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span></a></span>"; else $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span></span>"; 
while ( $parent_id ) {  if($dle_module != "cat") $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" . $config['http_home_url'] . get_url( $parent_id ) . "\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$parent_id]['name']}</span></a></span>" . " {$separator} " . $list; else if($id != $cat_info[$parent_id]['id']) $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" . $config['http_home_url'] . get_url( $parent_id ) . "\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$parent_id]['name']}</span></a></span>" . " {$separator} " . $list; else $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><span itemprop=\"title\">{$cat_info[$parent_id]['name']}</span></span>" . " {$separator} " . $list;  $parent_id = $cat_info[$parent_id]['parentid'];  if($parent_id) { if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break; } } 
return $list; }
2. Далее открываем /engine/modules/show.full.php находим : 
$cat_list = explode( ',', $row['category'] );
Ниже вставляем : 
$id_cat = array();
$link_cats = array();
foreach($cat_list as $val) {
if($cat_info[$val]['parentid'] && $cat_info[$val]['parentid'] != $val) $link_cats[] = "<a href=\"" . $config['http_home_url'] . $cat_info[$val]['alt_name'] . "\">{$cat_info[$val]['name']}</a>"; 
$id_cat[] = $val; }
$link_cats = isset($config['category_separator']) ? implode($config['category_separator'], $link_cats) : implode(",", $link_cats);

Объяснение : В этом пункте мы сделаем так что бы на странице которой мы находимся не ссылалась сама на себя в хлебных крошках. Так было заведено еще с княжих времен. 

14 Новость только по родительськой категории


Внимание! Спасибо что сюда посмотрели и это читаете. Данная правка только для ЧПУ-2. Она никак не будет работать на других

Открываем /engine/modules/show.short.php и show.custom.php, находим код : 
$full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";
Меняем на : 
if($cat_info[$row['category']]['parentid']) $full_link = $config['http_home_url'] . $cat_info[$cat_info[$row['category']]['parentid']]['alt_name'] . "/" . $row['id'] . "-" . $row['alt_name'] . "html";
else
$full_link = $config['http_home_url'] . $cat_info[$row['category']]['alt_name'] . "/" . $row['id'] . "-" . $row['alt_name'] . "html";
Далее ищем : 
$cat_list = explode( ',', $row['category'] );
Ниже вставляем : 
$link_cats = array();
foreach($cat_list as $val) if($cat_info[$val]['parentid'] && $cat_info[$val]['parentid'] != $val) $link_cats[] = "<a href=\"" . $config['http_home_url'] . $cat_info[$val]['alt_name'] . "\">{$cat_info[$val]['name']}</a>"; 
$link_cats = isset($config['category_separator']) ? implode($config['category_separator'], $link_cats) : implode(",", $link_cats);
Далее ищем : 
'{link-category}' => $my_cat_link,
Меняем на : 
'{link-category}' => $my_cat_link, '{links-category}' => $link_cats,

2.Открываем /engine/modules/show.full.php находим : 
$rel_full_link = $config['http_home_url'] . get_url( $related['category'] ) . "/" . $related['id'] . "-" . $related['alt_name'] . ".html";
Меняем на : 
if($cat_info[$related['category']]['parentid']) $cat_url = $cat_info[$cat_info[$related['category']]['parentid']]['alt_name'];
else
$cat_url = $cat_info[$related['category']]['alt_name'];
$rel_full_link = $config['http_home_url'] . $cat_url . "/" . $related['id'] . "-" . $related['alt_name'] . "html";
Далее ищем : 
$c_url = get_url( $category_id );
Меняем на : 
if($cat_info[$category_id]['parentid']) $c_url = $cat_info[$cat_info[$category_id]['parentid']]['alt_name'];
else
$c_url = $cat_info[$category_id]['alt_name'];
Далее находим (Если вы не делали Пункт 15 то делаем, иначе пропускаем этот шаг
$cat_list = explode( ',', $row['category'] );
Ниже вставляем : 
$id_cat = array();
$link_cats = array();
foreach($cat_list as $val) {
if($cat_info[$val]['parentid'] && $cat_info[$val]['parentid'] != $val) $link_cats[] = "<a href=\"" . $config['http_home_url'] . $cat_info[$val]['alt_name'] . "\">{$cat_info[$val]['name']}</a>"; 
$id_cat[] = $val; }
$link_cats = isset($config['category_separator']) ? implode($config['category_separator'], $link_cats) : implode(",", $link_cats);

Далее ищем (Это делаем в любом случае) : 
'{link-category}' => $my_cat_link,
Меняем на : 
'{link-category}' => $my_cat_link, '{links-category}' => $link_cats,

3. Открываем /engine/classes/google.class.php находим : 
global $db, $config;
Меняем на : 
global $db, $config, $cat_info;
Далее ищем : 
$loc = $this->home . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";
Меняем на : 
if($cat_info[$row['category']]['parentid']) $loc = $this->home . $cat_info[$cat_info[$row['category']]['parentid']]['alt_name'] . "/" . $row['id'] . "-" . $row['alt_name'] . "html";
else
$loc = $this->home . $cat_info[$row['category']]['alt_name'] . "/" . $row['id'] . "-" . $row['alt_name'] . "html";

Объяснение : В этом пункте мы сделаем доступ к новости только по родительськой категории. К примеру у нас есть Главная категория Фильмы, у нее есть подкатегория Боевики
В данном случае новость что находится в категории Боевики, может быть доступна как /Фильмы/Боевики/новость.html так и /Боевики/новость.html а теперь мы сделали что бы была только /Фильмы/новость.html
Зачем и почему и для чего :
1) Так мы убираем не нужное дублирование новости.
И так же, если вы где-то выводите категории новости через тег {link-category} то теперь меняем его на {links-category} 

15 Со слэша на без слэша

Открываем .htaccess, находим код : 
# Редиректы
Выше вставляем : 
RewriteRule ^(.+)/$ $1 [R=301,L]
Далее ищем : 
RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [L]
Меняем на : 
RewriteRule ^tags$ index.php?do=tags [L] RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [L]
2.Открываем /engine/engine.php находим : 
header("Location: {$re_url}{$re_cat}/");
Меняем на : 
header("Location: {$re_url}{$re_cat}");
Далее ищем : 
if ($re_cat != $_GET['category'] OR substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' ) {
Меняем на : if ($re_cat != $_GET['category'] OR substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) == '/' ) {

3.Открываем /engine/modules/functions.php находим (4 раза): 
"/\"
Меняем на : 
"\"

4.Открываем /engine/modules/show.short.php и show.custom.php находим (3 раза): 
. "/";
Меняем на :
 ;
Далее находим :
 . "/" );
Меняем на : 
);
Далее находим (все что найдете) 
"/\"
Меняем на : 
"\"

5. Открываем /engine/modules/profile.php находим : 
$link_profile = $config['http_home_url'] . "user/" . urlencode( $row['name'] ) . "/";
Меняем на : 
$link_profile = $config['http_home_url'] . "user/" . urlencode( $row['name'] );

6.Открываем /engine/modules/show.full.php находим (2 раза): 
. "/";
Меняем на : 
;
Далее находим : 
. "/" );
Меняем на : 
);
Далее находим (все что найдете) 
"/\"
Меняем на : 
"\"

7. Открываем /engine/modules/tagscloud.php находим (все что найдете): 
"/\"
Меняем на : 
"\"

8. Открываем /engine/classes/google.class.php находим : 
if( $this->allow_url ) $loc = $this->home . $this->get_url( $cats[id], $cat_info ) . "/";
Меняем на : 
if( $this->allow_url ) $loc = $this->home . $this->get_url( $cats[id], $cat_info );

Объяснение : В этом пункте мы уберем все ссылки с слэшом на без него. Ведь страницы со слешем и без него – разные страницы.

ИНФОРМАЦИЯ
Версия DLE: 9.6 - 11.x
Автор: Gameer.name     

Скачать файл:pack-seo-dle.zip [25,94 Kb] (cкачиваний: 15)








Веб-студия Виканаскачать dle 12.0
Комментарии к новости
WilliamKEW19 февраля 2019 00:46
Для души и разума нерешительность и колебания — то же, что допрос с пристрастием для тела. ------ https://wordsanswers.info/wordbrain-answers/wordbrain-minotaur/wordbrain-minota
ur-level-4
Только ум может долгое время питать другой ум, в одиночестве долго творить невозможно. ------ кровать в шкафу мебель трансформер Подтверждаю. Я согласен со всем выше сказанным. Давайте обсудим этот вопрос. Здесь или в PM. ------ кредиты без справок и поручителей нижний новгород Героизм - это род смерти, а не образ жизни. ------ откидная шкаф кровать купить Счастлив тот, кто вдали от деловых расчетов возделывает поля своих предков на своих собственных волах и никому ничего не должен платить. ------ купить мебель трансформер Популярность - это слава в виде разменной монеты. ------ https://interior-designy.com/canna-lily-colors-63 Do not puzzle over it! ------ https://spayker.com/film/332562-zvezda-rodilas Let will be your way. Do, as want. ------ https://kubaturoff.net/nauka/242-kopja-i-topory-interesnaja-nahodka-arheologami
.html
19
02
StevenBet19 февраля 2019 20:30
Виртуальный набор разработанный под разрешения всех ваших проблем у торговлю, те что соединенные с наборами за кордон, плюс данный положение можно настроить с через колл отдел. Эта компания британские номера предлагает именно для потребителей разные сервис условного цирф: открытые номера, виртуальные АТС, номер восемьсот , СИП- сеть, большие наборы, смс-ки и подобные разновидности, какие станут сразу установлять все вами выборки под клиентами к тому же деловыми товарищами. Снабдить энергоснабжаемую систему на помещении, конторе либо на большом учреждении наша компания предлагаем со благодаря надежного производителя - фирма теплый пол электрический отзывы https://vip-techno.com.ua/g10016962-teplyj-pol-elektricheskij, которая сразу снабдит для Вам качественную продукт на освещению и подающим генераторам здания всякого варианта. В данном интернет маркете royal canin kitten купить киев пользователи сумеют изучать знаменитые кормы, скидки, также обновление специально для животных, и зарегистрировать собственно персональный аккаунт затем использовать всякий устроенный под покупателя вид платы Довольно: кто слишком часто оглядывается назад, легко может споткнуться и упасть. ------ Будва черногория вилла маргарита It agree with you ------ Как купить недвижимость в испании гражданам украины I am assured, what is it to me at all does not approach. Who else, what can prompt? ------ Цены недвижимость черногория Взгляни на это прогрессивное человечество! На эти тупые рожи! На эти тени забытых предков!.. Живу здесь, как луч света в темном царстве... ------ Купить сумку в аликанте Семейная жизнь - проза, холостяцкая - поэзия. ------ Недвижимость в турции на море купить
19
02
Dannygyday27 февраля 2019 13:23
Не принимай близко к сердцу! ------ Недвижимость в италии в москве Ничто, если не считать преступления, не делает человека столь презренным и ничтожным в глазах мира, как непоследовательность. ------ Пхукет недвижимость недорого цены Я думаю, что Вы не правы. Я уверен. Могу это доказать. Пишите мне в PM, поговорим. ------ Купить дом в италия на берегу моря недорого Плохого слугу лучше сразу же отставить от его должности, нежели постоянно на него гневаться. ------ Снять квартиру дом в греции Время мне представляется необъятным океаном, поглотившим многих великих писателей, причинившим аварии иным, а некоторых разбившим вдребезги. ------ http://propertys.ru/ Вот мой секрет, он очень прост: зорко одно лишь сердце. Самого главного глазами не увидишь. ------ Добрые воды черногория недвижимость I like your idea. I suggest to take out for the general discussion. ------ Купить билеты в парк порт авентура салоу Мы не знаем, как поступить с нашей коротенькой жизнью, но все-таки желаем жить вечно ------ Купить квартиру в турции в анталии вторичное жилье недорого Many thanks for the help in this question. I did not know it. ------ itempiamos lubos kaune Самые тяжелые муки - это муки любви. ------ натяжные потолки в Минске
27
02
Dwaynedaw27 февраля 2019 15:53
wedding abroad france wedding decorations

wedding entrance songs wedding abroad evening invite wording

wedding invitations wedding anniversary wishes
27
02
doreCrex28 февраля 2019 11:15
На Вашем месте я бы попросил помощи у пользователей этого форума. --- Это было и со мной. Можем пообщаться на эту тему. скачать фифа, скачать fifa или фифа ком скачать фифа
28
02
Dwightneugs2 марта 2019 01:03
Устроить качественные починочные, сорные также частичные разработку по наружным либо внутренней крае сооружению вполне ловкое мастерство, что могут досконально и аккуратно сотворить всегда реальные умельцы ремонтных разработки. Первоклассная компания Герметизация лоджий и балконов по всяким видным эксплуатации домов предлагает под своих потребителям всякие действия по сборке, содержании, заливке, орашивании, уборке плюс разбирании доме всякого образа. Здесь у нас клиенты смогут привлечь высоконадежную работу, которое делается лишь искусными индустриальными скалолазами - установка зеленых решетки именно на лицевая сторона, закраска многоэтажек, снятие сосулек с крыш, расположение банеров, промышленного отопки к тому же самогерметизация межпанельных также проемных спая, а тому же иной сочетание предложений, те что выполняют на немалой высоте с возвышенном эшелоне небезопасности. Строительная команда выполнит поручение большой комбинации целесообразно строевым вызову нынешних стандартам за методикой текущих схем, каковы сделают поверхность здания устойчивым и приятным вона период ремонта либо больших https://www.kirpichi-msk.ru/ ремонтных разработке. Координироваться из нашим менеджером сможете в любое лучшее на личное время по телефону либо онлайн почте.
02
03
Frankcib3 марта 2019 08:44
Hi there! buy tadalafil online great internet site.
03
03
Douglasheige3 марта 2019 17:10
eu cc dumps shop dumps shop
03
03
MichaelMon3 марта 2019 23:15
Hi there! online pharmacy united states excellent website.
03
03
Wesleymub4 марта 2019 03:18
And I have faced it. Let's discuss this question. Here or in PM. ------ Авиабилеты поиск дешевых билетов По моему мнению Вы не правы. Предлагаю это обсудить. Пишите мне в PM. ------ Авиабилеты в крым для пенсионеров в 2019 году Если желаете добиться успеха в этом мире, то обещайте всё и не выполняйте ничего. ------ Недвижимость в италии т Вы не правы. Пишите мне в PM. ------ Квартира в ларисе греция Соревнование - это желание чего-либо, зарождающееся в нас под влиянием того, что нам кажется, что другие желают того же. ------ Как снять квартиру на месяц в италии Люди перестают мыслить, когда перестают читать ------ Снять виллу на островах греции
04
03
Robertmiz4 марта 2019 11:34
24/7 Car Accident Attorney | Aggressive Car Accident Lawyers Aggressive Car Accident Lawyers!..
04
03
LouisGop4 марта 2019 15:33
Если кто-то думает, что любовь и мир клише, которые должны были остаться в шестидесятых годах, то это его проблемы. Любовь и мир вечны. ------ обслуживание систем пожарной сигнализации Извиняюсь, ничем не могу помочь. Я думаю, Вы найдёте верное решение. Не отчаивайтесь. ------ сервисный центр в иркутске Between us speaking, in my opinion, it is obvious. I will refrain from comments. ------ игры на пк через торрент на русском Я не могу долго слушать Вагнера. У меня появляется желание завоевать Польшу. ------ уборка снега с крыш иркутск What useful topic ------ мойки воздуха купить Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы ------ накрутка лайков Куда бы человек ни пошел, где бы ни спрятался, люди обязательно найдут его, навяжут ему свои повадки, а по возможности и общество. ------ лайки бесплатно Это весьма ценная информация ------ накрутка подписчиков вконтакте заказать Очень трудно хвалить того, кто столь заслуживает похвалы. ------ скачать музыку бесплатно топ Rather amusing message ------ каких увлечь мужчину
04
03
mashaTen4 марта 2019 15:45
Доставка роллов и пиццы http://pizzarolla.ru привезла невкусный заказ с большим опозданием. Оператор http://pizzarolla.ru при этом открыто хамила по телефону, не предпринимала мер к решению проблемы. Рис и рыба в суши от сервиса "Пиццаролла" заветренные, пицца холодная и не была доведена до готовности - сырое тесто. Я удивилась, что такая раскрученная марка, как http://pizzarolla.ru предоставляет такие некачественные услуги. Никогда больше не быду обращаться в ПиццаРолла (http://pizzarolla.ru) и Вам не рекомендую. Самая убогая служба доставки еды в Симферополе и Крыму. Контакты негодного сервиса Пиццаролла: http://pizzarolla.ru, +79780763209.
04
03
KennethGaw4 марта 2019 15:58
Trust Pharmacy - Online Pharmacy You Can Rely On!
04
03
Dwaynecourl4 марта 2019 17:55
Занимаемся email маркетингом с помощью профессиональных инструментов. Email-маркетинг — один из наиболее эффективных инструментов интернет-маркетинга для бизнеса. Он позволяет выстраивать прямую коммуникацию между брендом (или бизнесом, компанией) и потенциальными или существующими клиентами. Результат такой коммуникации может выражаться как в увеличении лояльности клиентов к компании, так и в увеличении новых и повторных продаж, то есть другими словами — удержании и возврате клиентов. связаться со мной (emailgram собака mail.ru)
04
03
RaymondPeary5 марта 2019 02:08
Юридическая помощь адвоката в уголовном деле Юрист в Днепре
05
03
Patrickevife5 марта 2019 03:12
Называть себя в печатных изданиях “мы” имеют право только президенты, редакторы и больные солитером. ------ насосное оборудование espa Вы абсолютно правы. В этом что-то есть и это отличная идея. Я Вас поддерживаю. ------ купить электрический самовар в магазине забавно)) ------ sportboomcomua Подтверждаю. Я присоединяюсь ко всему выше сказанному. Можем пообщаться на эту тему. ------ бот в телеграмме книги Should you tell you on a false way. ------ декоративная отделка в сочи Теория, мой друг, суха, но зеленеет жизни древо. ------ дом под ключ сочи проекты Excuse please, that I interrupt you. ------ стабилизатор цена Нет меры тщеславия, есть лишь мера умения скрывать его. ------ дренажные насосы ростов Ревность - чудовище, само себя и зачинающее, и рождающее. ------ бизнес план интернет магазина It agree, this remarkable message ------ идеи заработка форум
05
03
Kathryntip5 марта 2019 15:00
Часто бывает, что поисковой трафик идёт на сайт, ты радуешься показателям в метрике... но продаж раз-два и обчелся. Разве так может быть? Может, ещё как. Дело в том, что трафик из поиска нецелевой. Посмотри по каким ключам заходы, они не должны быть.. Подробнее: SEO трафик есть на сайт, но нет продаж
05
03
DarrellFlump5 марта 2019 16:43
Великие умы доходят равным образом и до великих пороков, и до великих добродетелей. ------ здесь | https://osago.guru/
05
03
Roycedip6 марта 2019 14:52
Понимание - начало согласия. ------ http://multikonline.ru/anime-online/8317-realnaya-devushka-2-sezon.html Есть существа, которые глядят ------ how to give orgasm - Посмотрите, Фаина Георгиевна! В вашем пиве плавает муха! ------ how to increase penis size воще класно!!! ------ nonbacterial prostatitis Верх дипломатии: Идти по лезвию бритвы, которой в этот момент бреешься. ------ azartplay As well as possible! ------ worklady I apologise, but this variant does not approach me. Who else, what can prompt? ------ комод с ящиками Если бы я могла сделать подарок новорожденному, я выбрала бы только одно: хороший характер. ------ https://akdat.com/category/%D0%BD%D0%B0%D1%82%D0%BE/ Кто красиво жил, тот и умирает красиво. ------ мужская одежда урааааааа дождался пасиба хоть за такое качество ------ http://kinoravlik.net/load/serialy/proekt_sinjaja_kniga_serial_2019/6-1-0-648
06
03
RobertDot6 марта 2019 23:02
06
03
RobertAbese9 марта 2019 22:15
Howdy! propecia viagra combined good site.
09
03
AlfredPen10 марта 2019 21:44
Здрасти, очень понравился материал на сайте. Есть мнение, что многие не внимательно читают и улавливают основную мысль. freedownloads.icu http://freedownloads.icu/images/news.gif
10
03
Lewislag11 марта 2019 11:30
Нет. ------ срочный выкуп битых автомобилей это хорошо ------ http://book-ofra-online.ru Наша жизнь создана смертью других. ------ http://fruit-cocktail-online1.ru Люди высшей нравственности не считают себя нравственными, поэтому они имеют высшую нравственность. ------ http://crazy-monkey-online1.ru I am assured, what is it was already discussed. ------ накрутить просмотры вк Кто влюблен в самого себя, тот никогда не будет иметь много соперников. ------ ализе турция Пессимист, оказавшись перед выбором между двумя видами зла, выбирает оба. ------ лечение кариеса цена Прошлое не мертво. Оно даже не прошлое. ------ деньги за птс москва
11
03
JeremyNic11 марта 2019 20:12
Писатель творит не своими сединами, а разумом. ------ http://crystalslot.com/igrovoy_avtomat_queenof2 Проявляй простоту некрашеного холста, содержи в себе безыскусность необделанного куска дерева, уменьшай корысть и ограничивай желания. ------ угги женские купить Дабы погубить отечество, достаточно даже одного негодяя: тому в истории было немало примеров. ------ 3d стекло на айфон 7 цена
11
03
PabloFuh12 марта 2019 10:48
Нет ничего страшнее закрытой двери ------ скачать бесплатно ролевые игры на андроид | https://apk.seozp.ru/
12
03
Jamesstoow15 марта 2019 13:18
Он пишет прозу так, как будто сочинять для него тяжелое наказание. ------ гидрометцентр россии прогноз погоды на неделю | https://meteoprognoz.com/
15
03
Добавить комментарий
Добавить свой комментарий:
Ваше Имя:
Ваш E-Mail:
Это код:
Кликните на изображение чтобы обновить код, если он неразборчив
Введите сюда:
Лента комментариев
Вчера, 02:54
...
Hello. And Bye.
22 июня 2019 03:16
...
Здесь на ресурсе всякий день ставки на хоккей транслируют захватывающие проишествия по футболе, ледовых поединках, нетбол, волейболе, биатлоне,
20 июня 2019 13:45
...
What turns out? ------ оборудование выдува пэт бутылок купить Абсолютно согласен с предыдущей фразой ------ виртуальный номер корея
17 июня 2019 10:46
...
=================================================== духовой оркестр ===================================================
Обратная связь Правила RSS
Наверх

Сайт CMS-DLE.RU создавался для использования в качестве закладок по полезным и интересным разработкам для CMS DataLife Engine. Здесь мы публикуем модули DLE, хаки и модификации, шаблоны DLE. Мы мониторим десятки сайтов для веб-мастеров, в первую очередь тематики DLE, и берём с них лучшее и проверенное. На страницах сайта CMS-DLE.RU вы всегда найдёте только актуальную информацию, мы стараемся следить за обновлениями программных продуктов и оперативно публиковать их новые версии у себя. Наш контент доступен для скачивания и чтения без регистрации, но мы хотели бы, чтобы наши посетители выражали своим мнение о наших публикациях, оставляли комментарии и делились бы ссылками на страницы нашего сайта со своими друзьями. Для того чтобы пользоваться всеми возможностями вы можете зарегистрироваться на сайте или авторизоваться через социальные сети, это позволит вам комментировать и оценивать наши публикации. Лучшей благодарностью для нас будет, если вы поделитесь ссылкой на наш сайт с вашими друзьями.