How to Check the Word Count of Your WordPress Posts

Written by James Parsons James Parsons, updated on 08/19/2025 11 minute read 0 Comments

How To Check The Word Count Of Your Wordpress Posts

Blogging requires paying attention to a lot of different details, and often, marketers get lost in the weeds of keyword optimization and hyper-specific details. I should know, I'm one of them!

Sometimes, though, you realize there's a much more obvious and top-level metric you should be paying some attention to. One of those is word count.

Now, before we get into some lengthy discussion about ideal word counts and what constitutes "thin" content, I want to get ahead of that and say that this isn't a post about that. Rather, I want to talk more about the technical side and discuss specifically how to gather the data you need to do your content audits.

If you want to learn more about ideal word counts, though, I'm not going to leave you hanging.

There's plenty to learn, it's just not my focus today.

Setting the Stage

If you're reading the title of this post and thinking "but the word count is right there!" you're not entirely wrong.

For one thing, when you write your blog posts, you should probably have some idea of how long they are. MS Word, for example, allows you to display the word count in the corner at all times, and it's a couple of hotkeys to see it in Google Docs.

It's also available natively in WordPress. When you're writing or editing a blog post in the WordPress block editor, you can see the word count in a couple of different ways.

In the upper-left of the post editing window, there is a button with three stacked lines, like a burger menu that is in the process of falling over. It's the Document Overview button. Click that, and a new sidebar opens up and shows you the outline structure of your post. Click the Outline heading, and WordPress will tell you the word count and character count of your post.

Setting The Stage

You can also see the word count on the right-hand sidebar, where all of your post details are located. It's in the tab for post details, beneath the featured image and above the publication status details. It will tell you the word count and estimated reading time of the post. This is part of the default settings sidebar for posts.

SEO plugins like Yoast and AIOSEO also often have ways to view the word count of a post. These are generally coupled with SEO advice that tells you whether or not you should buff up the post, if it's in a similar state to competing posts, and derived information like keyword density for your primary keyword.

You might also have another plugin that adds word count information alongside other features. PublishPress Checklists, for example, allows you to set up a checklist for certain metrics to hit before a post can be published, and you can set a minimum word count that has to be hit before publishing. That's fine, but it doesn't apply retroactively and isn't super useful for auditing.

Gathering Data

These options are all fine for the post you're working on.

What if you want to get the word counts of all of the posts on your site, though?

For example, I was recently performing a content audit for a client. I wanted to view every page on their site with a low word count, so I could determine if they were pages that were fine as-is, if they should be fluffed up, combined, or removed. The specifics of making that determination are also a topic for another time ( and I have a post on content audits here), but you can't make that determination without the data, right?

Gathering Data

Using WordPress natively, there's no real way to easily gather this information. I would have to open up every post in the WordPress editor, harvest the word count, close it, and move on to the next. A lot of tedious copying and pasting of data across a spreadsheet, where you need to keep track of everything…

If you're doing five, ten, maybe twenty posts, that's acceptable. It's tedious and annoying, but acceptable. I wouldn't like it, but if I had to, I'd do it.

What if you want to audit a site with hundreds or thousands of posts, though? It's simply not feasible to gather information in that manner.

Surely there's a way, right? Fortunately, yes. The bad news is, I wasn't really satisfied with the options out there. There's a solution to the problem, so I'll give it to you later.

Option 1: Use a Scraper

The first option, and one that a lot of marketers might turn to, is using a scraper. SEO scrapers like Screaming Frog are powerful for harvesting all sorts of data for a content audit.

Option 1 Use A Scraper

Screaming Frog can gather word counts from either a list of blog URLs or just by scraping through a site. It's also eminently configurable; by default, it scrapes and counts all the words on a page, but since that catches a lot of non-post content (sidebars, headers, overlays, footers), you may want to narrow it down. You can do that fairly easily, as long as each page on a site is consistent.

There are a few downsides to using a scraper like this.

  • You have to pay for it. The free version can scrape up to 500 URLs, but to get all of the advanced data, you need a license that costs $280 per year.
  • It's external. That's fine if you're trying to do competitive analysis and check word counts for other sites, but if you have literal access to the dashboard and posts interface for the site, why approach it externally?
  • Scrapers can hammer a server. This is relatively rare as a problem these days, but part of that is because servers can blog IPs that are prowling around. You risk an incomplete scrape or a laggy site for a bit while it processes.

Basically, it's kind of like using a sledgehammer when you need a light tap. It works, but it's overkill and inelegant.

And hey. This is WordPress. Surely there's a plugin that does what we need, right?

Option 2: WP Word Count

Well, of course, there's a plugin for it.

WP Word Count is probably the most widely-recommended word-counting plugin that I've seen. Developed by RedLettuce, the plugin harvests useful stats about your blog posts and presents them in a small dashboard for you to analyze. You can see:

  • Total words for all content combined.
  • Total words for different types of pages, posts, and others.
  • Average word count for different types of content.
  • Similar data for just published and just scheduled content.
  • A list of your top content prioritized by word count.

You can also see this data divided up by author for multi-author sites, and you can see revision histories and all sorts of neat graphs.

Option 2 Wp Word Count

Unfortunately, I really don't like this choice either.

For one thing, it's still a sledgehammer solution, though it's a 5lb sledge instead of a 25lb sledge. It's a ton of data that, for my purposes, doesn't matter.

For another, it's pretty difficult to actually see the shortest posts, as opposed to the longest. You have to export your sum word count data and look at the raw spreadsheets. That's fine, but it's inconvenient.

It's also a paid plugin. It's only $30 for a year's license, but do you really want to pay $30 for word counts? They used to have a free version, but that free version was shut down due to a security issue, and they seem to have abandoned it.

Another group forked the free version and has updated it with some different features, and calls it Just Writing Statistics. It serves the purpose as a free word count analyzer, but it still has all of the same problems, except for the cost.

If you want a more lightweight version, you can use something like Article Word Count or Post Admin Word Count as an option. These are better, but I still prefer my third option.

Option 3: Custom Code

Let's be honest here. I'm a developer at heart, and that means I'm more likely to want to script up something myself than use someone else's heavyweight plugin for a simple feature.

I'm certainly not the only one. While digging around, I found a couple of other people who wrote similar scripts, and I'm pretty sure at least one of the plugins above is just a similar script in a wrapper. Nothing wrong with that, but I like it to be more open.

Here's my code snippet. I'll keep this page updated whenever I need to as WordPress changes, and if I ever decide to add more features to it.

Option 3 Custom Code

For now, all it does is take the word count data from posts as recorded by WordPress, and adds a new column in the WordPress post admin table to add that info. You can then easily sort by word count and see at a glance the shortest posts on a site.

Why should you use my code snippet over something you find elsewhere? It's really up to you. A lot of the snippets out there are pretty old – one at the top of the search results is from 2017 – and more recent code is generally more likely to avoid conflicts or issues, or outright breaking. I also try to stick to best practices for writing PHP, so there's not as much cowboy nonsense that could cause problems.

I've also tried to make this code snippet as self-contained as possible so it won't disrupt other plugins interacting with the admin post table, but please drop me a line if you find any conflicts!

How do you use custom code like this?

Generally speaking, you have two options.

The easiest option is to open up your functions.php file in your WordPress dashboard, copy and paste the code into it, and save it.

Some people recommend not using the functions.php file this way. Messing up existing code can break your site, and you have to make sure to back up the file before you edit it, just in case you need to fix it. It can also be overwritten in major WordPress updates. In other words, it can be messy and a bit of a maintenance hassle sometimes.

If you want to isolate or sandbox code like this, another option is to use a code snippets plugin. WP Code is the usual go-to for most people to make pseudo-plugins for individual functional code snippets like the ones I offer.

Personally, I have good backup hygiene and know my way around functions.php, so I'm not too worried about messing something up. If you're concerned, though, go ahead and use a snippet manager. I won't judge you for it.

Feedback and Improvements

Since this is my custom code snippet, I've done my best to make it lightweight, functional, and usable in any WordPress environment. That said, there's always the chance that edge cases will break it, or that it doesn't render quite right on someone's system, or that there might be added functionality that could be useful.

I made it for myself, but I'm publishing it for all of you. So, if you run into any problems with it, or if there are any features you'd like me to add to it, feel free to let me know. I can't guarantee I'll add new features right away – it's not the highest priority on my plate – but if it seems useful, why not? It can't hurt to ask.

Feedback And Improvements

I hope the custom code snippets I provide are useful to people, and this one has proven to be very useful to me. Since part of my content auditing process is identifying potentially thin content to address, being able to see it all in the dashboard you normally use is a very convenient option.

Either way, please let me know what you think in the comments section below!

Written by James Parsons

Hi, I'm James Parsons! I founded Content Powered, a content marketing agency where I partner with businesses to help them grow through strategic content. With nearly twenty years of SEO and content marketing experience, I've had the joy of helping companies connect with their audiences in meaningful ways. I started my journey by building and growing several successful eCommerce companies solely through content marketing, and I love to share what I've learned along the way. You'll find my thoughts and insights in publications like Search Engine Watch, Search Engine Journal, Forbes, Entrepreneur, and Inc, among others. I've been fortunate to work with wonderful clients ranging from growing businesses to Fortune 500 companies like eBay and Expedia, and helping them shape their content strategies. My focus is on creating optimized content that resonates and converts. I'd love to connect – the best way to contact me is by scheduling a call or by email.