Phase 4 · Guide #41

Breadcrumbs & navigation schema

Turn on breadcrumb trails under Indexing & Sitemaps → Link Behavior, tune separator and home labels, and ship matching BreadcrumbList JSON-LD on every view—without maintaining two systems.

7 min readLink Behavior · JSON-LDTheme-safe placement

Before you start

Breadcrumbs live in the Link Behavior tab alongside external-link rules and URL structure. The same switch controls both the visible trail and automatic BreadcrumbList JSON-LD, so editors do not have to wire schema by hand.

Permissions & permalinks You need WordPress Administrator-level access to the SEO Rank Genius screens, and pretty permalinks (anything except “Plain” under Settings → Permalinks) so archive and term URLs resolve cleanly in the trail.

Complete Website & Business Details when you care about Organization and local schema; that data complements breadcrumbs but is edited on a different tab under Indexing.

  • Path: SEO Rank Genius → Indexing & Sitemaps → Link Behavior
  • After changing options, use Save Settings on the tab bar so AJAX persists your toggles.
  • For the full sitemap and outbound-link story, keep Indexing, Sitemaps & Link Behavior open in another tab.
/wp-admin/admin.php?page=seo-link-genius_indexing
WordPress › SEO Rank Genius › Indexing & Sitemaps
Overview XML Sitemap Link Behavior Structured Data
🔗

Link Behavior

External links, URL structure & breadcrumb navigation

Save Settings

The Breadcrumbs section sits below External Link Control and URL Structure on this tab—the green-accent card titled “Breadcrumbs.”

Enable breadcrumbs

Enable Breadcrumbs turns on HTML output plus BreadcrumbList JSON-LD on every eligible page. The admin UI marks the block with “JSON-LD included” so it is obvious you are not opting into HTML-only mode.

1

Flip the master switch

Open Link Behavior and set Enable Breadcrumbs to on. Saving is required before the front end picks up changes.

2

Decide visibility first

The live preview (home, optional category stub, current title) hides automatically when breadcrumbs are disabled—matching the plugin behavior.

…/Indexing › Link Behavior › Breadcrumbs

Breadcrumbs

JSON-LD included

Structured navigation trail with JSON-LD schema for search engine rich results

Enable Breadcrumbs
Outputs trail + BreadcrumbList on every page
Live preview — sample post
Home » Guides » Structured data checklist

Master toggle plus the same preview pattern as tab-link-behavior.php (separator and labels update live while you edit).

Appearance settings

Preset separator buttons include » / – — | · › ▸; the hidden field stores your choice and the preview updates immediately. Pair that with Show Homepage Link, Homepage Label, optional Homepage URL override, and Breadcrumb Prefix text (for example “You are here:”) to match brand voice.

Structural toggles—for example Show Categories in Posts, Hide Post Title, Show Blog Page, archive and search format strings, 404 Label, and Hide Taxonomy Archive Title—reshape the trail for posts, archives, and edge templates without touching PHP.

Home label fallback If Homepage Label is empty, the interface falls back to “Home,” which is what visitors and JSON-LD names use for the first item when the homepage segment is enabled.
…/Link Behavior › Separator & home

Separator character

Tap a preset; preview separators update everywhere

Show Homepage Link
Start here

Mirrors the separator grid and homepage controls from Link Behavior; the slash preset is styled “on” like the plugin’s selected .sep-btn.on state.

Schema output

When breadcrumbs render, SEO Rank Genius appends a application/ld+json script containing Schema.org BreadcrumbList with ordered ListItem entries (position, name, and item URL when present). You do not maintain a separate schema toggle for breadcrumbs.

Aligned with HTML The JSON-LD list is generated from the same trail array as the visible links, which keeps crawl signals consistent for Google’s breadcrumb enhancements.
No duplicate breadcrumbs flag elsewhere While Rank Genius breadcrumbs are enabled, duplicate breadcrumb-schema signals from overlapping options are suppressed at the structured-data layer so JSON-LD does not contradict itself—keep Neuro / Business schema work in one place (Neural schema guide).
View source › application/ld+json

BreadcrumbList (illustrative)

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Start here", "item": "https://example.com/" },
    { "@type": "ListItem", "position": 2, "name": "Shop", "item": "https://example.com/shop/" },
    { "@type": "ListItem", "position": 3, "name": "Trail running shoes" }
  ]
}

Illustrates the shape emitted after the trail is built; the last item often omits item when it represents the current page.

Theme integration

Auto-inject into Theme Header prints breadcrumbs at the top of every page using the wp_body_open hook—no child-theme snippet required. Themes that never call wp_body_open() should use one of the manual integration paths instead.

  • Shortcode: [slg_breadcrumb] inside a block, widget, or builder template.
  • PHP: slg_breadcrumbs() to echo or slg_get_breadcrumbs() to capture HTML for custom layouts.

When enabled, the plugin enqueues slg-breadcrumbs.css for baseline list styling; your theme can override .slg-breadcrumbs rules for spacing and typography.

Front end › placement options
Auto-inject (wp_body_open)

Runs early in body output; fastest path for classic themes.

Manual hooks

<?php slg_breadcrumbs(); ?>
[slg_breadcrumb]

Use when headers are fully custom.

Rendered output · Start here / Journal / Announcement

Contrast zero-code injection with developer hooks; bottom strip mimics frontend HTML using your separator choice.

Troubleshooting

Most friction comes from placement (hook never fires), aggressive page builders stripping nav markup, or expecting breadcrumb tweaks to replace product/title templating—you still tune SERP titles in Search appearance · title templates and storefront patterns in WooCommerce SEO.

Diagnose › breadcrumbs missing
Checklist · FAQ style

Nothing renders on the front end

Confirm Enable Breadcrumbs is saved, then either enable auto-inject or place the shortcode/PHP snippet. Verify the theme calls wp_body_open if relying on injection.

Rich results breadcrumb trails look wrong

Re-test with Rich Results Test after cache flush; mismatches usually mean stale HTML CDN or an extra breadcrumb schema from another plugin conflicting with Rank Genius suppression rules.

Use this sequence before opening support: saved settings › placement method › cache › duplicate schema sweep.

Trail empty on a custom post typeConfirm the singular view exposes normal WordPress queries; builders that fake archives may omit categories—toggle category/archive options accordingly.
Blog vs front page confusionUse “Show Blog Page” when your posts index is a static page so readers see Posts → Article hierarchy.
SEO plugin overlapDeactivate duplicate breadcrumb modules elsewhere or accept one canonical JSON-LD source to avoid conflicting ListItem stacks.
Staging domainsClear edge caches after cloning; JSON-LD still uses live home_url semantics from the migrated database.