Уникальная метаинформация в пагинации
Материал из Umicms
Актуально для версии 2.9.6
Задача
Необходимо, чтобы keywords, description и title отличались на каждой подстранички, в рамках пагинации.
Решение
Задачу можно реализовать следующим образом:
В индексном шаблоне задайте переменную 'p' и
<xsl:param name="p" select="'0'" />
В этом же шаблоне, внутри тега <head> вызовите шаблон, например так:
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="en">
<head>
<xsl:apply-templates select="result" mode="seo-head" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
и в отдельном файле (который нужно будет потом подключить) опишите примерно следующий шаблон:
<xsl:variable name="page-num" select="$p + 1" />
<xsl:template match="result" mode="seo-head">
<xsl:choose>
<xsl:when test="$p > 0">
<title>
<xsl:value-of select="@title" disable-output-escaping="yes" /> - Страница <xsl:value-of select="$page-num" />
</title>
<meta name="keywords" content="{meta/keywords}, - страница {$page-num}" />
<meta name="description" content="{meta/description}, - cтраница {$page-num}" />
</xsl:when>
<xsl:otherwise>
<title>
<xsl:value-of select="@title" disable-output-escaping="yes" />
</title>
<meta name="keywords" content="{meta/keywords}" />
<meta name="description" content="{meta/description}" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Таким образом к keywords, description и title будет добавляться "- Страница номер_подстранички" и они будут уникальными.