mmer häufiger findet man auf Webseiten, Blogs oder Online-Magazinen Angaben zur geschätzten Lesezeit eines Beitrags. Solche Hinweise verbessern die Nutzererfahrung, da Besucher auf einen Blick sehen können, wie viel Zeit sie für einen Artikel einplanen sollten. Bei kurzen Texten beträgt die Lesezeit häufig nur eine Minute, bei umfangreicheren Inhalten können es mehrere Minuten oder mehr sein. Doch wie lässt sich die durchschnittliche Lesezeit in WordPress ermitteln und anzeigen?
Wie lange ist die durchschnittliche Lesezeit bei Artikeln im Internet?
Die Lesezeit variiert stark je nach Textlänge, Aufbau, Thema und Zielgruppe. Zur Orientierung:
- Kurze Artikel (300–500 Wörter): ca. 1–2 Minuten
- Mittellange Artikel (800–1500 Wörter): ca. 3–5 Minuten
- Längere Artikel (ab 2000 Wörtern): ab 7 Minuten
Ein durchschnittlicher, geübter Leser erfasst etwa 200–300 Wörter pro Minute (WpM). Die tatsächliche Lesezeit hängt aber von verschiedenen Faktoren ab, u.a. der Lesegeschwindigkeit des individuellen Lesers, dem Vorhandensein von Bildern, Grafiken oder anderen Medienelementen oder auch der Komplexität des Inhalts. Manche Leser dazu auch neigen, Artikel nur zu überfliegen oder oberflächlich zu scannen, anstatt jedes einzelnen Worts zu lesen.

1. Der PHP-Code für die Berechnung der durchschnittlichen Lesezeit
Die Einbindung ohne Plugin ist in WordPress nicht sehr schwer. Mithilfe einer kleinen PHP-Funktion 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 (idealerweise Child-Theme!) 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
Möchten Sie, dass die Lesezeit bei allen Beiträgen oder Artikeln angezeigt wird?
Dann empfiehlt es sich, die Einbindung direkt im Theme vorzunehmen.
Dazu müssen wir die Berechnung der Lesezeit noch im Theme darstellen. Hier wird die PHP-Funktion “<?php echo reading_time(); ?>” genutzt. Man sollte sich gut überlegen, wo genau man die durchschnittliche Lesezeit anzeigen möchte. Dies kann auf der Einzelbeitragsseite (single.php), der Blogübersichtsseite (index.php) oder einer anderen benutzerdefinierten Seite sein, je nachdem, wo die Information sinnvoll erscheint. Es kann also je nach Theme-Layout ziemlich variieren. Vor der Bearbeitung sollte unbedingt eine Sicherungskopie der Theme-Dateien erstellt werden.
In der entsprechenden Theme-Datei bindet man die folgende Zeile mit ein:
<?php echo "Lesezeit: " . reading_time(); ?>Soll die Lesezeit nur auf bestimmten Beiträgen oder Artikeln angezeigt werden?
Dann kann man alternativ die Einbindung per Shortcode nutzen.
Soll die Lesezeit beispielsweise nur in einzelnen Beiträgen erscheinen, kann stattdessen der Shortcode verwendet werden:
[show_reading_time]Die WordPress-Shortcodes funktionieren in der Regel in Textbereichen, wie Beiträgen, Seiten und Widgets. In benutzerdefinierten Elementen außerhalb des Content-Bereichs könnte die Verwendung von Shortcodes aber Probleme bereiten.