Инструкция по созданию сайта на MODx. Урок 20 — Карта сайта для посетителей и поисковых машин
В одном из прошлых уроков мы с вами реализовали поиск по сайту на базе встроенного сниппета AjaxSearch. Сегодня мы разберем еще один элемент, который должен быть у каждого сайта и который значительно облегчит навигацию по нему. Сегодня мы поговорим о карте сайта.
Карта сайта — своеобразное содержание сайта, аналогичное содержанию книги. Обычно карта сайта состоит из ссылок на все страницы либо разделы, содержащиеся на сайте. Карта сайта наглядно показывает, из каких страниц состоит сайт, и она помогает пользователю быстро найти интересующую его информацию. Карту можно отнести к элементу навигации: со страницы, на которой она расположена, посетитель сможет в один клик добраться до любого раздела или материала, который ему нужен.
Создание карты сайта для посетителей
В MODx есть немало путей реализации карты сайта. В сегодняшнем уроке я вам покажу самый распространенный способ — с использованием сниппета Wayfinder.
Если вы помните, с помощью этого сниппета мы вызывали наши главное и вспомогательное меню на сайте.
Для того чтобы на какой-нибудь странице вывести дерево, состоящее из всех ссылок, достаточно вызвать сниппет с помощью следующей конструкции:
[!Wayfinder? &startId=`0`!]
В этом случае сниппет пробежит по всему дереву документов в MODx и выведет в виде списка ссылки на все ресурсы. При этом дочерние документы контейнеров будут отображаться в виде вложенных списков UL.
Если вы хотите, чтобы в итоговом дереве ссылок отображались также и документы, не отмеченные для показа в меню, необходимо добавить параметр &ignoreHidden=`1` при в вызове сниппета.
Итак, создаем страницу с заголовком «Карта сайта», убираем галочку «Показывать в меню».

Помещаем в область «Содержимое ресурса» только что созданной страницы конструкцию вызова сниппета Wayfinder:
[!Wayfinder? &startId=`0` &ignoreHidden=`1` !]
Но также следует иметь в виду, что иногда есть необходимость исключить некоторые документы из дерева ссылок. Например, логично было бы не выводить ссылку на страницу с результатами поиска, или на саму карту сайта. Чтобы исключить из вывода служебные страницы, воспользуемся параметром &excludeDocs. В этом параметре в вызове сниппета необходимо через запятую указать ID докуметов, которые вы не хотите видеть в карте сайта.
В моем случае страница с Картой сайта имеет идентификатор ID=36, а страница с результатами поиска ID=29, давайте исключим эти ресурсы из вывода карты сайта.
[!Wayfinder? &startId=`0` &ignoreHidden=`1` &excludeDocs=`29,36` !]
Также можно указать, по какому параметру производить сортировку выводимого списка ссылок, и допустимый уровень вложенности. Для этого воспользуемся параметрами: &level и &sortBy.
[!Wayfinder? &startId=`0` &ignoreHidden=`1` &excludeDocs=`29,36` &level=`5` &sortBy=`id` !]
Уровень вложенности и поле, по которому нужно отсортировать ваш список, можете указать любыми.
Последний штрих, который можно сделать в создании карты сайта, это обернуть конструкцию вызова сниппета в контейнер с CSS классом, например, sitemap, чтобы из CSS файла иметь возможность изменить внешний вид выводимого списка.
Итоговая конструкция в поле с содержимым страницы «Карта сайта».
<div class="sitemap">
[!Wayfinder? &startId=`0` &ignoreHidden=`1` &excludeDocs=`29,36` &level=`5` &sortBy=`id` !]
</div>
В CSS можете прописать внешний вид нашей карты, как вам вздумается. Например, в CSS файл assets/templates/site/styles/layout.css можно вставить следующую конструкцию:
.sitemap ul{ padding:10px; list-style-type:none; margin:10px 20px;}
.sitemap ul ul,.sitemap ul ul, .sitemap ul ul ul, .sitemap ul ul ul ul { padding:10px; list-style-type:none; margin:10px 20px; border-left: 3px solid #ccc;}
.sitemap ul li { padding:2px;}
.sitemap a{color:#666;}
.sitemap a:hover{color:#B2C629;}
После этого внешний вид карты сайта будет следующим:

Давайте поставим на нее ссылку в футере в блоке поиска по сайту под формой поиска. Для этого отправляемся редактировать чанк FOOTER.
Чтобы поставить ссылку можно воспользоваться специальным тегом MODx [~id~], который выводит URL страницы с указанным ID. В моем случае ID ресурса с картой сайта равен 36, поэтому вывод ссылки на эту страницу примет следующий вид:
<a href=”[~36~]”>Карта сайта</a>
У вас ID может отличаться.
Мы позаботились о наших посетителях, предоставив им возможность в один клик с карты сайта перебраться на любой документ на сайте. Но это еще не все. Сейчас давайте создадим такую же карту, но не для посетителей, а для поисковых машин. Это, так называемая, XML карта sitemap.xml, адрес к которой можно указать в панели управления поисковиков, и которая будет оперативно сообщать поисковым роботам о новых недавно появившихся страницах на сайте. Подробнее о XML карте вы можете почитать в википедии.
Создание XML карты сайта для поисковиков
Вначале вы можете ознакомиться с тем, что же такое XML карта в свободной энциклопедии wikipedia.
Я уже один раз описывал в своем блоге процесс создания XML карты с помощью сервиса xml-sitemaps.com и подключения её в панели вебмастеров Google и Яндекса. Этим способом вы можете также воспользоваться. Но в нем есть один существенный недостаток. Каждый раз при изменении структуры страниц вашего сайта, т.е. при добавлении или удалении материалов, созданная с помощью этого сервиса карта становится неактуальной, и вам каждый раз придется ее создавать снова и снова после внесения каких бы то ни было изменений в структуру сайта.
Чтобы избавиться от этого недостатка и чтобы XML карта генерировалась автоматически, давайте в MODx воспользуемся сниппетом Sitemap. Он не входит в дистрибутив, поэтому его сначала придется создать.
Отправляемся на страницу: Ресурсы→Управление элементами→ Сниппеты→Новый сниппет и заполняем поля:

Название сниппета: sitemap.
Описание: XML карта сайта.
Код сниппета (php): в эту область копируем содержимое файла sitemap.txt. Этот файл также приведен в списке в конце урока.
После этого нам необходимо произвести еще несколько подготовительных действий: создаем два TV параметра, необходимых для формирования XML файла, с типом ввода выпадающий список «DropDown List Menu» с именами sitemap_changefreq и sitemap_priority.
1. sitemap_changefreq — указывает на частоту изменения информации на сайте. При создании этого TV параметра заполните поля следующим образом:

Возможные значения: always||hourly||daily||weekly||monthly||yearly||never
Значение по умолчанию: можете вписать любое из возможных значений. Поставьте, к примеру, weekly.
2. sitemap_priority — указывает на приоритет страницы. При создании этого TV параметра заполните поля следующим образом:

Возможные значения: 0.1||0.2||0.3||0.4||0.5||0.6||0.7||0.8||0.9||1
Значение по умолчанию: любое из возможных значений, к примеру 0.7.
Как вы догадались, возможные значения для TV параметра с типом ввода «DropDown List Menu» отделяются друг от друга двумя вертикальными чертами: «||».
Не забудьте созданные TV параметры назначить для всех созданных шаблонов.

После этого при редактировании или создании ресурсов MODx будут отображаться дополнительные поля в виде выпадающих списков:

Далее создаем страницу с именем, например, «XML карта сайта», и псевдонимом sitemap.xml. В качестве шаблона обязательно из выпадающего списка выберите шаблон «(blank)».

В область содержимого помещаем конструкцию вызова сниппета.
[[sitemap]]
На вкладке «Настройка страницы» из выпадающего списка «Тип содержимого» обязательно выберите «text/xml». Также необходимо отключить HTML-редактор, для этого снимите галочку «Использовать HTML-редактор».

Внимание: убедитесь, что у вас включены дружественные URL на сайте.
Чтобы посмотреть на результат работы сниппета введите в адресной строке браузера:
http://ваш_сайт/sitemap.xml
В различных браузерах отображение этой карты будет разным, в Гугл Хром, например, карта будет в виде обычного текста, в Опере и Фаерфоксе, карта имеет вид разметки XML файла, но информация, которую эта карта передает, для всех браузеров будет идентична.

В качестве примера карты сайта, создаваемой с помощью сниппета sitemap, может стать карта моего блога http://efimov.ws/sitemap.xml.
После создания XML карты сайта, вы можете её также исключить из вывода обычной карты сайта. Для этого на странице с вызовом сниппета Wayfinder в параметр &excludeDocs добавьте Id ресурса, который использован в качестве XML карты.
Вы можете также посмотреть процесс подключения карты sitemap.xml в панели вебмастеров Google и Яндекса в одной из первых статей моего блога.
Измененные во время урока файлы, сниппеты и чанки:
- sitemap — скопировать содержимое этого файла в область «Код сниппета (php)» при создании сниппета
- layout.css — измененный файл с CSS стилями
Все описанные в этом уроке действия вы можете посмотреть в видео-уроке.
Видео урок: создание в MODx карты сайта для посетителей и XML карты для поисковых машин
Смотреть видео урок: создание в MODx карты сайта для посетителей и поисковиков
Размер: 7.6 мб. Длительность: 5 минут
Автор: Ефимов Виктор
Подпишитесь на обновления в блоге. Спасибо.
Вы можете также посмотреть другие уроки по созданию сайта на MODx:
- Урок 1 — Вступительный
- Урок 2 — Установка MODx CMS
- Урок 3 — Первоначальная настройка системы
- Урок 4 — Интеграция дизайна в систему управления
- Урок 5 — Настройка шаблона, разбиение на чанки
- Урок 6 — Дерево документов и создание страниц
- Урок 7 — Реализация динамического меню
- Урок 8 — Создание шаблонов и вывод содержимого страниц
- Урок 9 — Работа со специальными тегами MODx
- Урок 10 — Работа с визуальным редактором в MODx
- Урок 11 — Реализация цепочки навигации «Хлебные крошки»
- Урок 12 — Создание ленты новостей. Сниппет Ditto
- Урок 13 — Постраничное разбиение новостной ленты
- Урок 14 — TV параметры MODx. Добавление изображений ресурсам
- Урок 15 — Форма обратной связи в MODx. Сниппет eForm
- Урок 16 — Реализация вспомогательного меню на странице
- Урок 17 — Вывод слайд-шоу на главной странице с помощью сниппета Ditto
- Урок 18 — Вывод ключевых слов в MODx
- Урок 19 — Организация поиска по сайту. Сниппет AjaxSearch
- Урок 19.1 — Вывод изображения, прикрепленного с помощью TV параметра, в результатах поиска AjaxSearch
- Урок 20 — Карта сайта для посетителей и поисковых машин
- Урок 21 — Реализация галереи изображений
- Урок 22 — Перенос готового MODx сайта на хостинг
- Урок 23 — Скачать готовый MODx сайт, соответствующий веб-стандартам
blog comments powered by Disqus
- 700+ эффектных jQuery Mootools CSS решений для веб-разработчиков. Путеводитель по плагинам
- Свежие профессиональные jQuery плагины. Первая подборка в 2011 году
- Большая коллекция jQuery и Mootols красивостей
- Огромная коллекция ресурсов с бесплатными CSS шаблонами и заготовками
- Обзор и сравнительная оценка системы управления MODx
- Инструкция по созданию сайта на MODx. Урок 4 — Интеграция дизайна в систему управления
- 96 ресурсов, которые облегчат жизнь web-разработчику
- 15 советов которые помогут вам в дальнейшем грамотно и комфортно работать с CSS
- 40 CSS3 jQuery красивостей для ваших новых проектов. Часть 16
- jQuery элементы для веб-разработчиков. Часть 8
- Большое количество примеров оформления футера в web-дизайне
- Cлайдеры, галереи, меню, слайд-шоу и другие jQuery CSS решения. Часть 4
- Бесплатные шаблоны 2010. Очередная подборка классных свежих шаблонов
- 50+ полезных JavaScript ресурсов для веб-разработчика
- Инструкция по созданию сайта на MODx. Урок 18 — Вывод ключевых слов в MODx

