Archives

Дополнительные поля новостей DLE

Дополнительные поля DLEДля удобства заполнения новостей в движке DataLife Engine, существует возможность добавлять поля. Это очень полезная и актуальная возможность. Дополнительные поля новостей DLE открывают перед нами новые возможности оформления для вывода статьи.

Кроме того, DLE автоматизирует заполнение новостей, кстати, это моя любимая система управления контентом. Как оказалось, реализовать дополнительные поля, не составляет большого труда и глубоких познаний.

Стандартные темплейт файлы, в которые мы внесем коррекцию, находятся в папке с вашей темой — addnews.tpl, fullstory.tpl, shortstory.tpl

  1. Первым делом заходим в нашу админку, сайт/admin.php. В графическом меню выбираем пункт «Список всех разделов», далее заходим в «Дополнительные поля для новостей», нажимаем кнопку «Добавить поле». Вносим данные для нашего нового поля. Нажимаем «сохранить».
  2. Открываем файл из нашей темы shortstory.tpl , который отвечает за вывод короткой новости. Вставляем специальные теги на то место, где нам нужно выводить информацию из дополнительного поля.
    [xfgiven_dpole] [xfvalue_dpole] [/xfgiven_dpole]
    Где dpole, как вы заметили, имя дополнительного поля, которое мы вносили при создании в админ панеле. У меня, например, получился такой код для вывода shortstory, короткой новости. Обратите внимание на 12-ю строку.

     

    <div class=»base shortstory»>
    <div class=»shd»><h1>[full-link]{title}[/full-link]{favorites}</h1></br>
    {link-category}
    <div class=»clr shdinfo»>
    </div>
    </div>
    <div class=»maincont»>
    <div class=»otstup»>{short-story}</div>
    <div class=»clr»></div>
    </div>
    <div class=»news»>
    <font color=»red»><b>Дополнительное поле: </font><fontcolor=»blue»>[xfgiven_dpole][xfvalue_dpole][/xfgiven_dpole]</b></font></div>
    <div class=»morelink»>
    <span class=»argmore»>[full-link]<b>Подробнее</b>[/full-link]</span>
    </div>
    </div>

А теперь аналогичные действия мы проделываем с файлом нашего шаблона fullstory.tpl. Где нам необходимо, добавляем выше упомянутые теги, с именем нашего дополнительного поля новостей dle.[xfgiven_dpole] [xfvalue_dpole] [/xfgiven_dpole]Вот и все, дополнительное поле новостей добавлено, а дальше уже ваша творческая мысль подскажет, как и где это использовать.

Robot.txt для DLE

robot для DLEВ продолжение темы о моем любимом на данный момент движке DataLife Engine. Я представлю вашему вниманию robots.txt,  который использую в своих сайтах на этой CMS.

Вы наверняка задавались вопросом, как правильно создать этот текстовый файл? Если поискать вы также встретите многочисленное количество разнообразных версий, я попытался найти золотую середину.

Что даёт правильный в robot.txt для DLE:

  1. Хорошую индексацию поисковиками нужных вам страниц.
  2. Блокировку ненужных страниц для индексации (вы закроете доступ поисковикам для тех страниц — которые не должны появляться в поисковике)
  3. Можно создавать зеркала (для Yandex)
  4. Решает проблему дублирования контента на сайте.

Этих доводов наверняка хватает, чтобы отнестись к заполнению робота серьезно.

Вот, собственно, содержание.

Содержание Robot.txt для DLE

User-Agent: *
Disallow: /*print
Disallow: /out/
Disallow: /user/
Disallow: /cache/
Disallow: /cgi-bin/
Disallow: /engine/
Disallow: /language/
Disallow: /templates/
Disallow: /images/
Disallow: /forum/
Disallow: /backup/
Disallow: /files/
Disallow: /index.php?do=pm
Disallow: /index.php?do=search
Disallow: /index.php?do=register
Disallow: /index.php?do=feedback
Disallow: /index.php?do=lostpassword
Disallow: /index.php?do=stats
Disallow: /index.php?do=addnews
Disallow: /index.php?subaction=newposts
Sitemap: http://rabotaip.ru/uploads/sitemap.xml
Host: rabotaip.ru

Убираем страницы без контента, не нужно чтобы поисковый робот тратил на них время.

Disallow — исключить.

Меняем размер окна с категориями в DLE

Категории DLEМаленькая заметка на полезную тему.

На одном сайте, который работает на движке DLE, собралось большое количество категорий. При добавлении новости в окне категории нужно выбрать подходящую. По умолчанию это окошко очень меленькое по высоте, примерно 70px, потому при большом количестве категорий становится очень неудобно. Это легко исправляется, сейчас я напишу как=)

Как поменять размер окна с категориями в DLE

В корне нашего сайта находим папочку engine, заходим в неё до файла default.css.

Весь путь: engine\skins\default.css

В этой таблице находим строчку с таким классом и меняем height (высоту) на любое другое число, например 150px.

cat_select {
color: #000000;
font-size: 11px;
font-family: Verdana;
border:1px solid #9E9E9E;
width:316px;
height:73px;
}

Вот и все, мы поменяли размер окна с категориями в админке DLE.

Если вы захотите, так же можно поменять высоту в шаблоне при заполнении новости пользователем непосредственно на сайте.

  1. Откройте файл по такому пути engine\modules\addnews.php
  2. Поменяйте высоту в этой строчке.

    $cats = "<select name=\"catlist[]\" id=\"category\" onchange=\"onCategoryChange(this.value)\" style=\"width:316px;height:73px;\" multiple>";

Оптимизация контента DLE

Недавно я записывал как правильно оптимизировать заголовки в DLE. Сегодня речь пойдет о не менее важном шаге в оптимизации сайта под управлением популярного движка DLE.

Оптимизация контента DLE

Без лишней скромности очень важная тема. Главная проблема — это снова дубли. На это раз — дубли контента (страниц). Одна из причин дублирования, это неопределенное главное зеркало сайта или ссылки такого типа:

http://site.ru/category
http://site.ru/category/

Поисковая система видит как совершенно разные. Это мы сможем исправить дополнив файл .htaccess. Открываем, находим такие строчки:

DirectoryIndex index.php
RewriteEngine On

Нужно определится какое зеркало хотите видеть главным домен с www или без. После этого вписываем в файл такое правило:
### Определяем главное зеркало как www.site.ru (site.ru заменить на свой домен)

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

Следующим шагом сделаем переадресацию с site.ru/index.php и site.ru/index.html на наше главное зеркало. Для этого добавляем еще строчки:

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]

Дальше еще одно важное правило, которое помогает перенаправить страницы типа http://mysite.ru/page/1/ , которые дублируют контент, на главное страницы.

RewriteRule ^(.*)/page\/1$ $1 [R=301,L]

На этом все. Надеюсь, не было ничего сложного.

Удачи!

SEO оптимизация заголовков DLE

Все в этом мире небезупречно, а тем более, оптимизация популярной нынче системы управления контентом, DLE. Я и сам иногда делаю сайты на этом замечательном движке, он во многих случаях удобный и подходящий. Но как я говорю, есть свои изъяны, попробуем их исправить.

Начнем с самого важного на сегодня в SEO, это конечно же Title. Заголовки должны быть в первую очередь оптимизированы, соответствовать наилучшему виду, так как именно они играют большую роль.

Проблема в DLE с Title состоит в том, что они похожие, а порой даже одинаковые. Мы должны добиться уникальных заголовков, избежать дубли. Такая проблема существует точно до 9.2 версии. Правда слышал, что в последних это исправили, но точно не скажу.

В 9-х версиях разработчики для борьбы с дублями добавили к заголовку Категории нумерацию страниц. Это прекрасно, теперь мы получаем не сотни одинаковых страниц с «Названием категории», а уникализированных типа «Название категории — номер страницы». Но вот беда, досада, это работает только тогда, когда Title при создании категории не заполнен. Когда же мы сами прописываем нужный заголовок для своей категории, это работать перестает, печально=(

Это лечится таким путем, идем в файл /engine/engine.php и находим строчку:

view source
print
?
if ( $metatags[‘header_title’] ) $metatags[‘title’] = stripslashes($metatags[‘header_title’]);

И меняем на такую строчку:

view source
print
?
if ( $metatags[‘header_title’] ) $metatags[‘title’] = stripslashes($metatags[‘header_title’]) . $page_extra;

Поздравим себя, теперь наши заголовки категорий будут уникальными. Что касается версий движка до 9.2 , тут дела слегка посложнее. В том же файле /engine/engine.php находим строчку:

view source
print
?
if ($nam_e) {
$metatags[‘title’] = $nam_e . ‘ &amp;amp;amp;amp;amp;amp;amp;amp;raquo; ‘ . $metatags[‘title’];
$rss_title = $metatags[‘title’];
}
if ($titl_e) $metatags[‘title’] = $titl_e . ‘ &amp;amp;amp;amp;amp;amp;amp;amp;raquo; ‘ . $config[‘home_title’];
if ( $metatags[‘header_title’] ) $metatags[‘title’] = stripslashes($metatags[‘header_title’]);

Меняем на:

view source
print
?
if (intval($_GET[‘cstart’]) > 1 ){
$page_extra = ‘ &amp;amp;amp;amp;amp;amp;amp;amp;raquo; ‘.$lang[‘news_site’].’ ‘.intval($_GET[‘cstart’]);
} else $page_extra = »;
if ($nam_e) {
$metatags[‘title’] = $nam_e . $page_extra . ‘ &amp;amp;amp;amp;amp;amp;amp;amp;raquo; ‘ . $metatags[‘title’];
$rss_title = $metatags[‘title’];
} elseif ($titl_e) {
$metatags[‘title’] = $titl_e . $page_extra . ‘ &amp;amp;amp;amp;amp;amp;amp;amp;raquo; ‘ . $config[‘home_title’];
} else $metatags[‘title’] .= $page_extra;
if ( $metatags[‘header_title’] ) $metatags[‘title’] = stripslashes($metatags[‘header_title’]) . $page_extra

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

На данный момент, кроме заголовка в движке DLE, выводится еще и название сайта. Примерно так: Новости сайта | site.ru. Да, совсем недавно это было даже модно. Если вы не считаете это лишним, тогда остановитесь на предыдущем шаге, а я напротив думаю название сайта стоит убрать.

Итак опять направляемся в наш любимый /engine/engine.php ищем там:

Для DLE 9.2

view source
print
?
if (intval($_GET[‘cstart’]) > 1 ){
if ( $metatags[‘header_title’] ) $metatags[‘title’] = stripslashes($metatags[‘header_title’]);

Для версий DLE ниже 9.2:

view source
print
?
if ($nam_e) {
if ( $metatags[‘header_title’] ) $metatags[‘title’] = stripslashes($metatags[‘header_title’])

Меняем это все на:

view source
print
?
if (intval($_GET[‘cstart’]) > 1 ){
$page_extra = ‘ &amp;amp;amp;amp;amp;raquo; ‘.$lang[‘news_site’].’ ‘.intval($_GET[‘cstart’]);
} else $page_extra = »;
if ($nam_e) {
$metatags[‘title’] = $nam_e . $page_extra;
$rss_title = $metatags[‘title’];
} elseif ($titl_e) {
$metatags[‘title’] = $titl_e . $page_extra;
} else $metatags[‘title’] .= $page_extra;
if ( $metatags[‘header_title’] ) $metatags[‘title’] = stripslashes($metatags[‘header_title’]) . $page_extra;

На этом все. Теперь все ваши категории в заголовке будут содержать только название, так же как и публикации.