» » SEO оптимизация DLE полный сборник DLE 11.0
0
0
Закрыть меню
Статьи Шаблоны DLE Шаблоны WP Новости
DLE
16
25 843
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качиваний: 27)








Веб-студия Виканаскачать 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
Добавить комментарий
Добавить свой комментарий:
Ваше Имя:
Ваш E-Mail:
Это код:
Кликните на изображение чтобы обновить код, если он неразборчив
Введите сюда:
Лента комментариев
Вчера, 15:59
...
http://www.chodb.ru/communication/forum/user/88122/
17 января 2020 22:37
...
Извините, я удалил это сообщение ------ worklady Одна черта придает особенную прелесть человеческой мысли: беспокойство. Ум, чуждый тревоги,
16 января 2020 22:03
...
Скептик похож на чудака, рассматривающего с фонарем, блистают ли звезды. ------ аренда контейнеров Какие слова... супер, отличная идея
14 января 2020 00:47
...
http://www.audipiter.ru/user/ssedoinden/
Обратная связь Правила RSS
Наверх

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