вторник, 3 сентября 2013 г.

Как создать карту сайта в формате протокола Sitemap (3)

В продолжение темы автоматического формирования карты сайта для поисковиков в Composite C1 версии 4.0 и выше, следует упомянуть еще одну деталь.

Дело в том, что если ваш сайт:
  • многоязычный (т.е. имеет несколько языковых вариантов, скажем английский и русский) и/или 
  • включает в себя несколько подсайтов
то при добавлении /sitemap.xml к веб-адресу вашего сайта, карта сайта будет формироваться по-разному для версии 4.0 (официальная) и 4.1 (в данный момент бета).

Допустим у вас в одной инсталляции Composite C1 создано два под-сайта (на английском):
  • contoso.com
  • contoso.com/site2
Они связаны с именами узлов так:
  • contoso.com > contoso.com
  • contoso2.com > contoso.com/site2
И каждый из них имеет еще русский вариант, связанный с такими именами узлов:
  • contoso.ru
  • contoso2.ru


Версия 4.0


В версии 4.0 если вы добавите /sitemap.xml к одному из указанных выше имен узлов, то вы получите карту сайта соответствующего сайта - подсайта и языковой версии. То есть если вы откроете http://contoso2.ru/sitemap.xml, то вы получите стандартную карту сайта для второго подсайта на русском языке.

<urlset>
  <url>
    <loc>http://www.contoso2.ru/</loc>
    <lastmod>2013-08-29T11:31:30Z</lastmod>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>http://www.contoso2.ru/How-to</loc>
    <lastmod>2013-08-29T11:31:30Z</lastmod>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>http://www.contoso2.ru/Features</loc>
    <lastmod>2013-08-29T11:31:30Z</lastmod>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>http://www.contoso2.ru/Sitemap</loc>
    <lastmod>2013-09-02T10:08:19Z</lastmod>
    <priority>0.5</priority>
  </url>
</urlset>



Версия 4.1 (бета)


В версии 4.1 если вы добавите /sitemap.xml к любому из имени узлов, вы получите т.н. индекс карт сайтов (sitempap index). Индекс тоже понятен поисковикам и обычно используется для перечисления всех карт сайта, если их больше одной. В нашем случае, в индексе будут указаны отдельные веб-адреса карт всех сайтов - подсайтов и языковых версий.

<sitemapindex>
  <sitemap>
    <loc>http://contoso.com/en-US/sitemap.xml</loc>
  </sitemap>
  <sitemap>
    <loc>http://contoso.ru/ru-RU/sitemap.xml</loc>
  </sitemap>
  <sitemap>
    <loc>http://contoso2.com/en-US/site2/sitemap.xml</loc>
  </sitemap>
  <sitemap>
    <loc>http://contoso2.ru/ru-RU/site2/sitemap.xml</loc>
  </sitemap>
</sitemapindex>

При переходе по этим веб-адресам будет отображаться карта соответствующего сайта.

(Статья актуальна для Composite C1 версии 4.0 и версии 4.1 (бета - сборка 4.1.4988.19630).)

1 комментарий:

  1. Работаю с большим сайтом на композите. Возникла проблема в том, что в карте сайта не выводятся страницы, относящиеся к одному из сайтов. Проще говоря, когда я захожу на http://contoso2.com/en-US/site2/sitemap.xml то мне выбрасывает страницы для http://contoso.com/en-US/sitemap.xml хотя и с правильным хостом. Сейчас дошел до того, что пытаюсь по id страницы найти и вытащить правильные страницы в сайтмапе

    ОтветитьУдалить