Easy Breadcrumb Configuration
When to Use
After installing Easy Breadcrumb, configure it at admin/config/user-interface/easy-breadcrumb. All settings map to easy_breadcrumb.settings.yml which can be exported and version-controlled.
Items
General Settings
| Config key |
Type |
Purpose |
applies_admin_routes |
bool |
Include admin routes in Easy Breadcrumb (default: TRUE) |
include_invalid_paths |
bool |
Show non-routed path segments as plain text instead of dropping them |
include_title_segment |
bool |
Add current page title as the final breadcrumb segment |
title_segment_as_link |
bool |
Make the current page segment a link (requires include_title_segment) |
title_from_page_when_available |
bool |
Use the real page title (via TitleResolver) instead of URL slug — enable this |
remove_repeated_segments |
bool |
Remove consecutive duplicate segments |
remove_repeated_segments_text_only |
bool |
Match on text only (ignores URL) when deduplicating |
follow_redirects |
bool |
Resolve redirect module redirects to their source paths |
Home Segment
| Config key |
Type |
Purpose |
include_home_segment |
bool |
Add a "Home" link as the first segment |
home_segment_title |
string |
Label for the home segment (e.g., "Home") |
use_site_title |
bool |
Use the site name from system.site:name as home segment title |
home_segment_keep |
bool |
Show home segment even on the front page |
home_segment_validation_skip |
bool |
Skip checking if a path segment duplicates the home page |
hide_single_home_item |
bool |
Hide the breadcrumb entirely if it only contains the home segment |
Title Segment Fallbacks
| Config key |
Type |
Purpose |
use_menu_title_as_fallback |
bool |
Use the menu link title when no _title exists on the route |
menu_title_preferred_menu |
string |
Machine name of preferred menu (when multiple menus have the same route) |
use_page_title_as_menu_title_fallback |
bool |
Fall back to page title if menu title not found |
alternative_title_field |
string |
Field machine name on entities (e.g., field_breadcrumb_title) for per-entity title override |
Capitalization
| Config key |
Type |
Options |
capitalizator_mode |
string |
none, ucwords (Title Case), ucfirst (Sentence case), ucall (ALL CAPS), ucforce (force specific words) |
capitalizator_ignored_words |
array |
Words to skip during ucwords mode (e.g., ['of', 'and', 'the']) |
capitalizator_forced_words |
array |
Words to force to uppercase during ucforce mode |
capitalizator_forced_words_first_letter |
bool |
Also capitalize first letter of each segment in ucforce mode |
capitalizator_forced_words_case_sensitivity |
bool |
Case-sensitive matching in ucforce mode |
Paths Control
| Config key |
Type |
Purpose |
excluded_paths |
textarea |
Newline-separated paths to exclude from breadcrumb segments. Supports regex (escape / as \/). Default excludes search and search/node |
replaced_titles |
textarea |
Newline-separated ORIGINAL_TITLE::REPLACEMENT pairs. Applied after title resolution |
custom_paths |
textarea |
Newline-separated fully custom breadcrumbs per path. Format: path :: Crumb1\|/url1 :: Crumb2\|/url2. Supports regex! prefix and <title> placeholder |
Custom paths example:
/news/archive :: News | /news :: Archive | /news/archive
regex!/products/(\w+)/(\d+) :: Products | /products :: $1 | /products/$1 :: Item $2
Display Limits
| Config key |
Type |
Purpose |
limit_segment_display |
bool |
Enable segment count limiting |
segment_display_limit |
int |
Maximum number of segments to show (trims oldest middle segments, preserves Home) |
segment_display_minimum |
int |
Minimum segments required before showing breadcrumb at all |
Truncation
| Config key |
Type |
Purpose |
truncator_mode |
bool |
Enable title truncation |
truncator_length |
int |
Maximum character length per title |
truncator_dots |
bool |
Append ... after truncated titles |
Other
| Config key |
Type |
Purpose |
language_path_prefix_as_segment |
bool |
On multilingual sites, show the language prefix (/en) as a breadcrumb segment |
term_hierarchy |
bool |
Add all taxonomy term parents in the breadcrumb for the current term |
absolute_paths |
bool |
Generate absolute URLs for all breadcrumb links |
add_structured_data_json_ld |
bool |
Output BreadcrumbList JSON-LD in the <head> |
Common Mistakes
- Configuring
replaced_titles without enabling title_from_page_when_available — replacements only match resolved titles, not URL slugs
- Setting
segment_display_minimum to 2 and then wondering why the Home-only breadcrumb disappears — it is working as configured
- Using
excluded_paths with unescaped slashes — paths like admin/content must be written as admin\/content
See Also
- Feature overview → Easy Breadcrumb Module
- SEO output → Structured Data (SEO)
- Reference:
modules/contrib/easy_breadcrumb/src/EasyBreadcrumbConstants.php
- Reference:
modules/contrib/easy_breadcrumb/src/Form/EasyBreadcrumbGeneralSettingsForm.php