Google sitemap
В UMI.CMS реализован протокол Google sitemap
Использование файлов Sitemap инструкция для веб-мастеров http://www.google.com/support/webmasters/bin/topic.py?topic=8476
Подробнее о протоколе https://www.google.com/webmasters/tools/docs/ru/protocol.html#sitemapXMLExample
Поддержка протокола может быть добавлена в UMI.CMS начиная с версии 2.5.3 Протокол sitemap реализован на основе протокола UMap
Необходимо отредактировать единственный для версии 2.5.3 файл ./umaps/sitemap.xml (совпадает с названием протокола по чистой случайности).
Протокол umap имеет более высокий приоритет чем шаблонизатор.
Это значит, что если в структуре сайта есть страница с именем google-sitemap, то она будет проигнорирована, т.к. в первую очередь обрабатываются правила протокола UMap
сгенерируется xml в результате вызова udata://content/sitemap/
она будет обработана в соответствии с правилами файла ./xsltTpls/google-sitemap.xsl и результат будет отдан системой с заголовком xml в сответствии с инструкцией serialize type="xml"
<?xml version="1.0" encoding="utf-8"?>
<sitemap>
<match pattern="^google-sitemap$">
<param name="cache" value="10" />
<generate src="udata://content/sitemap/" />
<transform src="./xsltTpls/sys-tpls/google-sitemap.xsl">
<param name="domain" value="{_http_host}" />
</transform>
<serialize type="xml" />
</match>
</sitemap>
Это правило использует файл находящийся в папке относительно корня сайта ./xsltTpls/sys-tpls/google-sitemap.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:php="http://php.net/xsl"
xsl:extension-element-prefixes="php"
exclude-result-prefixes="php">
<xsl:output encoding="utf-8" method="xml" indent="yes"/>
<xsl:param name="domain" />
<xsl:template match="/">
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84
http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">
<xsl:apply-templates select="//items"/>
</urlset>
</xsl:template>
<xsl:template match="items">
<xsl:apply-templates select="item"/>
</xsl:template>
<xsl:template match="item">
<url>
<loc>
<xsl:value-of select="concat('http://', $domain, @link)" />
</loc>
</url>
</xsl:template>
</xsl:stylesheet>
Чтобы добавить поддержку Google sitemap в уже установленную UMI.CMS необходимо скопировать
файлы из архива Файл:Googlesitemap.zip, соблюдая структуру папок в архиве (распаковать архив в корень сайта).
проверка работоспособности http://адрес_сайта/google-sitemap
XSD схема стандарта Google sitemap лежит в папке ./xsl/xsd/sitemap.xsd