Yoast Breadcrumb Showing Old Custom Post Type Slug in WordPress? Here’s How I Fixed It on a Wildlife Tour Website

Changed your custom post type slug in WordPress but Yoast breadcrumb still shows the old URL? Here’s how I fixed the issue on a wildlife tour website built with Divi theme and hosted on DreamHost. This guide covers the permalink fix that worked instantly, plus additional troubleshooting steps for Yoast SEO breadcrumb problems.

I recently faced a strange breadcrumb issue on a client’s WordPress website built for a wildlife tour business.

The website was hosted on DreamHost and designed using the Divi Theme.

The client offers wildlife tour packages, safari trips, and destination-based travel plans. To organize the content properly, I created a custom post type for tour packages.

Initially, the custom post type slug was:

package

At the same time, the website also had a regular WordPress page called:

packages

Later, I realized the setup could become confusing for:

  • users
  • search engines
  • breadcrumb structure
  • future URL management

So I:

  • deleted the old packages page
  • changed the custom post type slug from package to packages

The URLs updated correctly across the site.

For example:

example.com/packages/ranthambore-safari-tour/

worked perfectly.

However, the Yoast SEO breadcrumb still showed:

/package/

instead of:

/packages/

Even though the actual URLs were correct.

After trying multiple solutions, the first fix solved the problem instantly.

The Fix That Worked for Me

Re-save WordPress Permalinks

This solved the issue immediately on the wildlife tour website.

Steps:

  1. Go to:
    WordPress Dashboard → Settings → Permalinks
  2. Do not change anything
  3. Click:
    Save Changes

WordPress rebuilt the rewrite rules, and the Yoast breadcrumb instantly started showing the correct custom post type slug:

/packages/

This is the first solution you should always try after changing:

  • custom post type slugs
  • archive URLs
  • taxonomy slugs
  • permalink structures

Why This Happens

When you change a custom post type slug, WordPress updates rewrite rules. However, SEO plugins like Yoast often cache permalink structures internally for performance reasons.

As a result:

  • frontend URLs may work correctly
  • archive pages may open properly
  • single post URLs may function normally

But breadcrumbs can still display old slug values.

This is common on websites with:

  • custom post types
  • tourism package structures
  • Divi templates
  • dynamic breadcrumb systems

Other Fixes to Try if Re-saving Permalinks Does Not Work

The first method fixed the issue for me. However, other WordPress setups may require additional troubleshooting.

Here are the other fixes worth checking.

1. Rebuild Yoast SEO Data

Modern versions of Yoast store SEO paths inside an internal indexing system.

Sometimes old slugs remain stored there.

Steps:

Go to:

SEO → Tools

or:

SEO → Settings

Then run:

  • SEO Data Optimization
  • Recalculate SEO Data
  • Reindex SEO Data

The exact option depends on your Yoast version.

This forces Yoast to rebuild:

  • breadcrumb paths
  • internal URLs
  • schema references

2. Check Your Custom Post Type Registration Code

Incorrect rewrite settings can cause breadcrumb mismatches.

Correct example:

register_post_type('packages', array(
'rewrite' => array(
'slug' => 'packages',
'with_front' => false
),
'has_archive' => 'packages',
));

One common mistake is updating the rewrite slug but forgetting to update:

'has_archive'

This can confuse Yoast breadcrumbs.

3. Clear All Website Caches

Caching systems may continue serving old breadcrumb structures.

Clear:

  • WordPress cache plugins
  • server cache
  • object cache
  • CDN cache
  • browser cache

This is especially important on managed hosting setups.

4. Check Divi Breadcrumb Integrations

Since this project used Divi, I also verified whether the theme was overriding breadcrumb output.

Some themes:

  • create custom breadcrumb systems
  • cache structured data
  • override Yoast breadcrumb functions

If you use Divi or Elementor, check:

  • Theme Builder templates
  • custom modules
  • shortcode outputs
  • dynamic content areas

5. Check for Hardcoded Yoast Breadcrumb Filters

Some developers customize breadcrumb links using WordPress filters.

Example:

add_filter('wpseo_breadcrumb_links', 'custom_function');

or:

add_filter('wpseo_breadcrumb_single_link', 'custom_function');

If old slugs exist there, Yoast will continue displaying outdated URLs.

Search:

  • functions.php
  • custom plugins
  • snippets plugins
  • child theme files

for:

wpseo_breadcrumb

6. Force WordPress to Rebuild Rewrite Rules Completely

If the issue still exists, try a full rewrite refresh.

Steps:

  1. Temporarily change slug: packages → safari-packages
  2. Save permalinks
  3. Change it back to: packages
  4. Save permalinks again

This forces WordPress to regenerate rewrite structures from scratch.

Why This Happens Frequently on Travel Websites

Tour and travel websites often use:

  • custom post types
  • destination URLs
  • package archives
  • layered taxonomies
  • dynamic breadcrumbs

Because of this, permalink conflicts happen more often compared to normal blogs.

Example structures:

/packages/
/destinations/
/wildlife-tours/
/tour-type/

If page slugs and CPT slugs overlap, breadcrumb systems can retain old references.

Final Result

After re-saving permalinks, the breadcrumb updated correctly from:

/package/

to:

/packages/

Everything started working properly:

  • wildlife package URLs
  • archive pages
  • Yoast breadcrumbs
  • schema markup
  • internal links

No additional plugin fixes were required.

Final Thoughts

If Yoast breadcrumbs show an old custom post type slug after changing URLs in WordPress, start by re-saving permalinks.

In many cases, that alone fixes the issue instantly.

If not, continue with:

  • Rebuilding Yoast SEO data
  • Checking CPT rewrite settings
  • Clearing caches
  • Reviewing theme integrations
  • Inspecting breadcrumb filters

Similar Posts

Leave a Reply

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