|
In den Logfiles viel mir auf, dass sich die Suchmaschinen auf leere Event-Seiten gestürzt haben. Aus diesem Grund setze ich jetzt in allen Event-Seiten ohne Veranstaltungsinhalt folgendes Metatag:
<meta name="robots" content="noindex, follow" />
Dazu sind folgende Änderungen notwendig:
com_events/events.php
An verschiedenen Stellen werden Text-Variablen ausgegeben, die auf der
Web-Seite darauf hinweisen, dass keine Events existieren (zum Beispiel
an einem bestimmten Datum). Unterhalb dieser Zeilen, die ungefähr so
aussehen "echo _CAL_LANG_NO_EVENT..." habe ich folgende Zeile ergänzt:
$mainframe->addMetaTag("robots", "noindex, follow");
Diese Stellen finden sich in verschiedenen Funktionen wieder. Bei den
betroffenen Funktionen muss die Variable $mainframe noch in die Liste
der globalen Variablen aufgenommen werden.
Um zu verhindern, dass die Robots-Metatags mehrfach ausgegeben werde,
habe ich eine getMetaTag-Funktion in der joomla.php hinzugefügt.
includes/joomla.php
function getMetaTag( $name ) {
$name = trim( htmlspecialchars( $name ) );
$n = count( $this->_head['meta'] );
for ($i = 0; $i < $n; $i++) {
if ($this->_head['meta'][$i][0] == $name) {
return $this->_head['meta'][$i][0];
}
}
return;
}
In der Funktion mosShowHead() frage ich dann ab, ob
bereits ein Robots-Metatag gesetzt ist. Falls nein, wird als default
"index,follow" ausgegeben.
includes/frontend.php
if ($mainframe->getMetaTag( 'robots') == "") {
$mainframe->addMetaTag( 'robots', 'index, follow' );
}
Bei mir bewirkt dieser Hack das gewünschte Verhalten.
|