WordPress Index Plugin: Create an Index of Your Website Content

Our clients sometimes ask for an index page on their WordPress site, or a blog post index listing articles in alphabetical order. Surprisingly, there is no good WordPress index plugin available for creating an index of your website content. Instead, I’m going to show you how to use our Posts Table Pro WordPress table plugin to create an index of pages, posts or even custom post types.

The finished WordPress index page will look something like this: (tip: you can create an index listing page/post names only, or you can include extra information by adding extra columns)

WordPress index plugin example


Keep reading to learn how to use Posts Table Pro as a WordPress index plugin listing all your website pages or blog posts. I’ll share how you can do the same to list any custom post type. You’ll even find out how to add filters to the index, listing other information such as categories and tags.

See a WordPress site index in action on our demo page.

What makes a good WordPress index plugin?

First, let’s look at what an index actually is. Then we can think about the best way to create an index for a WordPress site.

The definition of index is:

  1. “(in a nonfiction book, monograph, etc.) a more or less detailed alphabetical listing of names, places, and topics along with the numbers of the pages on which they are mentioned or discussed, usually included in or constituting the back matter.
  2. a sequential arrangement of material, especially in alphabetical or numerical order.”

Based on this, a WordPress site index plugin should list content such as pages, posts or other content types in an alphabetical listing. Moreover, the plugin should let you include other material from the site contents in the index, such as tags, categories, authors, or even custom fields and taxonomy terms.

Basically, if information can be stored as a post or other content type in WordPress, then you should be able to list it alphabetically using a WordPress index plugin. And even better, if you’re using WordPress to store information such as events or date-based articles, then the site index plugin should have options to list content in other ways such as date order.

You may also like: How to create an alphabetical index with a WordPress A-Z plugin.

Posts Table Pro – The perfect WordPress index plugin

If you Google ‘WordPress index plugins’, you’ll quickly discover that there aren’t many to choose from. That’s the first problem.

The next problem is that they don’t really provide the things you’d expect from a site index plugin. For example, I found one that seems to focus more on listing your site contents in a grid layout with thumbnail images, whereas I’d expect an index plugin to create a list layout instead. I found another plugin that hasn’t been updated for over 2 years, so that’s a big warning sign.

Fortunately, Posts Table Pro is perfect for creating a WordPress site index. It has all the features you’d expect from an index plugin:

  • Alphabetical index of WordPress blog posts

    Create an index of WordPress pages, blog posts, or any custom post type (e.g. e-commerce products, events, documents, portfolio case studies, testimonials, etc.).

  • The index items are listed in a table layout with whichever columns of information you choose to include.
  • There are multiple sort options, including alphabetical or date based sorting.
  • You can either index all your WordPress site content, or just create an index for a specific post type, category, tag or similar.
  • Users can search, sort and filter the index to find the content they’re looking for.


Before I tell you how to use the WordPress index plugin, we’ll look at a case study of a real index of website content in action. I’ll also suggest some other use cases. Read them and think about how the plugin would work for creating an index page on your own site.

Case study – Index of blog posts for Journey with Omraam

WordPress index plugin to list blog posts

Journey with Omraam wanted to create a WordPress index page listing all their site’s blog posts. You can see this on their ‘Search All Posts’ page.

The blog posts are listed in a table layout with columns for post title, content, post date, author and categories. Users can quickly find a specific article by using the keyword search box or clicking on a category to filter the index for that category. They can then click on the title to read the full post.

Use case – WordPress site table of contents

Most WordPress table of contents plugins don’t actually list all the pages from your website, which is what you’d expect. Instead, they create an internal table of contents to aid navigation within an individual post. They’re a good way to break up long articles because they add jump links to the various sections of the post. However, they’re not use for creating an index listing all your site’s pages!

You can use Posts Table Pro to list all the pages on your WordPress site in an alphabetical table of contents or index. Choose your columns, add any extras such as search box or dropdown filters, and it’s an ideal way to help people navigate your website. It’s far better than an HTML sitemap plugin because there are extra features such as search and filters, plus you can add extra data about each page instead of just the title.

Image here

Next, we’ll get to the practical part of this tutorial. I’ll show you exactly how to set up Posts Table Pro as a WordPress index plugin.

How to create an index of WordPress posts, pages or custom posts

  1. First, get Posts Table Pro and install it on any WordPress website. (You’ll find instructions for this in the confirmation email, including how to activate your license key.)
  2. Second, create a new page where you want to use the WordPress index plugin. Call it “Website Index Page”, “Index of Blog Posts” or whatever you like.
  3. Add this shortcode to the page: [posts_table sort_by="title"]

If you want to create an index of normal WordPress blog posts, then this will list them in a tabular index in alphabetical order. Alternatively, if you’re creating an index of WordPages or a custom post type, then you need to extend the shortcode to specify what type of content to index:

  • Index of website pages – [posts_table post_type="page" sort_by="title"]
  • Index of custom posts – [posts_table post_type="cptslug" sort_by="title"]. Replace cptslug, you need to add the slug for the custom post type that you want to create an index for. For example, if your custom post type is called ‘documents’ then the slug will be something like ‘document’. You can find the correct slug by going to the list of custom posts in the WordPress admin, and looking at the URL. This is the URL for the downloads custom post type on the Barn2 Media website: https://barn2.co.uk/wp-admin/edit.php?post_type=download. In this URL, you can see that the post type slug is ‘download’.
  • Index listing multiple post types – You can also create a WordPress index listing multiple post types. This shortcode will list posts and pages: [posts_table post_type="post,page" sort_by="title"].

Publish and view your WordPress index page. You’ll see your website content (whether posts, pages or custom posts) listed in a table-based index. Right now, the table just lists the default columns and I’ll tell you how to change these in a minute.

Configuring your WordPress site index

Ok, so far you’ve learned how to use a WordPress index plugin to create an index listing pages, posts or custom post types. Next, I’ll talk you through some popular ways to configure your index. Just bear in mind that Posts Table Pro comes with over 45 options, so this is just a sample of what the index plugin can do.

Choose which columns to include in the index table

By default, the WordPress index plugin creates a table with columns for featured image, title, summary, categories, post author, and publish date. You have full control over which columns to include. This affects what information is displayed on the website index page.

The available columns are post id, title, content, excerpt, image, date, author, categories, tags, status, or any custom field or taxonomy. There are full instructions for choosing your columns in the plugin knowledge base.

I’d say that every WordPress index is likely to include the title column. But perhaps this is the only column you need! It’s fine to just include a post name column, and nothing else.

Or if you prefer, you can add columns with extra information such as date, content, excerpt, tags, or perhaps any custom data you’ve created using custom fields and taxonomies.

How to sort your WordPress index in numerical order

Posts Table Pro doesn’t have an option to index site content in number order. However, you can do this by adding the numbers in a format that will also make sense in alphabetical order.

For example, let’s assume that you want to create a numerical index of WordPress content based on a column containing numbers 1, 2, 5, 10, 11, 22 and 29. Added in a single digit format, the numbers will be listed wrongly as 1, 10, 11, 2, 22, 29, 5. That’s because they’re in alphabetical order.

Instead, add them as 01, 02, 05, 10, 11, 22, 29. They’re still listed alphabetically, but the extra digit means that sorting in alphabetical and numerical order have the same result.

If you don’t want your index to list the numbers in this format, then here are some alternative suggestions:

  • Try adding sort_by="menu_order" to the Posts Table Pro shortcode. You can then manually set the order of the items in the index using the ‘Order’ field that comes with WordPress.
  • Sort by date instead. I’ll tell you how to do this next. Once you’ve enabled date sorting, you can hack the publish date of your WordPress posts/pages/custom posts to manually control the order of the index.

Sorting a WordPress index in date order

As well as sorting the index in alphabetical order, you can sort in date order.

To sort the index by date, add sort_by="date" to the Posts Table Pro shortcode. By default, the index will be listed with the most recent items first – or you can add sort_order="asc" to reverse this.

For example, the shortcode to create your WordPress posts index might look like this: [posts_table sort_by="date" sort_order="asc"]

Add filters to the index page

By default, the WordPress index plugin activates several ways to help users to find specific pages or posts more quickly. These are:

  • A keyword search box appears above the index list.
  • Users can click on any column header to sort the index by that column.
  • If the index includes a categories, tags or custom taxonomy column, then users can click on any item in these columns to refine the list.

That’s pretty good, but there’s a further option that you can add if you like. Posts Table Pro also comes with dropdown list filters which you can add above the index table. You can add filters for your post categories, tags, author and any custom taxonomy. Each filter appears as a separate dropdown above the list.

For example, this shortcode will create a WordPress index listing posts with a name column only, plus filters for categories and tags:

[posts_table columns="title" sort_by="title" filters="categories,tags"]

Exclude specific pages or posts from the index

Whenever I create an index page for a WordPress site, I’m always surprised at how many pages or posts I don’t actually want to include! Most websites end up with quite a bit of ‘hidden’ content that you don’t need in the index. For example, on our own website we have extra landing pages which sit outside of the overall navigation structure.

Fortunately, it’s easy to exclude specific pages, posts or custom posts from your WordPress site index. Simply use the ‘exclude’ option to list the ID of the content that you don’t need in the index. For example, this shortcode will exclude posts with the ID’s 123 and 987:

[posts_table columns="title" sort_by="title" exclude="123,987"]

For extra convenience, you can also exclude entire categories. E.g.:

[posts_table columns="title" sort_by="title" exclude_category="123,987"]

To find the post or category ID, just go to its ‘Edit’ screen (e.g. the Edit Post page) and look for a long number in the URL. For example, the URL of the post I’m currently writing is https://barn2.co.uk/wp-admin/post.php?post=40068&action=edit which tells me that its ID is 40068.

The WordPress index plugin also has several options to include specific posts, so check out the knowledge base for full details of what’s possible.

Create a WooCommerce index listing e-commerce products

Posts Table Pro works lets you create a product index for practically all WordPress e-commerce plugins. This includes Easy Digital Downloads, WP eCommerce and others. That’s because all these e-commerce plugins store their products as a custom post type. And as we’ve seen, you can use Posts Table Pro to create an index for any WordPress custom post type – including products.

As a result, you can follow the steps in the above tutorial to create an index of products for any WordPress e-commerce plugin.

You may also like: Learn how to use Posts Table Pro to list Easy Digital Downloads products.

It also works for WooCommerce. However, if you need an index of WooCommerce products then you’re better off with our other WordPress index plugin, WooCommerce Product Table.

The instructions for creating an index with WooCommerce Product Table are very similar to Posts Table Pro. The difference is that it has extra support for WooCommerce, such as add to cart buttons and reviews. So I’d recommend that for a WooCommerce index plugin instead.


Next steps

As you can see, Posts Table Pro makes the perfect WordPress index plugin. It’s much more flexible and sophisticated than so-called dedicated index plugins. Get it today and start creating an index of your own website content.