Google sitemap — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «== В UMI.CMS реализован протокол Google sitemap == Использование файлов Sitemap инструкция для веб-маст…»)
 
 
(не показаны 3 промежуточные версии 2 участников)
Строка 5: Строка 5:
  
 
Поддержка протокола может быть добавлена в UMI.CMS начиная с версии 2.5.3  
 
Поддержка протокола может быть добавлена в UMI.CMS начиная с версии 2.5.3  
Протокол sitemap реализован на основе протокола [[umaps]]
+
Протокол sitemap реализован на основе протокола [[UMap]]
  
 
Необходимо отредактировать единственный для версии 2.5.3 файл '''./umaps/sitemap.xml''' (совпадает с названием протокола по чистой случайности).
 
Необходимо отредактировать единственный для версии 2.5.3 файл '''./umaps/sitemap.xml''' (совпадает с названием протокола по чистой случайности).
Строка 11: Строка 11:
  
 
Протокол umap имеет более высокий приоритет чем шаблонизатор.  
 
Протокол umap имеет более высокий приоритет чем шаблонизатор.  
Это значит, что если в структуре сайта есть страница с именем '''google-sitemap''', то она будет проигнорирована, т.к. в первую очередь обрабатываются правила протокола '''umap'''  
+
Это значит, что если в структуре сайта есть страница с именем '''google-sitemap''', то она будет проигнорирована, т.к. в первую очередь обрабатываются правила протокола '''UMap'''  
 
сгенерируется xml в результате вызова '''udata://content/sitemap/'''
 
сгенерируется xml в результате вызова '''udata://content/sitemap/'''
 
она будет обработана в соответствии с правилами файла '''./xsltTpls/google-sitemap.xsl''' и результат будет отдан системой с заголовком xml в сответствии с инструкцией '''serialize type="xml"'''
 
она будет обработана в соответствии с правилами файла '''./xsltTpls/google-sitemap.xsl''' и результат будет отдан системой с заголовком xml в сответствии с инструкцией '''serialize type="xml"'''
Строка 21: Строка 21:
 
<param name="cache" value="10" />
 
<param name="cache" value="10" />
 
<generate src="udata://content/sitemap/" />
 
<generate src="udata://content/sitemap/" />
<transform src="./xsltTpls/google-sitemap.xsl">
+
<transform src="./xsltTpls/sys-tpls/google-sitemap.xsl">
 
<param name="domain" value="{_http_host}" />
 
<param name="domain" value="{_http_host}" />
 
</transform>
 
</transform>
Строка 29: Строка 29:
 
</source>
 
</source>
  
Это правило использует файл находящийся в папке относительно корня сайта '''./xsltTpls/google-sitemap.xsl'''
+
Это правило использует файл находящийся в папке относительно корня сайта '''./xsltTpls/sys-tpls/google-sitemap.xsl'''
 
<source lang="xml">
 
<source lang="xml">
 
<?xml version="1.0" encoding="UTF-8"?>
 
<?xml version="1.0" encoding="UTF-8"?>
Строка 71: Строка 71:
  
 
Чтобы добавить поддержку Google sitemap в уже установленную UMI.CMS необходимо скопировать
 
Чтобы добавить поддержку Google sitemap в уже установленную UMI.CMS необходимо скопировать
3 файла в корень сайта из папки http://www.umi-cms.ru/files/googlesitemap.zip
+
файлы из архива [[Файл:googlesitemap.zip]], соблюдая структуру папок в архиве (распаковать архив в корень сайта).
  
 
проверка работоспособности  
 
проверка работоспособности  
http://yourdomain.com/google-sitemap
+
http://адрес_сайта/google-sitemap
  
XSD схема стандарта Google sitemap лежит в папке '''./xsl/sitemap.xsd'''
+
XSD схема стандарта Google sitemap лежит в папке '''./xsl/xsd/sitemap.xsd'''
 +
[[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]][[Категория:Сторонние сервисы и программы]]

Текущая версия на 10:39, 21 октября 2010

В 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