HTML Meta-Daten setzen und pflegen

Über Meta-Tags können Sie nützliche Anweisungen für Web-Server, Web-Browser und Suchdienste zentral notieren und optional den Redakteuren zur Pflege anbieten.

Die HTML-Kopfdaten einer Webseite enthalten wichtige Informationen für Webserver, Browser und z.B. Suchdienste / Robots. Weblication® bietet Ihnen für dieses wichtige Instrument einfache Pflegemöglichkeiten für diese Metatags und die Ausgabe über das zentrale Ausgabetemplate.

In der BASE Projektbasis werden die HTML-Kopfdaten über das zentrale Darstellungstemplate (standard.wDocument.php) eingelesen. Definiert sind diese Angaben im htmlHeader-Template, welches im XSL-Template für die "XSLT-Includes und Funktionen" (includes.global.php) abgelegt ist.

Beispiel: Auszug aus /[IHR-LAYOUT-PROJEKT]/wGlobal/layout/templates/standard.wDocument.php zum Head

...
  ...
  <!-- Zentrale Funktionen, Templates und Skripte einbinden - -->
  <xsl:include href="$XSLTPRE[wDocumentRoot]/[IHR-LAYOUT-PROJEKT]/wGlobal/layout/templates/misc/includes.global.php" wd:pathTemplate="misc/includes.global.php"/>
  ...
  <!-- Definition der Darstellung -->
  <xsl:template match="/wd:document">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{$wLanguageProjectISO}" lang="{$wLanguageProjectISO}">
      <head>
        <!-- HTML-Kopf -->
        <xsl:call-template name="htmlHeader" wd:pathTemplate="misc/includes.global.php#htmlHeader"/>
      </head>
      <body>
      ...
...

An dieser Stelle definieren Sie die für Ihr Projekt wichtigen Kopfdaten der Projekt-Webseiten, unter anderem also Titel, Beschreibung, Schlüsselwörter, Robots-Einstellungen, etc. der Seite.

Beispiel: Auszug aus /[IHR-LAYOUT-PROJEKT]/wGlobal/layout/templates/misc/includes.global.php zum htmlHeader

...
  <!-- HTML-Header -->
  <xsl:template name="htmlHeader">
    <xsl:call-template name="insertPageTitle" />
    <xsl:comment>
      Diese Seite wurde mit Weblication® CMS erstellt.
      Weblication® ist ein Produkt der Scholl Communications AG in 77694 Kehl.
      Weitere Informationen finden Sie unter https://www.weblication.de bzw. http://scholl.de.
    </xsl:comment>
    <xsl:call-template name="insertPageDescription" />
    <xsl:call-template name="insertPageKeywords" />
    <xsl:call-template name="insertPageRobots" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>  
    ...
    <meta name="Generator" content="Weblication® CMS"/>
    ...
    <!-- Eigene Meta-Tags: -->
    <xsl:if test="/wd:document/wd:extension/wd:object/wd:data[@id = 'googletranslate']/text() = 'notranslate'">
      <meta name="google" content="notranslate" />
    </xsl:if>
    ...
    <xsl:if test="/wd:document/wd:extension/wd:object/wd:data[@id = 'ogimage']/text() != ''">
      <!-- Stellen Sie sicher, dass nur JPEG-, PNG- oder GIF-Bilder im Pfad auswählbar sind und die von Facebook empfohlene Bildgrösse verwendet wird -->
      <meta property="og:image" content="{/wd:document/wd:extension/wd:object/wd:data[@id = 'ogimage']/text()}"/>
    </xsl:if>
    ...
  </xsl:template>
...

Dieses Quelltextbeispiel führt an, wie Sie z.B. Meta-Tags für Google oder Facebook setzen. Diese Meta-Informationen können Sie entweder für alle Seiten ausgeben (ohne if-Abfrage) oder nur bei Seiten, bei denen entsprechende Werte gesetzt sind (mit if-Abfrage umschlossen).

Die Pflege dieser Informationen setzen Sie am besten über die Metadaten-Maske und ermöglichen so einem Redakteur die individuelle Einstellung pro Seite. Ein Beispiel finden Sie nachfolgend.

Beispiel: Auszug aus /[IHR-LAYOUT-PROJEKT]/wGlobal/layout/templates/editmasks/standard.metadata.php

...
  <div class="wEditorExtensionLabel">Google Übersetzungstool ermöglichen</div>
  <div class="wEditorExtensionValue">
    <!-- web:text:start editor="select" values="translate|notranslate" texts="<xsl:value-of select="php:functionString('wTexts::getTextUser', 'editor_yes')"/>|<xsl:value-of select="php:functionString('wTexts::getTextUser', 'editor_no')"/>" inputClass="select"--><xsl:value-of select="/wd:document/wd:extension/wd:object/wd:data[@id = 'googletranslate']/text()"/><!--web:text:stop-->
  </div>
...