Popularität der Beiträge darstellen

Da Weblogs Websites sind die aus vielen einzelnen Beiträgen bestehen, macht es Sinn die “Popularität” eines Beitrages herausfinden und dies auch präsentieren zu wollen.

Was man unter “populär” versteht das definiert wahrscheinlich jeder anders. Für den Einen ist das eher ein Beitrag welcher polarisiert und u. U. eine sehr provokante Sprache hat und daher zu einer Diskussion anregt und für den Anderen ist es eher ein nützliches Tutorial welches durch konstruktive Kommentare erweitert und vervollständigt wird. Aber das ist eher eine philosophische Diskussion, hier geht es um die schnöde Technik.

Wenn man auf wp-plugins.net nach dem Suchbegriff popular sucht bekommt man mehrere Plugins angeboten. Doch das sind längst nicht alle, andere Plugins zu diesem Thema findet man z. B. unter dem Suchbegriff stats (für Statistik).

Im Grunde genommen gibt es, um die Popularität eines Beitrages darzustellen, drei verschiedene Gruppen von Plugins. Die einen listen Beiträge auf mit den meisten Kommentaren (z. B. dieser), die anderen zeigen die Beiträge die am häufigsten aufgerufen wurden (also mit den meisten Klicks) und andere Plugins ermöglichen es, dass Leser die Beiträge bewerten können. Die Beiträge mit den besten Bewertungen werden dann gesondert aufgelistet.

Das Problem bei den letzen beiden Gruppen von Plugins ist, dass die älteren Beiträge es vergleichsweise schwer haben gegenüber den neuere Beiträgen. Daher eignen sich für Weblogs, die schon seit mehreren Jahren existieren und mehrere hundert von Beiträgen haben eher die Plugins, die die Anzahl der Kommentare eines Beitrages berücksichtigen. Auf der Website th7.org habe ich ein recht einfaches Plugin gefunden, welches eine definierte Anzahl von Beiträge mit den meisten Kommentaren auflistet.

Einfach auf der Website den Code kopieren, eine PHP-Datei erstellen, den Code dort reinkopieren, diese Datei in den Plugin-Ordner kopieren und anschließend aktivieren. Das Plugin kann man dann im gewünschten Bereich mit folgendem Code einbinden:

<ol>
<?php th7_most_commented(); ?>
</ol>

In der Zeile 12 der Datei ($limit) kann man eingeben wieviele Beiträge aufgelistet werden. So schaut das Endergebnis aus:

Wir arbeiten seit 20 Jahren mit WordPress und bieten diverse Dienst­leistungen rund um das System an. Kontaktiere uns für weitere Informationen oder für ein Angebot.

Verwandte Beiträge:

5 Kommentare

  1. Ist so eine Sache mit den Dingern, ich bevorzuge da Popularity Contest von Alex King, da es eine Kombination aus den von dir genannten Faktoren erlaubt, was meiner Meinung nach aussagekräftiger ist. Nur weil ein Artikel nicht so viele Kommentare erhalten hat muss das schließlich nicht automatisch bedeuten, dass er nicht populär ist.

  2. Nur weil ein Artikel nicht so viele Kommentare erhalten hat muss das schließlich nicht automatisch bedeuten, dass er nicht populär ist.

    Das habe ich auch nicht behauptet :-). Ich bin nur der Meinung, dass es die älteren Beiträge schwerer haben wenn nachträglich die “Popularität” der Beiträge anhand Klicks und Leserbewertung bewertet wird.

    Die Kommentare dagegen sind auch bei älteren Beiträgen vorhanden und eignen sich eher um auch die älteren Beiträge zu berücksichtigen.

  3. Stimmt natürlich, aber das lässt sich in besagtem Plugin auch alles gewichten, ganz wie man es gern hätte.

    Aber hasts ja selber schon gesagt, jeder definiert “populär” anders 🙂

  4. Zahl der Aufrufe:
    Die Popularität von Beiträgen anhand der Zahl ihrer Aufrufe zu ermitteln, würde bei mir (und das ließe sich sicher verallgemeinern) die Beiträge hervorbringen, die am häufigsten von Spam-Bots heimgesucht werden. Meist sind das über längere Zeiträume nur eine ganz kleine Zahl von etwa mittel-alten Artikeln (so etwa einige Monate bis maximal ein Jahr alt), die eben leider sehr häufig von Bots angesteuert werden.
    Wollte man diese Verfälschung wenigstens halbwegs ausfiltern, müsste man versuchen, nach dem Server-Antwortcode zu differenzieren. Also im Idealfall alle Zugriffe aus der Berechnung herausbekommen, die nicht mit einem Antwortcode 200 “akzeptiert” wurden. (Was IMO nur Sinn ergibt, wenn man ein frühzeitig “abgreifendes” Antispam-Plugin wie “Bad Behavior” einsetzt)

    Bekäme man auf diese Weise die Bots raus, hätte man immerhin ein Kriterium, welche Beiträge zu welcher Zeit (!) besonders oft gelesen wurden.

    Kommentar-Anzahl:
    Im Fall der Kommentar-Zählung ist es wohl tatsächlich so, dass die Anzahl der Kommentare darauf hindeutet, dass sich bei diesen Artikeln die Leser am ehesten angeregt fühlten, einen Kommentar abzugeben. Das muss mit der Gesamtzahl der Aufrufe tatsächlich gar nichts zu tun haben.

    Hier eine Gewichtung vorzunehmen und gut auffindbar darzustellen, zeigt den Lesern aber an, dass es bei diesen Artikeln auch eine Reihe von möglicherweise interessanten Kommentaren anderer Blogger zu lesen gibt. Was widerum zum Kommentieren anregen könnte. (Genau deswegen setze ich ein solches Plugin ein…)

  5. @Jeriko One: das ist so nicht ganz richtig. Leider nimmt sich das Plugin alle Kommentare, incl. der jenigen, die als Spam deklariert werden, so dass es auch da zu falschen Ergebnissen führt. Die Tabelle, die Popularity anlegt, wird gepflegt, sobald es neue Daten zum Beitrag gibt, und nicht erst, wenn die Kommentare etc. frei gegeben werden.

    Die Ausgabe der meistkommentierten Beiträge ist schnell mit einer DB-Abfrage gemacht. Ich nutze zum Beispiel folgende auf einer kleinen Statistik-Seite.

    function get_mostcommented($limit = 15) {
    global $wpdb, $post;
    $mostcommenteds = $wpdb->get_results("SELECT $wpdb->posts.ID, post_title, post_name, post_date, COUNT($wpdb->comments.comment_post_ID) AS 'comment_total'
    FROM $wpdb->posts
    LEFT JOIN $wpdb->comments
    ON $wpdb->posts.ID = $wpdb->comments.comment_post_ID
    WHERE comment_approved = '1'
    AND post_date_gmt comments.comment_post_ID
    ORDER BY comment_total DESC
    LIMIT $limit
    ");
    foreach ($mostcommenteds as $post) {
    $post_title = htmlspecialchars(stripslashes($post->post_title));
    $comment_total = (int) $post->comment_total;
    echo "$post_title ($comment_total)";
    }
    }

    Aber ebenso lese ich aus, wieviel Leute die Seite aufgerufen haben, damit erstelle ich dann eine Lesestatistik. Geht wunderbar mit dem Plugin sayfa-sayac.
    LG Frank

Kommentare sind geschlossen.