site-architecture
When the user wants to plan, map, or restructure their website's page hierarchy, navigation, URL structure, or internal linking. Also use when the user mentions "sitemap," "site map," "visual sitemap," "site structure," "page hierarchy," "information architecture," "IA," "navigation design," "URL structure," "breadcrumbs," "internal linking strategy," "website planning," "what pages do I need," "how should I organize my site," "site navigation," "which website builder should I use," "migrate my website," or "add a blog to my existing site." Use this whenever someone is planning what pages a website should have, how they connect, and where to build them. NOT for XML sitemaps (that's technical SEO — see seo-audit). For SEO audits, see seo-audit. For structured data, see schema.
Overview
Site Architecture
You are an information architecture expert. Your goal is to help plan website structure — page hierarchy, navigation, URL patterns, and internal linking — so the site is intuitive for users and optimized for search engines.
Before Planning
Check for product marketing context first: If .agents/product-marketing.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):
1. Business Context
- What does the company do?
- Who are the primary audiences?
- What are the top 3 goals for the site? (conversions, SEO traffic, education, support)
2. Current State
- New site or restructuring an existing one?
- If restructuring: what's broken? (high bounce, poor SEO, users can't find things)
- Existing URLs that must be preserved (for redirects)?
- What platform is it on, and is a platform change on the table? (For choosing a platform, adding a section to an existing site, or migrating, see references/platforms-and-migration.md.)
3. Site Type
- SaaS marketing site
- Content/blog site
- E-commerce
- Documentation
- Hybrid (SaaS + content)
- Small business / local
4. Content Inventory
- How many pages exist or are planned?
- What are the most important pages? (by traffic, conversions, or business value)
- Any planned sections or expansions?
Site Types and Starting Points
| Site Type | Typical Depth | Key Sections | URL Pattern |
|---|---|---|---|
| SaaS marketing | 2-3 levels | Home, Features, Pricing, Blog, Docs | /features/name, /blog/slug |
| Content/blog | 2-3 levels | Home, Blog, Categories, About | /blog/slug, /category/slug |
| E-commerce | 3-4 levels | Home, Categories, Products, Cart | /category/subcategory/product |
| Documentation | 3-4 levels | Home, Guides, API Reference | /docs/section/page |
| Hybrid SaaS+content | 3-4 levels | Home, Product, Blog, Resources, Docs | /product/feature, /blog/slug |
| Small business | 1-2 levels | Home, Services, About, Contact | /services/name |
For full page hierarchy templates: See references/site-type-templates.md
Page Hierarchy Design
The 3-Click Rule
Users should reach any important page within 3 clicks from the homepage. This isn't absolute, but if critical pages are buried 4+ levels deep, something is wrong.
Flat vs Deep
| Approach | Best For | Tradeoff |
|---|---|---|
| Flat (2 levels) | Small sites, portfolios | Simple but doesn't scale |
| Moderate (3 levels) | Most SaaS, content sites | Good balance of depth and findability |
| Deep (4+ levels) | E-commerce, large docs | Scales but risks burying content |
Rule of thumb: Go as flat as possible while keeping navigation clean. If a nav dropdown has 20+ items, add a level of hierarchy.
Hierarchy Levels
| Level | What It Is | Example |
|---|---|---|
| L0 | Homepage | / |
| L1 | Primary sections | /features, /blog, /pricing |
| L2 | Section pages | /features/analytics, /blog/seo-guide |
| L3+ | Detail pages | /docs/api/authentication |
ASCII Tree Format
Use this format for page hierarchies:
Homepage (/)
├── Features (/features)
│ ├── Analytics (/features/analytics)
│ ├── Automation (/features/automation)
│ └── Integrations (/features/integrations)
├── Pricing (/pricing)
├── Blog (/blog)
│ ├── [Category: SEO] (/blog/category/seo)
│ └── [Category: CRO] (/blog/category/cro)
├── Resources (/resources)
│ ├── Case Studies (/resources/case-studies)
│ └── Templates (/resources/templates)
├── Docs (/docs)
│ ├── Getting Started (/docs/getting-started)
│ └── API Reference (/docs/api)
├── About (/about)
│ └── Careers (/about/careers)
└── Contact (/contact)When to use ASCII vs Mermaid:
- ASCII: quick hierarchy drafts, text-only contexts, simple structures
- Mermaid: visual presentations, complex relationships, showing nav zones or linking patterns
Navigation Design
Navigation Types
| Nav Type | Purpose | Placement |
|---|---|---|
| Header nav | Primary navigation, always visible | Top of every page |
| Dropdown menus | Organize sub-pages under parent | Expands from header items |
| Footer nav | Secondary links, legal, sitemap | Bottom of every page |
| Sidebar nav | Section navigation (docs, blog) | Left side within a section |
| Breadcrumbs | Show current location in hierarchy | Below header, above content |
| Contextual links | Related content, next steps | Within page content |
Header Navigation Rules
- 4-7 items max in the primary nav (more causes decision paralysis)
- CTA button goes rightmost (e.g., "Start Free Trial," "Get Started")
- Logo links to homepage (left side)
- Order by priority: most important/visited pages first
- If you have a mega menu, limit to 3-4 columns
Footer Organization
Group footer links into columns:
- Product: Features, Pricing, Integrations, Changelog
- Resources: Blog, Case Studies, Templates, Docs
- Company: About, Careers, Contact, Press
- Legal: Privacy, Terms, Security
Breadcrumb Format
Home > Features > Analytics
Home > Blog > SEO Category > Post TitleBreadcrumbs should mirror the URL hierarchy. Every breadcrumb segment should be a clickable link except the current page.
For detailed navigation patterns: See references/navigation-patterns.md
URL Structure
Design Principles
- Readable by humans —
/features/analyticsnot/f/a123 - Hyphens, not underscores —
/blog/seo-guidenot/blog/seo_guide - Reflect the hierarchy — URL path should match site structure
- Consistent trailing slash policy — pick one (with or without) and enforce it
- Lowercase always —
/Aboutshould redirect to/about - Short but descriptive —
/blog/how-to-improve-landing-page-conversion-ratesis too long;/blog/landing-page-conversionsis better
URL Patterns by Page Type
| Page Type | Pattern | Example |
|---|---|---|
| Homepage | / | example.com |
| Feature page | /features/{name} | /features/analytics |
| Pricing | /pricing | /pricing |
| Blog post | /blog/{slug} | /blog/seo-guide |
| Blog category | /blog/category/{slug} | /blog/category/seo |
| Case study | /customers/{slug} | /customers/acme-corp |
| Documentation | /docs/{section}/{page} | /docs/api/authentication |
| Legal | /{page} | /privacy, /terms |
| Landing page | /{slug} or /lp/{slug} | /free-trial, /lp/webinar |
| Comparison | /compare/{competitor} or /vs/{competitor} | /compare/competitor-name |
| Integration | /integrations/{name} | /integrations/slack |
| Template | /templates/{slug} | /templates/marketing-plan |
Common Mistakes
- Dates in blog URLs —
/blog/2024/01/15/post-titleadds no value and makes URLs long. Use/blog/post-title. - Over-nesting —
/products/category/subcategory/item/detailis too deep. Flatten where possible. - Changing URLs without redirects — Every old URL needs a 301 redirect to its new URL. Without them, you lose backlink equity and create broken pages for anyone with the old URL bookmarked or linked.
- IDs in URLs —
/product/12345is not human-readable. Use slugs. - Query parameters for content —
/blog?id=123should be/blog/post-title. - Inconsistent patterns — Don't mix
/features/analyticsand/product/automation. Pick one parent.
Breadcrumb-URL Alignment
The breadcrumb trail should mirror the URL path:
| URL | Breadcrumb |
|---|---|
/features/analytics | Home > Features > Analytics |
/blog/seo-guide | Home > Blog > SEO Guide |
/docs/api/auth | Home > Docs > API > Authentication |
Visual Sitemap Output (Mermaid)
Use Mermaid graph TD for visual sitemaps. This makes hierarchy relationships clear and can annotate navigation zones.
Basic Hierarchy
graph TD
HOME[Homepage] --> FEAT[Features]
HOME --> PRICE[Pricing]
HOME --> BLOG[Blog]
HOME --> ABOUT[About]
FEAT --> F1[Analytics]
FEAT --> F2[Automation]
FEAT --> F3[Integrations]
BLOG --> B1[Post 1]
BLOG --> B2[Post 2]With Navigation Zones
graph TD
subgraph Header Nav
HOME[Homepage]
FEAT[Features]
PRICE[Pricing]
BLOG[Blog]
CTA[Get Started]
end
subgraph Footer Nav
ABOUT[About]
CAREERS[Careers]
CONTACT[Contact]
PRIVACY[Privacy]
end
HOME --> FEAT
HOME --> PRICE
HOME --> BLOG
HOME --> ABOUT
FEAT --> F1[Analytics]
FEAT --> F2[Automation]For more Mermaid templates: See references/mermaid-templates.md
Internal Linking Strategy
Link Types
| Type | Purpose | Example |
|---|---|---|
| Navigational | Move between sections | Header, footer, sidebar links |
| Contextual | Related content within text | "Learn more about analytics" |
| Hub-and-spoke | Connect cluster content to hub | Blog posts linking to pillar page |
| Cross-section | Connect related pages across sections | Feature page linking to related case study |
Internal Linking Rules
- No orphan pages — every page must have at least one internal link pointing to it
- Descriptive anchor text — "our analytics features" not "click here"
- 5-10 internal links per 1000 words of content (approximate guideline)
- Link to important pages more often — homepage, key feature pages, pricing
- Use breadcrumbs — free internal links on every page
- Related content sections — "Related Posts" or "You might also like" at page bottom
Hub-and-Spoke Model
For content-heavy sites, organize around hub pages:
Hub: /blog/seo-guide (comprehensive overview)
├── Spoke: /blog/keyword-research (links back to hub)
├── Spoke: /blog/on-page-seo (links back to hub)
├── Spoke: /blog/technical-seo (links back to hub)
└── Spoke: /blog/link-building (links back to hub)Each spoke links back to the hub. The hub links to all spokes. Spokes link to each other where relevant.
Link Audit Checklist
- [ ] Every page has at least one inbound internal link
- [ ] No broken internal links (404s)
- [ ] Anchor text is descriptive (not "click here" or "read more")
- [ ] Important pages have the most inbound internal links
- [ ] Breadcrumbs are implemented on all pages
- [ ] Related content links exist on blog posts
- [ ] Cross-section links connect features to case studies, blog to product pages
Output Format
When creating a site architecture plan, provide these deliverables:
1. Page Hierarchy (ASCII Tree)
Full site structure with URLs at each node. Use the ASCII tree format from the Page Hierarchy Design section.
2. Visual Sitemap (Mermaid)
Mermaid diagram showing page relationships and navigation zones. Use graph TD with subgraphs for nav zones where helpful.
3. URL Map Table
| Page | URL | Parent | Nav Location | Priority |
|---|---|---|---|---|
| Homepage | / | — | Header | High |
| Features | /features | Homepage | Header | High |
| Analytics | /features/analytics | Features | Header dropdown | Medium |
| Pricing | /pricing | Homepage | Header | High |
| Blog | /blog | Homepage | Header | Medium |
4. Navigation Spec
- Header nav items (ordered, with CTA)
- Footer sections and links
- Sidebar nav (if applicable)
- Breadcrumb implementation notes
5. Internal Linking Plan
- Hub pages and their spokes
- Cross-section link opportunities
- Orphan page audit (if restructuring)
- Recommended links per key page
Task-Specific Questions
- Is this a new site or are you restructuring an existing one?
- What type of site is it? (SaaS, content, e-commerce, docs, hybrid, small business)
- How many pages exist or are planned?
- What are the 5 most important pages on the site?
- Are there existing URLs that need to be preserved or redirected?
- Who are the primary audiences, and what are they trying to accomplish on the site?
Related Skills
- content-strategy: For planning what content to create and topic clusters
- programmatic-seo: For building SEO pages at scale with templates and data
- seo-audit: For technical SEO, on-page optimization, and indexation issues
- cro: For optimizing individual pages for conversion
- schema: For implementing breadcrumb and site navigation structured data
- competitors: For comparison page frameworks and URL patterns
- launch: For site go-live QA after a build or migration
Files 6 files
Install it by hand
Deska runs this for you, for every agent you pick. To run it yourself in a terminal:
npx skills add coreyhaines31/marketingskills --skill site-architectureMore from coreyhaines31
- seo-auditcoreyhaines31When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," or "indexing issues." Use this even if the user just says something vague like "my SEO is bad" or "help with SEO" — start with an audit. For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema. For AI search optimization, see ai-seo.221.3K installs on skills.sh0
- copywritingcoreyhaines31When the user wants to write, rewrite, or improve marketing copy for any page, including homepage, landing pages, pricing pages, feature pages, about pages, or product pages. Also use when the user says "write copy for," "improve this copy," "rewrite this page," "marketing copy," "headline help," "CTA copy," "value proposition," "tagline," "subheadline," "hero section copy," "above the fold," "this copy is weak," "make this more compelling," "this sounds like AI," "AI slop," "make it sound human," or "help me describe my product." Use this whenever someone is working on website text that needs to persuade or convert. Drafts never use AI tells like "it's not X, it's Y" reveals, "no X, no Y, no Z" lists, or sentences that trail into extra comma clauses. For email copy, see emails. For popup copy, see popups. For editing existing copy, see copy-editing. For the offer underneath the copy (bonuses, guarantees, value framing), see offers.217.2K installs on skills.sh0
- marketing-psychologycoreyhaines31When the user wants to apply psychological principles, mental models, or behavioral science to marketing. Also use when the user mentions 'psychology,' 'mental models,' 'cognitive bias,' 'persuasion,' 'behavioral science,' 'why people buy,' 'decision-making,' 'consumer behavior,' 'anchoring,' 'social proof,' 'scarcity,' 'loss aversion,' 'framing,' or 'nudge.' Use this whenever someone wants to understand or leverage how people think and make decisions in a marketing context. For applying psychology to specific pages, see cro; for pricing tactics, see pricing; for copy framing, see copywriting.153.5K installs on skills.sh0
- content-strategycoreyhaines31When the user wants to plan a content strategy, decide what content to create, or figure out what topics to cover. Also use when the user mentions "content strategy," "what should I write about," "content ideas," "blog strategy," "topic clusters," "content planning," "editorial calendar," "content marketing," "content roadmap," "what content should I create," "blog topics," "content pillars," or "I don't know what to write." Use this whenever someone needs help deciding what content to produce, not just writing it. For writing individual pieces, see copywriting. For SEO-specific audits, see seo-audit. For social media content specifically, see social.151.7K installs on skills.sh0
- programmatic-seocoreyhaines31When the user wants to create SEO-driven pages at scale using templates and data. Also use when the user mentions "programmatic SEO," "template pages," "pages at scale," "directory pages," "location pages," "[keyword] + [city] pages," "comparison pages," "integration pages," "building many pages for SEO," "pSEO," "generate 100 pages," "data-driven pages," "templated landing pages," or "which CMS for pSEO." Use this whenever someone wants to create many similar pages targeting different keywords or locations. For auditing existing SEO issues, see seo-audit. For content strategy planning, see content-strategy.140.4K installs on skills.sh0