Rebuilding Site Navigation and Category Architecture

·

How we restructured a flat category system into a series hierarchy, rebuilt the site navigation from scratch, and learned that menu, categories, templates, and pages are one coordinated system — not four separate things.


The Problem

The site had grown organically. Categories were flat: “The Mirror”, “The Experiment”, “Process”, “Backstory”, “The Coordinator”, “Team Meetings” — plus junk categories “6” and “8” from testing. The menu had two dropdowns that overlapped. No hierarchy. No front door.

The Vision

Wicked Evolutions The Mirror Experiment ▾ How We Built This About Team ├── The Mirror ├── Backstory ├── Process ├── The Coordinator ├── Mastery of Time └── Team Meetings

One parent category. All articles as children. Series as sub-categories. One dropdown in the menu.

PHASE 1 Category Restructure
#1   taxonomies-update-term WP Abilities
mcp__wordpress__taxonomies-update-term → term 8
name: “The Experiment” → “The Mirror Experiment”
slug: the-mirror-experiment
#2   taxonomies-create-term WP Abilities
mcp__wordpress__taxonomies-create-term → category
name: “How We Built This” (ID 15)
parent: 8 (The Mirror Experiment)
description: “Step-by-step build documentation showing every tool call, every decision.”
#3-7   wp term update × 5 SSH
Bash (SSH) → wp term update category {id} –parent=8
re-parented: The Mirror (5), The Coordinator (10), Team Meetings (13), Process (7), Backstory (6) → all become children of The Mirror Experiment (8)
#8   wp term delete × 2 SSH
Bash (SSH) → wp term delete category 11 12
Deleted: “6” and “8” test categories (junk from testing)
PHASE 2 Menu Rebuild
#9   Write header.html SSH
Bash (SSH) → Write new parts/header.html
structure: Site Title (left) + The Mirror Experiment ▾ (dropdown: 6 series) + How We Built This + About + Team

The key markup: wp:navigation-submenu for the dropdown. The parent link goes to the intro page. The children go to category archives. The dropdown both links AND navigates.

<!-- wp:navigation-submenu {"label":"The Mirror Experiment","url":"/the-mirror-experiment/"} -->
    <!-- wp:navigation-link {"label":"The Mirror","url":"/category/..."} /-->
    <!-- wp:navigation-link {"label":"Backstory","url":"/category/..."} /-->
    ...
<!-- /wp:navigation-submenu -->

The System View

This is what makes site architecture different from page building. We changed four things simultaneously:

LayerChangeTool
DataCategories restructured into parent/child hierarchyAbilities + SSH
Templatescategory.html renders series pages automaticallySSH
Navigationheader.html rebuilt with new dropdown structureSSH
ContentMirror Experiment intro page with series gridAbilities

These aren’t independent. The menu links to category archives that only work because the template exists. The template uses term descriptions that only exist because we set them. Change one layer without the others and the site breaks.

What We Learned

  1. Site architecture is a system, not a checklist. Categories, templates, navigation, and pages are interdependent. Plan all four before changing any one.
  2. WordPress abilities have gaps for structural changes. Batch term re-parenting, template file writes, and header template edits all required SSH. These are the product roadmap.
  3. wp:navigation-submenu is powerful. A single block creates a menu item that both links (click the parent) and drops down (hover for children).
  4. Chronological order matters for series. The dropdown lists series in the order they started, not alphabetically. This tells a story.

Gaps Documented

GapWhat’s MissingWorkaround
Batch term re-parentNo ability to update multiple terms’ parentsSSH + WP-CLI
Template file writeNo ability to write to theme template filesSSH
Header template editNo ability to modify template partsSSH
Content slug updatecontent-update doesn’t accept slug paramSSH + WP-CLI

These gaps ARE the product roadmap. Each one is a future ability.


How We Built This #6 — 10 tool calls, 4 gaps documented, 1 system-level architecture change across 4 layers.