» » SEO оптимизация DLE полный сборник DLE 11.0
0
0
Закрыть меню
Статьи Шаблоны DLE Шаблоны WP Новости
DLE
10
2 345
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качиваний: 10) скачать dle 12.0
Комментарии к новости
Michaelamope19 июля 2018 00:11
Конечно Вы правы. В этом что-то есть и это отличная мысль. Я Вас поддерживаю. ----- отзывы о карты с кэшбеком от тинькофф | https://cashoutback.ru/
19
07
fhzd344319 июля 2018 01:17
В то время, пока вы до поздней ночи работаете, некоторые, благодаря специальному софту, ежедневно упрощают свою жизнь. Примите к сведенью всего один нюанс. Возможно, вам все вокруг твердили про то, что заработать можно только трудом и потом. А если это не так? Что если вы немного поразмыслите и поймете, что на самом деле есть более простые способы? Подумайте над этим. Вот вам мотивация, чтобы бросить работу - http://ragroup.ga
19
07
filcamma22 июля 2018 01:04
Изготовление веб-сайтов под ключ - Filandor Filandor объединил настоящих профессионалов в дружную, целенаправленную команду, какая делает работу на совесть и в короткий временной срок. Веб-студия "Filandor" имеет долгий опыт в области разработки веб-сайтов под ключ, раскрутка веб сайтов и сопровождения. Мы зарекомендовали себя в реализации многих успешных online проектов, таких как cargo.ua, sercedoserca.com.ua, cinta.bio и другие. Наша команда предлагает наиболее рациональные решения в данной области. Раскрутка веб сайта. У вас есть товар или услуги, а также функциональный и современный интернет-сайт. Но такого отнюдь не достаточно, для того чтобы ваш товар легко находили в глобальной сети. Благодаря продвижению web-сайта, или, как говорят SEO-мастера, "раскрутке сайта" ваш товар а соответственно и бизнес выйдет на лидирующие позиции, в рейтинге поиска и его обязательно будут находить скорее, чем услуги соперников. Усилятся продажи и бизнес начнет расти. У нас имеются необходимые грамотные специалисты для всех абсолютно пунктов разработки, раскрутки и обслуживания Вашего веб-сайта от планирования и дизайна до подготовки и размещения контента. Почему избирают нас? - Мы высококачественно и честно работаем в сфере разработки, сопровождения и раскрутки интернет-сайтов более 10 лет. Подробнее https://filandor.com/blog/sozdanie-sayta-vizitki-ne-dorogo-31
22
07
JasonRuche26 июля 2018 21:50
Игровые автоматы PlayFortuna. Получи бонус 50 бесплатных вращений здесь >>>https://casino-avtomati-onlain.com/the-best-casino/play-fortuna-cas
ino.html Казино на доллары, евро. Минимальный депозит 1 доллар. 350 лицензионных игровых автоматов. ТОП казино онлайн Play Fortuna casino. Лучшие игры, лучшие бонусы, быстрые выплаты. Реальные игры, на реальные деньги.
26
07
Robertsaisk5 августа 2018 21:14
Здравствуйте, уважаемый администратор, хотим предложить Вам свои услуги по продвижению Вашего сайта, партнерской программы или реферальной ссылки. Продвижение происходит с помощью прогонов по разным базам: 1 Статейный прогон - аккуратный, белый прогон сайта по трастовой базе 2 Прогон программой Хрумер - 3000 размещений вашего сообщения с ссылкой 3 Прогон Хрумером на 15000 размещений вашего сообщения с ссылкой Подробней об услугах и ценах можно узнать здесь http://igoog.ru/uslugi
05
08
Yaltahelp9 августа 2018 11:25
Сдаю жилье в Гурзуфе посуточно +79787385984
09
08
RandyWexia31 августа 2018 09:27
Ни разу я не слыхал, чтобы кто-либо от старости поза­был, где закопал клад. -------- сайт для дачників | https://superdachnik.com.ua
31
08
Allenwheds16 октября 2018 12:25
Эта версия устарела -------- Апачи (1973) давно хотел посмотреть спасибо -------- Алиса и Дзороку (2017) Вы допускаете ошибку. Давайте обсудим это. -------- Адский фьорд / Хелльфьорд (2012) Я считаю, что Вы ошибаетесь. Могу отстоять свою позицию. Пишите мне в PM, пообщаемся. -------- Top Gear: The Worst Car in the History of the World (2012) В этом что-то есть. Теперь мне стало всё ясно, благодарю за информацию. -------- Апельсин (2015) Это мне не нравится. -------- 1+Эверест (2017) Хорошее дело! -------- BBC. Грязные города (2011)
16
10
MichaelKedСегодня, 01:12
Браво, ваша мысль пригодится -------- https://sovety.guru/eda/sutochnaya-norma-vitamina-d Полная безвкусица -------- участки по Ярославскому шоссе продажа Поздравляю, блестящая мысль -------- русские песни Присоединяюсь. Всё выше сказанное правда. Давайте обсудим этот вопрос. -------- песнЯ
18
10
Добавить комментарий
Добавить свой комментарий:
Ваше Имя:
Ваш E-Mail:
Это код:
Кликните на изображение чтобы обновить код, если он неразборчив
Введите сюда:
Лента комментариев
Сегодня, 01:12
...
Браво, ваша мысль пригодится -------- https://sovety.guru/eda/sutochnaya-norma-vitamina-d Полная безвкусица -------- участки по
16 октября 2018 12:25
...
Эта версия устарела -------- Апачи (1973) давно хотел посмотреть спасибо -------- Алиса и Дзороку (2017) Вы допускаете ошибку.
11 сентября 2018 07:33
...
Модные женские советы здесь zdorovaya-life.ru Новости медицины тут griskomed.ru Последние новости строительства здесь distroy.ru Последние новости
10 сентября 2018 16:52
...
Позвоните мне, пожалуйста, по этому номеру 8(495) 248-01-88
Обратная связь Правила RSS
Наверх

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