> For the complete documentation index, see [llms.txt](https://docs.enicebakerygh.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.enicebakerygh.com/content-media-and-seo/cms.md).

# Content Management & Dynamic CMS

This document details the dynamic content management architecture, zero-code storefront controls, and SEO metadata engines powering Eniceberny Bakery and Culinary Hub.

***

## 1. Zero-Code Business Management Philosophy

Eniceberny's storefront is designed so that marketing managers and business operators can manage the site without writing code or editing templates:

```mermaid
graph TD
    A[Admin CMS Console /admin/cms] --> B[Homepage Section Manager]
    A --> C[Marketing Banners & Announcements]
    A --> D[Visual Craftsmanship Lightbox Gallery]
    A --> E[Customer Testimonials & Accolades]
    A --> F[Frequently Asked Questions Accordions]
    A --> G[Custom Informational & Legal Pages]
    B --> H[(Database Models)]
    C --> H
    D --> H
    E --> H
    F --> H
    G --> H
    H --> I[Storefront Home /]
    H --> J[Dynamic Page Routes /page/{slug}]
    H --> K[XML Sitemap /sitemap.xml & Robots /robots.txt]
```

***

## 2. Core CMS Subsystems

### 2.1 Homepage Section Manager (`homepage_sections`)

Administrators can enable/disable, reorder, and configure titles, subtitles, and CTA buttons for all 15 cinematic landing page sections:

| Section Key               | Section Name                 | Configurable Controls                                                          |
| ------------------------- | ---------------------------- | ------------------------------------------------------------------------------ |
| **`hero`**                | Cinematic Hero & Video Loop  | Video poster, headline, badge text, primary & secondary CTA URLs               |
| **`trust_strip`**         | Heritage & Quality Pillars   | 4 trust icons: Freshly Prepared, Premium Ingredients, Made With Love, Catering |
| **`departments`**         | Signature Departments Grid   | 5 culinary collections: Continental, Ghanaian, Pastries, Juices, Baskets       |
| **`signature_spotlight`** | Editorial Chef Spotlight     | Masterpiece spotlight card + 3 stacked companion dishes with prices            |
| **`ghanaian_flavour`**    | Ghanaian Authentic Section   | Spotlight on Fufu, Banku, Emotuo, and Abete3 with shop links                   |
| **`bakehouse_studio`**    | Bespoke Cake Studio          | Spotlight on Red Velvet, Belgian Chocolate Ganache, Citrus Cakes, Parfaits     |
| **`catering_events`**     | Executive Catering Banner    | Headcount badge (up to 500), service highlights, quote request CTA             |
| **`breakfast_platters`**  | Morning Elegance Platters    | Corporate breakfast boxes and family brunch platter offerings                  |
| **`gift_hampers`**        | Thoughtful Food Baskets      | Celebration hampers, crates, wine, and personalized gift cards                 |
| **`brand_story`**         | Kumasi Tech Brand Story      | Authentic craftsmanship narrative grounded in Ghanaian culinary culture        |
| **`gallery_lightbox`**    | Visual Craftsmanship Gallery | Interactive Alpine.js lightbox with full-screen zoom and modal details         |
| **`testimonials`**        | Patron Accolades             | Dynamic customer reviews with 5-star ratings and patron attribution            |
| **`conversion_cta`**      | High-Impact Conversion CTA   | *"Something Delicious Is Waiting."* conversion callout                         |
| **`kitchen_hotlines`**    | Direct Desk & Hours Strip    | 4-column footer strip with click-to-call, WhatsApp desk, and hours             |

***

### 2.2 Visual Craftsmanship Gallery (`gallery_items`)

* **Categories**: Celebration Cakes, Artisan Pastries, Authentic Ghanaian Feasts, Royal Banquets.
* **Lightbox Integration**: Uses an Alpine.js modal component with keyboard `Esc` listener, click-outside dismissal, image title captions, and smooth transitions.
* **Featured Badges**: Flagging an image as "Featured" spotlights it directly on the storefront homepage.

***

### 2.3 Categorized FAQs Accordion (`faqs`)

* Categorized by **General Operations**, **Ordering & Delivery**, **Custom Bespoke Cakes**, and **Corporate Catering**.
* Rendered on the storefront with micro-animations that open/close cleanly without layout shifts.

***

### 2.4 Informational & Policy Pages (`cms_pages`)

* Create arbitrary informational and legal pages (e.g. `/privacy-policy`, `/terms-of-service`, `/about-us`, `/page/delivery-zones`).
* Dynamic fallback route: `GET /page/{slug}`.
* Individual page-level SEO overrides (`meta_title`, `meta_description`, `canonical_url`).

***

## 3. Search Engine Optimization (SEO) & Structured Data Engine

### 3.1 Dynamic XML Sitemap (`GET /sitemap.xml`)

The sitemap is computed dynamically and cached for performance via `SeoController::sitemap`:

* Automatically indexes all published catalog products, active categories, catering services, and active CMS pages.
* Dynamically sets `<lastmod>` timestamps based on `updated_at`.
* Assigns priority ratings: Homepage (`1.0`), Products & Categories (`0.8`), Catering Services (`0.8`), CMS Pages (`0.5`).

### 3.2 Dynamic Robots.txt (`GET /robots.txt`)

Dynamically informs web crawlers:

```
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /checkout
Disallow: /cart
Disallow: /account/
Disallow: /verify-otp
Disallow: /payment/

Sitemap: https://enicebakerygh.com/sitemap.xml
```

### 3.3 Schema.org JSON-LD Structured Data

Injected into the `<head>` of storefront views:

* **`Bakery` & `LocalBusiness`**:

  ```json
  {
    "@context": "https://schema.org",
    "@type": "Bakery",
    "name": "Eniceberny Bakery and Culinary Hub",
    "image": "https://enicebakerygh.com/images/logo.jpg",
    "telephone": "+233532342126",
    "address": {
      "@type": "PostalAddress",
      "addressLocality": "Kumasi",
      "addressRegion": "Ashanti",
      "addressCountry": "GH"
    },
    "priceRange": "GH₵₵"
  }
  ```
* **`Product` & `Offer`**: SKU, price in GHS, item availability (`InStock`), and review ratings.
* **`BreadcrumbList`**: Full hierarchical path on product detail pages for Google rich search results.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.enicebakerygh.com/content-media-and-seo/cms.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
