Проверено

VDS-хостинг - именно на этом хостинге работает наш сайт.
Sape - биржа временных ссылок, доход 80р/день.
Trustlink - биржа временных ссылок, доход 60р/день.
Telderi - здесь покупаю сайты для дальнейшего заработка.

Партнеры

Дисбактериоз в гинекологии лечение www.ginekologiya-rostov.ru
ginekologiya-rostov.ru

Оптимизируем сайт на DLE

Оптимизируем сайт на DLE

1. Убираем дубли главной страницы сайта, типа index.php, index.html

Редактируем файл .htaccess в корне сайта:

Открываем файл и заменяем:
RewriteEngine On



на:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule (.*) http://example.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.html HTTP/
RewriteRule ^index.html$ http://example.com/ [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
RewriteRule ^index.php$ http://example.com/ [R=301,L]



и снова не забываем заменять example.com на свой домен
Внимание! Данный вариант предусматривает главное зеркало домена без www, если вам нужен вариант с www поменяйте аналогичным способом адрес домена в коде.

2. Убираем дубли внутренних страниц сайта при выборе ЧПУ типа 1 и 2


Откройте файл engine/modules/show.full.php и найдите(делаем проверку правильности alt_name в url):
$news_found = TRUE;


if($config['allow_alt_url'] == \"yes\"){

preg_match( '/'.$row['id'].'-(.*?).html/is' , $_SERVER[\"REQUEST_URI\"] , $parse_alt_name );

if( $row['alt_name'] != trim( $parse_alt_name[1] ) ){

$true_url = str_replace( $parse_alt_name[1] , $row['alt_name'] , $_SERVER[\"REQUEST_URI\"] );

header('HTTP/1.1 301 Moved Permanently');
@header ( 'Location: ' . $true_url );
exit;

}}



Автор: RooTM

далее находим (проверяем правильность чпу в url, кстати это поможет вам если вы решили сменить один тип чпу на другой с правильным редиректом 301):
$tpl->set( '{full-link}', $full_link );



* Ниже добавляем:
$full_link_ = !isset ($_GET['cstart']) ? $full_link : $link_page . intval ($_GET['cstart']) . ',' . $news_name . '.html';
if ($config['http_home_url'] . substr ($_SERVER['REQUEST_URI'], 1) != $full_link_) {
    header ($_SERVER['SERVER_PROTOCOL'] . '301 Moved Permanently');
    header ('Location: ' . $full_link_);
    die ();
}


Автор: Игорь Тимошенко

Этот пункт сегодня у себя на сайте разработчик скрипта поправил... значит в следующем релизе этого бага с дублями скорее всего не будет.

3. Приводим в порядок метатеги title


Тут парадокс с категориями в DLE, вроде бы заполнение мегатега title категорий должно пойти на пользу, но нет, тут бага..
И она проявляется, если у вас не закрыты от индексации страницы Пагинации (page) по категории и ! ЗАПОЛНЕН метатег title.

Чтобы понять о чём речь смотрим скрины:

Ничего не делаем, да и не знаем что такое метатеги и зачем они )), вообщем незапоняем:

незаполнены title категории


и вот результат - в title мы видим добавление - Страница 2


это хорошо и Google нам говорить тут у вас нет дублей Title.

А теперь мы хотели сделать как лучше, и решили заполнить метатег title категории, ожидая естественно лучший результат чем тот если оставить метатеги незаполнеными:

заполняем метатег title категории


и... в результате на второй странице категории дубль title первой страницы - Google ругается...


следующая страница категории и таже беда - дубль title, а ведь заполнив его мы хотели получить лучший результат


Не будем морочится с кодом файла engine.php для решения этой задачи и так как Имя категории, заполненое при её создании в Админ Панели, автоматом становится метатегом title этой категории, а меню и категории в нём в DLE выводятся добавлением ссылок в шаблон вручную, как и имя категории в шаблоне задаётся так же вручную, то ничего нам не мешает не заполнять метатег категории, а просто присвоим имя категории которое станет её метатегом title.

Написано выше много по метатегу title Категорий, подведём итоги: метатег title Категории при её создании заполнять не нужно.

Далее метатеги Title новостей заполнять нужно вручную, стараясь избегать их дублей с похожими публикациями.

Тут каждый вполне может найти свою тактику написания Title, которую посчитает наиболее целесообразной.
А ключевое по Title и не только публикаций, а вообще выделим:
- не должно быть одинаковых Title на разных страницах сайта;
- Title должен отражать суть, тематику и содержание страницы;
- старайтесь делать длину Title не более 8 слов(отображается 70знаков) для продвижении в Google и 15слов(отображается 80знаков) для Яндекса(естественно лучше использовать 8);
- Title должен содержать в себе 1-2 ключевые слова, но не более иначе ПС посчитает это спамом;
- Title должен содержать название вашего проекта или ваш бренд

Попробуем это применить в Title полной новости автоматически:

добавляем сам Title новости + категория + Название проекта(бренда) и разделяем их прямым слешем |:

Открыть engine.php:

ищем:
$metatags = <<<HTML



и внимание! ВЫШЕ добавляем:
if ($subaction == 'showfull' or $newsid ) $metatags['title'] = $metatags['title'] . ' | '. $cat_info[$category_id]['name'] . ' | ' . $config['home_title'];



и для красоты переводим на разделение метатегов прямыми слешами везде:

ищем(этот код несколько выше, над тем что меняли ранее):

if (intval($_GET['cstart']) > 1 ){

    $page_extra = ' &raquo; '.$lang['news_site'].' '.intval($_GET['cstart']);

} else $page_extra = '';

if ($nam_e) {

    $metatags['title'] = $nam_e . $page_extra . ' &raquo; ' . $metatags['title'];
    $rss_title = $metatags['title'];

} elseif ($titl_e) {

    $metatags['title'] = $titl_e . $page_extra . ' &raquo; ' . $config['home_title'];



и меняем на:
if (intval($_GET['cstart']) > 1 ){

    $page_extra = ' | '.$lang['news_site'].' '.intval($_GET['cstart']);

} else $page_extra = '';

if ($nam_e) {

    $metatags['title'] = $nam_e . $page_extra . ' | ' . $metatags['title'];
    $rss_title = $metatags['title'];

} elseif ($titl_e) {

    $metatags['title'] = $titl_e . $page_extra . ' | ' . $config['home_title'];



Заполните метатеги статических страниц в title их не забыв добавить Название вашего проекта(бренда).

Другие новости по теме: