Шрифт
Урок 11. Создание карты сайта sitemap.xml
Play

Урок 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»

Viktorminator

http://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 Как с этим бороться? Заранее спасибо за ответ.

📎📎📎📎📎📎📎📎📎📎