WordPress Kommentare auf separate SEO-Seite auslagern

WordPress Kommentare werden bei WordPress normalerweise unter den Artikeln angezeigt. Zusätzlich kann man sich die letzten Kommentare per Widget in Sidebar einbauen. Damit hat man immer die aktuellsten Kommentare auf der jedem Artikel in der Sidebar. Das ist natürlich prima, denn dann sehen die Leser gleich wo aktuell Diskussionen geführt werden und kann dort hin klicken. Je nachdem wieviele Kommentare man angibt hat man dann auch eine gute Menge an zusätzlichen Links in der Sidebar. Und das ist natürlich auch wieder ein Problem aus SEO-Sicht. Denn angenommen man zeigt die letzten 10 Kommentare und verlinkt den Kommentator und auch den Artikel hat man schon 20 weitere Links auf seiner Seite – 10 davon sogar ausgehend. Das ist aus SEO-Sicht nicht unbedingt vorteilhaft.

Zu viele Links sind schlecht
Zwar sind interne Links grundsätzlich nicht schlecht. Sie stärken die interne Linkstruktur. Es werden viele unterschiedliche Artikel verlinkt. Aber zum Einen möchte man ja selbst steuern wohin die Links gehen und wohin der Linkjuice fließt. Zum Anderen sind 20 Links natürlich zu viel, Wenn man in der Navigation noch 10 – 20 Links hat, möglicherweise 10 Artikel anteasert, TOP-Artikel verlinkt, seine eigenen Meta-Seiten wie Impressum verlinkt und vielleicht noch ein paar Werbebanner hat kommen da schnell über 100 Links zusammen.

WordPress Kommentare – SEO-Seite
Aus diesen Gründen ist es ratsam, dass man die Kommentar-Links etwas reduziert. So kann man beispielsweise schon mal in der Navigation auf die Links zu den Homepages der Kommentatoren verzichten. Das spart schon mal die Hälfte der Links – zumal das ausgehende Links sind. (Siehe Kommentare in Sidebar ausgeben). Noch mehr Links sparen Sie wenn Sie alle 10 Kommentare auf eine einzelne Übersichtsseite verlinken auf der dann beispielsweise die letzten 30 Kommentare zu finden sind. Hierzu erzeugen Sie ein Seitentemplate, erstellen eine neue Seite (ohne Inhalt) und weisen diesem das neue Template zu. In diesem Template, das Sie am Besten aus der index.php kopieren entfernen Sie den Loop für die Darstellung der Teaser und ersetzen ihn mit diesem Code:

<?php
  $countMyComments = 15; $avatarSize = 50;  
  $comments = get_comments('status=approve&number='.$countMyComments);
  foreach ($comments as $comment) {
 
// Zwischenschritt Loop TheExcerpt holen
$commpoid = $comment->comment_post_ID;
query_posts( 'p='.$commpoid );
 
if ($commpoid2 != $commpoid) {
while ( have_posts() ) : the_post();?>
    &lt;a href="&lt;?php the_permalink() ?>" rel="bookmark" title="&lt;?php the_title(); ?>">&lt;?php the_title(); ?>&lt;br />
    &lt;?php echo '&lt;/a>';
    the_excerpt();
endwhile;wp_reset_query();
echo '&lt;br clear=all />';
}
$commpoid2 = $commpoid;
//End Zwischenschritt Loop
 
      $comment_string = $comment->comment_content;
      $comment_excerpt = substr($comment_string, 0, $cmtLen);
      if (strlen($comment_excerpt) > 149){
        $comment_excerpt .= ' ...';
      }
      echo get_avatar($comment->comment_author_email, $avatarSize);
      echo $comment->comment_author.': ';
      echo $comment_excerpt;
      echo '&lt;a href="'.get_permalink($comment->comment_post_ID).'#comment-'.$comment->comment_ID.'">';
      echo ' weiter zum Kommentar&lt;/a> '; echo '&lt;br clear=all />';
    }  
?>

Das Script macht nichts anderes, als dass es die letzten 15 Kommentare ausliest und für jeden Kommentar auch gleich noch den zugehörigen Artikel anzeigt. Falls mehrere Kommentare hintereinander zu einem Artikel kommen wird der Artikelteaser nur 1x angezeigt.

Kommentare in Sidebar anzeigen
Nun benötigen Sie noch eine Möglichkeit die Kommentare in der Sidebar anzuzeigen. Hierfür können Sie dieses kleine Code-Schnipsel nutzen.

<div id="MyComments" onclick="window.location.href='http://www.tipps-archiv.de/Kommentare';" style="cursor:pointer;">
<p class="menutitle_right">Kommentare&lt;/p>
<?php
  $countMyComments = 7; 
  $comments = get_comments('status=approve&number='.$countMyComments);
  if ($comments) {
    foreach ($comments as $comment) {
      $comment_text = $comment->comment_content;
      $comment_text2 = substr($comment_text, 0, 100);
      if (strlen($comment_text) > 99){
        $comment_text2 .= ' ... ';
      }
      echo get_avatar($comment->comment_author_email, 40);
      echo $comment->comment_author.': ';
      echo $comment_excerpt;
      echo '<br/>';
    } 
  }  
?>
<a href="http://www.tipps-archiv.de/Kommentare">Übersicht Kommentare</a>
 &lt;/div>

Fazit:
Mit dieser Änderung an Ihrer Seite können Sie die Anzahl der Links auf Ihrer Seite reduzieren und bekommen dafür eine schöne Übersiuchtsseite mit den aktuellsten Kommentaren zusammen mit den Teasern der Artikel. Sie können aus SEO-Sicht den Linkjuice steuern und haben für den User einen kleinen Mehrwert geschaffen.

Share this post:

1339

3 Kommentare

  1. Günter says:

    Hi,
    das klingt alles super aber ich hab den PHP-Code eingefügt und irgendwie scheinen die öffnenden und schließenden Tags nicht ganz zu passen, kann das sein oder mach ich was falsch? Ab wo muss ich denn, ausgehende von einer WordPress Standard index.php, den Code einfügen.. Wäre super wenn du mir das sagen könntest.. Danke..

    • swa says:

      Hallo Günther,

      danke für den Hinweis. Vor dem .’#comment in derdrittletzten Zeile hat das .‘ gefehlt.

      Ich hab das Ganze grad mal in dem Theme Twenty Twelve 1.0 ausprobiert, das ja immer bei WordPress dabei ist. Als Grundlage hab ich die Datei page.php genommen und als page_comment abgespeichert.
      /*
      Template Name: Template-Wolke
      */
      oben eingefügt und die Zeilen

      < ?php while ( have_posts() ) : the_post(); ?>
      < ?php get_template_part( 'content', 'page' ); ?>
      < ?php comments_template( '', true ); ?>
      < ?php endwhile; // end of the loop. ?>

      ersetzt mit dem angegebenen Quellcode.
      … dann muss man das neue Layout einer beliebigen Seite zuweisen.

  2. Günter says:

    Hi.. funktioniert nicht.. hab das Gefühl, dass ab der 9 Zeile, wo du den PHP-Tag schließt und sich keine neuer mehr öffnet irgendwas hakt.. aber andererseits, wenn du es eben erfolgreich getestet hast, muss ja bei mir der Fehler liegen.. Danke trotzdem für deine Hilfe!!

Reply to Günter Antworten abbrechen