Hinweis:
Es existiert eine aktualisierte Version dieses Artikels. Bitte besuchen Sie die Seite
Creating Sitemaps for Search Engines in unserem Inside FirstSpirit blog.
In vielen Projekten besteht die Notwendigkeit, eine Google-Sitemap vorzuhalten.
Nachstehend ein Beispiel dafür, wie man mit der Navigationsfunktion eine solche Sitemap erstellen kann. Hierbei werden auch die Einzelseiten einer Contentprojektion berücksichtigt:
<CMS_HEADER>
<CMS_FUNCTION name="Navigation" resultname="googleSitemap">
<CMS_PARAM name="expansionVisibility" value="all"/>
<CMS_PARAM name="wholePathSelected" value="0"/>
<CMS_PARAM name="siteMap" value="1" />
<CMS_ARRAY_PARAM name="unselectedHTML">
<CMS_ARRAY_ELEMENT index="0..10"><![CDATA[
<url>
<loc>http://www.domain.de/$CMS_REF(#nav.ref,abs:2)$</loc>
</url>
]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
<CMS_ARRAY_PARAM name="pageRefRendering">
<CMS_ARRAY_ELEMENT index="0..10"><![CDATA[
$CMS_IF(#nav.ref.getMultiPageParams(#global.language,#global.templateSet).getPageCount() > 1)$
$CMS_IF(!#nav.ref.getMultiPageParams(#global.language,#global.templateSet).getData().isEmpty)$
$CMS_FOR(#csPages,#nav.ref.getMultiPageParams(#global.language,#global.templateSet).getData())$
<url>
<loc>http://www.domain.de/$CMS_REF(#nav.ref,abs:2,contentId:#csPages.getId())$</loc>
</url>
$CMS_END_FOR$
$CMS_ELSE$
<url>
<loc>http://www.domain.de/$CMS_REF(#nav.ref,abs:2)$</loc>
</url>
$CMS_END_IF$
$CMS_ELSE$
<url>
<loc>http://www.domain.de/$CMS_REF(#nav.ref,abs:2)$</loc>
</url>
$CMS_END_IF$
]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
</CMS_FUNCTION>
</CMS_HEADER><?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
$CMS_VALUE(googleSitemap)$
</urlset>
Die Spezifikation für eine solche Sitemap findet man hier.