Doppelindizierung durch Suchmaschinen vermeiden Doppelindizierung durch Suchmaschinen vermeiden
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Doppelindizierung durch Suchmaschinen vermeiden

Started by Timos-Welt, April 18, 2007, 12:39:15 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Timos-Welt

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?

Joachim Müller

Quote from: Timos-Welt on April 18, 2007, 12:39:15 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.

Quote from: Timos-Welt on April 18, 2007, 12:39:15 PMb) 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.

Quote from: Timos-Welt on April 18, 2007, 12:39:15 PMc) 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.

Timos-Welt

Quote from: GauGau on April 18, 2007, 12:51:05 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?

Joachim Müller

Die meta-keywords werden in displayimage.php definiert. Suche nach    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 Funktionsaurufpageheader(isset($CURRENT_ALBUM_DATA) ? $CURRENT_ALBUM_DATA['title'] : $lang_meta_album_names[$album]);die entsprechenden Daten mitgeben.

HTH

GauGau

Timos-Welt

#4
Ok, funzt:


    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);

Joachim Müller

Besser (korrekter) Syntax wäre$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.