Форум о социальных сетях Поиск по форуму Инвестиции SMM обучение SMM курсы
Форум о социальных сетях Поиск по форуму Инвестиции SMM обучение SMM курсы
  • Страница 1 из 2
  • 1
  • 2
  • »
Полная настройка сайта на Dle
#1
Вторник, 27.07.2010, 09:39
HALLBOY222
Проверенный
Сообщения: 3456
Репутация: 5642
После установки сайта на движке DataLife Engine (Dle) его в первую очередь нужно настроить. И я вам расскажу все нюансы по оптимизации дле, которые сам познавал чуть болше 6 месяцев.
В первую очередь стоит удалить лишний мета-тег и внешнюю ссылку от создателей движка.

Сделать это очень просто:
Из файла engine/engine.php удаляем строчку, которая находится уже практически в конце:

Quote
<meta name="generator" content="DataLife Engine (http://dle-news.ru)" />

И из файла index.php (в корне сайта) удаляем строчку в самом конце файла:

Quote
echo "\n<!-- DataLife Engine Copyright SoftNews Media Group (http://dle-news.ru) -->\r\n";

Таким образом, мы избавились от 2-х совершенно ненужных внешних ссылок.

Далее будем избавляться от лишних дублей.

Все знают, что домен с www и без www совершенно разные домены, поэтому следует сделать редитект 301. Для этого в корне сайта открываем файл .htaccess и после строчек

DirectoryIndex index.php

RewriteEngine On

вставляем:

Quote
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site.ru
RewriteRule (.*) [url="http://www.site.ru/$1"]http://www.site.ru/$1[/url] [R=301,L]

для переадресации домена без WWW на домен с WWW;

Или же, наоборот, для переадресации домена с WWW на домен без WWW необходимо вставить:

Quote
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ [url="http://site.ru/$1"]http://site.ru/$1[/url] [R=301,L]

site.ru необходимо заменить на ваш домен.

Но в Dle присутствуют и ещё дубли главной страницы вида:

site.ru/index.php
site.ru/index.html

Их так же нужно исключить и для этого в файле .htaccess после нашей предыдущей записи нужно вставить:

Quote
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ / [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]

Но и это ещё не всё. Как известно в дле есть 3 типа ЧПУ. И какой бы тип ЧПУ вы не выбрали, страница с новостью всё равно будет доступна по всем трем типам.

Так новость всегда доступна по адресам:

http://site.ru/id-имя новости.html
http://site.ru/категория/подкатегория/id-имя-новости.html
http://site.ru/2008/04/02/имя-новости.html
.

По моему мнению, такое чудо Яндекс не одобрит, и поэтому я предлагаю вам такой способ решения:

Для ЧПУ 1 (чтобы все ссылки были только [url="http://site.ru/id-имя"]http://site.ru/id-имя[/url] новости.html), в файле .htaccess надо найти:

Code
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html(/?)+$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L]

RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$4&news_page=$2&cstart=$3 [L]
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$2 [L]
RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$2&newsid=$3 [L]
RewriteRule ^([^.]+)/([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2 [L]

RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$1&cstart=$2 [L]
RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2&news_page=$1 [L]
RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$1&newsid=$2 [L]
RewriteRule ^([0-9]+)-(.*).html(/?)+$ index.php?newsid=$1 [L]

И заменить на:

Code
RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$1&cstart=$2 [L]
RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2&news_page=$1 [L]
RewriteRule ^([0-9]+)-(.*).html(/?)+$ index.php?newsid=$1 [L]

Для ЧПУ 2 (чтобы все ссылки были только [url="http://site.ru/категория/подкатегория/id-имя"]http://site.ru/категория/подкатегория/id-имя[/url] новости.html), в файле .htaccess надо найти:

Code
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html(/?)+$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L]

RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$4&news_page=$2&cstart=$3 [L]
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$2 [L]
RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$2&newsid=$3 [L]
RewriteRule ^([^.]+)/([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2 [L]

RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$1&cstart=$2 [L]
RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2&news_page=$1 [L]
RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$1&newsid=$2 [L]
RewriteRule ^([0-9]+)-(.*).html(/?)+$ index.php?newsid=$1 [L]

И заменить на:

Code
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$4&news_page=$2&cstart=$3 [L]
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$2 [L]
RewriteRule ^([^.]+)/([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2 [L]

НО! И это ещё не всё, самый крупный баг/дубль это адрес новостей с категориями. Так например новости 1-ya.html может быть доступна по адресам:
video/1-ya.html
news/1-ya.html
soft/1-ya.html
forum/1-ya.html

и вообще можно подставить в любую категорию. Хоть и ПС такое практически не находят, но шансы есть и их нужно свести совсем к нулю. Для этого необходимо в файле /engine/modules/functions.php

Code
function get_url($id) {
     
   global $cat_info;
     
   if( ! $id ) return;
     
   $parent_id = $cat_info[$id]['parentid'];
     
   $url = $cat_info[$id]['alt_name'];
     
   while ( $parent_id ) {
      
    $url = $cat_info[$parent_id]['alt_name'] . "/" . $url;
      
    $parent_id = $cat_info[$parent_id]['parentid'];
      
    if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break;
     
   }
     
   return $url;
}

Заменить на:

Code
function get_url($id){     
global $cat_info;   
if(!$id) return;
if($cat_info[$id]['parentid']){
    $url = $cat_info[$cat_info[$id]['parentid']]['alt_name'];
   }else{
    $url = $cat_info[$id]['alt_name'];
   }
$parent_id = $cat_info[$id]['parentid'];    
return $url;
}.

Так же в Dle есть такая недоработка/баг, как двойной title в новостях. Например:
Главная - Название сайта
Категория - Название категории - Название сайта
Новость - Название Новости - Название категории - Название сайта

Такое ПС тоже наврядли одобрят, поэтому убираем данную оплошность.
Открываем файл engine/engine.php и заменяем:

Code
if($nam_e) {    
    $metatags['title'] = $nam_e.' » '.$metatags['title'];   
    $rss_title = $metatags['title'];   
   }   

   if($titl_e) $metatags['title'] = $titl_e.' » '.$config['home_title'];

На:

Code
if($nam_e) {    
    $metatags['title'] = $nam_e;   
    $rss_title = $metatags['title'];   
   }   

   if($titl_e) $metatags['title'] = $titl_e;

Теперь перейдем к модулям. Самыми важными модулями считаю только 2. Это pingationMod и twitterMod. Оба модуля помогают ускорить индексацию свежих публикаций.

А вот модуль pingationMod уже платный и его стоимость составляет 5$, да и null совершенно не рабочий.

Автор: Hallboy222, Источник: SeoNetWork.biz
Пост отредактировал HALLBOY222 - Вторник, 27.07.2010, 09:40
#2
Вторник, 27.07.2010, 09:51
FullBlooded
Проверенный
Сообщения: 2840
Репутация: 11427
Вот теперь есть полный, продвинутый манул по DLE.
Не то, что школьники рерайтят друг у дружки с блогов.
Quote (HALLBOY222)
А вот модуль pingationMod уже платный и его стоимость составляет 5$, да и null совершенно не рабочий.

null 1.4 работает отлично.
Хочу продать все свои сайты.
#3
Вторник, 27.07.2010, 09:59
SuPeRsTaR
Пользователь
Сообщения: 1253
Репутация: 1031
HALLBOY222, Я поменял редикты и ЧПУ и у меня теперь вот это http://all-load.ru/
Что делать?
#4
Вторник, 27.07.2010, 10:04
He1ko
Проверенный
Сообщения: 1302
Репутация: 2410
отличный мануал), спасибо, даже нового узнал, за старания + влеплю)
Качественный рерайт статей, писать в ICQ: 1226363 или в ЛС
#5
Вторник, 27.07.2010, 10:05
HALLBOY222
Проверенный
Сообщения: 3456
Репутация: 5642
SuPeRsTaR, файл .htaccess верните стандартный, скорее всего сервер не поддерживает переадресацию.
#6
Вторник, 27.07.2010, 10:07
SuPeRsTaR
Пользователь
Сообщения: 1253
Репутация: 1031
HALLBOY222, Спасибо! А мануал просто супер!!!!
#7
Вторник, 27.07.2010, 10:10
BlogDix
Заблокированные
Сообщения: 931
Репутация:
SuPeRsTaR, В 99% случаев - проблема находится в содержимом файла .htaccess
Ошибка Internal Server Error
Пост отредактировал dix009 - Вторник, 27.07.2010, 10:10
аккаунт продается, пишите в icq.
DAS
#8
Вторник, 27.07.2010, 10:10
DAS
Проверенный
Сообщения: 422
Репутация: 2430
Хорошая инструкция. Возьму на заметку
[img]http://img442.imageshack.us/img442/9040/ngngngna.png[/img]
[img]http://img408.imageshack.us/img408/8494/newyear2011111.png[/img]
[url=http://megasoft.3dn.ru/forum/95-229019-1]уникальный контент, продажа готового контента[/url]
#9
Вторник, 27.07.2010, 10:33
SuPeRsTaR
Пользователь
Сообщения: 1253
Репутация: 1031
Извините что не по теме!
HALLBOY222, А ты мог бы объяснить как создать на дле сенантическое ядро сайта и как эго добавить на сайт в категории

Добавлено (27.07.2010, 10:33)
---------------------------------------------
А модуль pingationMod пойдёт на 8.3 ? (просто везде написано что на 8.2)

Вторник, 27.07.2010, 10:34
FullBlooded
Проверенный
Сообщения: 2840
Репутация: 11427
Quote (SuPeRsTaR)
А модуль pingationMod пойдёт на 8.3 ? (просто везде написано что на 8.2)

Пойдет.
Хочу продать все свои сайты.
Вторник, 27.07.2010, 10:34
BeCool
Проверенный
Сообщения: 845
Репутация: 1280
SuPeRsTaR , я тебе могу помочь в создание ядра , пиши в лс
Вторник, 27.07.2010, 10:39
HALLBOY222
Проверенный
Сообщения: 3456
Репутация: 5642
SuPeRsTaR, в моей подписе посмотри)
Вторник, 27.07.2010, 10:42
SuPeRsTaR
Пользователь
Сообщения: 1253
Репутация: 1031
FullBlooded, Спасибо!
GoGii, Написал

Добавлено (27.07.2010, 10:42)
---------------------------------------------
HALLBOY222, Спасибо почитаю

Вторник, 27.07.2010, 11:01
HALLBOY222
Проверенный
Сообщения: 3456
Репутация: 5642
SuPeRsTaR, там не статья, а услуга бесплатная ;)
Вторник, 27.07.2010, 11:02
awards
Пользователь
Сообщения: 53
Репутация: 24
HALLBOY222,хорошая информация!Спасибо B)
Freinds:LightNow,softic,bardak & WORLDOUT
Продаю домены:
bigtornado.ru-60 рублей (Продлен на год)

filmsbook.ru-60 рублей (Продлен год)

as-forum.ru-35 рублей (Продлен на год)

Icq 350981625

  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:
Форум
Социальные сети
Хостинг от uCoz