Aller au contenu principal
Petanque Life

Navigation & Structure

F18.05 6 fonctionnalités Planifié

En bref

Navigation and structural primitives that hold a CMS site together — a tree-based menu builder with localized labels, auto-generated pages for rankings, calendar, results and club directory, JSON-LD breadcrumbs, gating-aware full-text site search, an XML sitemap for crawlers with hreflang alternates, and a fully customizable footer with link columns, contact info and social handles separated from layout presets.

Comment ça fonctionne

Each CmsSite owns a Navigation document containing one or more menus (typically primary, footer and utility). The menu builder is a tree editor: editors add items, set labels per locale, link to internal CmsPages, external URLs or auto-generated pages, and reorder via drag. Auto-generated pages are virtual routes that don't require a CmsPage record — `/rankings`, `/calendar`, `/results`, `/clubs` are rendered by templates that pull data straight from the API and respect the site's tenant scope.

Editors enable or disable each one with a checkbox in site settings; when enabled, the route becomes available to the menu builder and the renderer. Breadcrumbs are derived from the URL hierarchy and CmsPage parent_id, rendered with JSON-LD BreadcrumbList for SEO. Site search indexes every published page, article and dynamic-page snapshot via Algolia (or a self-hosted Meilisearch fallback) and respects page access control — a public visitor never sees results from members-only pages, and a logged-in member sees only pages their groups grant access to.

The search index is refreshed incrementally on every publish event. The XML sitemap is generated on demand at `/sitemap.xml`, includes lastmod, changefreq and priority per page plus xhtml:link hreflang alternates for translated pages, and skips drafts and noindex pages. The footer is a structured editor: editors add columns of links, contact info, social media handles and legal links; a separate set of footer presets (multi-column, minimal, social-focused) controls layout, while content stays editable.

Capacités clés

  • Tree-based menu builder with localized labels and tenant-scoped link picker
  • Auto-generated pages for rankings, calendar, results and club directory
  • Breadcrumb navigation with JSON-LD BreadcrumbList markup
  • Site-scoped full-text search respecting page access control
  • Auto-generated sitemap.xml with hreflang alternates
  • Structured footer editor with link columns, contact info and social links
  • Footer layout presets independent of content

En pratique

Léa, secretary of CC Marseille, restructures her club site for the new season. She opens the menu builder, drags 'Calendrier' to second position, adds a new 'École de pétanque' submenu with three child links to membership pages, and translates each label to French and English. She enables the auto-generated /clubs page so visitors can find affiliated venues, then ticks /results so the public can browse last weekend's competitions without leaving the site.

She updates the footer with the new postal address, adds Instagram and Facebook handles, and removes a dead sponsor link. The new sitemap.xml is regenerated on her next publish, and search engines pick up the structural changes within 24 hours.

Fonctionnalités de ce sous-système

6
ID Status Fonctionnalités
F18.05.01 Livré Menu builder (custom navigation) — PL-F1805 ✅ PL-F1805
F18.05.02 Livré Auto-generated pages (rankings, calendar, results — pulled from API) — PL-F1805 ✅ PL-F1805
F18.05.03 Livré Breadcrumb navigation — PL-F1805 ✅ PL-F1805
F18.05.04 Livré Search within site — PL-F1805 ✅ PL-F1805
F18.05.05 Livré Sitemap generation (XML for search engines) — PL-F1805 ✅ PL-F1805
F18.05.06 Livré Footer customization (links, contact info, social media) — PL-F1805 ✅ PL-F1805