SEO title, meta description, canonical, noindex flag
Intro copy, pricing guide, FAQ ids, related categories
Redirect id, old path, new path, status code, source, hit count
Banner id, audience, placement, start, end, link
Version id, author, published at (for rollback)
Notes
Content hub. One area for site content. Access: Content role (create and edit drafts), Super admin (publish categories, redirects and banners). Publishing creates a version snapshot, rollback available. Changes appear on public pages after cache purge (under 2 minutes). Event: content_published.
Category list. Drag handle for order (drives homepage and hub order). Tier Priority or Secondary matches spec categories (five priority, secondary includes regular classes, holiday camps, older adults, toddler). Counts of live teachers and services; SEO column warns about missing title, meta, thin copy or duplicate text. Archived categories 301 to the hub and cannot be deleted while services use them.
Category editor. Validation: slug unique and lowercase, SEO title 60 and meta 155 characters, intro at least 150 words and unique (duplicate check against other categories). Fields also include FAQs attached, related categories, filters shown on search, and structured data toggle. Preview opens the real template WF-04 with draft content.
Redirect manager. Required for the DTD and old Popdance migration. Bulk import by CSV (old, new, type). Validation catches loops, chains over two hops and targets returning 404. Hits column from edge logs shows what to keep. Export for launch checklist.
Blog. Workflow: Draft, In review, Scheduled, Published. Fields: title, slug, author, hero image and alt text, category link, in-article CTA block to a category or search, SEO fields. Author and editor roles separate.
FAQs. Reusable entries by group and tag, shown in help centre and on pages with FAQ structured data. Order is draggable; unpublished entries hidden.
Banners. Audience (public, customers, teachers by plan), placement (top bar, homepage, dashboard), dates, link, dismissible flag. Overlap warning when two banners target the same slot and dates.
Location pages. Generated from template plus local data; must pass a uniqueness and minimum-teachers check before they can be published (avoid thin duplicated content). Nearby areas auto-suggested.
Mobile
Desktop-first. Under 820px tabs become a dropdown, tables scroll horizontally, and editor fields stack. Drag reordering is replaced by up and down buttons.
States
Empty (no redirects): "No redirects yet. Import your CSV to protect old URLs." Loading: skeleton rows. Save error: "We could not save this draft. Your changes are kept on this page." Validation errors list at the top and inline. Unpublished changes show a yellow "3 drafts" badge. Conflict: "Emma is editing this page" with read-only mode.