Sidebar
ein-/ausblenden

noindex, follow für das WordPress Suchresultet

Plugin für WordPress SEO

Anzeige

Das Webmaster Help Center von Google empfiehlt, die Suchresultate der Website aus dem index zu nehmen, sie sollten nicht gecrawlt werden, da sie keinen wirklichen Wert für den Besucher haben.

Mit der robots.txt-Datei können Sie verhindern, dass Suchergebnisseiten und andere automatisch erstellte Seiten, die keinen wirklichen Wert für Besucher haben, die über eine Suchmaschine auf Ihre Website geleitet wurden, gecrawlt werden.

Richtlinien für Webmaster

WordPress macht dies im Standard nicht. Allerdings kann das Theme schnell mit wenigen Handgriffen dafür optimiert werden, denn dazu stehen die Conditional-Tags zur Verfügung.

Einfach im head, in der Regel in der header.php zu finden, den folgenden Syntax unterbringen. Dazu den Eintrag meta name="robots" löschen und ersetzen.


<?php if (is_search()) { ?>

<?php } else { ?>

<?php } ?>

Update

Alternativ kann man mit Hilfe der Conditional-Tags anders abfragen. Die obige Lösung sollte auch nur ein Beispiel sein. Thorsten sendet mir gleich seine Version, die ich Euch nicht vorenthalten möchte. Mit Hilfe dieser Lösung wird gleichzeitig das Problem doppelter Content ausgeschlossen.


<?php if(is_home() || is_single() || is_page() ) {
echo "";
} else {
echo "";
} ?>

Update 2

So langsam wird aus der Vorlage zum Nachdenken eine Komplettlösung. Micha sendet mir eine weitere Lösung die das Problem der "wahren" Startseite einbezieht und so das Codeschnippselchen kompletiert.


<?php if ( ( is_home() && !is_paged() ) || is_single() || is_page() ) {
echo '';
} else {
echo '';
} ?>

Update 3

Es geht weiter mit einer ganzen Reihe von Lösungen. Hierbei ist zu erwähnen, dass es nun ein kleines Plugin gibt, welches simpel und unkompliziert in den head der Seite integriert. Wer also lieber ein Plugin anstatt des händischen Änderns im Theme nutzen will, der findet im Anschluss nun das Plugin von Enrique, welches er mir dankenderweise zur Verfügung gestellt hat.
Ebenso sollte die Anmerkung nicht unbeachtet bleiben: Es lohnt die Apache-Logs auszulesen, denn die Suchseiten werden wohl nicht indiziert. Dabei durchsucht man einfach die Log-Datei nach GET /?s=. Ich für meinen Teil habe das mal getan und dabei keinerlei Eintrag gefunden. Ansonsten sind alle URLs korrekt, so dass die eigentliche Idee hinter diesem Beitrag: Suchresultate nicht zu indizieren, hinfällig geworden ist und die reine Ausprägung „doppelter Content“, wie eng man das auch sehen will, beachtet werden sollte. Dazu folgender Lösungsvorschlag und das entsprechende Plugin.

Im weiteren ist mir aufgefallen, dass der Feed indiziert wird, obwohl ich ihn per robots.txt ausschließe - Disallow: */feed/, allerdings nicht von klassischen Suchmaschinen, sondern von Statistiktools und (Blog-)Verzeichissen etc.

Das Plugin arbeitet nach folgendem Lösungsansatz, wobei es per Konfiguration möglich ist, die Kategorien ebenso mit dem index, follow-Tag zu versehen.


if ( ( is_single() || is_page() || is_home() ) && ( !is_paged() ) ) {
	echo '' . "\n";
} else {
	echo '' . "\n";
}

Download:

Download als zip-DateiDownload als php-Datei: seo-by-enrique.zip - 13 KByte

23 Kommentare und 6 Trackbacks zu „noindex, follow für das WordPress Suchresultet“

  1. 1
    Kommentar von Oliver Muenk

    Kennst du das Plugin - Duplicate Content Cure Plugin for WordPress
    Erledigt noch meiner Infos den gleichen Job, ohne den Code anzufassen. Für alle, die den Code nicht verändern wollen.

  2. 2
    Kommentar von Micha

    Ein kleines Problem dabei gibts noch: die paged Seiten.
    Also:
    if(is_home() && !is_paged()) || is_single() || is_page {...}

  3. 3
    Kommentar von Micha

    ups, Klammer vergessen
    if((is_home() && !is_paged()) || is_single() || is_page {...}

  4. 4
    Kommentar von Frank Bültge

    @Oliver: nein, ist mir nciht bekannt. Empfinde aber für die Aufgabe ein Plugin überflüssig, da es im Template gut platziert ist. Aber sicher eine Alternative für alle, die so gar nicht an das Markup wollen.
    @Micha: habe es oben noch ergänzt, für die Copy/Paste-Leute.

  5. 5
    Kommentar von Micha

    @Oliver: Bevor ich mir wegen so einer Kleinigkeit ein Plugin antue, code ich lieber. mybeNI hat wieder ein Plugin gefunden, was XSS anfällig ist, SEO Title Tag. Plugins also nur wenn unbedingt nötig.

  6. 6
    Kommentar von Boris

    Eingebaut und zum Ausprobieren bereit. Gute Idee.

    Aber im Beispiel des Update 2 sind die Anführungszeichen falsch gesetzt! Und fehlt hinter "is_page" nicht die Klammer ()?

  7. 7
    Kommentar von Perun

    Hi,

    <meta name="robots" content="index, follow' />

    ist unnötig, da dies eh die "Standardeinstellung" für die Bots ist.

    Ich würde eher folgendes vorschlagen:

    <?php if(is_search()) { ?><meta name="robots" content="noindex, follow" /> <?php } ?>

    Die oben genannte Komplettlösung:

    <?php if ( ( is_home() && !is_paged() ) || is_single() || is_page {
    echo '<meta name="robots" content="index, follow' />";
    } else {
    echo '<meta name="robots" content="noindex, follow' />";
    } ?>

    würde ich persönlich nicht einsetzen, da dann die Kategorie- und Tag-Übersicht nicht indiziert wird und Kategorieübersicht ist für mich kein doppelter Inhalt im Vergleich zu der Startseite. Bei mir unterscheidet sich die Kategorieübersicht an einigen Punkten von der Startseite.

    Viele Grüße

  8. 8
    Kommentar von Frank Bültge

    @Boris: Danke! gefixt.

  9. 9
    Kommentar von Micha

    @Perun,
    bevor ich diese Maßnahme ergriff, habe ich mal nach einem Beitragstitel von mir gegoogelt und mir dann die übersprungenen Ergebnisse angesehen. Der Beitrag war unter /page/2/, category/bla/, tag/foo/, tag/bar/, 2007/06/.
    Überall doppelter Ihnalt. Jetzt, nachdem ich das umgesetzt habe, wird ein neuer Artikel nur noch 2x gelistet. Auf der Startseite, weil ich da die ersten 5 Beiträge mit the_exerpt anzeige und unter dem Permalink.
    Der Idealzustand ist doch, das die Suchmaschine einen Beitrag nur 1x unter seinem Permalink indexiert. Die Kategorien, Tags, Archive dienen doch nur den Nutzern, darüber etwas für sie Interessantes zu finden.

  10. 10
    Kommentar von Perun

    @Micha,

    Der Idealzustand ist doch, das die Suchmaschine einen Beitrag nur 1x unter seinem Permalink indexiert.

    Für wen ist dieser Zustand ideal? Für Google, sicherlich. Für Menschen ... das bezweifle ich.

    Die Kategorien, Tags, Archive dienen doch nur den Nutzern, darüber etwas für sie Interessantes zu finden.

    Ja sicher dienen sie den menschlichen Besuchern. Für die machen wir doch die ganze Arbeit ... nicht für Google. Daher macht es Sinn wenn z. B. ein Beitrag welcher sich z. B. mit WordPress beschäftigt dass dieser auch unter der Kategorie "WordPress" gelistet und indiziert wird.

  11. 11
    Kommentar von michael

    Hallo Frank!
    Ich benutze im Header nur den Ausschluß der Search; ich wollte nur kurz auf ein Problem hinweisen, das ihr als Pagerank starke Seiten wahrscheinlich garnicht mehr kennt. :-) Beiträge landen im Supplementalindex die Tag-Suche jedoch im normalen Index, da die Lieblingssuchmaschine diese dennoch nimmt, wenn man jetzt per deinem update script die Tag-Suchen nicht mehr indexieren lässt; ist man ganz draußen. Ich empfehle auf alle Fälle, daß pr-schwache Seiten wie ich vorher mit der Suche: site:www.bla-bla-bla.de& (die zeigt im Moment noch den Supplemental) anschauen auf was sie sich einlassen.
    Viele Grüße
    Michael

  12. 12
    Pingback von DimidoBlog » Bloglinks der Woche 13.08.-19.08.2007
  13. 13
    Kommentar von Frank Bültge

    @Michael und Perun: deshalb auch meine Empfehlung nur mit is_search() auszuschließen.

  14. 14
    Kommentar von Enrique Bergemann

    Hallo Frank!
    Habe die Diskussion hier gerade eben erst entdeckt. Ich habe mir vor einiger Zeit bereits ein einfaches Plugin geschrieben, das ich auf allen meinen WP-Domains erfolgreich und ohne Probleme einsetze. Ich schicke es Dir mit getrennter Post.
    Lieben Gruß, Enrique

  15. 15
    Kommentar von Marnem

    Wahrscheinlich stelle ich mich gerade bloß super doof an, aber egal welche der drei Lösungen ich in meinen Header schmeiße, jedesmal zerstört es mein Blog. Es wird einfach nichts mehr an den Browser übertragen und eine weiße Seite angezeigt. Gucke ich mir den Sourcecode der Seite an, ist es ein leeres File.
    was mach ich falsch?

  16. 16
    Kommentar von Frank Bültge

    hm, was soll ich dazu sagen?! Dazu müsste ich mir deinen Code ansehen und dazu fehlen mir deine Login-Daten.

  17. 17
    Kommentar von Marnem

    Damit hast Du natürlich absolut Recht.
    Manchmal hilft auch drüber schlafen, jetzt funktionierts nämlich.

    Danke !

  18. 18
    Kommentar von MBW

    Hi, ich habe tatsächlich das meiste verstanden. Habt ihr eine Idee, wie man es machen könnte, wenn für die fixen Seitenränder mit Links, standardmäßig eine Indexierung und follow erlaubt sein sollen, aber einzelne Beiträge und fixen Seiten nur nach Freigabe durch den Autor indexiert werden sollen (inkl. follow) und die Kommentare grundlegend gesperrt sein sollen? Ich bin gespannt, ob euch was einfällt. Die Metatags für Post-Beiträge und fixe Seitenbeiträge müssten dann dynamisch nach Eingabe ... äh, geht das überhaupt?

  19. 19
    Kommentar von Frank Bültge

    @MBW: Die Freigabe durch den Autor könnte man über ein "benutzerdefiniertes Feld" abfragen. Der Autor müsste dieses dann im Editbereich setzen. Je nach Wert des Feldes wird follow oder nofolles in den head geschrieben.
    Die Kommentare werden im Standard von WordPress nicht verfolgt - rel="nofollow". Warum das nicht so toll ist, dazu gibt es genügend Texte im www.
    Damit sollte deine Anforderung einfach lösbar sein, denn genau dafür sind diese "benutzerdefinierten Felder". Schau mal hier im Blog, im Plugin-Tutorial nud im Photoblog-Theme nutze ich diese Felder für ähnliche Anwendungen. Dort kannst du auch sehen und nachlesen, wie man auf sie zugreift. Das Photoblog-Theme bringt auch ein Plugin mit, mit dem man nur ein einzelnes Feld auslesen kann.
    LG Frank

  20. 20
    Kommentar von MBW

    @Frank - Ach ja - doch so einfach :-) - danke. Ich werde mich auf den genannten Stellen umschauen, jetzt weiss ich auf jeden Fall wonach ich suchen muss.

  21. 21
    Pingback von robots.txt auf heunihome - the long road
  22. 22
    Pingback von Was muss in die robots.txt » heunihome - the long road
  23. 23
    Kommentar von Michael

    funktioniert wunderbar, Matt Cutts hat es ja gerade im letzten Interview gerade bestätigt. Vielen dank

  24. 24
    Kommentar von Enrique Bergemann

    WICHTIGER HINWEIS:
    Wer seine Apache-Logs regelmäßig kontrolliert, wird feststellen, dass Google vor etwa zwei Wochen dazu übergegangen ist, simulierte Suchabfragen zu senden, um die Qualität der Datenbanken zu prüfen und verbessern. Abgesehen von der Tatsache, dass diese nervigen Abfragen die eigene Statistik verderben, sollten die vom Bot provozierten Ergebnis-Seiten das Noindex-Tag zurückliefern. Sonst ist doppelter Content garantiert.

  25. 25
    Pingback von Suchergebnisse von Googles Indexierung ausschließen
  26. 26
    Pingback von WordPress 2.5 und der neue Title Template Tag - bueltge.de [by:ltge.de]
  27. 27
    Kommentar von Kiki

    Hallo,

    vielen Dank für diesen wertvollen Tipp. So konnte ich endlich die blöden PlugIns für diesen Mist rauswerfen, da diese sowieso nicht das gemacht haben, was ich wollte. Vielleicht hab ich mich einfach zu blöde angestellt, aber mit dem Schnipselchen klappt's jetzt...

    Danke und Gruss Kiki

  28. 28
    Pingback von Suchabfragen werden indexiert | SEO | CashFreak.de
  29. 29
    Kommentar von Digitaluhren

    Hallo Frank Bültge

    - kannst du mit meinem vorherigen Kommentar zusammenschmeißen? -

    Wer nur eine bestimmte Seite nicht indexieren lassen will, kann das hier in setzen:

    <?php if( is_page('Seitentitel') ) { echo ""; } ?>

Kommentar schreiben

Kommentarregeln: Bleib cool, kritisch ist in Ordnung, aber wenn du unhöflich bist, dann lösche ich deinen Kommentar. Bitte benutze deinen persönlichen Namen oder Initialen und nicht den Namen eines Unternehmens, dies würde als Spam gewertet und wird gelöscht. Der Zusammenhang zwischen Namen und URL sollte nicht offensichtlich auf Spam hindeuten! ♥ Ansonsten, vielen Dank für den Kommentar und viel Spaß mit meinem Blog.

Kommentar-Hilfe

händischer Spam:
Beachte die Kommentarregeln, jede Form von versuchtem Spam wird gelöscht. Warum und wieso steht in einem meiner Beiträge.

Bezug auf Textstellen:
Du kannst direkt bezug auf Textstellen im Beitrag nehmen. Dazu muss lediglich der Bereich im Artikel markiert werden; daraufhin erscheint ein Button, der den markierten Text in das Kommentarfeld übernimmt und als Zitat auszeichnet. Die Funktion ist nur bei aktivem JavaScript nutzbar.

xHTML:
Du kannst folgende Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <pre> <em> <strong> <strike> <ul> <ul> <li>

Achte darauf, wenn du Code im Kommentar hinterlegen willst, dann muss der Code maskiert sein. Dann wird er nicht interpretiert. Der Code muss mit Hilfe von HTML-Entities dargestellt werden, d.h. dass man z.B. < als &lt; und > als &gt; einfügt.

E-Mail-Benachrichtigung bei neuen Kommentaren ?
Wenn der Haken in der Checkbox gesetzt ist, dann wirst du über neue Kommentare vie E-Mail informiert. Der Versand erfolgt nur, wenn du die URL in der Bestätigungs-E-Mail genutzt hast oder schon Abonnent hier im Blog bist.

Kommentar erscheint nicht:
Alle Kommentare werden manuell geprüft, freigegeben und nach Möglichkeit beantwortet. Bitte um etwas Geduld und Nachsicht.

Identifikationsbilder (Avatare):
Auf Gravatar.com kann man sich mit seiner E-Mail-Adresse registrieren und ein Bild hochladen, dann erscheint dieses Gravatar hier und in vielen weiteren Blogs.

Spamschutz:
Das Kommentarformular ist mit einem Spamschutz ausgerüstet. Solltest du diesen Artikel ohne JavaScript besuchen und kommentieren wollen, so muss du die Frage beantworten und das jeweilige Wort in das Textfeld eingeben.