📊 Microsoft Licensing Simplifier¶
Live at: aguidetocloud.com/licensing/ Built: April 2026 Cost: $0 (static content, no API calls)
What It Does¶
An interactive licensing tool with 72 plans across 13 categories, featuring side-by-side comparison, a cost calculator, an add-ons advisor, a recommendation quiz, and 50 individual detail pages — each with Mermaid diagrams, FAQs, and related blog posts.
Think of it like a car configurator, but for Microsoft 365 licences — compare, calculate, and get recommendations.
Architecture Overview¶
┌────────────────────────────────────────────────────────────┐
│ Data Layer (TOML) │
│ │
│ data/licensing/plans.toml (72 plans, 13 categories) │
│ data/licensing/features.toml (49 features) │
│ data/licensing/quiz.toml (7 questions) │
│ data/licensing/changelog.toml (5 entries) │
├────────────────────────────────────────────────────────────┤
│ Hugo Templates │
│ │
│ layouts/licensing/list.html (5-tab main page) │
│ layouts/licensing/single.html (detail pages) │
├────────────────────────────────────────────────────────────┤
│ Frontend │
│ │
│ static/js/licensing.js (~940 lines) │
│ static/css/licensing.css (~1100 lines) │
├────────────────────────────────────────────────────────────┤
│ 50 Detail Pages │
│ │
│ content/licensing/*.md (Mermaid + FAQs + tables) │
└────────────────────────────────────────────────────────────┘
The 5 Tabs¶
Tab 1: Compare Plans¶
| Feature | Detail |
|---|---|
| Search | Matches name, tagline, who, description, category |
| Category sections | Collapsible groups with accent-coloured headers |
| Plan cards | Checkbox to compare, details link, M365 Maps link, Microsoft link |
| Side-by-side | Up to 4 plans in a comparison table (features, pricing, descriptions) |
| Presets | Quick comparisons: E3 vs E5, E5 vs E7, etc. |
| Shareable URLs | ?compare=m365-e3,m365-e5 generates a deep link |
Tab 2: Build Your Stack¶
| Feature | Detail |
|---|---|
| Cost calculator | Add line items (plan + user count), see running total |
| Annual/monthly view | Toggle between per-user/month and annual cost |
| Copy summary | CSV-style summary to clipboard |
| Price impact notice | July 2026 price change notification |
Tab 3: Add-ons Advisor¶
| Feature | Detail |
|---|---|
| "I have X, what do I need?" | Select base plan, get recommended add-ons |
| Hard-coded matrix | addonMatrix maps base plans to logical add-ons |
| Upgrade suggestions | When a full upgrade is better value than add-ons |
Tab 4: Which M365 Plan?¶
| Feature | Detail |
|---|---|
| 7-question quiz | Weighted scoring based on answers |
| Top 3 recommendations | Ranked by score with explanations |
| Copilot hint | Suggests Copilot add-on when relevant |
Tab 5: What Changed?¶
| Feature | Detail |
|---|---|
| Changelog | Sorted newest-first |
| Affected plan tags | Shows which plans were impacted |
| Source links | Links to official Microsoft announcements |
Data Structure¶
plans.toml — 72 Plans¶
Each plan entry includes:
[[plans]]
id = "m365-e3"
name = "Microsoft 365 E3"
category = "enterprise"
price = 36.00
price_note = "per user/month"
tagline = "Comprehensive productivity + security"
description = "Full Office apps, Exchange, SharePoint..."
who = "Medium to large enterprises"
badge = "Popular"
detail_url = "/licensing/microsoft-365-e3/"
m365maps = "https://m365maps.com/..."
ms_official = "https://www.microsoft.com/..."
features = ["office-apps", "exchange", "sharepoint", ...]
13 Categories (with Accent Colours)¶
| Category | Accent | Plans |
|---|---|---|
| Enterprise Plans | #3b82f6 (blue) |
6 |
| Copilot & AI | #8b5cf6 (purple) |
3 |
| Security & Compliance | #ef4444 (red) |
7 |
| Dynamics 365 — CRM | #0ea5e9 (sky) |
6 |
| Dynamics 365 — ERP | #14b8a6 (teal) |
5 |
| Power Platform | #a855f7 (violet) |
6 |
| Microsoft Viva | #d946ef (fuchsia) |
3 |
| Teams Add-ons | #6366f1 (indigo) |
4 |
| Project, Planner & Visio | #22c55e (green) |
6 |
| Education Plans | #eab308 (yellow) |
3 |
| Windows & Developer | #64748b (slate) |
4 |
| Business Plans | #06b6d4 (cyan) |
4 |
| Frontline Worker Plans | #f97316 (orange) |
2 |
Category accents are set in TOML and applied via --cat-accent CSS variable.
features.toml — 37 Features¶
Feature definitions used in the comparison table to show which plans include which capabilities. Includes identity (Entra P1/P2, Governance, Private Access, Internet Access, Verified ID), security (Defender suite), compliance, device management, AI (Copilot, Copilot Studio, Agent 365), voice, and analytics features.
quiz.toml — 7 Questions¶
Weighted multiple-choice questions that score each answer against plan IDs. Top 3 scoring plans are recommended.
Detail Pages (50 pages)¶
Each plan's detail page (content/licensing/<slug>.md) includes:
| Section | Detail |
|---|---|
| Front matter | plan_name, plan_id, price, plan_category, faq array |
| Mermaid diagram | Visual hierarchy showing plan components |
| Comparison tables | Feature-by-feature tables against related plans |
| Numbered FAQs | Rose-coloured questions, white answers (styled via p > strong:only-child) |
| Breadcrumb nav | Back to licensing list page |
| Quick links | Deep links to M365 Maps (Aaron Dinnage) + official Microsoft page |
| Related blog posts | Auto-matched by plan name from the blog section |
| Schema | Product JSON-LD + FAQPage JSON-LD from faq front matter |
| Disclaimer | Standard attribution footer |
SEO Expansion (April 20, 2026)¶
Eight "rich" plan pages expanded to E3/E5 depth (~150-280 lines each), targeting high-intent organic search:
| Page | Lines | Key SEO Sections |
|---|---|---|
| M365 E7 | 279 | Bundle math ($117 vs $99), migration path, "not included", 8 FAQ |
| Biz Basic | 155 | Feature tables, "not included" table, enterprise comparison, 6 FAQ |
| Biz Premium | 195 | Cyber insurance checklist, upgrade path diagram, 6 FAQ |
| O365 E1 | 165 | "No M365 E1" targeting, 4-plan comparison, 6 FAQ |
| Frontline F1/F3 | 190 | Frontline features table, 5 scenarios, enterprise comparison, 6 FAQ |
| Copilot Pro (new) | 160 | Pro vs M365 Copilot comparison, prerequisites, 6 FAQ |
| M365 E3 | 232 | +2 FAQ (E7 upgrade, Copilot add-on), cross-links |
| M365 E5 | 175 | +2 FAQ (E7 upgrade, Sentinel), cross-links |
Pattern for rich pages: Who Is It For (✅/❌) → Features (tables) → Comparison (mermaid + table) → Upgrade Path → FAQ (body matches front matter exactly for JSON-LD)
Critical rule: FAQ questions in YAML front matter must exactly match the visible body FAQ — Google penalises structured data that doesn't match visible content.
CSS — licensing.css (~1,100 lines, Rose Accent #F43F5E)¶
| Element | Detail |
|---|---|
| Accent | Rose #F43F5E |
| Category sections | Collapsible with per-category --cat-accent colours |
| Tab system | 5 tabs with active state indicators |
| Compare table | Sticky headers, feature rows |
| Quiz | Card-based question layout |
| Changelog | Timeline-style layout |
| Single pages | Breadcrumbs, badges, Mermaid blocks, FAQ styling |
| Mobile | 1-column cards, horizontal preset scrolling, wrapped compare bar |
Key Design Decisions¶
| Decision | Rationale |
|---|---|
| Data-driven via TOML | Plans, features, quiz, changelog all in data files — easy to update without touching templates |
| 49 individual detail pages | Each plan ranks separately in search — massive SEO surface area |
| Deep links to M365 Maps | Aaron Dinnage's M365 Maps is the community standard reference |
| Category accent colours | Visual grouping helps users scan 72 plans quickly |
| 5-tab layout | Different users have different needs — compare, calculate, advise, quiz, changelog |
| Shareable comparison URLs | Share a ?compare= link in Teams/email to colleagues |
| Auto-related blog posts | Cross-links to blog content drive internal navigation |
Maintenance¶
| Task | How |
|---|---|
| Add a new plan | Add [[plans]] entry in data/licence_picker/plans.toml + create content/licensing/<slug>.md |
| Update pricing | Edit price_usd (and other currencies) in plans.toml + update detail page front matter price: field |
| Add a feature | Add in data/licence_picker/features.toml + add ID to relevant plans' features arrays |
| Enrich a detail page | Follow the SEO pattern: Who Is It For → Features → Comparison → FAQ. Ensure body FAQ matches front matter exactly |
| Update quiz | Edit data/licence_picker/quiz.toml — adjust question weights or add new questions |
| Add changelog entry | Add to data/licence_picker/changelog.toml |
Last updated: 20 April 2026