SEO оптимизация DLE — тексты для категорий, модуль CatFace
Разбираюсь сейчас с движком DLE для одного из своих новых сайтов, и возникла у меня идея относительно страниц категорий — как сделать так чтобы они были более-менее уникальны и содержали определенный текст. Что-то подобное я уже описывал в блоге в посте про добавление описания в категории wordpress блога, хочется получить такой же эффект и в DLE. Возможно, где-то на просторах интернета это все обсуждалось, но для новичков и дабы самому не забыть, решил сочинить соответствующий пост. С DLE я знаком не очень хорошо, поэтому кое-где могу неправильно высказываться, но суть, думаю, все смогут уловить.
Итак, первой идеей, которая пришла относительно добавления текста в категории DLE сайта, конечно, была правка шаблона. Основная структура темы находится в файле main.tpl. Нужный вам файл main.tpl ищите в директории используемого шаблона templates/имя_шаблона. В нем имеется код на подобии этого:
<div class="conttext"> {info} {content} </div> |
Здесь {content} выводит информацию с той страницы, на которой вы находитесь — главная, категории, теги, добавление новости и т.п. Вместо этой переменной подставляется тот или иной контент. В DLE есть специальные теги, которые аналогичны условным операторам в wordpress, и могут выводить информацию в зависимости от местоположения пользователя на сайте. Например код:
[aviable="main|date"] текст [/aviable] |
…будет выводить определенный текст на главной странице, а также странице просмотра новостей по определенным датам. Как вы уже поняли, ключевым моментом здесь есть тег aviable, который открывается и закрывается. Условие может быть «единичным» или совмещать несколько параметров, как в примере выше. Вообще для aviable допустимы такие значения (приведу наиболее интересные из них):
- main — на главной странице;
- cat — при просмотре категории;
- showfull — полное отображение новости;
- tags — новости из облака тегов;
- alltags — при просмотре облака тегов;
- date — при просмотре новостей за определенные даты;
- search — страница результатов поиска;
- static — при просмотре статических страниц;
- userinfo — просмотр профиля
- register — страница регистрации;
- addnews — при добавлении новости
- lastnews — при просмотре последних новостей;
- allnews — просмотр всех новостей сайта или всех новостей пользователя;
Вместе с aviable стоит отметить еще один интересный тег — [not-aviable], который делает все с точностью наоборот — то есть будет выводить текст везде кроме мест, указанных в теге. Параметры можно использовать те же.
Также нам пригодится еще один тег — category:
[category=X] Текст [/category] |
…где Х — это один ID или перечисленные через запятую несколько ID категорий, для которых будет выводится текст. При этом следует отметить, что и одиночные новости из этой категории также попадают в область применения тега. Поэтому нам нужно в файле main.tpl перед {content} разместить теги category с aviable следующим образом (есть и другой вариант, о нем чуть ниже):
[not-aviable=showfull] [category=5] Текст второй категории [/category] [category=4,3] Текст третье категории [/category] [/not-aviable] |
В этом коде разные описания для категорий DLE сайта будут отображаться на страницах категорий, но без тех, где выводятся полные тексты новостей. Все работает просто отлично, но есть небольшая проблема — данные описания категорий будут отображаться на всех страницах категории — первой, второй, третьей и т.п. Конечно, при этом ни о какой уникальности контента и эффективной seo оптимизаци и не может идти и речи.
В новых версиях DLE для решения этой задачи существует специальный тег page-count:
[page-count=1,2,3] Текст [/page-count] |
Он определяет на каких страницах должен отображаться текст. В примере выше он будет выводиться на первых трех страницах. Есть аналогичный тег с «отрицательным» значением not-page-count, но нам достаточно первого.
Итого, чтобы отобразить описание, например, категории с ID = 4 причем только на странице со списком новостей вы может использовать одну из представленных ниже конструкций:
[aviable=cat] [category=4] [page-count=1] Текст [/page-count] [/category] [/aviable] |
или
[not-aviable=showfull] [category=4] [page-count=1] Текст [/page-count] [/category] [/aviable] |
В интернете нашел первый вариант, второй придумал сам (проверял оба). Напоминаю, что всю эту конструкцию нужно расположить перед тегом {content} в файле main.tpl. Проблема использования page-count заключается лишь в том, что для ранних версий DLE тег page—count не работает. В таких случаях решить задачу можно с помощью специального модуля для DLE — CatFace. Давайте рассмотрим и этот вариант.
Установка и настройка модуля CatFace для DLE
В принципе, модуль CatFace делает все то же самое, что и реализация через специальные теги, но у него есть 2 преимущества — во-первых, он работает не только для самых последних версий DLE, во-вторых, этот вариант более наглядный и простой для редактирования.
Скачать модуль CatFace для DLE как и почитать о его особенностях можете здесь. Плагин бесплатный, за что разработчику отдельное спасибо. После установки в админке на странице модуля увидите список категорий своего сайта в таком виде.
Для установки модуля CatFace нужно:
1. Скачать модуль в виде архива по ссылке выше (там что-то вроде магазина, но плагин имеет нулевую цену, поэтому ничего платить не придется).
2. Распаковываем и копируем:
- папку engine + catface_installer.php в корневую директорию.
- содержимое uploads/templates/Default/ в директорию того шаблона, который вы используете.
3. Запускаем установочный файл http://site.ru/catface_installer.php (вместо site.ru поставьте свой домен). Следуете простым инструкциям. После завершения установки удаляем файл с ФТП.
4. В файле шаблона main.tpl нужно перед содержимым {content} добавить код:
[aviable=cat|main]{include file="engine/modules/catface.php"}[/aviable] |
На этом установка завершена. Заходите в админку DLE в модуль CatFace и переходите непосредственно к наполнению страниц категорий. Для удобства там имеется специальный текстовый редактор:
По каждой из категорий вы можете задать заголовок и текст описания не только для главной страницы раздела, но и всех остальных. Здесь имеются следующий настройки (жирным выделил те, которые у меня выбраны):
- Возможность выбора на какой странице активировать модуль — первой, нигде или на всех.
- Заголовок для категории (основной).
- Отображение заголовка — показать, по умолчанию, скрывать.
- Где отображать заголовок — на первой странице, на всех.
- Описание категории (основное).
- Заголовок для остальных страниц.
- Отображать описание — показывать, по умолчанию, скрывать.
- Где отображать описание — на первой странице, на всех страницах.
- Описание для остальных страниц.
В принципе, как видите, все предельно ясно и просто. Единственное. что при первом редактировании этих опций у меня были только поля для основного текста и заголовка, а остальные появились лишь при сохранении — то ли это глюк, то ли специально так задумано — я не разбирался. Кстати, еще хотел отметить, что возможно вам понадобится очистка кэша после внесения изменений в описания. Это можно сделать как через админку (в новых версиях), так и просто удалив с ФТП содержимое директории engine/cache.
В целом модуль CatFace для категорий в DLE неплохой, со своими задачами справляется. Что лучше использовать его или ручную правку шаблон — решать вам, оба метода, в принципе, подходят. Просто, например, в моем случае DLE старой версии, и там параметр определения страницы page-count не работает. Будут какие-то вопросы — пишите, кстати, многие из них можно найти на странице разработчика плагина.
P.S. Для молодых мама в сети полно тематических сайтов, но тут имеется нечто другое — это интернет магазин со всеми необходимыми товарами для малыша.
>>> Единственное. что при первом редактировании этих опций у меня были только поля для основного текста и заголовка, а остальные появились лишь при сохранении – то ли это глюк, то ли специально так задумано – я не разбирался.
Просто дополнительные поля появляются когда указываешь настройку «на всех страницах». Тогда поле для заголовка и описания выпадают тут же на странице без перезагрузок. Проверь :)
PS Приятно, что заюзал мой модуль :)
АлаичЪ, только что попробовал разные варианты — вылазит без перезагрузки, если выбрать «на первой странице», а не «на всех». Но в целом, да, выводится сразу. Модуль весьма удобный)
Точно, я перепутал =) Сам же забыл как свой модуль работает… :)
Раз уж занялся работой с DLE, то могу порекомендовать и другие модули: LinkEnso, SiteMap, TagFace (как CatFace, но для тегов).
Спасибо! Пойду на своём сайте тестировать.
Не могу понять поставленной цели. Чтобы текст размещенный в категории А, больше не повторялся на страницах других категорий, на главной странице, и в тексте главной странице и выводился над основным содержимым. А если у меня 20 категорий, сколько нужно кода лишнего вставлять. Легче сделать так, что оригинальность содержимого всех страниц регулировать самими постами и анонсами.
Могу подтвердить: DLE — вещь полезная.
Игорь, цель добавить уникального текста на страницу категории, возможно, с ключевиками и т.п. Не знаю как это можно сделать самими постами и анонсами. Через плагин все просто делается для 20 и 50 категорий.
Если разобраться, то это будет текст в 2 — 3 предложения, которые будут выводиться под шапкой и над самым верхним анонсом только на первой странице категории, уже на втором развороте категории этот текст не будет выводиться. Меня больше интересует именно код вставки текста, хоть трудоемко, но ресурсы меньше кушает. так я понял. А если не секрет, какие причины перехода с WordPress? Что предлагает DLE, кроме красивых бесплатных шаблонов
Для новичков просто супер познавательная статья.
Весьма грамотно написано помогло разобраться аж самому захотелось сайт на DLE сделать
Игорь, кажется я понял — предлагаете выводить новость (заметку) в которой писать описание той или иной категории, правда нужно как-то это заметку закрепить сверху + она ведь будет на главной выводится (хотя не факт). В общем с нюансами DLE не знаком, поэтому сделал так, как в посте.
На DLE я не переходил и не собираюсь, просто купил сайт и решил модернизировать, сделать его, так сказать лучше. Надеюсь найду время и еще один пост про DLE запощу тоже из разряда «улучшений». На WordPress ярких шаблонов не меньше)
Дмитрий, я бы не советовал)) Лучше сразу разбираться с WordPress и делать сайт именно на этой системе, DLE это «слегка» ужас. В общем, не впечатлило меня вообще никак.
на главной странице выводятся посты, если в редакторе статьи стоит флажок отображать на главной. Есть еще дополнение от Пафнутия, которые выводят выбранные новые статьи на главную, вот только основательно за изучение его так и не сел. WordPress и DLE так отличаются между собой, что используешь только умение читать код. Все остальное очень тяжело идет.
Мне нужно было найти такой «основательный» шаблон для WordPress не удалось, только поэтому полез в DLE. К нему нужно привыкнуть и сложить на локалке сайт, в нем ужас только тогда, когда его сравниваешь с вордпресс, его изучение пойдет, если имеете знания в стилях, хтмл, пхп, и с ним посидишь плотно месяц-второй.
Игорь, я имел ввиду «ужас» в том как именно все реализовано, это напоминает больше CMS из 2000-ных, все же сейчас технологии ушли подальше, а DLE такое впечатление осталась все там же.
У меня есть три ориентира: WordPress, Joomla, Dle. Полный ужас — это Joomla, к DLE есть некоторые претензии. WordPress — очень хорош, удобен, я создаю на нем блоги и сайты, все нормально работает, к тому же работаю только кодом. Если бы WordPress разделили на несколько версий: легкую, блоговую, и премиум, навели порядок в репазитории плагинов. ни на другой двиг не посмотрел, так как все бы работало быстро и не было ничего лишнего. DLE — мне нужно только потому, что у этого двига большой социум, есть разработки, и он изначально сайтовый двиг. ИМХО. С другими двигами еще ужасней, и ену кого спросить.
Установил этот модуль, нажимаю редактировать категорию заполняю нужные поля, нажимаю кнопку сохранить, но почемуто ничего не сохраняется в чем может быть причина?
sten, сложно сказать, я не ДЛЕ разработчик, может проблема в версии — попробуйте обратиться к создателю модуля на его сайте.
Здравствуйте, модуль поставил все замечательно, а как проставить заголовку и как изменить стиль заголовка. Заранее спасибо.
Как проставить заголовку аш 1
Приветствую.
Помогите решить проблему.
Есть категории, например А, Б, В, Г, Д
Иду в маин ставлю:
[not-category=А]А-текст[/not-category]
[not-category=Б]Б-текст[/not-category]
[not-category=В]В-текст[/not-category]
[not-category=Г]Г-текст[/not-category]
Захожу в категорию А отображаются категории Б, В, Г- отлично, меня устраивает это.
Захожу в категорию Б отображаются категории А, В, Г — отлично, меня устраивает это.
Но, если я захожу в полную новость категории А , то категория А там не отображается, если эта новость
добавлена в две категории, то не отображаются обе категории.
Как решить эту проблему?
Думал это поможет (ссылку затер) , но у меня версия 10.5
Сергей, к сожалению, я уже больше года не сталкивался с DLE и практически все забыл. Я бы погуглил решение задача на английском, возможно, кто-то там уже рассказывал как решить. Плюс не совсем понял суть проблемы, если честно. Там в статье сказано, что ограничение действует и на полные тексты новости, поэтому нужно еще условие showfull использовать. То есть если вы исключаете из категории А текст «А-текст», то это будет применяться и для полных новостей из А.
Полезно знать!