Durchschnittliche Lesezeit in WordPress-Beiträgen anzeigen?

Immer häufiger stößt man im Internet auf Webseiten, Blogs und Artikel, welche die durchschnittliche Lesezeit für ihre Inhalte angeben. Wenn ein Besucher den Weg zur eigenen Webseite findet, wünscht man sich zweifelsohne, dass er dort möglichst lange verweilt und die vermittelten Informationen als nützlich empfindet. Bei kurzen Beiträgen beträgt die durchschnittliche Lesezeit oftmals nur eine Minute, bei umfangreichem Inhalt können es auch mehrere Minuten sein. Wie kann man die durchschnittliche Lesezeit eines Artikels (Reading Time) in WordPress anzeigen lassen?

Wie lange ist die durchschnittliche Lesezeit bei Artikeln im Internet?

Die durchschnittliche Lesezeit für Artikel im Internet kann je nach Inhalt, Format und Zielgruppe variieren.

  • Kurze Artikel – Länge von etwa 300-500 Wörtern – durchschnittliche Lesezeit etwa 1 bis 2 Minuten
  • Mittellange Artikel – Länge von 800-1500 Wörtern – durchschnittliche Lesezeit von 3 bis 5 Minuten
  • Längere Artikel – Länge von 2000 Wörter oder mehr – durchschnittliche Lesezeit von 7 Minuten oder länger

Ein durchschnittlicher, geübter Leser kann etwa 200 bis 300 Wörter pro Minute (WpM) erfassen. Die tatsächliche Lesezeit hängt aber natürlich von verschiedenen Faktoren ab, wie z.B. der Lesegeschwindigkeit des individuellen Lesers, dem Vorhandensein von Bildern, Grafiken oder anderen Medienelementen oder auch dem Thema und der Komplexität des Artikels. Manche Leser dazu auch neigen, Artikel nur zu überfliegen oder zu scannen, anstatt jedes einzelnen Worts zu lesen.

Wie kann man die durchschnittliche Lesezeit in WordPress-Beiträgen berechnen und darstellen lassen?

1. Der PHP-Code für die Berechnung der durchschnittlichen Lesezeit

Die Einbindung ohne Plugin ist nicht sehr schwer. Mithilfe einer kleinen PHP-Funktion für WordPress lässt sich die benötigte Lesezeit eines Textes anhand seiner Länge und der Lesegeschwindigkeit ermitteln. Für die Berechnung verwenden wir im Beispiel einen Mittelwert von 250 Wörtern pro Minute (WpM). Der folgende Code muss dann in der functions.php-Datei des Themes eingebunden werden:

/* Lesezeit Berechnung*/

function count_images($content) {
    // Verwende eine etwas zuverlässigere Methode zur Bildzählung
    preg_match_all('/<img[^>]+>/i', $content, $matches);
    return count($matches[0]);
}

function reading_time() {
    global $post;

    // DEN INHALT DES WORDPRESS-BEITRAGS ABRUFEN
    $content = get_post_field('post_content', $post->ID);

    // DIE ANZAHL DER WÖRTER ZÄHLEN
    $word_count = str_word_count(strip_tags($content));

    // DIE ANZAHL DER BILDER ZÄHLEN
    $image_count = count_images($content);

    // LESEDAUER FÜR TEXT – 250 WÖRTER PRO MINUTE
    $reading_time = $word_count / 250;

    // LESEDAUER FÜR BILDER – 10 SEKUNDEN PRO BILD
    $image_time = ($image_count * 10) / 60;

    // LESEDAUER FÜR TEXT UND BILDER ADDIEREN UND AUFRUNDEN
    $total_time = ceil($reading_time + $image_time);

    // ENTSCHEIDEN, OB SINGULAR ODER PLURAL
    $minute = ($total_time == 1) ? " Minute" : " Minuten";

    return $total_time . $minute;
}

// Shortcode für Lesezeit [show_reading_time]
function reading_time_shortcode() {
    return reading_time(); // Funktion aufrufen
}
add_shortcode('show_reading_time', 'reading_time_shortcode');

2. Einbindung direkt im Theme oder temporär mittels Shortcode

Soll die Lesezeit bei allen Beiträgen oder Artikeln angezeigt werden? Nutze die Einbindung direkt im Theme:
Dazu müssen wir die Berechnung der Lesezeit noch im Theme darstellen. Hier wird die PHP-Funktion „<?php echo reading_time(); ?>“ genutzt. Du musst Dir überlegen, wo genau du die durchschnittliche Lesezeit anzeigen möchtest. Dies kann auf der Einzelbeitragsseite (single.php), auf der Blogübersichtsseite (index.php) oder einer anderen benutzerdefinierten Seite sein, je nachdem, wo die Information sinnvoll erscheint. Das kann je nach Theme-Layout ziemlich variieren. Lege auf jeden Fall vor jeder Bearbeitung eine Sicherungskopie deiner Dateien an!

Dort fügst Du die folgende Zeile ein:

<?php echo "Lesezeit: " . reading_time(); ?>

Soll die Lesezeit nur auf bestimmten Beiträgen oder Artikeln angezeigt werden? Nutze die Einbindung per Shortcode:
In deinem WordPress-Editor kannst du alternativ auch den Shortcode [show_reading_time] in einem einzelnen Beitrag oder einer einzelnen Seite verwenden, um nur dort die geschätzte Lesezeit anzuzeigen.

 [show_reading_time]

Die WordPress-Shortcodes funktionieren normalerweise in Textbereichen, wie Beiträgen, Seiten und in der Regel auch in Widgets. In benutzerdefinierten Elementen außerhalb des Content-Bereichs könnte die Verwendung von Shortcodes aber Probleme bereiten

Schreibe einen Kommentar