Google und Weiterblättern, die Pagination

WordPress optimieren
WordPress optimieren

Google eröffnete am 15.09.2011 einen neuen Umgang der Suchmaschine mit Pagination/Weiterblättern. Stichworte dazu: rel=prev, rel=next.

Ich erkläre hier in diesem Artikel das bisherige Problem mit Pagination und Suchergebnissen.
Wie Google es nun für sich gelöst hat.
Wieso dies dennoch derzeit keine Lösung für WP ist -also wieso es sinnvoll ist die rel=next und rel=prev Links aus dem WP Header zu verbannen – und wie es geht ;).

Pagination /Weiterblättern / Seite 1 von 86 /vorherige Seite/nächste Seite erreicht man in WordPress mit:

  • <!- – nextpage- – >
  • next_posts_link
  • previous_posts_link
  • oder diversen Plugins

Und es geht um Linkbeziehungsangaben im html Header: also um die Links die ein link rel=““ im html haben.

Pagination und die Suchmaschine Google bisher

Seit „ewigst“ gibt es massive Probleme bei Googles Suchergebnissen, wenn man eine Kategorie oder eine einzelne Seite oder einen Artikel in mehrere Seiten aufgeteilt hat. Google bemängelt die gleiche meta description in den Webmastertools, Google zeigt in den Suchergebnissen zu einem irr hohen Prozentsatz immer nur die 1.Seite an, grad bei Kategorieübersichten und hat man einen einzelnen Artikel aufgeteilt ignorierte dies Google komplett -ja galt lange Zeit sogar als dublicat content, weil der ja anhand des Inhaltes einer „html“ Seite gemessen wird und nicht nur vom geschriebenen Artikel abhängt.

am 15.09.2011 verkündet Google rel=prev rel=next

Google erkannte selbst, dass bei einer Kategorie die 2te Seite genauso sinnvoll für den Suchenden sein kann wie die Erste. Vor allem in online Shops etc. Weil sie das Suchverhalten von Google Nutzer bis ins kleinste Detail ständig erforschen.

Nun implementierte Google die korrekten html header Angaben rel=next und rel=prev in das Programm seines Suchbots. Siehe: Google Webmasterzentrale.

Damit Google richtig erkennt ob man bei einer Kategorie auf der 1. oder 56 Seite ist und welche die vorherige oder nächste Seite ist, sollte nun um html Header:

Kategorie Hauptseite:

rel=next => Verweis auf /kategoriehauptseite/page/2/

ist man auf der /kategoriehauptseite/page/2/ sollte im html Header stehen:

rel=prev /kategoriehauptseite/
rel=next /kategoriehauptseite/page/3/

ist man auf der letzten paginierten Seite sollte logischerweise kein rel=next erscheinen.

Kann dies WordPress 3.2.1

Kürzeste Antwort: NEIN => so nicht.

WordPress bietet im html header rel=next und rel=prev, aber sehr eingeschränkt und manchmal „ein bisschen eigenartig“.
Mein Schelm und Schalk meint diesbezüglich: dies passiert, wenn Programmierer mit html Semantik konfrontiert werden. ;)

Nachdem ich ungern etwas behaupte ohne einen Beweis zeig ich nun auf was WP im html Header liefert, wenn man

index_rel_link, adjacent_posts_rel_link und parent_post_rel_link nicht in der functions.php aussperrt.
Manche sperren dies ja aus, weil sie glauben die Angaben rel=next und rel=prev seien ein Sicherheitsrisiko ;), dabei sind dies absolut korrekte html Angaben.

Ich wiederum sperre diese Angaben aus, weil sie semantisch nicht korrekt und nicht vollständig umgesetzt sind => derzeit.

index_rel_link

zeigt immer:

Magst Du nicht, dass dies automatisch durch wp_head im html Header erscheint, dann füge in die functions.php deines Themes folgendes ein:

remove_action( 'wp_head', 'index_rel_link' ); // index link

adjacent_posts_rel_link

Zeigt einfach die Beziehung eines Artikels rel=next oder rel=prev in zeitlicher Reihenfolge an.

Magst Du nicht, dass dies automatisch durch wp_head im html Header erscheint, dann füge in die functions.php deines Themes folgendes ein:

remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 ); // Display relational links for the posts adjacent to the current post.

start_post_rel_link

Zeigt schlicht und ergreifend rel=prev zum allerersten Artikel Deiner WP Installation, dies ist zu 99% „Hallo Welt“. ;)

Magst Du nicht, dass dies automatisch durch wp_head im html Header erscheint, dann füge in die functions.php deines Themes folgendes ein:

remove_action( 'wp_head', 'start_post_rel_link', 10, 0 ); // start link

parent_post_rel_link

Erscheint im html Header bei statischen Seiten.
Und unter d) sieht man, dass die Funktion parent_post_rel_link derzeit nicht die rel Angaben liefert die Google brauchen tät.

a)

Bist Du auf einer Seite, die entweder eine einzelne Seite ist oder eine „Parent“ Seite – also eine Seite mit Unterseiten- dann zeigt dies einfach rel=prev oder rel=next (oder beides) für die in zeitlicher Reihenfolge vorher oder nachher geschriebene Seite an.
Nicht auf etwaig vorhandenen Unterseiten. => das sollte es aber tun.

b)

Bist Du auf einer Unterseite ergibt dies:

rel=up zur Hauptseite

rel=prev zur Hauptseite

wenn vorhanden:
rel=next zur nächsten gleichrangigen Unterseite

c)
Bist Du auf einer Unter-Unterseite ergibt dies:

rel=up zur hierarchisch höheren Seite
rel=prev zur hierarchisch höhren Seite

wenn vorhanden:
rel=next zur nächsten gleichrangigen Unter-Unterseite

d)

Bist Du auf /seite/3

kommt nicht rel=prev zur /seite/2
und auch nicht rel=up zur /seite/2

und wenn vorhanden auch kein
rel=prev zur /seite/3

sondern wieder rel=prev zur nächsten gleichrangigen Unterseite /Seite
und wieder rel=up zur nächsthöheren Seite

Magst Du nicht, dass dies automatisch durch wp_head im html Header erscheint, dann füge in die functions.php deines Themes folgendes ein:

remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 ); // prev link

Ich selbst lasse alle Weiterblättern Seiten nicht in den Index von Google. Erstens, weil ich ziemlich viele Artikel pro KategorieSeite anzeigen lasse. Zweitens daher auf der Seite 2 einer Kategorie wirklich ältere Artikel sind. Und Drittens, weil ich der Meinung bin nicht die Quantität an Seiten im Index zählt, sondern die Qualität.
Wie ich das mache erklärte ich in diesem Artikel: Noindex.

Google bleibt spannend derzeit und ich freu mich, wenn die WP Developer reagieren.
9

9 Beiträge zu “Google und Weiterblättern, die Pagination

  1. Kommentar Autor
    ocean90
    Kommentar

    Mit WordPress 3.3 wird das ganze zum Glück einfacher.
    Denn nach dieser Änderung haben index_rel_link, parent_post_rel_link und start_post_rel_link ausgedient.

    Außerdem wird hier über die Implementierung der neuen rel=““ Attribute nachgedacht.

  2. Kommentar Autor
    Monika
    Kommentar

    Hi Dominik darauf freu ich mich :-) und recht herzlichen Dank für die INFO!

    Edit:allerdings hoff ich, dass sie dies auch für Pagination bei SingleSeiten machen und nicht nur bei Archiven –aber abwarten und Kaffee trinken derweilen …

  3. Kommentar Autor
    Maik
    Kommentar

    Die Aussage „wie Google es für sich gelöst hat“ finde ich echt gut. Das ist in Shops nicht so gut umsetzbar und auch in WordPress sehe ich das an einigen Stellen auch eher als schwer. Aber da lässt man sich ja auch gerne zeigen, dass es doch ein Plugin evtl. gibt. Evtl. machen wir uns da mal dran.

  4. Kommentar Autor
    Monika
    Kommentar

    Hallo Maik,
    stimmt in vielen Shops wirds schwerer,
    aber was tut mensch nicht alles um der Tante G zu gefallen …

    eine semantisch richtige Lösung für sowas fand ich durch einen G+ Hinweis vom Franz Josef Kaiser .

    Ich weiß, dass dies nicht für den html Header ist, aber er ruft ja auch auf zu „Fork&Co“ :-)
    und ich habe es heute Abend doch noch getestet und es funktioniert einwandfrei.

  5. Ping SEO: Google wertet das link-Element noch einmal auf | WordPress & Webwork

  6. Kommentar Autor
    Luna
    Kommentar

    Ich möchte Dir zuallererst mal ein dickes Lob für die Mühe aussprechen, die du dir hier gemacht hast. Nur durch den Einsatz von vielen Menschen ist WP so gut für mich nutzbar geworden. Ich benutze WP 3.2.1 und habe mir ein PlugIn besorgt, um innerhalb der Kategorien zu verlinken. Nun habe ich aber leider noch den previous und next – Link im Theme, was natürlich einigermaßen irritierend wirkt, denn ich möchte nur eine auf Kategorien basierende Pagination. Ich habe deine Ausführungen aufmerksam gelesen, aber ich fürchte es ist zu hoch für mich. Ich bin allenfalls zu minimalen Änderungen der php – Seiten imstande. Kannst du mir vielleicht erklären wie ich die linkangabe von previous und next unterdrücken kann ? Das müsste dann in der Funktions – php gemacht werden, oder ?
    Liebe Grüße, Luna

  7. Kommentar Autor
    Monika
    Kommentar

    Hallo Luna

    Du nutzt das Theme TwenteyEleven

    in der archive.php oder//und category.php

    findest Du

    ziemlich weit oben
    <?php twentyeleven_content_nav( 'nav-above' ); ?>
    
    da kommt ganz viel anderer code 
    dann 
    <?php twentyeleven_content_nav( 'nav-below' ); ?>

    diese beiden Sachen kannst Du löschen, wenn diese Navigation Dein Plugin macht,

    Dein Blog lädt dermaßen langsam, dass ich mir das aber nicht genau ansehen konnte was wo doppelt ist

    lg

  8. Kommentar Autor
    Luna
    Kommentar

    Ich bedanke mich für die Antwort. Ich habe beide Teile eben rausgenommen, das previous und next ist weiterhin dort.
    Naja, es war wenigstens den Versuch wert. Ich danke dir !
    LG, Luna

    P.S.: den Artikel hatte ich mir angesehen, durch ihn bin ich auf dich gestossen. Aber wie gesagt, ich verstehe nicht viel von html und php. Bin froh dass das Blog soweit funktioniert und fülle es mit Inhalten. Viel mehr geht bei mir nicht. ;-)

  9. Kommentar Autor
    Monika
    Kommentar

    das TwentyEleven ist auch sehr komplex, wenn man von php so gar 0 nix nada Ahnung hat

    :-)

    erfreu dich daran und später mal, traust dich vielleicht noch in anderen Templates danach zu suchen
    lg Dir