Привіт, друзі. Я майже весь свій час приділяю внутрішньої оптимізації сайту і цільових сторінок. Так як більшість моїх сайтів побудовані на CMS DLE, то й доводиться багато працювати з цим движком. Я і раніше говорив, що з SEO розробники не дружать, і взагалі такого слова не чули ніколи, але все виявилося ще гірше, ніж могло б бути. Я навіть підготував цілу серію постів, присвячених «осеошиванию» народного движка (див. в категорії Datalife Engine).

Але сьогодні я б хотів поговорити про таку важливу річ як html карта сайту для DLE. Скільки я не шукав в інтернеті нормальний модуль карти, так і не знайшов. Є, звичайно, кілька рішень, але всі вони дають зовсім не той результат, який потрібен, а часом навіть завдають шкоди. Довелося писати модуль самому, а точніше доручити професіоналам реалізацію моїх «хотілок». Висловлюю величезну подяку Фоміну Олександру за ентузіазм і неймовірну швидкість роботи.

Модуль карти сайту для ДЛЕ, який я збираюся вам уявити, відповідає всім вимогам seo і максимально простий в установці.

Команда АлаичЪ’а трудиться не покладаючи рук і ось що у нас є для вас:
SiteMap
CatFace
SNVote Free
SNVote PRO
LinkEnso Free
LinkEnso PRO
TagFace
DonBot
Simple SEO

SiteMap – модуль генерації HTML карти сайту для DLE

Оригінальна назва: SiteMap
Сумісність з CMS: DLE 8.2-10.6
Розповсюдження: Безкоштовно, As Is, при поширенні посилання на джерело обов’язкове
Актуальна версія: 2.2 (від 08.05.2014)
Призначення: Вивід ненумерованного списку із посиланнями на всі публікації, категорії і статичні сторінки.
Особливості: Візуальний генератор коду для вставки. Детальна настройка принципу виведення всіх елементів сайту — новини, категорії, статичні сторінки — кількість виведених елементів, принцип сортування та порядок сортування, відображення елементів у вигляді посилання або простим текстом, можливість включити/виключити конкретні елементи.

Опис і налаштування модуля HTML карти сайту для DLE

Друзі, 3 червня 2012 — це великий день, світло вийшла абсолютно нова карта сайту версії 2.0. Ми піднімаємо планку зручності використання нашого модуля на новий рівень. Реалізована у модулі LinkEnso система візуальної генерації коду нам (сподіваюся, і вам теж) дуже сподобалася і ми вирішили впровадити її в модуль карти сайту. Тепер вам не треба читати керівництва та опис всіх функцій і їх значень — достатньо зайти в адмінку, вказати кілька значень і все — модуль готовий до роботи!

Крім сказаного вище, хочеться перерахувати ще кілька важливих особливостей:

  • модуль повністю кешується;
  • модуль використовує API DLE;
  • в карті не виводяться публікації, які не пройшли модерацію, а так само заплановані на майбутнє;
  • враховується наявність/відсутність ЧПУ, а так же тип ЧПУ;
  • передбачена така тонкість – якщо хто давно працює з движком ДЛЕ, то пам’ятає, що в ранніх версіях взагалі не було ЧПУ, а потім воно з’явилося, але тільки одного типу (такого ж, як зараз формується тип 3). Так ось це теж передбачено в даному модулі — нові публікації виводяться з до му, тип ЧПУ якого обраний в адмінці, а старі, відповідно, з до му ЧПУ старого типу.

Не дивлячись на появу візуального генератора, пропоную ознайомитися з механікою модуля.

Модуль вставляється в шаблон main.tpl з допомогою тега:
{include file=”engine/modules/sitemap.php?param1=value1¶m2=value2″}

param1= — параметр модуля, value1 — значення параметра. Налаштування модуля слідують після знака ? і розділені знаком &.

Приклад вставки (виводить карту сайту зі списком статичних сторінок і новинами з категорій з id=2,3,4):
[not-aviable=sitemap]{content}[/not-aviable]
[aviable=sitemap]{include file=”engine/modules/sitemap.php?show_static=1&need_cats=2,3,4″}[/aviable]

Для того, щоб карта сайту відображалася на окремій сторінці, тег {include …} необхідно укласти в [aviable=sitemap][/aviable], а тег {content} укласти в [not-aviable=sitemap][/not-aviable]. Після цього модуль буде доступний за адресою http://site.ru/sitemap/

Після будь-яких змін параметрів і їх значень необхідно очищати кеш в адмінпанелі.

Параметри модуля, що передаються через tpl при вставці:

  • need_cats — список id категорій через кому для виводу на карті
  • exc_cats — список id категорій через кому, виключаються з карти
    • дані параметри безглуздо вказувати одночасно
  • need_news — список id статей через кому для виводу на карті
  • exc_news — список id статей через кому, виключаються з карти
    • дані параметри безглуздо вказувати одночасно
  • need_static — список id статичних сторінок через кому для виводу на карті
  • exc_static — список id статичних сторінок через кому, виключаються з карти
    • дані параметри безглуздо вказувати одночасно
  • cats_as_links — показувати назви категорій як посилання (1 або 0)
  • show_static — відображати на карті статичні сторінки (1 або 0)
  • cats_sort — поле сортування списку категорій поле з таблиці dle_category)
  • cats_msort — напрямок сортування списку категорій (ASC або DESC)
  • news_sort — поле сортування списку статей (поле з таблиці dle_post)
  • news_msort — напрямок сортування списку статей (ASC або DESC)
  • static_sort — поле сортування списку статичних сторінок (поле з таблиці dle_static)
  • static_msort — напрямок сортування списку статичних сторінок (ASC або DESC)
    • можливі 2 варіанти напряму сортування:
      • ASC — за зростанням (за алфавітом)
      • DESC — за спаданням (в зворотному порядку)
    • якщо поле і порядок сортування не вказані, — використовуються задані налаштування категорій або стандартні параметри DLE
  • cats_limit — максимальна кількість виведених підкатегорій
  • news_limit — максимальну кількість нових статей з категорії
  • static_limit — максимальна кількість виведених статичних сторінок

Зауважте, жодна з наведених вище параметрів не є обов’язковою, можна взагалі нічого не вказувати — досить просто вставити тег {include file=”engine/modules/sitemap.php”} — тоді будуть використані налаштування за замовчуванням.

Зовнішній вигляд і класи стилів карти сайту

Опціонально передбачено змінення вигляду карти сайту, для цього відкриваємо файл стилів (style.css) свого шаблону і прописуємо нижчеописані класи.

Перелік CSS класів карти сайту:

.sitemap_categories – елемент

    списку категорій
    .sitemap_categories li – елемент

  • списку категорій
    .sitemap_items – елемент

      списку статей
      .sitemap_items li – елемент

    • списку статей
      .sitemap_static_pages – елемент

        список статичних сторінок
        .sitemap_static_pages li – елемент

      • список статичних сторінок

        .root – клас для перерахованих вище елементів, що знаходяться в корені списку

        .sitemap_categories a – елемент з назвою категорії
        .sitemap_categories span – елемент з назвою категорії
        .sitemap_items a – елемент з назвою статті
        .sitemap_static_pages a – елемент з назвою статичної сторінки

        Установка, видалення і оновлення модуля карти сайту на DLE

        Установка модуля

      • Розпакуйте архів з модулем;
      • Скопіюйте вміст папки uploads (крім /templates/) на сервер;
      • Вміст папки uploads/templates/Default/ помістіть в папку свого шаблону;
      • Запустіть файл http://site.ru/sitemap_installer.php і дотримуйтесь інструкцій;
      • Видаліть файл sitemap_installer.php з сервера;
      • Зайдіть в адмінпанель, виберіть модуль SiteMap і згенеруйте код;
      • Відкрийте файл main.tpl свого шаблону і знайдіть:

        {content}

        {content}

        Замінити на:

        [not-aviable=sitemap]{content}[/not-aviable]
        [aviable=sitemap]*сюди вставити код, згенерований в адмінці*[/aviable]

        [not-aviable=sitemap]{content}[/not-aviable]
        [aviable=sitemap]*сюди вставити код, згенерований в адмінці*[/aviable]

      • Відкрийте файл .htaccess, який лежить в корені (тобто там, де лежить основний index.php та знайдіть:

        RewriteEngine On

        RewriteEngine On

        Нижче додайте:

        # Карта сайту
        RewriteRule ^sitemap(/?)+$ /?do=sitemap [L]

        # Карта сайту
        RewriteRule ^sitemap(/?)+$ /?do=sitemap [L]

      • Відкрийте файл /engine/engine.php і знайдіть:

        $metatags = <<<HTML

        $metatags = <<

        Вище додайте:

        if ($do == ‘sitemap’) {
        $nam_e = “Карта сайту”;
        $metatags[‘title’] = “Карта сайту {$config[‘home_title’]};
        $metatags[‘description’] = “Карта сайту {$config[‘description’]};
        $canonical = ;
        }

        if ($do == ‘sitemap’) {
        $nam_e = “Карта сайту”;
        $metatags[‘title’] = “Карта сайту {$config[‘home_title’]}”;
        $metatags[‘description’] = “Карта сайту {$config[‘description’]}”;
        $canonical = “;
        }

      • Процес установки завершено — карта сайту доступна за адресою http://site.ru/sitemap/
      • Видалення модуля

      • Завантажте файл sitemap_uninstaller.php на сервер в папку де встановлено DLE);
      • Запустіть файл http://site.ru/sitemap_uninstaller.php і дотримуйтесь інструкцій;
      • Видаліть всі файли модуля, завантажені при установці;
      • Скасуйте всі правки файлів движка (main.tpl/.htaccess), внесені при установці;
      • Не забудьте видалити файл sitemap_uninstaller.php.
      • Оновлення модуля

      • Скачайте нову версію модуля з сторінки http://alaev.info/blog/post/1974
      • Розпакуйте архів з модулем.
      • Скопіюйте вміст папки upload (крім файлу sitemap_installer.php і папки /templates/) на ваш сервер, відповідаючи «Так» на питання вашого FTP-клієнта про заміни існуючих файлів.
      • Увага! Для поновлення з версії v.1.x до версії v.2.x:
        Необхідно повністю скопіювати нові файли з версії 2.x сервер, при збігу імен підтвердити заміну. Після цього необхідно запустити http://site.ru/sitemap_installer.php і слідувати інструкціям. На цьому оновлення завершено.

        Живий приклад роботи можете бачити тут: http://www.winterlife.ru/sitemap

        Завантажити модуль HTML SiteMap для DLE

        АКТУАЛЬНА ВЕРСІЯ: html sitemap dle v.2.2 — опис store.alaev.info або завантажити на store.alaev.info

        Історія версій (History Log)

        • v.2.2 — 08.05.2014
          • Повністю перероблено оформлення модуля для всіх версій DLE.
          • Виправлені дрібні помилки і вироблені поліпшення. Обов’язково при оновленні виконайте пункт з правкою файлу engine.php в інструкції по оновленню.
        • v.2.1.1 — 17.04.2014
          • Оновлено код модуля для сумісності з новим форматом файлу налаштувань DLE версії 10.2 і вище.
        • v.2.1 — 08.10.2012
          • Виправлений баг в генераторі коду.
          • Виправлені помилки в адмінці.
        • v.2.0 — 03.06.2012
          • Додано інсталятор.
          • З’явилася адмінка з генератором коду для вставки в шаблон.
        • v.1.2 — 02.06.2012
          • Введено контроль за версією DLE.
          • Модуль тепер сумісний з лінійкою DLE 8.2-9.6.
        • v.1.1 — 02.11.2011
          • Виправлені баги з деякими функціями модуля.
        • v.1.0 — 16.03.2011
          • Офіційний реліз.

        FAQ — відповіді на часті запитання

        Q: Навіщо мені дві карти сайту xml і html? У чому їх відмінність? Чи можна їх використовувати одночасно?
        A: Це абсолютно дві різні сутності: xml карта сайту призначена тільки для пошуковиків. html-карта сайту призначена для користувачів для навігації по сайту. Їх можна і потрібно використовувати одночасно.

        Q: Яку карту сайту треба додати в панель вебмастера Яндекс і Google?
        A: Пошукачам необхідно «згодувати» саме xml карту сайту, а не ту карту, що створює даний модуль.

        Q: Посилання на яку карту сайту можна поставити на сайту (наприклад, у футері)?
        A: потрібно Посилатися тільки на html-карту сайту, тобто ту, яка створюється даним модулем та доступна за адресою http://site.ru/sitemap/

        Q: У мене виникла наступна помилка, що робити?
        Fatal error: Cannot redeclare class Sitemap in /…/engine/modules/sitemap.php on line 55
        A: Скористайтеся альтернативної установкою карти сайту через статичні сторінки — метод описаний тут #comment-4816

        Q: чи Працює даний модуль на DLE 10?
        A: Так, все працює нормально. Але якщо у вас виникли якісь труднощі, то є ще один альтернативний варіант. Спасибі користувачеві під ніком Ryan — метод описаний тут #comment-16865

        Q: У мене дуже багато публікацій на сайті, і всі ці посилання виводяться на одній сторінці. Це ж лажа, Яндекс лається!
        A: Так, Яндекс лається. Щоб скоротити кількість посилань на сторінці, скористайтеся параметром обмеження виводу кількості новин news_limit (подробиці див. у списку параметрів).

        Q: Скільки посилань на сторінці карти можна/потрібно виводити?
        A: З офіційної відповіді служби підтримки Яндекса: рекомендована кількість посилань в html карти сайту не повинна перевищувати 3000 посилань.

        Q: А як же поділ карти сайту на сторінки? Зробіть будь ласка.
        A: Посторінкова розбивка карти сайту не мається на увазі структурою БД і логікою модуля. Найближчим часом можливість розбиття на сторінки не передбачається.

        Ось я все вам розповів, прошу завантажувати, тестувати і писати відгуки. Якщо знайдете якісь помилки — пишіть, все максимально оперативно будемо правити. Так само якщо є якісь побажання щодо функціоналу, доробок, теж пишіть, все обговоримо і зробимо!

        DISCLAIMER останнім часом помічено поширення даного модуля на різних сайтах, присвячених DLE, під іншими назвами, зі зміненим кодом, віддаленим/зміненим копірайтом і т. д. Але, тим не менш, ознаки того, що це саме даний модуль розроблений Олександром Фоміним, залишаються. Так ось — я не несу жодної відповідальності за дистрибутиви, викачані з інших сайтів.
        З повагою, Олександр Алаєв