Урок 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:
Дополнительно рекомендую почитать:В гугле не проходит проверку и такая карта сайта не показывает скрытые от показа в меню пункты. Есть какие нибудь решения?
Viktorminator&showHidden=`1`, всё проходит проверку, ищите ошибку. Гляньте на мою sitemap.xml
За &showHidden=`1` спасибо, заработало :) Вот ссылка на карту http://art-saenko.com/sitemap.xml Гугл при проверке пишет «Общая ошибка HTTP: 404 Не найдено», блин не пойму в чем вопрос, может есть варианты?
Как всегда дело было в мелочи. Нужно было опубликовать ресурс :) Еще маленький вопрос — есть еще настройки в [[!GoogleSiteMap?]] типа showHidden? Что бы изменить «changefreq» и «priority»
Viktorminatorhttp://rtfm.modx.com/display/ADDON/GoogleSiteMap.GoogleSiteMap Совет - не используйте английские слова для страниц, лучше vishivka вместо work, biografia а в анкоре Биография Саенко, вместо about - обо мне
Спасибо друг :) Слушай но гуугл-капча все же парит, слишком замороченные надписи.
ViktorminatorСогласен. Она мне тоже надоела, но сайт засыпали спамом, поэтому ее установил. Скоро поменяю на более простую.
Обязательно напиши, как поменяешь капчу, твои уроки очень помогли, хотя слегка неряшливо написаны :)
АлексейСделал все по инструкции, но пути в XML выводились без домена вообще. Не знаю как это исправить по нормальному, но я грубо вмешался в код /core/components/googlesitemap/elements/chunks/gitem.chunk.tpl и вторая строчка в тегах loc выглядит так: http://домен.ru[[+url]] Зато гугл радостно скушал файл XML
АлексаВот у меня та же проблема, что и у Алексейя, но я ничего не копал в коде.
ViktorminatorСейчас делаю карту сайта через getResources
Нужно обязательно отключить редактор, он устанавливает тег -p- и тип содержимого выбрать XML Все заработало
Юрий ГуляевСделал карту, все работает но выдает 2 ошибки в конце карты Нет данных в теге Строка 76: loc В общем концовка карты такая:
2012-06-27 weekly 0.75
Откуда то берутся 2 пустых УРЛ и соответственно ошибка в теге. Подскажите люди пожалуйста куда копать.
Юрий ГуляевТеги съедаются, попробую так написать: 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Юрий, используйте pastebin.com для показа кода.
Юрий ГуляевНу вот вначале идут 2 нормальных УРЛ и в конце 2 пустых, это концовка карты сайта. http://pastebin.com/rtmZAF2T
Zas Werdне правильный алгоритм фильтрации параметров кмк. Я выбрал пункт published=1. По логике вещей, дочерние элементы таких ресурсов также не должны показываться, но GoosleSiteMap не показывает только документы, у которых явно стоит галка "не публиковать", а все его дочерние все равно показывает. Как быть с таким косяком?
Zas Werdне правильный алгоритм фильтрации параметров кмк. Я выбрал пункт published=1. По логике вещей, дочерние элементы таких ресурсов также не должны показываться, но GoosleSiteMap не показывает только документы, у которых явно стоит галка "не публиковать", а все его дочерние все равно показывает. Как быть с таким косяком?
Юрий ГуляевЛюди помогите решить проблему пожалуйста, в конце карты сайта 2 пустых УРЛ http://pastebin.com/rtmZAF2T
Viktor MinatorСоздайте тогда карту сайта с помощью getResources аналогично 17 уроку.
Юрий ГуляевТам в 17-ом речь идет о создании RSS ленты, да и хочется разобраться откуда такая ошибка.
Бхакти ЛатаВиктор! Скажите, пожалуйста, существует ли готовое решение для вывода карты сайта для людей в нормальном виде, т.е. аналогичное выводу дерева документов, с категориями и разделами?
Viktor Minatorда. можно использовать Wayfinder? &startId=`0`
Бхакти ЛатаНо выводятся только статьи, категории, т.е. контейнеры не выводятся, и нет естественно логических связей между содержанием. В Evo был такой сниппет.
Dulat ArtykbaevДоброе время суток! прошу помочь 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. а дальше все пусто нет структуры сайта
ЕвгенийХочу сказать спасибо автору за уроки. Теперь по делу долго пытался понять почему у меня не работает вывод 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 Sergei RНе могли бы подробнее эту строку расписать: "Создаём ресурс в корне сайта с именем sitemap.xml назначаем ему алиас (псевдоним) sitemap, тип вывода xml, шаблон - пустой. Ставим галочку - скрыть от меню (hide from menu)."
Нужно создать ресурс с именем sitemap типом ввода xml и алиасом sitemap или файл в корне сайта sitemap.xml?
Николай НиколаевичКак заставить этот сниппет кодировать кириллические псевдонимы в пуникод? Он только домен сайта переводит.
Vladimir TolstovВ статье много неточностей. В моем случае на сайте организованы дружественные 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!GoogleSiteMap - вставить надо это с двойными квадратными скобками по бокам. В первом посте сайт затер эти слова.
Вячеслав ГорбуновДобрый день! Благодарен вам за уроки, много полезного. создал карту сайта вторым способом, подгрузил в яндекс и получил 46 ошибок подобного содержания: Неверное значение тега priority Строка 12: 5 Неверное значение тега lastmod Строка 17: 0 Как с этим бороться? Заранее спасибо за ответ.