forum.coppermine-gallery.net

Support => Deutsch (German) => Language Specific Support => cpg1.4.x Deutsch (German) => Topic started by: Timos-Welt on April 18, 2007, 12:39:15 pm

Title: Doppelindizierung durch Suchmaschinen vermeiden
Post by: Timos-Welt on April 18, 2007, 12:39:15 pm
Die Robots der Suchmaschinen sind relativ schlicht gestrickt; sie indizieren alles, was man ihnen vor die Füße wirft. Mit der robots.txt kann man leider nicht regelbasiert, sondern nur verzeichnisbasiert Ausschlüsse festlegen.

Das führt dazu, dass ein und dasselbe Bild unter verschiedenen Links im Index der jeweiligen Suchmaschine landet. Ein Bild kann über sein Album, über den Menüeintrag "Letzte Kommentare", über "Am meisten angesehen", "Neueste Uploads" oder "Am besten bewertet" jeweils mit einer anderen URL betrachtet werden. Übel ist es, dass nur im Album selbst der Link permanent ist, die übrigen Links wechseln ja mehr oder weniger ständig, sobald ein Kommentar abgegeben wird, ein Bild besser oder schlechter bewertet wird als ein anderes usw.

In Frage käme eine Änderung der Galerie, so dass im Header der jeweiligen Seite ein entsprechendes Meta-Tag "Robots/NOINDEX" (s. http://www.google.ch/intl/de/remove.html ) aufgenommen wird, sofern sie aus den o. g. Bereichen kommt. Nur der Albumlink selbst soll auf das Meta-Tag verzichten und damit indiziert werden.

a) Lässt sich sowas in die aktuellen Version mit vertretbarem Aufwand integrieren, und falls ja, wie?
b) Könnten die Entwickler diese Idee für zukünftige Versionen von Coppermine berücksichtigen, ggf. optional machen?
c) Gibt es eine andere Möglichkeit, die Doppelindizierung zu verhindern?
Title: Re: Doppelindizierung durch Suchmaschinen vermeiden
Post by: Joachim Müller on April 18, 2007, 12:51:05 pm
a) Lässt sich sowas in die aktuellen Version mit vertretbarem Aufwand integrieren, und falls ja, wie?
Nein, das ist komplexer als man es sich denken sollte.

b) Könnten die Entwickler diese Idee für zukünftige Versionen von Coppermine berücksichtigen, ggf. optional machen?
Ist bereits passiert: der Devel-Code ist bereits mit absoluten statt relative URL-Parametern versehen.

c) Gibt es eine andere Möglichkeit, die Doppelindizierung zu verhindern?
Ich würde empfehlen, die Links zu den Meta-Alben (lastupload, random, etc.) mit dem Attribut rel="nofollow" zu garnieren - das hält zumindest den Google Spider vom Indizieren ab.
Title: Re: Doppelindizierung durch Suchmaschinen vermeiden
Post by: Timos-Welt on April 18, 2007, 01:09:03 pm
Nein, das ist komplexer als man es sich denken sollte.

Erklär's mir bitte - im Template gibt es doch bereits den Eintrag {META}, und es muss auch mindestens eine Stelle des Codes geben, an dem dort potentiell etwas reingeschrieben wird (es landen z. B. die Keywords in der displayimage.php im meta-Tag). Eigentlich wäre es in PHP doch max. ein Fünfzeiler die eigene URI auf bestimmte Signalwörter (z. B. topn) zu prüfen, und bei deren Vorkommen ein fixes Meta-Tag mit an diese Stelle zu schreiben. Das ganze könnte entweder auf jeder Seite, oder ausdrücklich nur für die displayimage.php stattfinden. Wo ist der Ansatzpunkt, bzw. was macht es so kompliziert?
Title: Re: Doppelindizierung durch Suchmaschinen vermeiden
Post by: Joachim Müller on April 18, 2007, 01:31:24 pm
Die meta-keywords werden in displayimage.php definiert. Suche nach
Code: [Select]
    if ($CURRENT_PIC_DATA['keywords']) { $meta_keywords = "<meta name=\"keywords\" content=\"".$CURRENT_PIC_DATA['keywords']."\"/>"; }
        //$meta_nav .= "<link rel=\"alternate\" type=\"text/xml\" title=\"RSS feed\" href=\"rss.php\" />
       // ";
        $meta_keywords .= $meta_nav;
    pageheader($album_name . '/' . $picture_title, $meta_keywords, false);
und bearbeite, wie Du es für richtig hälst. Die Funktion pageheader() (wird in themes/dein_theme/theme.php definiert) und kann als zweiten (optionalen) Parameter Meta-Tags aufnehmen. Müsstest also thumbnails.php bearbeiten und dort dem Funktionsauruf
Code: [Select]
pageheader(isset($CURRENT_ALBUM_DATA) ? $CURRENT_ALBUM_DATA['title'] : $lang_meta_album_names[$album]);die entsprechenden Daten mitgeben.

HTH

GauGau
Title: Re: Doppelindizierung durch Suchmaschinen vermeiden
Post by: Timos-Welt on April 18, 2007, 06:37:49 pm
Ok, funzt:

Code: [Select]
    if ($CURRENT_PIC_DATA['keywords']) { $meta_keywords = "<meta name=\"keywords\" content=\"".$CURRENT_PIC_DATA['keywords']."\"/>"; }
        //$meta_nav .= "<link rel=\"alternate\" type=\"text/xml\" title=\"RSS feed\" href=\"rss.php\" />
       // ";
        $meta_keywords .= $meta_nav;

    /* MODIFIKATION  BEGINN */

    $timo_url = $_SERVER['REQUEST_URI'];
    if ((preg_match("/topn/i",$timo_url)) || (preg_match("/lastcom/i",$timo_url)) || (preg_match("/toprated/i",$timo_url)) || (preg_match("/lastup/i",$timo_url))) {
        $meta_keywords .= "<meta name=\"ROBOTS\" content=\"NOINDEX, NOFOLLOW\">";
    }

    /* MODIFIKATION  ENDE */

    pageheader($album_name . '/' . $picture_title, $meta_keywords, false);
Title: Re: Doppelindizierung durch Suchmaschinen vermeiden
Post by: Joachim Müller on May 07, 2007, 02:45:24 pm
Besser (korrekter) Syntax wäre
Code: [Select]
$meta_keywords .= "\n". '<meta name="robots" content="noindex, nofollow" />';Die Suchmaschinen werden aber immer noch die thumbnails.php-Seiten der Meta-Alben indizieren, so dass auch dort entsprechende Tags eingebaut werden müssten.