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="»
") {
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="»
") {
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