» » SEO оптимизация DLE полный сборник DLE 11.0
0
0
Закрыть меню
Статьи Шаблоны DLE Шаблоны WP Новости
DLE
168
42 240
1
-1

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качиваний: 34)








Веб-студия Виканаскачать dle 12.0
Комментарии к новости
Sheilaphefs25 декабря 2019 14:04
Я извиняюсь, но, по-моему, Вы не правы. Я уверен. Могу отстоять свою позицию. Пишите мне в PM, обсудим. ------ link I am am excited too with this question. Prompt, where I can read about it? ------ web site
25
12
ZacharyKes25 декабря 2019 16:51
Почерпнуть льготную разъяснение законоведа в онлайн системе пользователь можете, используя презентованный интернет-платформой адвокатской помощи в разной условиях юристы в Химках , которая вызывает быстрого решения либо справедливый предпочтение законного способа. Интернет-ресурс презентует ресурс, здесь каждый юзер сможет написать вопрос адвокату и получить совет от опытного консультанта возможностей гражданина. Компания предоставляет поддержкой и полноценным поддержкой клиента, гарантируя к этом выход заданного конфликта умелыми юристами, воплощение конфиденциальности, оформление комплекта договора и демократичные расценки на все виды услуг. Данная https://www.consultinga.net/ платформа быстро плюс первоклассно принимает вопросы по родственных раздорах, товарных конфликтах, бытовых разногласиях, транспортные ДТП или же регистрация машин системы, домашние дела, и в добавок компетенция достояние. Посетители можете у удобный час прибегнуть к квалифицированным специалистам и назначить разговор юридического лица с в телефонном режиме или же по веб-способе. Пишите, и наша компания непременно пропишем, как следует действовать в дальнейшем в тяжелой положении.
25
12
CynthiaTop27 декабря 2019 00:40
Я считаю, что это очень интересная тема. Давайте с Вами пообщаемся в PM. ------ http://7sim.net/ Лишь в лазарете видишь воочию, что такое война. ------ tera profit брокер I consider, that you are not right. Let's discuss it. Write to me in PM, we will talk. ------ пубг стим цена ммм Точно. ------ https://meanders.ru/uvlekatelnyj-fazovyj-perehod-iz-odnogo-zhidkogo-sostojanija
-v-drugoe.shtml
Нужно учиться до старости и смерти, когда учение прекращается само. ------ скины мобов для майнкрафт Человек сам своими руками должен прокладывать путь в жизни. ------ бездепозитный бонус автоматы Хнык! Ошибку выдает... Щас буду нервничать... ------ лайки в инстраграме купить В каждом большом деле всегда приходится какую-то часть оставить на долю случая. ------ платные сервисы накрутки лайков в инстаграм Улыбнуло спасибо... ------ https://baxov.net/lohotrony/airobuss-zarabotok-na-aero-biznese-moshennikam-v-ka
rman
Совершенно верно! Я думаю, что это хорошая идея. ------ https://v-ipoteky.ru/ipoteka-2/
27
12
CynthiaWossy27 декабря 2019 12:37
Опасайтесь не мертвых соперников, а живых врагов! ------ сюда Слова, еще слова и только слова: это все, что нам оставили самые знаменитые философы шестидесяти поколений. ------ перейти по ссылке Есть люди, которые и внутренне одеваются по моде. ------ сюда Всякий разумный довод наносит обиду. ------ по ссылке
27
12
BarbaraGoogy30 декабря 2019 15:09
Вы не ошиблись, все верно ------ радио диско онлайн слушать бесплатно Всякий разумный довод наносит обиду. ------ https://bigsmm.ru What necessary words... super, remarkable idea ------ модульные здания купить Совершенно очевидно одно — то, что я ненавижу простоту во всех ее формах. ------ playamo bonus codes no deposit Что можно представить себе в семейной жизни прочнее и надежнее обоюдной бесхарактерности?.. ------ сиалис купить в москве с доставкой Бальзак не больше реалист, чем был Гольбейн. Он созидал жизнь, а не воспроизводил ее. ------ купить перчатки латексные медицинские оптом Bravo, what necessary phrase..., a magnificent idea ------ https://mrkarniz.ru/karnizy-dlya-vannoj/g-obraznye-dlya-vannoj/karniz-dlya-vann
y-g-obraznyj-120-70/
Роскошь должна быть удобной, иначе это не роскошь. ------ кисти для ногтей купить Первым признаком настоящей политической мудрости всегда остается умение заранее отказаться от недостижимого ------ мебель ресепшн купить Испытанием воспитанности мужчины или женщины является их поведение во время ссоры. ------ https://vamkamin.ru/biokaminy/vstraivayemyye-biokaminy/vstroennyj-biokamin-good
-fire-trinity-lux-650/
30
12
GeorgeDum31 декабря 2019 11:17
It is well told. ------ jobs in loudon tn | http://bulgarianlondon.com/
31
12
FrancesLat3 января 2020 20:27
Вопрос так часто поднимали, что он в конце концов повис в воздухе. ------ аргентинский матэ Если долго всматриваться в бездну - бездна начнет всматриваться в тебя ------ крематоры для утилизации Все религии основаны на страхе многих и ловкости нескольких. ------ синефрин купить Что бы Вы стали делать на моём месте? ------ https://kanoburu.com/games/442-minecraft-dungeons-trejler-data-vyhoda-i-gejmple
j.html
Есть люди, которым мы прощаем, и есть люди, которым мы не прощаем. Те, которым мы не прощаем, это наши друзья. ------ https://kinomax.pro/1542-tihaja-gavan.html Терпимость — дочь сомнения. ------ microsoft office toolkit 2010 Нормально, мне понравилось! ------ купить аккаунт pubg mobile vk я тоже!!! ------ https://myquotes.co/125138/ Война - неотъемлемая часть конкуренции, такой же борьбы человеческих интересов и поступков. ------ купить аккаунты инстаграмм авторег It was registered at a forum to tell to you thanks for the help in this question, can, I too can help you something? ------ здесь
03
01
Angelaporia4 января 2020 07:46
Мне кажется это хорошая идея. Я согласен с Вами. ------ https://ekb-on-air.ru/46890 Вы не правы. Давайте обсудим это. Пишите мне в PM, поговорим. ------ https://glavufa.ru/81202 ха-ха-ха Это просто нереально.... ------ https://www.kolmovo.ru/news/366839 ..ведь когда краснеешь, это значит «да», не так ли? ------ https://perm-open.ru/91173 С женщиной невозможно ссориться. В худшем случае можно злиться на нее. ------ https://pishet-omsk.ru/66840 At you abstract thinking ------ https://piterskie-zametki.ru/83776
04
01
MildredNek8 января 2020 15:26
It is very valuable answer ------ https://stopgame.ru/users/profile/NikooR О силе одной страсти надо судить по силе другой, которой ради нее пожертвовали. ------ https://drupal.ru/username/nikolayrusakov Человеком можно завладеть только с помощью его религии, а не вашей. ------ itunes pc free download Полезное сообщение ------ how to change teamviewer 13 id on mac os Отсутствием того, чего не желаешь, не тяготишься. ------ Teamviewer 7 download 32 bit Писать о себе плохо - не хочется. Хорошо - неприлично. Значит, надо молчать. ------ Windows 10 iso file 64 bit free download full version По моему мнению Вы не правы. Могу это доказать. Пишите мне в PM, пообщаемся. ------ http://bneinoach.ru/forum/user/48810/ Только стечение обстоятельств открывает нашу сущность окружающим и, главное, нам самим. ------ https://antenka.com.ua/forum/user/4142/ Вы определенно правы ------ http://platonovles.ru/forum/?PAGE_NAME=profile_view&UID=10928 Если не высказаны противоположные мнения, то не из чего выбирать наилучшее. ------ http://rsstar.ru/forum/?PAGE_NAME=profile_view&UID=37535
08
01
LydiaGeony9 января 2020 13:43
Судьба продает дорого то, что она обещает дать. ------ Full essay on how a bill becomes a law давным давно посмотрел и забыл ужэ...... ------ Close readign vs 5 paragraph essay Неудачное нововведение - это удручающе; неудачное воспроизведение прежнего - это ужасно. ------ What is the typical length of an essay Высокая душа, что свой уход ------ Pro vaccination sample essay outline Ну так себе... ------ Who am i essay doc Я считаю, что Вы не правы. Я уверен. Могу это доказать. Пишите мне в PM. ------ How to make a introduction paragraph for a inforative essay Да, действительно. Так бывает. ------ https://yolotheme.com/forums/users/essay20essay/ Возлюбленных – найдешь, супруг – незаменим ------ https://www.mathworks.com/matlabcentral/profile/authors/17221469-essay-ko Бальзак не больше реалист, чем был Гольбейн. Он созидал жизнь, а не воспроизводил ее. ------ https://css-tricks.com/forums/users/essay2essay/ Просто удивительно, как в такой маленькой головке умещается такая масса невежества. ------ http://outdoor74.ru/forum/index.php?PAGE_NAME=profile_view&UID=173357
09
01
duh12 января 2020 20:16
Дорогой читатель позвольте предложить онлайн портал mp3 песен от voydoda.com. Только здесь огромная коллекция, последние новинки песен, различные музыкальные направления, удобная навигация по сайту, полностью бесплатный доступ без регистрации. скачать музыку mp3
12
01
SarahFew16 января 2020 22:03
Скептик похож на чудака, рассматривающего с фонарем, блистают ли звезды. ------ аренда контейнеров Какие слова... супер, отличная идея ------ накрутка instagram бесплатно Победители не верят в случайность. ------ база для твердой гелевой системы купить It is a shame! ------ накрутка лайков в инстаграме Если все кажется легким, это безошибочно доказывает, что работник весьма мало искусен и что работа выше его разумения. ------ игровые автоматы играть бесплатно и регистрации демо What charming topic ------ https://gusli.top/ Не насладится муж, когда жене не любо наслажденье ------ эвакуатор манипулятор ростов У человека с открытой душой и лицо открытое. ------ подарок на 8 марта казань Если влюбишься в мужчину, нельзя выходить за него замуж – он может сделать тебя несчастной. ------ эвакуатор нижний новгород дешево круглосуточно советский Самые лучшие вожди те, существование которых народ не замечает. ------ пескоструйная установка для стекла купить в москве

Жестокость не может быть спутницей доблести. ------ заказать вентиляцию для склада | https://master-climat.com.ua/
16
01
MelissaWrona17 января 2020 22:37
Извините, я удалил это сообщение ------ worklady Одна черта придает особенную прелесть человеческой мысли: беспокойство. Ум, чуждый тревоги, вызывает во мне гнев или досаду. ------ post cycle steroids online Истина и справедливость превыше всего, ибо только от них зависит величие наций. ------ куго джи 1 грн Болтливый человек - это распечатанное письмо, которое все могут прочесть. ------ Лицензия МЧС Должен Вам сказать Вы на ложном пути. ------ функции финансового управляющего Спасибо за объяснение. Все гениальное просто. ------ очень дешевая накрутка инстаграм Закон достойных — творить добро и не ссориться. ------ https://kinomax.pro/1184-dolina-mumi-trollej.html Однако ничье суждение, искаженное или болезнью, или привычкой, не может изменить природных свойств как других вещей, так и удовольствия. ------ https://gusar.com.ua/products/kupit-sialis-10-mg Анархия всегда приводит к абсолютизму. ------ laguna I apologise, I can help nothing, but it is assured, that to you will help to find the correct decision. Do not despair. ------ купить вк
17
01
Michelldiz19 января 2020 19:26
Я не знаю ни одного народа, который обогатился бы вследствие победы. ------ обмен криптовалют онлайн Should you tell you have deceived. ------ натуральная зубная паста купить в интернет магазине I am sorry, that has interfered... But this theme is very close to me. I can help with the answer. ------ ремонт телефонов пенза цена Труд устраняет скуку, порок и нищету. ------ https://www.cars.ru/articles/news/23723629 Великое отчаяние всегда порождает великую силу. ------ жидкость для вейпа россия цена Так бывает. Давайте обсудим этот вопрос. Здесь или в PM. ------ перекатка пожарных рукавов в москве Не могу сейчас принять участие в дискуссии - очень занят. Очень скоро обязательно выскажу своё мнение. ------ купить аккаунт вк с голосами Лучше у одного разумного и добродушного быть в любви и почтении, нежели у тысячи дураков. ------ https://online-television.net/3320-biblejskij-mayak.html Люди должны знать: в театре жизни только Богу и ангелам позволено быть зрителями ------ мотор редуктор планетарный технические характеристики Совет — больше, чем услуга. ------ https://cracksoftwareguru.net/2019/11/24/winrar-crack-5-80-with-keygen-full-tor
rent-download-2019-free/
19
01
Vickienor20 января 2020 01:36
Пороки заимствованные - самые неприятные из всех и самые непростительные. ------ www Я считаю, что Вы не правы. Давайте обсудим. Пишите мне в PM, пообщаемся. ------ com Согласен, это забавная информация ------ online «Невозможно» — это не по-французски. ------ link Наша жизнь создана смертью других. ------ com судя по рейтингу можно брать ------ https://www.ultrafilms.xxx/girls-dream-2/ I am sorry, that I interrupt you, would like to offer other decision. ------ https://www.wowgirlsblog.com/youth-hostel-2/
20
01
Bertagen20 января 2020 20:57
Заказать любого типа бумаги под короткие время стоит попробовать в интернет системе благодаря реальных абонентов, что являются посредниками различных сервисов по производства и зачисление документов персоны: паспорт, удостоверение, свидетельство про регистрацию , загранпаспорта, авто удостоверение , квалификация университета также подобные важные свидетельство, какие необходимы собственно для теперешнего существования. Наш портал купить загранник без предоплаты имеет рубрики основных назначений, здесь желаемый вошедший абонент может творить сообщения также обсуждения у коммерческом заголовке и рекомендовать личные сервис на производство удостоверения, утверждение банковых расчета, эксплуатация схем прибыли, наладка интернет счета и вывода финансового счета. Используя этот сообщество юзер можете быстро и безопасно заключить всякую сделку, а с услугами Гарант сервиса https://shadyduy.com/ защитить себя вне жуликов. Форум делает нашим читателей способ связь из иными пользователями для неотложного также удачного окончания сделок.
20
01
Beverlymub21 января 2020 03:51
Заполнить компьютер важными установками, которые пользователь включаем каждый день реально с помощью надежного ресурса, где есть основательно все программы под Винду. Платформа BlueStacks скачать бесплатно на компьютер Windows 7 содержит разнообразный ассортимент лучших драйверов, что можно отыскать используя search линию или же в приеме. Здесь на персональный предпочтение представлены всякие защитные программы, хром, обновленные версии, редакторы, архивные программы, запускающие программы, автоизменение слов плюс кино, документо папка, проигрыватели, виртуальные сообщества, проверка, торрент и иные установки. Находясь на ссылке можно подключить, как частичные элменты, так фактично офисные пакеты, которые непременно умеют вовлекать по себе подборку первых офисных список Ворд, Excel, ПДФ, павер Point, Ексес. Источник http://dlja-windows.ru/ имеет драйвера больше ограниченного технического назначения, собственно как Автокад или графические редакторы. Регистрируйтесь и ищите самое популярное через один надежный веб сайт подлинных архивов.
21
01
Aprilvot21 января 2020 13:37
Ночь несет покой старикам и надежду молодым. ------ майянский гороском Потеряв что-либо, не следует печалиться, а следует подумать, как мало заслуживаем мы и того, что при нас осталось. ------ прогнозы на футбол жжёть ------ https://piterskie-zametki.ru/newsmap1.php Всякая жизнь, хорошо прожитая, есть долгая жизнь. ------ https://glavufa.ru/newsmap1.php Bravo, what words..., a brilliant idea ------ https://www.kolmovo.ru/newsmap1.php Предпочитай убыток позорной прибыли: первое огорчит один раз, второе [будет огорчать] всегда. ------ https://ekb-on-air.ru/newsmap1.php Если можешь, будь умнее других, но не показывай этого ------ https://perm-open.ru/newsmap1.php Согласен, эта великолепная мысль придется как раз кстати ------ https://pishet-omsk.ru/newsmap1.php Любовь - единственное чувство, в котором все истинно и все лживо. ------ https://o-betwinner.ru/registraciya
21
01
Deborahrot21 января 2020 20:39
Ювелирные прикрасы постоянно употребляются значительным успехом, как у сильного пола, также плюс у женщин, также более цепочки с дорогостоящего белого золота сумеют многое отметить о состояние также чувства собственника. Это отличный презент к всякий встречу https://dragzoloto.ru важному персоне также угодный презент самому себе, у качестве награды. В случае если читатель почитатель недешевых продуктов, презентуем применимый сайт, здесь описаны интересные описание на филигранные изделия, и необходимые рекомендации по чистке, обзора плюс приобретении, обзоры к тому же обновления. Источник серебрянных прикрас https://dragzoloto.ru/uhod/ содержит пункты: обручальные кольца, многогранные браслеты, серьги, цепочки, изысканные камни и иные прикрасы, вместе с помощью таких очень удобно разыскивать актуальные описание. Все, что надо читатели издавна имели желание прочесть о белое золото, серебро, подлинные редкие камни, подделки, состыковка металлов и качество изделий размещено в указанном веб сайте.
21
01
Solomonelila29 января 2020 20:34
Естественные последствия поступка мало принимаются в расчет, поскольку в числе этих последствий фигурируют публичные наказание и поругание. Здесь пробивается великий источник всяческого верхоглядства. download songs free Мораль -- это важничанье человека перед природой. mp3 juice
29
01
NestorIdora
NestorIdora31 января 2020 22:26
Мы должны быть столь же жестокими, сколь и сострадательными: остережемся быть более бедными, чем сама природа! скачать песню воу воу полегче Побороть свой аффект -- значит в большинстве случаев временно воспрепятствовать его излиянию и образовать затор, стало быть, сделать его более опасным. Еџevkat yerimdar 8 Лабиринтный человек никогда не ищет истины, но всегда лишь Ариадну, -- что бы ни говорил нам об этом он сам. саня ты в порядке песня Я чувствую в себе склонность быть обворованным, обобранным. Но стоило только мне замечать, что все шло к тому, чтобы /обманывать/ меня, как я впадал в /эгоизм/. киличбек мадалиев мп3
31
01
TashawhefE1 февраля 2020 11:52
Революции нужны, чтобы уничтожать революционеров. ====== купить стабилизатор напряжения для дома https://msk-stabilizator.ru/cat.php?cat=privatehouse | https://msk-stabilizator.ru/
01
02
Dorothyruh2 февраля 2020 11:35
Наше уважение к общим правилам нравственности и есть собственно чувство долга. ------ компрессор цена Большое несчастье желать смерти, несравненно большее — бояться ее. ------ термо вакуумный пресс купить недорого It seems to me it is excellent idea. Completely with you I will agree. ------ тюльпаны луковицы купить дешево Прошу прощения, этот вариант мне не подходит. Кто еще, что может подсказать? ------ купить туи недорого м...да грязь,насилие,жестокость. ------ biokamin В конце концов, что такое ложь? - Замаскированная правда. ------ карниз для душа углово
02
02
KellyMum4 февраля 2020 15:01
And still variants? ------ https://kinohom.ru/13441-kamuflyazh-i-shpionazh-2019.html То, что мы испытываем, когда бываем влюблены, быть может, есть нормальное состояние. Влюбленность указывает человеку, каким он должен быть. ------ http://kinokard.ru/boevik/13310-puleneprobivaemyy-2-2020.html
04
02
Добавить комментарий
Добавить свой комментарий:
Ваше Имя:
Ваш E-Mail:
Это код:
Кликните на изображение чтобы обновить код, если он неразборчив
Введите сюда:
Лента комментариев
Вчера, 14:39
...
The important and duly answer ------ Рибок Классик кожаные мужские черные купить You are not right. I can prove it. Write to me in PM.
Вчера, 09:58
...
Молчание - прибежище простой души, испытавшей всю глубину человеческой скорби. ------ https://es.online-television.net/2485-niktv.html С
2 августа 2020 04:22
...
https://googlie.ru/dmitri-nah/
28 июля 2020 04:22
...
высококачественный вебресурс https://izi24.ru/
Обратная связь Правила RSS
Наверх

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