» » SEO оптимизация DLE полный сборник DLE 11.0
0
0
Закрыть меню
Статьи Шаблоны DLE Шаблоны WP Новости
DLE
0
173
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качиваний: 1) скачать dle 12.0
Комментарии к новости
Добавить комментарий
Добавить свой комментарий:
Ваше Имя:
Ваш E-Mail:
Это код:
Кликните на изображение чтобы обновить код, если он неразборчив
Введите сюда:
Лента комментариев
Сегодня, 07:38
...
Running out of health and beauty essentials used to mean trekking all over town to track everything down. Now, ticking off that shopping list can be
Вчера, 15:48
...
5 -27 Апреля 2018 года САМОЕ крупное мероприятие федерального уровня в сфере государственных, муниципальных и корпоративных закупок. Дискуссионные
23 февраля 2018 06:41
...
Сегодня вечером смотрел материалы инет, случайно к своему восторгу обнаружил крутой сайт. Посмотрите: Магнитотурботрон . Для моих близких
22 февраля 2018 14:33
...
работа в яндекс такси такси везет работа водителем
Обратная связь Правила RSS
Наверх

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