Custom Post Type Pagination Not Working – Quick Fixes not helping

I’m going to assume that you’ve tried the typical fixes and checks before you’ve reached this article, things like:

  1. Ensuring your CPT Query has the necessary ‘paged’ script
    'paged' => get_query_var('paged'),
    'posts_per_page' => 12

    query_posts($args); ?>

  2. You’ve set and saved your pretty permalinks:

    select permalinks

  3. You’ve checked any other archives and custom post types to ensure that they’re working and that your issues is unique to a specific post type

If you’re at this stage (I have had a few enquiries from people stuck at this stage), it’s likely that you have a URL conflict between your custom post type slug and a static post or page on the site.

For example, I had a custom post type with the slug ‘wordpress_journal’ and I also have a page called ‘WordPress Journal’ which by default was given the slug ‘wordpress-journal’. Even with the difference in a ‘-‘ or ‘_’ these will conflict and when navigating the pagination of the journal archive, page 2 and all higher will either give a 404 or redirect you to the homepage.

I wanted to keep the URL ‘wordpress-journal’ for the page itself for SEO purposes, so I changed my CPT slug to ‘daily_journal’ (Remembering to migrate posts to new slug) and all is well. Other than not adding to my journal daily and feeling guilty about it.