Работа с DLE. Бой парсерам + SEO оптимизация ссылок
13 апреля 2010 22:58 DLE
Привет друзья. Сегодня хочется затронуть такую больную тему как СMS ( движок ). Кто сравнительно давно читет мой блог знает, что мой любимый движок это DLE - мой верный помощник, выбираю его за малую ресурсоемкость и удобный интерфейс.

О чем статья?

На сегодняшний момент в сети существует масса как бесплатных - кривых, так и платных - рабочих граберов контента с сайтов размещающихся на DLE. Обидно когда с "родного" сайта для людей с самописным контентом тупо воруют контент и размещают его на, обычно, говно сайтах. Это первая проблема.

Людям тесно работающим с данным движком известно, что он обладает хорошими SEO задатками, но не везде все гладко. Это вторая проблема.

Какие задачи?

:: свести к минимуму "шаблонность" вывода информации из движка ( не путать с обычными html шаблонами которые мы используем для внешнего оформления )
:: провести дополнительную SEO оптимизацию ссылок

Полезной информация будет лишь владельцам сайтов которые переживают за свои проекты. Замечу, что я никогда не пользовался парсерами, но владение php дает возможность представить уязвимые места для осуществления массового воровства контента. Далее будет идти исходный код движка, описание того что нужно заменить + мои комментарии. Для редактирования кода советую использовать текстовый редактор Notepad++.

Подопытный кролик: DataLife Engine v7.3. В более новых версиях редактируемые части кода должны сохраниться. Все равно сделайте резервную копию, на всякий случай ( если правите версию отличную от 7.3 ). Хочу предупредить, что от бесшаблонного парсера это не спасен, но большинство ( если и не весь ) бесплатного софта - шаблонное.

1. Бой парсерам

Открываем в корне сайта файл index.php и начинаем править:

:: парсинг системных сообщений DLE
Критичность: слабая

Заменяем:
$tpl->set('{info}', "<span id='dle-info'>".$tpl->result['info']."</span>");

на
$tpl->set('{info}', $tpl->result['info']);


:: парсинг всех кратких новостей на странице.
Критичность: высокая

Заменяем:
$tpl->set('{content}', "<div id='dle-content'>".$tpl->result['content']."</div>");

на:
$tpl->set('{content}', $tpl->result['content']);


Переходим в папку engine\modules, редактируем файл show.short.php:

:: парсинг короткой новости под определенным ID
Критичность: высокая

Заменяем:
$tpl->set('{short-story}', stripslashes("<div id="'news-id-.$row['id'].">".$row['short_story']."</div>"));

на:
$tpl->set('{short-story}', stripslashes($row['short_story']));


В том же каталоге, редактируем файл show.full.php:

:: парсинг полной новости с определенным ID
Критичность: высокая

Заменяем:
$tpl->set('{full-story}', stripslashes("<div id='news-id-".$row['id']."'>".$row['full_story']."</div>"));

на:
$tpl->set('{full-story}', stripslashes($row['full_story']));


2. SEO оптимизация

Открываем каталог engine\modules, редактируем файл show.short.php:

Результат: добавляем к тегу full-link ( ссылка на полную статью ) атрибут title="". Автоматически будет подставляться название новости.

Заменяем:
$tpl->set('[full-link]',"<a {$go_page}href=\"".$full_link."\">");

на:
$tpl->set('[full-link]',"<a {$go_page}href=\"".$full_link."\" title=\"{title}\">");


Код рабочий и проверенный на собственных площадках. В том числе отредактирую исходник этого блога. По ходу работы с движком буду дополнять эту статью, обновляя дату ее публикации. Подписывайтесь на обновления - будьте в курсе событий.

Да простят меня разработчики DLE, с уважением Владимир.
Проекты
DLE
Сайт для людей
Все о Sape
Новости
Полезности
ЖЖ блоги
Сателлиты
Эксперименты
тИЦ
Планы и идеи
Партнерки
Фильтры АГС
Мысли в слух
Полезные ссылки:
Последние новости:
   
© 2009 - 2012. Блог веб-разработчика самоучки.
P.S. Воровство контента с блога призывает на Вас гнев поисковых систем =)