Skip to main content
SebasVergaraP

Control engineer and full-stack WordPress developer.

Estimating reading time is fine even when it is wrong

1 minute read

A reading-time estimate is a rough promise. It is useful because it tells the reader whether they are looking at four minutes or forty, and it is wrong for almost every individual reader.

The formula

Strip the markup, count the words, divide. The interesting decisions are what you strip and what you divide by.

inc/template-tags.php
$content = (string) get_post_field( 'post_content', $post_id );
$content = wp_strip_all_tags( strip_shortcodes( $content ) );
$words   = preg_split( '/\s+/u', trim( $content ), -1, PREG_SPLIT_NO_EMPTY );

return max( 1, (int) ceil( count( $words ) / 200 ) );

Why 200

200 words per minute is the common anchor, and it is far too fast for technical writing. Code samples are read slower than prose, not faster, which is why this theme lands deliberately on the conservative side of the usual range.

The only real failure mode is pretending the number is precise. Round it, never show a decimal, and let the reader adjust.

About the author

Sebastian Vergara is a Control Engineer and Full-Stack & WordPress Developer with over 7 years of experience in full-stack web development. His expertise encompasses end-to-end website design and launch, custom web and mobile application development, server administration, web security, search engine optimization (SEO), and database control.

Leave a comment

Your email address will not be published. Required fields are marked.