The quickest no-code method is WordPress’s native Breadcrumbs block: insert it in a post, page, template, or template part, then confirm the template is assigned to every page type you want covered. If you use Yoast SEO, enable Yoast SEO → Settings → Advanced → Breadcrumbs and place its block or shortcode; classic themes can render it with a PHP function. Visible trails and Google’s BreadcrumbList structured data are separate checks, so test both after publishing.
Antihost offers managed WordPress hosting with free migration, one-click staging and a 14-day free trial.
What breadcrumbs do on a WordPress site
Breadcrumbs are a secondary navigation trail that shows a visitor’s position in the site hierarchy, typically from the home page through a category or parent page to the current content. A trail might read “Home → Guides → WordPress → How to Add Breadcrumbs.” Each earlier item is normally a link, while the current page is displayed as the final, non-navigational item.
As an Amazon Associate I earn from qualifying purchases.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsThey help readers move up a hierarchy without repeatedly using the browser’s Back button. They are particularly useful on sites with nested pages, category archives, custom post types, or long tutorial libraries. They should supplement, not replace, your primary navigation, menus, search, and contextual links.
There are two related but independent outcomes:
- Visible navigation: the trail rendered in the page body or layout for visitors.
- Structured data: machine-readable
BreadcrumbListmarkup that can help Google understand the page’s position.
A visible trail does not prove that valid structured data exists, and valid markup does not guarantee that Google will display a breadcrumb result. Check both separately.
#1 Best Overall
Choose the right implementation
| Consideration | WordPress Breadcrumbs block | Yoast SEO breadcrumbs |
|---|---|---|
| Setup | Insert the block in the editor, Site Editor template, or template part. | Enable the feature in Yoast settings, then use its block, shortcode, or PHP function. |
| Best fit | Block themes and sites managed primarily through the editor. | Sites already using Yoast SEO, including many classic themes. |
| Site-wide placement | Place it in the template or template part used by the relevant content. | Use a supported theme integration, a template placement, or a reusable block/shortcode location. |
| Coding | None for normal block insertion. | None for the block or shortcode; PHP is needed for some classic-theme layouts. |
| Archive coverage | WordPress documents category, tag, author, and date archives, search results, 404 pages, and eligible custom-post-type archives. | Coverage depends on the theme placement and Yoast’s available hierarchy for each content type. |
| Schema handling | Inspect and validate the resulting markup separately. | Yoast documents JSON-LD output containing BreadcrumbList and ListItem objects. |
| Maintenance | Keep the edited templates assigned to the intended page types. | Review direct theme edits after theme updates; use a permanent, theme-supported integration where possible. |
Method 1: Add the native WordPress Breadcrumbs block
This is the most direct route when your site uses a block theme and the Site Editor. You can add a trail to one piece of content or place it in a template so many pages inherit it.
Add breadcrumbs to one post or page
- Open the post or page in the WordPress editor.
- Open the block inserter, search for Breadcrumbs, and select the Breadcrumbs block. You can also type
/breadcrumbsin an empty paragraph and choose the block from the results. - Place the block where readers should encounter the hierarchy, commonly above the page title or below the header.
- Publish or update the content, then view the public page in a logged-out browser window.
Use this approach when only selected landing pages, guides, or special articles need a trail. It does not automatically add breadcrumbs to every other template on the site.
Place breadcrumbs site-wide with the Site Editor
- Open Appearance → Editor (the Site Editor) on a block theme.
- Open Templates and choose the template used by the content you want to cover, such as single posts, pages, archives, search, or the 404 template.
- Insert the Breadcrumbs block in the desired location, or open a header, content, or footer template part and place it there if that part is shared by the target templates.
- Save the template or template part.
- Check that the edited template is actually assigned to the page types you intend to cover. A breadcrumb in a single-post template will not automatically appear on a page template, archive template, or a custom post-type template that uses a different layout.
A shared template part can be efficient, but confirm that every template using it has an appropriate content hierarchy. A trail that makes sense on a post may be confusing on a search or 404 page if the theme’s template logic does not provide the same context.
Configure the block
Select the Breadcrumbs block and use its settings to tailor the trail:
- Show or hide the home item.
- Show or hide the current-page item.
- Choose the separator character or style.
- Adjust colors, typography, dimensions, and borders through the block’s design controls.
Keep the labels short enough to scan on mobile screens. If you hide the current item, make sure the surrounding heading still tells visitors which page they are viewing. If you hide the home item, retain another clear route back to the upper levels.
Rank #2
Confirm the content types covered by a template
WordPress documents Breadcrumbs block support for category, tag, author, and date archives; search results; 404 pages; and custom post types whose archive can appear in the trail. Coverage still depends on the template you edited. Open representative URLs for each type and check that the trail is present, logically ordered, and free of empty or misleading levels.
Recommended Free Tools
Method 2: Add breadcrumbs with Yoast SEO
Yoast provides a dashboard switch plus several placement methods. This is practical when Yoast is already active or when a classic theme does not expose the native block workflow.
Enable the feature
- In the WordPress dashboard, go to Yoast SEO → Settings → Advanced → Breadcrumbs.
- Turn on the breadcrumb feature.
- Configure the appearance options offered by your installation.
- Save the settings.
If the theme supports Yoast breadcrumbs, the setting can be used directly. If it does not, use the Yoast Breadcrumbs block, shortcode, or a theme integration instead of assuming that enabling the switch alone will render a visible trail.
Use the Yoast Breadcrumbs block
- Edit a post, page, or template in the WordPress editor.
- Open the block inserter and search for Yoast Breadcrumbs.
- Insert it above the title or in another consistent location.
- Save or publish, then inspect the public page.
For a reusable site layout, place the block in the relevant template or template part rather than adding it manually to every article.
Use the shortcode
Yoast supports the shortcode Home » . In the block editor, put it inside a Shortcode block. In the classic editor, paste the shortcode where the trail should appear, then update the content.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Shortcodes are useful when you need a content-level placement without editing PHP. They still require you to add the shortcode wherever you want the trail, unless your theme provides a reusable location.
Render breadcrumbs in a classic theme with PHP
For a site-wide classic-theme placement, Yoast documents this call:
<?php
if ( function_exists('yoast_breadcrumb') ) {
yoast_breadcrumb( '<p id="breadcrumbs">','</p>' );
}
?>
- Back up the site and, if possible, test on a staging copy.
- Use a child theme or another update-safe customization method rather than editing a parent theme that will be replaced during an update.
- Open the template that controls the target content, commonly
single.phpfor posts orpage.phpfor pages. - Insert the function call where the trail should render, often just above the page title. The exact location varies by theme markup.
- Save the file, clear any page or object cache, and test a representative public URL.
Do not paste PHP into a post or page editor. A syntax error in a theme file can make the site or dashboard inaccessible, so keep a restore point and know how to revert the change before editing.
Declare theme support when appropriate
A theme can declare Yoast breadcrumb support with:
<?php
add_theme_support( 'yoast-seo-breadcrumbs' );
?>
Yoast says this enables breadcrumb rendering and a Customizer component for themes that support it. Add the declaration in the theme’s supported initialization location, normally through the child theme or the theme’s existing setup function. Whether it changes the visible placement still depends on the theme’s templates.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Where to place breadcrumbs
Placement affects both usability and consistency. Above the page title is easy to find and makes the hierarchy clear before a reader starts. Below a header but above the main content can work well when the title area is visually strong. On narrow screens, prevent the trail from forcing horizontal scrolling; allow it to wrap or use the block’s styling controls to keep it readable.
Rank #4
For site-wide coverage, identify the templates actually used by:
- Single blog posts.
- Static pages and nested child pages.
- Category, tag, author, and date archives.
- Search results.
- 404 responses.
- Custom post types and their archives.
A header or template part may appear in many of these locations, but do not assume it does. Open one URL from each group after saving the template. If a content type uses a different template, add the block or function there as well.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Visible breadcrumbs and BreadcrumbList schema are separate
Google Search Central describes BreadcrumbList structured data as a way to help Google categorize page information in search results. The page must be accessible to Google: it cannot be blocked by robots.txt, marked noindex, or restricted behind a login. A page can expose more than one breadcrumb trail when multiple navigation paths are valid.
Yoast states that its breadcrumbs output JSON-LD in the page source. Its developer documentation identifies the core schema concepts as @type: BreadcrumbList, an @id, and an itemListElement array representing the hierarchy. The native block’s output should still be inspected rather than assumed to satisfy every structured-data requirement.
Validate the relationship between the trail and the markup
- Publish the page with the intended visible breadcrumb trail.
- Open the rendered page source or a structured-data testing workflow and locate the
BreadcrumbListobject. - Confirm that the number and order of
ListItementries match the visible hierarchy. - Check that each linked level points to the intended canonical page and that the current item is represented correctly.
- Confirm the page is crawlable and does not require a login.
- Fix errors, clear caches, and retest the public URL.
Passing a validator establishes that the markup is syntactically and structurally acceptable. It does not promise that Google will show a breadcrumb enhancement for every query or page.
Best Value
Troubleshooting common failures
The block is missing from the inserter
- Confirm you are editing a normal post, page, template, or template part where blocks are supported.
- Search for “Breadcrumbs” rather than relying on a category in the inserter.
- If you are using a classic theme, use Yoast’s block, shortcode, or PHP method instead.
Breadcrumbs appear on posts but not pages or archives
- Inspect which template renders the missing URL.
- Add the block or Yoast call to that template or to a template part it actually uses.
- Check custom post-type archive settings and confirm an archive exists before expecting an archive level.
Yoast is enabled but nothing is visible
- Verify the setting at Yoast SEO → Settings → Advanced → Breadcrumbs is saved.
- Check whether the theme supports automatic Yoast rendering.
- Insert the Yoast Breadcrumbs block or
Home »shortcode, or add the documented PHP call to the correct template. - Clear page and browser caches before retesting.
The trail is duplicated
Look for more than one source: a theme’s built-in trail, a native Breadcrumbs block in a template part, and a Yoast block or PHP call can all render simultaneously. Remove all but the intended implementation.
The trail is logically wrong
Review category assignments, parent-page relationships, taxonomy labels, and the template context. Breadcrumbs reflect the hierarchy WordPress and the SEO tool can infer; they cannot correct an inconsistent information architecture. If a post belongs to multiple categories, decide which path should be primary and make the visible trail and structured data agree.
Google does not show a breadcrumb result
Check crawlability, valid BreadcrumbList markup, and agreement between the visible trail and JSON-LD. Even when all requirements are met, Google controls whether an enhancement appears, so treat display as an eligibility outcome rather than a guaranteed feature.
Maintenance checklist
- After changing a block template, test a post, page, category or tag archive, search result, 404 page, and each important custom post type.
- After a theme update, recheck any PHP placement or theme-support declaration. Parent-theme edits can be overwritten.
- Keep one breadcrumb system per location to avoid duplicates.
- Review labels and separators on mobile and at increased text sizes.
- When changing categories, parent pages, or custom taxonomies, inspect the resulting hierarchy.
- Periodically inspect rendered source for a valid, crawlable
BreadcrumbListand ensure it still matches what visitors see.
Which method should you use?
Choose the native WordPress Breadcrumbs block when the site uses a block theme and you want editor-controlled placement without code. Choose Yoast when it is already part of the site’s SEO stack, when you need its block or shortcode in a classic setup, or when its documented JSON-LD integration fits your workflow. Use the PHP function only when the classic theme requires a template-level placement and you can maintain the customization safely.
Whichever route you choose, the reliable implementation is the one that appears in every intended template, presents a truthful hierarchy, remains usable on small screens, and passes an independent structured-data and crawlability check.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




