Content Management¶
BadgerCommerce provides a flexible content management system that enables merchants to create engaging storefronts without technical expertise.
Key Features¶
Page Management¶
- Visual Page Builder: Create and edit pages with a drag-and-drop interface
- Page Templates: Start with pre-designed templates for common page types
- Responsive Design: Pages automatically adapt to different screen sizes
- SEO Controls: Built-in SEO management for all content pages
- Content Scheduling: Schedule pages to be published or unpublished at specific times
Content Components¶
- Rich Text Editor: WYSIWYG editing for content creation
- Media Library: Centralized management of images and videos
- HTML Fragments: Insert custom HTML when needed for advanced scenarios
- Carousels and Sliders: Dynamic image and content sliders
- Video Integration: Embed videos from YouTube and other platforms
- Social Media Integration: Display social feeds and sharing options
- Collection Product Grid: A collection page's products, title, sort row and pagination are a placeable block. It can be moved, hidden or given a column count and page size per collection or stereotype. See Extension System
Navigation & Menus¶
- Menu Builder: Visual menu creation and organization
- Menu Positioning: Place menus in different locations on the site
- Mobile Navigation: Optimized navigation for mobile devices
- Breadcrumbs: Collection, product and search pages show their catalogue trail; content pages show a trail built from the main menu (see Breadcrumbs on content pages)
- Category Integration: Seamlessly include product categories in navigation
Blog Capabilities¶
- Blog Post Management: Create and manage blog content
- Categories and Tags: Organize blog content for easy discovery
- Author Management: Assign and display content authors
- Comments: Optional comment system for reader engagement
- Related Content: Automatically suggest related blog posts and products
Content Personalization¶
- Targeted Content: Display different content based on user segments
- Contextual Display: Show content based on browsing behavior
- Geographic Targeting: Customize content by location
- A/B Testing: Test different content variations for effectiveness
- Dynamic Content: Content that updates based on inventory, time, or other factors
Breadcrumbs on content pages¶
Content pages (/p/...) in Nova and the Brock family (Brock, Pop, Depot, Spec, Atelier) show a
small breadcrumb trail just under the header, above any hero. It is built from the site's main
menu (the menu named by default-menu-id), so it follows the navigation shoppers already use:
| Page | Trail |
|---|---|
| In a menu dropdown | Home › Services › Legacy modernisation |
| A dropdown's own page, also listed as its first child ("All services" → services) | Home › Services (the parent is not repeated) |
| A top-level menu item | Home › About us |
| Not in the menu, with a parent page (a blog post) | Home › Insights › Post title (the parent is placed via the menu when it is in it) |
| Neither | Home › Page title |
- Labels are the menu text for menu items and the page's name for pages; every crumb but the current page is a link. A menu item with no link of its own links to its first child.
- If a page is in the menu more than once, the shortest trail wins.
- Hidden on the home page (seoName
home, or whatever pagelandingPageRedirectURLpoints at) and on platform pages: basket, checkout, account, login, search, order confirmation and the 4xx/5xx error pages. - A matching schema.org
BreadcrumbListJSON-LD block is emitted with absolute URLs (the site's domain overhttps), so search engines can show the trail in results.
Turn it off per site with Admin → Site Configuration, category breadcrumb-config, or the MCP
manageSiteConfig tool:
| Key | Default | Effect |
|---|---|---|
cms-page-breadcrumbs-enabled |
true |
false hides the trail and its JSON-LD on every content page. |
For developers. PageBreadcrumbService (commerce-core) resolves the trail from
MenuService.extractMenu, the same cached menu tree the navigation renders, so there is no extra
menu build per request; the only extra read is the parent page for pages outside the menu.
PageController puts it on the model as pageBreadcrumbs and pageBreadcrumbsJsonLd. Each
theme's fragment/nav.html includes fragment/breadcrumb :: pageBreadcrumb(<wrap class>) between
the header and the bannerSection slot, so it sits above heroes in either bannerSection or
topBanner. Atelier, whose header floats over a leading hero, floats the trail with it in white.
Technical Implementation¶
The content management system is built using:
- Extension-based content components
- Themeable templates with consistent styling
- Markdown support for easier content creation
- HTML sanitization for security
- Content versioning for change management
Key components include: - Various extension types for different content needs (HTMLFragmentExtension, ScrollingImageCarouselExtension, etc.) - Menu management system (MenuService, MenuNode structure) - Blog management extensions (BlogListExtension, BlogLatestPostsExtension) - Content targeting and personalization framework
Integration Points¶
The content system integrates with: - Product Catalog: For featuring products within content - Customer Segments: For targeted content display - Search System: For content discoverability - Media Management: For images and videos - Analytics: For content performance tracking
Administration¶
Content can be managed through: - Visual page builder interface - WYSIWYG content editors - Media library management - Menu builder - Content scheduling dashboard - SEO optimization tools
Upcoming Features¶
- Enhanced content personalization
- Improved media management capabilities
- More integrations with third-party content systems
- Advanced content analytics
- AI-assisted content creation and optimization