Breadcrumbs are the small trail of links you often see near the top of a page: Home › Blog › WordPress Security › How to Harden wp-config.php. The name comes from the Hansel and Gretel story, and the purpose is the same: showing the way back. WordPress breadcrumbs are one of the simplest ways to add that kind of clarity.
They’re one of the least glamorous parts of a website, and one of the most consistently useful. They help visitors who land deep in a site understand where they are and move up a level. They reinforce your site’s structure with internal links. And with structured data, they help search engines understand that structure, which they may use when presenting your pages.
Why breadcrumbs help
For visitors
Most visitors don’t arrive at your homepage. They land on a blog post from search, a product page from a shopping ad or a service page from a social link. Breadcrumbs immediately tell them:
- What kind of page this is
- Which section of the site it belongs to
- How to see more content like it
A visitor reading about plugin security can click “WordPress Security” in the breadcrumb and see every related article. That’s a natural next step that keeps them on your site.
For search engines
Breadcrumbs add consistent internal links from every page up to its parent categories and sections. That helps search engines understand hierarchy and pass authority to category pages.
With BreadcrumbList structured data, search engines get an explicit description of the page’s position in the site. Google has historically used this to display breadcrumb paths in search results instead of raw URLs. On mobile results, Google simplified the display in 2025 to show just the domain, but breadcrumb markup is still supported and still helps search engines understand your structure.
Types of breadcrumbs
Hierarchy-based breadcrumbs show where the page sits in the site’s structure: Home › Services › Web Design. This is the most common and most useful type.
Attribute-based breadcrumbs show the attributes used to reach a page, common in e-commerce filters: Home › Shoes › Running › Size 9. These can be useful but are harder to keep consistent.
History-based breadcrumbs show the pages the visitor actually viewed. These are rarely useful on websites, because the browser’s back button already does this.
For WordPress sites, hierarchy-based breadcrumbs are almost always the right choice.
Planning the trail
Before adding breadcrumbs, decide what the trail should look like for each content type:
- Pages: Home › Parent page › Child page
- Posts: Home › Blog › Category › Post title
- Products: Home › Shop › Product category › Product name
- Custom post types: Home › Post type archive › Taxonomy term › Item
- Archives: Home › Blog › Category name
Including “Blog” between Home and the category is optional. It helps if your blog is one section among many, such as on a business site where the blog sits alongside services and case studies.
The primary category problem
Posts in WordPress can belong to several categories. Breadcrumbs need to pick one. By default, many breadcrumb tools use the first category alphabetically or by ID, which might not be the one you’d choose.
SEO plugins, including Pirajki SEO, Yoast and Rank Math, let you set a primary category for each post. The breadcrumb then uses it. If posts belong to multiple categories, set the primary category deliberately, especially for important posts.
Better still, keep most posts in a single category. Multiple categories often signal an unclear taxonomy.
Adding breadcrumbs in WordPress
Through an SEO plugin
Most SEO plugins include breadcrumbs with schema. You enable them in settings, configure separators and labels, and then display them in your theme with a shortcode, a block or a function call. This is the easiest option for most sites, because the plugin’s breadcrumbs match its schema output and respect primary categories.
In block themes
Block themes can use a breadcrumbs block provided by an SEO plugin, or by the theme itself, placed in templates through the Site Editor. Put it in the single post, page and archive templates, usually just above the title.
In classic themes
Classic themes call a breadcrumb function from template files, typically in header.php or at the top of single.php, page.php and archive.php. Many themes have a built-in option that integrates with SEO plugins automatically.
Dedicated breadcrumb plugins
Plugins like Breadcrumb NavXT focus only on breadcrumbs and offer very detailed control over trails for each content type. They’re useful when you need unusual structures, such as custom post types with complex hierarchies.
Avoiding duplicates
Make sure only one breadcrumb trail and one set of breadcrumb schema appears. If the theme outputs breadcrumbs and so does the SEO plugin, you’ll get two trails. If one outputs schema and another outputs schema too, search engines see duplicate or conflicting BreadcrumbList markup.
BreadcrumbList schema
The structured data for breadcrumbs looks like this in JSON-LD:
The last item, the current page, doesn’t need a URL. Positions must be in order.
The schema should match the visible breadcrumbs. Don’t output schema for a trail that isn’t shown on the page.
Test your pages with Google’s Rich Results Test. It reports whether breadcrumb markup is valid and flags errors.
Design and placement
Breadcrumbs work best when they’re:
- Near the top, above the page title, where visitors look first
- Small and unobtrusive, so they don’t compete with the main heading
- Clearly links, with a hover state, except for the current page
- Using a simple separator, like › or /
- Readable on mobile, wrapping gracefully or truncating long titles
On mobile, long trails can take several lines. Some sites shorten them on small screens, showing only the immediate parent. That’s reasonable, as long as the full trail remains in the schema.
Accessibility
Accessible breadcrumbs use a nav element with an aria-label, and an ordered list for the trail:
The separators should be added with CSS rather than as text, so screen readers don’t announce them. The aria-current attribute marks the current page. Check what your breadcrumb tool outputs; most modern ones follow this pattern or something close.
WooCommerce breadcrumbs
WooCommerce has its own breadcrumb function and outputs it on shop pages by default in many themes. If you also use SEO plugin breadcrumbs, disable one of them to avoid duplication. SEO plugins usually provide an option to replace WooCommerce breadcrumbs with their own.
For products in several categories, set a primary category so the trail is consistent.
Breadcrumbs for custom post types
Custom post types often get poor breadcrumbs by default, because breadcrumb tools don’t know how they relate to the rest of the site. A “case study” post type might show Home › Case study title, skipping any sense of section.
Fix this by giving the post type an archive, with has_archive set when registering it, and making sure your breadcrumb tool includes the archive in the trail. If case studies are grouped by industry with a custom taxonomy, include the term too: Home › Case Studies › Healthcare › Clinic website redesign. Most SEO plugins let you choose which taxonomy to use in breadcrumbs for each post type.
For hierarchical custom post types, like documentation with parent and child pages, make sure the full parent chain appears, just as it does for pages.
Keep labels short
Breadcrumb labels don’t have to match full page titles. A category called “WordPress Security and Hardening Guides” can appear as “Security” in the breadcrumb. Many SEO plugins let you set a separate breadcrumb title for posts, pages and terms. Short labels keep trails readable, especially on mobile, while the full title still appears in the page heading.
Test after structural changes
Breadcrumbs depend on your site structure, so they can break when that structure changes. After renaming categories, changing permalinks, moving pages to new parents or adding post types, check a sample of breadcrumbs and run a few URLs through the Rich Results Test. Broken breadcrumb links are a common source of internal 404s after restructures.
Breadcrumbs and internal search
Avoid including internal search result pages in trails. A visitor who searched and then clicked a result should still see the page’s real place in the site structure, not a path back through a search URL. Add WordPress breadcrumbs once, test them after structural changes and they’ll keep helping visitors for years.
Frequently asked questions
Do breadcrumbs still appear in Google results?
Google still supports breadcrumb structured data, though on mobile it now shows a simplified display. The markup remains useful for helping search engines understand your structure.
Should the homepage have breadcrumbs?
No. The homepage is the top of the trail. Breadcrumbs on it add nothing.
Is it okay to use “Home” as the first item?
Yes. Some sites use the brand name instead. Either works, as long as it’s consistent.
Do I need breadcrumbs on a small site?
They’re less important on a site with only a few pages and a shallow structure, but they rarely hurt. For blogs and stores of any size, they’re worth having.




