Урок 11. Создание карты сайта sitemap.xml
Карта сайта - это xml файл, который содержит структуру сайта, время обновления страниц сайта и другую информацию для поисковиков. Карту сайта можно создать несколькими способами, рассмотрим два из них:
Сниппет GoogleSiteMap
- Создайте ресурс с именем sitemap.xml Тип содержимого (Content Type) - XML, шаблон - Пустой Blank template
- Установите дополнение GoogleSiteMap
- В содержимое поле контента вставьте вызов сниппета [[!GoogleSiteMap?]], отключив при этом редактор кода и сохраните.
Карта сайта готова!
Параметры GoogleSitemap
Параметр | Описание | По-умолчанию |
---|---|---|
allowedtemplates | Выборка по указанным ИД шаблонов | |
containerTpl | Контейнер карты сайта | gContainer |
context | Контекст вывода элемнтов сайта | web |
excludeChildrenOf | Исключить дочерние элементы у ресурса с ИД (указываем) | |
excludeResources | Исключить ресурсы с ИД | |
googleSchema | Ссылка на структуру схемы | http://www.sitemaps.org/schemas/sitemap/0.9 |
hideDeleted | Скрывать удалённые ресурсы | Yes |
itemTpl | Чанк вывода отдельного элемента карты | gItem |
maxDepth | Глубина выборки (по-умолчанию - на всю глубину) | 0 |
priorityTV | ||
published | Выводить опубликованные | Yes |
searchable | Выводить те, что в поиске | Yes |
showHidden | Показывать скрытые от меню | No |
sortBy | Сортировать по полю | menuindex |
sortByAlias | Сортировать по псевдониму | modResource |
sortDir | Направление сортировки | ASC |
startId | Построение карты начинать с элемента с ИД | 0 |
templateFilter | Фильтр по шаблону | id |
where | Условие в формате JSON |
Теперь зайдите в свои панели вебмастеров Яндекса и Google и укажите путь к вашей карте сайта.
Создание карты сайта с помощью getResources
Иногда бывает так, что данный способ не подходит, тогда берём проверенный сниппет getResources и с его помощью создаём необходимую карту сайта.
Как же это сделать.
Для начала создаём шаблонирующий чанк googleSitemap.tpl:
lastmod - дата последнего редактирования
priority - приоритет от 1 до 9. Выбираем 5.
changefreq - частота изменения ресурса, возможные значения: always, hourly, daily, weekly, monthly, yearly, never
Создаём ресурс в корне сайта с именем sitemap.xml назначаем ему алиас (псевдоним) sitemap, тип вывода xml, шаблон - пустой. Ставим галочку - скрыть от меню (hide from menu).
Далее в поле Содержимое (content) помещаем вызов getResources:
Дополнительно рекомендую почитать:
Генерация Google Sitemap для тысяч ресурсов
Aug 08 2013 sitemap getResources Виктор Матушевский
Эдмк
10.01.2012 16:08В гугле не проходит проверку и такая карта сайта не показывает скрытые от показа в меню пункты.
Есть какие нибудь решения?
Viktorminator
10.01.2012 17:52&showHidden=`1`, всё проходит проверку, ищите ошибку. Гляньте на мою sitemap.xml
Эдик
11.01.2012 09:35За &showHidden=`1` спасибо, заработало :) Вот ссылка на карту http://art-saenko.com/sitemap.xml
Гугл при проверке пишет «Общая ошибка HTTP: 404 Не найдено», блин не пойму в чем вопрос, может есть варианты?
Эдик
11.01.2012 09:41Как всегда дело было в мелочи. Нужно было опубликовать ресурс :)
Еще маленький вопрос — есть еще настройки в [[!GoogleSiteMap?]] типа showHidden? Что бы изменить «changefreq» и «priority»
Viktorminator
11.01.2012 12:27http://rtfm.modx.com/display/ADDON/GoogleSiteMap.GoogleSiteMap
Совет - не используйте английские слова для страниц, лучше vishivka вместо work, biografia а в анкоре Биография Саенко, вместо about - обо мне
Эдик
11.01.2012 13:27Спасибо друг :)
Слушай но гуугл-капча все же парит, слишком замороченные надписи.
Viktorminator
11.01.2012 13:31Согласен. Она мне тоже надоела, но сайт засыпали спамом, поэтому ее установил. Скоро поменяю на более простую.
Эдик
11.01.2012 13:40Меня нет в вконтакте, на фрилансе есть http://www.free-lance.ru/users/ErikSvoboda/ и http://www.linkedin.com/profile/view?id=140142320&trk=tab_pro
Обязательно напиши, как поменяешь капчу, твои уроки очень помогли, хотя слегка неряшливо написаны :)
Алексей
22.01.2012 18:10Сделал все по инструкции, но пути в XML выводились без домена вообще. Не знаю как это исправить по нормальному, но я грубо вмешался в код /core/components/googlesitemap/elements/chunks/gitem.chunk.tpl и вторая строчка в тегах loc выглядит так: http://домен.ru[[+url]]
Зато гугл радостно скушал файл XML
Алекса
24.05.2012 23:54Вот у меня та же проблема, что и у Алексейя, но я ничего не копал в коде.
Viktorminator
25.05.2012 00:52Сейчас делаю карту сайта через getResources
Олег
25.05.2012 06:19Нужно обязательно отключить редактор, он устанавливает тег -p- и тип содержимого выбрать XML Все заработало
Юрий Гуляев
03.07.2012 19:13Сделал карту, все работает но выдает 2 ошибки в конце карты Нет данных в теге
Строка 76: loc В общем концовка карты такая:
2012-06-27
weekly
0.75
2012-06-27
weekly
0.75
Откуда то берутся 2 пустых УРЛ и соответственно ошибка в теге. Подскажите люди пожалуйста куда копать.
Юрий Гуляев
03.07.2012 19:18Теги съедаются, попробую так написать:
url
loc/
lastmod2012-06-27lastmod
changefreq>weekly changefreq
priority 0.75 /priority
/url
url
loc/
lastmod 2012-06-27 /lastmod
changefreq weekly /changefreq
priority 0.75 /priority
/url
/urlset
Viktor Minator
03.07.2012 21:15Юрий, используйте pastebin.com для показа кода.
Юрий Гуляев
05.07.2012 23:50Ну вот вначале идут 2 нормальных УРЛ и в конце 2 пустых, это концовка карты сайта. http://pastebin.com/rtmZAF2T
Zas Werd
09.07.2012 15:52не правильный алгоритм фильтрации параметров кмк. Я выбрал пункт published=1. По логике вещей, дочерние элементы таких ресурсов также не должны показываться, но GoosleSiteMap не показывает только документы, у которых явно стоит галка "не публиковать", а все его дочерние все равно показывает. Как быть с таким косяком?
Zas Werd
09.07.2012 15:52не правильный алгоритм фильтрации параметров кмк. Я выбрал пункт published=1. По логике вещей, дочерние элементы таких ресурсов также не должны показываться, но GoosleSiteMap не показывает только документы, у которых явно стоит галка "не публиковать", а все его дочерние все равно показывает. Как быть с таким косяком?
Юрий Гуляев
11.07.2012 19:29Люди помогите решить проблему пожалуйста, в конце карты сайта 2 пустых УРЛ http://pastebin.com/rtmZAF2T
Viktor Minator
12.07.2012 10:53Создайте тогда карту сайта с помощью getResources аналогично 17 уроку.
Юрий Гуляев
12.07.2012 18:36Там в 17-ом речь идет о создании RSS ленты, да и хочется разобраться откуда такая ошибка...
Бхакти Лата
20.10.2012 08:00Виктор! Скажите, пожалуйста, существует ли готовое решение для вывода карты сайта для людей в нормальном виде, т.е. аналогичное выводу дерева документов, с категориями и разделами?
Viktor Minator
20.10.2012 10:28да. можно использовать Wayfinder? &startId=`0`
Бхакти Лата
20.10.2012 17:58Но выводятся только статьи, категории, т.е. контейнеры не выводятся, и нет естественно логических связей между содержанием. В Evo был такой сниппет.
Dulat Artykbaev
09.10.2013 16:04Доброе время суток! прошу помочь sitemap не работает (modx rev)
Создал ресурс с именем sitemap.xml Тип содержимого — XML, шаблон — Пустой
Установил дополнение GoogleSiteMap
В содержимое поле контента вставьте вызов сниппета
wwwsait.kz/sitemap.xml
пишет: This XML file does not appear to have any style information associated with it. The document tree is shown below.
а дальше все пусто нет структуры сайта
Евгений
09.11.2013 23:11Хочу сказать спасибо автору за уроки. Теперь по делу долго пытался понять почему у меня не работает вывод sitemap.xml , пробовал оба способа и результат один и тот же
This XML file does not appear to have any style information associated with it. The document tree is shown below.
Оказывается чтобы все заработало надо настроить "Дружественные URL " , а настроить файл .htaccess , после этих манипуляций у меня все получилось , настроенный файл нашел здесь
http://community.modx-cms.ru/blog/solutions/7100.html .
Viktor Matushevskyi
09.11.2013 23:14Пожалуйста. Спасибо, что зашли. Вот ссылка, может тоже что полезное найдёте https://modx.ws/blog/blog-o-modx-revolution/nastrojka-chpu-i-htaccess-dlya-modx-revolution.html
Sergei R
21.12.2013 10:03Не могли бы подробнее эту строку расписать:
"Создаём ресурс в корне сайта с именем sitemap.xml назначаем ему алиас (псевдоним) sitemap, тип вывода xml, шаблон - пустой. Ставим галочку - скрыть от меню (hide from menu)."
Нужно создать ресурс с именем sitemap типом ввода xml и алиасом sitemap или файл в корне сайта sitemap.xml?
Николай Николаевич
05.01.2014 03:12Как заставить этот сниппет кодировать кириллические псевдонимы в пуникод? Он только домен сайта переводит.
Vladimir Tolstov
11.02.2014 11:42В статье много неточностей. В моем случае на сайте организованы дружественные URL, с помощью стандартных методов и дополнения translit. Инфу можно найти по запросу "быстрый старт modx revo", статья на хабре. Тут только замечу, что стоит поменять стандартный .htaccess на тот, который идет с modx. Он там висит под именем ht.access. Его надо переименовать. Плюс необходимо зайти "система / типы содержимого" и удалить в строке "html" расширение файла "html". По хорошему надо, чтобы страницы имели адрес: vash-sait.ru/novaya-stranica, без свяких .html и .php
Устанавливаете GoogleSiteMap. Далее создаете новый дочерний документ. В заголовке пишите "sitemap", шаблон меняете на "пустой", внизу отключаете Toggle Editor и вставляете в контент "" БЕЗ знака "?""!!! Далее в настройках документа меняете тип содержимого с HTML на XML. Сохраняетесь. Вбиваете адрес vash-sait.ru/sitemap.xml. Если дерево показалось, то все сделали правильно.
Vladimir Tolstov
11.02.2014 11:44!GoogleSiteMap - вставить надо это с двойными квадратными скобками по бокам. В первом посте сайт затер эти слова.
Вячеслав Горбунов
28.05.2014 16:56Добрый день!
Благодарен вам за уроки, много полезного.
создал карту сайта вторым способом, подгрузил в яндекс и получил 46 ошибок подобного содержания:
Неверное значение тега priority
Строка 12: 5
Неверное значение тега lastmod
Строка 17: 0
Как с этим бороться?
Заранее спасибо за ответ.