Skip to content

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
  • 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

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 page landingPageRedirectURL points at) and on platform pages: basket, checkout, account, login, search, order confirmation and the 4xx/5xx error pages.
  • A matching schema.org BreadcrumbList JSON-LD block is emitted with absolute URLs (the site's domain over https), 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