Menülinks mit einen nofollow versehen

Kategorie: Joomla 2.5.x
Erstellt: Mittwoch, 12. Dezember 2012 17:59
Zuletzt aktualisiert: Donnerstag, 13. Dezember 2012 00:28
Geschrieben von Martina Major

Normalerweise ist es gewünscht, dass Menüpunkte von den robots der Suchmaschinen besucht werden. Aber es soll auch Ausnahmen geben.

Wer also so eine Ausnahme hat, kann in Admin unter Menüs, Menüpunkt bearbeiten auch die Metadatenoptionen eintragen. 

Diese Werte werden allerdings nur bei der Anzeige der von Menüpunkt aufgerufenen Seite interpretiert und dort im head eingebunden. 

Wenn der robot aber dem Link nicht folgen soll, wäre der Eintrag direkt am Link ebenfalls sinnvoll. Aktuell macht Joomla 2.5 das allerdings nicht.

Wer sich mit Joomla auskennt, kann jetzt im Core herumeditieren und das Modul mod_menu anpassen, aber besser ist es, das Modul im Core so zu belassen und die Anpassung als Overide im Template durchzuführen.

Dazu erstellt man im Verzeichnis des verwendeten Templates das Unterverzeichnis html und darunter ein Verzeichnis mit dem Namen des zu überschreibenden Moduls, also in diesem Fall mod_menu

Dorthin kopiert man die TPL-Dateien aus dem Modul mod_menu.

Nun kann man den Code anpassen, in der Datei

default_url.php

wird ca. in der Zeile 16, nach der Zuordnung von class der folgende Code ergänzt:

// Override Joomla Core-Datei 2.5.8
// 2012-12-12 Martina Major
// nofollow aus der Menuezuordnung interpretieren und zum Menuelink 
// rel_nofollow hinzufuegen, wenn gesetzt.

$robots = $item->params->get('robots');
$nofollow = '';
$pos = strpos($robots, 'nofollow');
if($pos>0) $nofollow = ' rel="nofollow" ';

Jetzt enthält die Variable $nofollow entweder nichts, oder die komplette Anweisung rel="nofollow".

Diese muss nur noch an den 3 passenden Stellen am Ende der Datei im Link eingefügt werden.


<a <?php 
echo $nofollow.$class; 
?>href="<?php echo $flink; ?>" <?php echo $title; ?>><?php 
echo $linktype; 
?></a>

Mit der Datei default_component.php muss man dann noch die gleichen Anpassungen machen.

Die Dateien, die nicht geändert wurden kann aus dem Unterverzeichnis im Template wieder löschen. Das sind die default.php und die default_separator.php.

 

Hier der Download

http://doku.major-online.de/downloads/joomla/template-overide/mod_menu.zip