optbrew 0.0.0-stage → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +6 -0
- package/.claude-plugin/plugin.json +6 -0
- package/.codex-plugin/plugin.json +13 -0
- package/CHANGELOG.md +50 -0
- package/LICENSE +21 -0
- package/README.ko.md +149 -0
- package/README.md +148 -2
- package/THIRD_PARTY_NOTICES.md +10 -0
- package/bin/optbrew.mjs +4 -0
- package/docs/platforms.md +107 -0
- package/docs/release.md +14 -0
- package/lib/cli.mjs +116 -0
- package/lib/doctor.mjs +45 -0
- package/lib/install.mjs +158 -0
- package/lib/paths.mjs +30 -0
- package/lib/records.mjs +44 -0
- package/lib/reinstall.mjs +92 -0
- package/lib/transaction.mjs +205 -0
- package/lib/update.mjs +189 -0
- package/package.json +39 -4
- package/plugin.json +13 -0
- package/skills/optbrew/LICENSE +21 -0
- package/skills/optbrew/SKILL.md +17 -0
- package/skills/optbrew/THIRD_PARTY_NOTICES.md +10 -0
- package/skills/optbrew/agents/openai.yaml +4 -0
- package/skills/optbrew/bundle-manifest.json +687 -0
- package/skills/optbrew/licenses/firecrawl-seo-audit.txt +15 -0
- package/skills/optbrew/licenses/magnus-seo.txt +21 -0
- package/skills/optbrew/licenses/marketing-search.txt +21 -0
- package/skills/optbrew/licenses/mblode-seo.txt +21 -0
- package/skills/optbrew/licenses/naver-searchadvisor.txt +29 -0
- package/skills/optbrew/licenses/seranking-seo.txt +21 -0
- package/skills/optbrew/modules/firecrawl-seo-audit/GUIDE.md +64 -0
- package/skills/optbrew/modules/magnus-seo/GUIDE.md +79 -0
- package/skills/optbrew/modules/magnus-seo/README.md +45 -0
- package/skills/optbrew/modules/magnus-seo/assets/audit-report-template.md +76 -0
- package/skills/optbrew/modules/magnus-seo/references/aeo-methodology.md +105 -0
- package/skills/optbrew/modules/magnus-seo/references/agent-readable-content.md +28 -0
- package/skills/optbrew/modules/magnus-seo/references/content-and-entity-architecture.md +100 -0
- package/skills/optbrew/modules/magnus-seo/references/content-strategy-seo.md +142 -0
- package/skills/optbrew/modules/magnus-seo/references/discovery-and-freshness.md +47 -0
- package/skills/optbrew/modules/magnus-seo/references/evidence-boundaries.md +75 -0
- package/skills/optbrew/modules/magnus-seo/references/ghost-metadata.md +204 -0
- package/skills/optbrew/modules/magnus-seo/references/implementation-playbook.md +114 -0
- package/skills/optbrew/modules/magnus-seo/references/measurement-and-experimentation.md +47 -0
- package/skills/optbrew/modules/magnus-seo/references/onpage-seo.md +154 -0
- package/skills/optbrew/modules/magnus-seo/references/platform-guidance.md +30 -0
- package/skills/optbrew/modules/magnus-seo/references/schema-markup.md +244 -0
- package/skills/optbrew/modules/magnus-seo/references/source-index.md +36 -0
- package/skills/optbrew/modules/magnus-seo/references/structured-data.md +56 -0
- package/skills/optbrew/modules/magnus-seo/references/technical-seo.md +99 -0
- package/skills/optbrew/modules/magnus-seo/scripts/aeo_audit.py +158 -0
- package/skills/optbrew/modules/magnus-seo/scripts/build_prompt_matrix.py +52 -0
- package/skills/optbrew/modules/magnus-seo/templates/aeo-implementation-plan.md +53 -0
- package/skills/optbrew/modules/magnus-seo/templates/citation-observation-log.md +16 -0
- package/skills/optbrew/modules/magnus-seo/templates/llms.txt.template +15 -0
- package/skills/optbrew/modules/magnus-seo/templates/question-cluster.md +27 -0
- package/skills/optbrew/modules/magnus-seo/templates/robots-ai-crawlers.txt +23 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/GUIDE.md +483 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/agent-readiness.md +57 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/citations-vs-recommendations.md +85 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/content-patterns.md +287 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/content-types.md +71 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/format-volatility.md +98 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/okf.md +104 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/platform-ranking-factors.md +154 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/youtube-ai-citations.md +60 -0
- package/skills/optbrew/modules/marketing-search/skills/analytics/GUIDE.md +303 -0
- package/skills/optbrew/modules/marketing-search/skills/analytics/references/event-library.md +260 -0
- package/skills/optbrew/modules/marketing-search/skills/analytics/references/ga4-implementation.md +300 -0
- package/skills/optbrew/modules/marketing-search/skills/analytics/references/gtm-implementation.md +390 -0
- package/skills/optbrew/modules/marketing-search/skills/content-strategy/GUIDE.md +432 -0
- package/skills/optbrew/modules/marketing-search/skills/content-strategy/references/content-distribution.md +83 -0
- package/skills/optbrew/modules/marketing-search/skills/content-strategy/references/headless-cms.md +194 -0
- package/skills/optbrew/modules/marketing-search/skills/programmatic-seo/GUIDE.md +231 -0
- package/skills/optbrew/modules/marketing-search/skills/programmatic-seo/references/playbooks.md +308 -0
- package/skills/optbrew/modules/marketing-search/skills/schema/GUIDE.md +172 -0
- package/skills/optbrew/modules/marketing-search/skills/schema/references/schema-examples.md +398 -0
- package/skills/optbrew/modules/marketing-search/skills/seo-audit/GUIDE.md +492 -0
- package/skills/optbrew/modules/marketing-search/skills/seo-audit/references/ai-writing-detection.md +200 -0
- package/skills/optbrew/modules/marketing-search/skills/seo-audit/references/international-seo.md +230 -0
- package/skills/optbrew/modules/marketing-search/skills/site-architecture/GUIDE.md +350 -0
- package/skills/optbrew/modules/marketing-search/skills/site-architecture/references/mermaid-templates.md +216 -0
- package/skills/optbrew/modules/marketing-search/skills/site-architecture/references/navigation-patterns.md +305 -0
- package/skills/optbrew/modules/marketing-search/skills/site-architecture/references/site-type-templates.md +293 -0
- package/skills/optbrew/modules/mblode-seo/GUIDE.md +74 -0
- package/skills/optbrew/modules/mblode-seo/references/answer-engines.md +58 -0
- package/skills/optbrew/modules/mblode-seo/references/audit.md +78 -0
- package/skills/optbrew/modules/mblode-seo/references/brief-template.md +47 -0
- package/skills/optbrew/modules/mblode-seo/references/monitoring.md +56 -0
- package/skills/optbrew/modules/mblode-seo/references/nextjs-implementation.md +65 -0
- package/skills/optbrew/modules/mblode-seo/references/research-protocol.md +37 -0
- package/skills/optbrew/modules/mblode-seo/references/sources.md +47 -0
- package/skills/optbrew/modules/mblode-seo/references/validation-evidence.md +21 -0
- package/skills/optbrew/modules/naver-searchadvisor/GUIDE.md +75 -0
- package/skills/optbrew/modules/naver-searchadvisor/NOTICE.md +59 -0
- package/skills/optbrew/modules/naver-searchadvisor/references/INDEX.md +97 -0
- package/skills/optbrew/modules/naver-searchadvisor/scripts/audit.mjs +742 -0
- package/skills/optbrew/modules/naver-searchadvisor/scripts/robots.mjs +77 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-ai-search-share-of-voice/GUIDE.md +94 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-api/GUIDE.md +186 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-api/references/api-surface-map.md +207 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-api/references/auth-and-keys.md +182 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-api/references/integration-patterns.md +283 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-api/references/rate-limits-and-credits.md +235 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-competitor-gap-analysis/GUIDE.md +117 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-content-audit/GUIDE.md +155 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-content-audit/references/cite.md +84 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-content-audit/references/core-eeat.md +147 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-content-audit/templates/verdict.md +63 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-firecrawl/GUIDE.md +141 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-firecrawl/references/preflight.md +73 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-geo/GUIDE.md +159 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/GUIDE.md +393 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/assets/templates/cwv-audit-report.md +48 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/assets/templates/gsc-performance-report.md +44 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/assets/templates/indexation-status-report.md +43 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/auth-setup.md +160 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/cross-skill-integration.md +187 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/ga4-data-api.md +184 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/indexing-api.md +109 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/keyword-planner-api.md +66 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/nlp-api.md +55 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/pagespeed-crux-api.md +204 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/rate-limits-quotas.md +75 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/search-console-api.md +156 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/supplementary-apis.md +99 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/youtube-api.md +49 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-keyword-niche/GUIDE.md +174 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-page/GUIDE.md +174 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-plan/GUIDE.md +220 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-schema/GUIDE.md +135 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-schema/references/google-rich-results.md +89 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-schema/templates/article.json +23 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-schema/templates/breadcrumb-list.json +18 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-schema/templates/faq-page.json +22 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-schema/templates/local-business.json +32 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-schema/templates/product.json +25 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-sitemap/GUIDE.md +128 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-technical-audit/GUIDE.md +235 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-technical-audit/references/severity-mapping.md +133 -0
- package/skills/optbrew/references/ai-crawlers.json +21 -0
- package/skills/optbrew/references/ai-crawlers.md +24 -0
- package/skills/optbrew/references/api.md +45 -0
- package/skills/optbrew/references/check-registry.json +28 -0
- package/skills/optbrew/references/evidence.md +9 -0
- package/skills/optbrew/references/intake.md +9 -0
- package/skills/optbrew/references/measurement.md +29 -0
- package/skills/optbrew/references/policies.md +7 -0
- package/skills/optbrew/references/profiles.json +13 -0
- package/skills/optbrew/references/remediations.json +12 -0
- package/skills/optbrew/references/report.md +29 -0
- package/skills/optbrew/references/routing.md +15 -0
- package/skills/optbrew/references/schemas/contract.schema.json +51 -0
- package/skills/optbrew/references/scoring.md +62 -0
- package/skills/optbrew/scripts/adapters/anthropic.mjs +116 -0
- package/skills/optbrew/scripts/adapters/imports.mjs +81 -0
- package/skills/optbrew/scripts/audit.mjs +124 -0
- package/skills/optbrew/scripts/cli.mjs +41 -0
- package/skills/optbrew/scripts/core/bootstrap.mjs +31 -0
- package/skills/optbrew/scripts/core/bundle.mjs +73 -0
- package/skills/optbrew/scripts/core/capabilities.mjs +19 -0
- package/skills/optbrew/scripts/core/collector.mjs +250 -0
- package/skills/optbrew/scripts/core/compare.mjs +47 -0
- package/skills/optbrew/scripts/core/contracts.mjs +144 -0
- package/skills/optbrew/scripts/core/cost-ledger.mjs +95 -0
- package/skills/optbrew/scripts/core/crawlers.mjs +11 -0
- package/skills/optbrew/scripts/core/derive.mjs +168 -0
- package/skills/optbrew/scripts/core/facts.mjs +189 -0
- package/skills/optbrew/scripts/core/findings.mjs +54 -0
- package/skills/optbrew/scripts/core/html.mjs +53 -0
- package/skills/optbrew/scripts/core/metrics.mjs +97 -0
- package/skills/optbrew/scripts/core/protocol.mjs +125 -0
- package/skills/optbrew/scripts/core/report.mjs +742 -0
- package/skills/optbrew/scripts/core/scope.mjs +52 -0
- package/skills/optbrew/scripts/core/score.mjs +71 -0
- package/skills/optbrew/scripts/core/weights.mjs +139 -0
- package/skills/optbrew/source-lock.json +2686 -0
- package/source-lock.json +2686 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
# Mermaid Diagram Templates
|
|
2
|
+
|
|
3
|
+
Copy-paste-ready Mermaid diagrams for visual sitemaps. Customize node labels and connections for your site.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Basic Hierarchy
|
|
8
|
+
|
|
9
|
+
Simple top-down page hierarchy.
|
|
10
|
+
|
|
11
|
+
```mermaid
|
|
12
|
+
graph TD
|
|
13
|
+
HOME["Homepage<br/>/"] --> FEAT["Features<br/>/features"]
|
|
14
|
+
HOME --> PRICE["Pricing<br/>/pricing"]
|
|
15
|
+
HOME --> BLOG["Blog<br/>/blog"]
|
|
16
|
+
HOME --> ABOUT["About<br/>/about"]
|
|
17
|
+
|
|
18
|
+
FEAT --> F1["Analytics<br/>/features/analytics"]
|
|
19
|
+
FEAT --> F2["Automation<br/>/features/automation"]
|
|
20
|
+
FEAT --> F3["Integrations<br/>/features/integrations"]
|
|
21
|
+
|
|
22
|
+
BLOG --> B1["Post: SEO Guide<br/>/blog/seo-guide"]
|
|
23
|
+
BLOG --> B2["Post: CRO Tips<br/>/blog/cro-tips"]
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Hierarchy with Navigation Zones
|
|
29
|
+
|
|
30
|
+
Uses subgraphs to show which pages appear in which navigation area.
|
|
31
|
+
|
|
32
|
+
```mermaid
|
|
33
|
+
graph TD
|
|
34
|
+
subgraph "Header Nav"
|
|
35
|
+
HOME["Homepage"]
|
|
36
|
+
FEAT["Features"]
|
|
37
|
+
PRICE["Pricing"]
|
|
38
|
+
BLOG["Blog"]
|
|
39
|
+
CTA["Get Started ★"]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
subgraph "Feature Pages"
|
|
43
|
+
F1["Analytics"]
|
|
44
|
+
F2["Automation"]
|
|
45
|
+
F3["Integrations"]
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
subgraph "Footer Nav"
|
|
49
|
+
ABOUT["About"]
|
|
50
|
+
CAREERS["Careers"]
|
|
51
|
+
CONTACT["Contact"]
|
|
52
|
+
PRIVACY["Privacy"]
|
|
53
|
+
TERMS["Terms"]
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
HOME --> FEAT
|
|
57
|
+
HOME --> PRICE
|
|
58
|
+
HOME --> BLOG
|
|
59
|
+
FEAT --> F1
|
|
60
|
+
FEAT --> F2
|
|
61
|
+
FEAT --> F3
|
|
62
|
+
HOME --> ABOUT
|
|
63
|
+
ABOUT --> CAREERS
|
|
64
|
+
HOME --> CONTACT
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Hierarchy with URL Labels
|
|
70
|
+
|
|
71
|
+
Each node shows the page name and URL path.
|
|
72
|
+
|
|
73
|
+
```mermaid
|
|
74
|
+
graph TD
|
|
75
|
+
HOME["Homepage<br/><small>/</small>"] --> PROD["Product<br/><small>/product</small>"]
|
|
76
|
+
HOME --> PRICE["Pricing<br/><small>/pricing</small>"]
|
|
77
|
+
HOME --> BLOG["Blog<br/><small>/blog</small>"]
|
|
78
|
+
HOME --> DOCS["Docs<br/><small>/docs</small>"]
|
|
79
|
+
HOME --> ABOUT["About<br/><small>/about</small>"]
|
|
80
|
+
|
|
81
|
+
PROD --> P1["Analytics<br/><small>/product/analytics</small>"]
|
|
82
|
+
PROD --> P2["Reports<br/><small>/product/reports</small>"]
|
|
83
|
+
|
|
84
|
+
DOCS --> D1["Getting Started<br/><small>/docs/getting-started</small>"]
|
|
85
|
+
DOCS --> D2["API Reference<br/><small>/docs/api</small>"]
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Hub-and-Spoke Content Model
|
|
91
|
+
|
|
92
|
+
Shows a hub page connected to spoke articles, with spokes linking to each other.
|
|
93
|
+
|
|
94
|
+
```mermaid
|
|
95
|
+
graph TD
|
|
96
|
+
HUB["SEO Guide<br/>(Hub Page)"]
|
|
97
|
+
|
|
98
|
+
HUB --> S1["Keyword Research"]
|
|
99
|
+
HUB --> S2["On-Page SEO"]
|
|
100
|
+
HUB --> S3["Technical SEO"]
|
|
101
|
+
HUB --> S4["Link Building"]
|
|
102
|
+
|
|
103
|
+
S1 -.-> S2
|
|
104
|
+
S2 -.-> S3
|
|
105
|
+
S3 -.-> S4
|
|
106
|
+
|
|
107
|
+
style HUB fill:#f9f,stroke:#333,stroke-width:2px
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Legend:
|
|
111
|
+
- Solid lines = primary hub-spoke links
|
|
112
|
+
- Dashed lines = cross-links between spokes
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Internal Linking Flow
|
|
117
|
+
|
|
118
|
+
Shows how different site sections link to each other.
|
|
119
|
+
|
|
120
|
+
```mermaid
|
|
121
|
+
graph LR
|
|
122
|
+
subgraph "Marketing"
|
|
123
|
+
HOME["Homepage"]
|
|
124
|
+
FEAT["Features"]
|
|
125
|
+
PRICE["Pricing"]
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
subgraph "Content"
|
|
129
|
+
BLOG["Blog"]
|
|
130
|
+
GUIDE["Guides"]
|
|
131
|
+
CASE["Case Studies"]
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
subgraph "Product"
|
|
135
|
+
DOCS["Docs"]
|
|
136
|
+
API["API Ref"]
|
|
137
|
+
CHANGE["Changelog"]
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
BLOG --> FEAT
|
|
141
|
+
BLOG --> CASE
|
|
142
|
+
CASE --> FEAT
|
|
143
|
+
CASE --> PRICE
|
|
144
|
+
FEAT --> DOCS
|
|
145
|
+
GUIDE --> BLOG
|
|
146
|
+
GUIDE --> DOCS
|
|
147
|
+
HOME --> FEAT
|
|
148
|
+
HOME --> BLOG
|
|
149
|
+
HOME --> CASE
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Before/After Restructuring
|
|
155
|
+
|
|
156
|
+
Compare current and proposed site structures side by side.
|
|
157
|
+
|
|
158
|
+
```mermaid
|
|
159
|
+
graph TD
|
|
160
|
+
subgraph "Before"
|
|
161
|
+
B_HOME["Homepage"] --> B_P1["Page 1"]
|
|
162
|
+
B_HOME --> B_P2["Page 2"]
|
|
163
|
+
B_HOME --> B_P3["Page 3"]
|
|
164
|
+
B_HOME --> B_P4["Page 4"]
|
|
165
|
+
B_HOME --> B_P5["Page 5"]
|
|
166
|
+
B_HOME --> B_P6["Page 6"]
|
|
167
|
+
B_HOME --> B_P7["Page 7"]
|
|
168
|
+
B_HOME --> B_P8["Page 8"]
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
subgraph "After"
|
|
172
|
+
A_HOME["Homepage"] --> A_S1["Features"]
|
|
173
|
+
A_HOME --> A_S2["Resources"]
|
|
174
|
+
A_HOME --> A_S3["Company"]
|
|
175
|
+
A_S1 --> A_P1["Feature A"]
|
|
176
|
+
A_S1 --> A_P2["Feature B"]
|
|
177
|
+
A_S2 --> A_P3["Blog"]
|
|
178
|
+
A_S2 --> A_P4["Guides"]
|
|
179
|
+
A_S3 --> A_P5["About"]
|
|
180
|
+
A_S3 --> A_P6["Contact"]
|
|
181
|
+
end
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Color-Coding Conventions
|
|
187
|
+
|
|
188
|
+
Use styles to highlight page status, priority, or type.
|
|
189
|
+
|
|
190
|
+
```mermaid
|
|
191
|
+
graph TD
|
|
192
|
+
HOME["Homepage"] --> FEAT["Features"]
|
|
193
|
+
HOME --> PRICE["Pricing"]
|
|
194
|
+
HOME --> BLOG["Blog"]
|
|
195
|
+
HOME --> NEW["New Section"]
|
|
196
|
+
HOME --> REMOVE["Deprecated Page"]
|
|
197
|
+
|
|
198
|
+
FEAT --> F1["Existing Feature"]
|
|
199
|
+
FEAT --> F2["New Feature"]
|
|
200
|
+
|
|
201
|
+
style HOME fill:#4CAF50,color:#fff
|
|
202
|
+
style PRICE fill:#4CAF50,color:#fff
|
|
203
|
+
style FEAT fill:#4CAF50,color:#fff
|
|
204
|
+
style BLOG fill:#4CAF50,color:#fff
|
|
205
|
+
style F1 fill:#4CAF50,color:#fff
|
|
206
|
+
style NEW fill:#2196F3,color:#fff
|
|
207
|
+
style F2 fill:#2196F3,color:#fff
|
|
208
|
+
style REMOVE fill:#f44336,color:#fff
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Color key:
|
|
212
|
+
- **Green** (`#4CAF50`): Existing pages (no changes)
|
|
213
|
+
- **Blue** (`#2196F3`): New pages to create
|
|
214
|
+
- **Red** (`#f44336`): Pages to remove or redirect
|
|
215
|
+
- **Yellow** (`#FFC107`): Pages to restructure or move
|
|
216
|
+
- **Purple** (`#9C27B0`): High-priority / CTA pages
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
# Navigation Patterns
|
|
2
|
+
|
|
3
|
+
Detailed navigation patterns for different site types and contexts.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Header Navigation
|
|
8
|
+
|
|
9
|
+
### Simple Header (4-6 items)
|
|
10
|
+
|
|
11
|
+
Best for: small businesses, simple SaaS, portfolios.
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
[Logo] Features Pricing Blog About [CTA Button]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Rules:
|
|
18
|
+
- Logo always links to homepage
|
|
19
|
+
- CTA button is rightmost, visually distinct (filled button, contrasting color)
|
|
20
|
+
- Items ordered by priority (most visited first)
|
|
21
|
+
- Active page gets visual indicator (underline, bold, color)
|
|
22
|
+
|
|
23
|
+
### Mega Menu Header
|
|
24
|
+
|
|
25
|
+
Best for: SaaS with many features, e-commerce with categories, large content sites.
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
[Logo] Product ▾ Solutions ▾ Resources ▾ Pricing Docs [CTA]
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
When "Product" is hovered/clicked:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
┌─────────────────────────────────────────────────┐
|
|
35
|
+
│ Features Platform Integrations │
|
|
36
|
+
│ ───────── ───────── ──────────── │
|
|
37
|
+
│ Analytics Security Slack │
|
|
38
|
+
│ Automation API HubSpot │
|
|
39
|
+
│ Reporting Compliance Salesforce │
|
|
40
|
+
│ Dashboards Zapier │
|
|
41
|
+
│ │
|
|
42
|
+
│ [See all features →] │
|
|
43
|
+
└─────────────────────────────────────────────────┘
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Mega menu rules:
|
|
47
|
+
- 2-4 columns max
|
|
48
|
+
- Group items logically (by feature area, use case, or audience)
|
|
49
|
+
- Include a "See all" link at the bottom
|
|
50
|
+
- Don't nest dropdowns inside mega menus
|
|
51
|
+
- Show descriptions for items when labels alone aren't clear
|
|
52
|
+
|
|
53
|
+
### Split Navigation
|
|
54
|
+
|
|
55
|
+
Best for: apps with both marketing and product nav.
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
[Logo] Features Pricing Blog [Login] [Sign Up]
|
|
59
|
+
├── Marketing nav (left) ──────┘ └── Auth nav (right) ──┤
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Right side handles authentication actions. Left side handles page navigation.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Footer Navigation
|
|
67
|
+
|
|
68
|
+
### Column-Based Footer (Standard)
|
|
69
|
+
|
|
70
|
+
Best for: most sites. Organize links into 3-5 themed columns.
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
┌──────────────────────────────────────────────────────────┐
|
|
74
|
+
│ │
|
|
75
|
+
│ Product Resources Company Legal │
|
|
76
|
+
│ ───────── ────────── ───────── ───── │
|
|
77
|
+
│ Features Blog About Privacy │
|
|
78
|
+
│ Pricing Guides Careers Terms │
|
|
79
|
+
│ Integrations Templates Contact GDPR │
|
|
80
|
+
│ Changelog Case Studies Press │
|
|
81
|
+
│ Security Webinars Partners │
|
|
82
|
+
│ │
|
|
83
|
+
│ [Logo] © 2026 Company Name │
|
|
84
|
+
│ Social: [Twitter] [LinkedIn] [GitHub] │
|
|
85
|
+
│ │
|
|
86
|
+
└──────────────────────────────────────────────────────────┘
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Minimal Footer
|
|
90
|
+
|
|
91
|
+
Best for: simple sites, landing pages.
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
┌──────────────────────────────────────────────────────────┐
|
|
95
|
+
│ [Logo] │
|
|
96
|
+
│ © 2026 Company · Privacy · Terms · Contact │
|
|
97
|
+
└──────────────────────────────────────────────────────────┘
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Expanded Footer
|
|
101
|
+
|
|
102
|
+
Best for: sites using footer for SEO (comparison pages, location pages, resource links).
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
┌──────────────────────────────────────────────────────────┐
|
|
106
|
+
│ Product Resources Compare Use Cases │
|
|
107
|
+
│ Features Blog vs Competitor A For Startups │
|
|
108
|
+
│ Pricing Guides vs Competitor B For Enterprise│
|
|
109
|
+
│ API Templates vs Competitor C For Agencies │
|
|
110
|
+
│ │
|
|
111
|
+
│ Integrations Popular Posts │
|
|
112
|
+
│ Slack Zapier How to Do X │
|
|
113
|
+
│ HubSpot Salesforce Guide to Y │
|
|
114
|
+
│ Template: Z │
|
|
115
|
+
│ │
|
|
116
|
+
│ [Logo] © 2026 · Privacy · Terms · Security │
|
|
117
|
+
└──────────────────────────────────────────────────────────┘
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Sidebar Navigation
|
|
123
|
+
|
|
124
|
+
### Documentation Sidebar
|
|
125
|
+
|
|
126
|
+
Persistent left sidebar with collapsible sections.
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
Getting Started
|
|
130
|
+
├── Installation
|
|
131
|
+
├── Quick Start
|
|
132
|
+
└── Configuration
|
|
133
|
+
|
|
134
|
+
Guides
|
|
135
|
+
├── Authentication
|
|
136
|
+
├── Data Models
|
|
137
|
+
└── Deployment
|
|
138
|
+
|
|
139
|
+
API Reference
|
|
140
|
+
├── REST API
|
|
141
|
+
│ ├── Users
|
|
142
|
+
│ ├── Projects
|
|
143
|
+
│ └── Webhooks
|
|
144
|
+
└── GraphQL
|
|
145
|
+
|
|
146
|
+
Examples
|
|
147
|
+
├── Next.js
|
|
148
|
+
├── Rails
|
|
149
|
+
└── Python
|
|
150
|
+
|
|
151
|
+
Changelog
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Rules:
|
|
155
|
+
- Current page highlighted
|
|
156
|
+
- Sections collapsible (expanded by default for active section)
|
|
157
|
+
- Search at top of sidebar
|
|
158
|
+
- "Previous / Next" page navigation at bottom of content area
|
|
159
|
+
- Sticky on scroll (doesn't scroll away)
|
|
160
|
+
|
|
161
|
+
### Blog Category Sidebar
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
Categories
|
|
165
|
+
├── SEO (24)
|
|
166
|
+
├── CRO (18)
|
|
167
|
+
├── Content (15)
|
|
168
|
+
├── Paid Ads (12)
|
|
169
|
+
└── Analytics (9)
|
|
170
|
+
|
|
171
|
+
Popular Posts
|
|
172
|
+
├── How to Improve SEO
|
|
173
|
+
├── Landing Page Guide
|
|
174
|
+
└── Analytics Setup
|
|
175
|
+
|
|
176
|
+
Newsletter
|
|
177
|
+
└── [Email signup form]
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Breadcrumbs
|
|
183
|
+
|
|
184
|
+
### Standard Format
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
Home > Features > Analytics
|
|
188
|
+
Home > Blog > SEO Category > How to Do Keyword Research
|
|
189
|
+
Home > Docs > API Reference > Authentication
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
Rules:
|
|
193
|
+
- Separator: `>` or `/` (be consistent)
|
|
194
|
+
- Every segment is a link except the current page
|
|
195
|
+
- Current page is plain text (not linked)
|
|
196
|
+
- Don't include the current page if the title is already visible as an H1
|
|
197
|
+
|
|
198
|
+
### With Schema Markup
|
|
199
|
+
|
|
200
|
+
```html
|
|
201
|
+
<nav aria-label="Breadcrumb">
|
|
202
|
+
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
|
203
|
+
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
|
204
|
+
<a itemprop="item" href="/"><span itemprop="name">Home</span></a>
|
|
205
|
+
<meta itemprop="position" content="1" />
|
|
206
|
+
</li>
|
|
207
|
+
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
|
208
|
+
<a itemprop="item" href="/features"><span itemprop="name">Features</span></a>
|
|
209
|
+
<meta itemprop="position" content="2" />
|
|
210
|
+
</li>
|
|
211
|
+
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
|
212
|
+
<span itemprop="name">Analytics</span>
|
|
213
|
+
<meta itemprop="position" content="3" />
|
|
214
|
+
</li>
|
|
215
|
+
</ol>
|
|
216
|
+
</nav>
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Or use JSON-LD (recommended):
|
|
220
|
+
|
|
221
|
+
```json
|
|
222
|
+
{
|
|
223
|
+
"@context": "https://schema.org",
|
|
224
|
+
"@type": "BreadcrumbList",
|
|
225
|
+
"itemListElement": [
|
|
226
|
+
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com/" },
|
|
227
|
+
{ "@type": "ListItem", "position": 2, "name": "Features", "item": "https://example.com/features" },
|
|
228
|
+
{ "@type": "ListItem", "position": 3, "name": "Analytics" }
|
|
229
|
+
]
|
|
230
|
+
}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Mobile Navigation
|
|
236
|
+
|
|
237
|
+
### Hamburger Menu
|
|
238
|
+
|
|
239
|
+
Standard for mobile. All nav items collapse into a menu icon.
|
|
240
|
+
|
|
241
|
+
Rules:
|
|
242
|
+
- Hamburger icon (three lines) top-right or top-left
|
|
243
|
+
- Full-screen or slide-out panel
|
|
244
|
+
- CTA button visible without opening the menu (sticky header)
|
|
245
|
+
- Search accessible from mobile menu
|
|
246
|
+
- Accordion pattern for nested items
|
|
247
|
+
|
|
248
|
+
### Bottom Tab Bar
|
|
249
|
+
|
|
250
|
+
Best for: web apps, PWAs, mobile-first products.
|
|
251
|
+
|
|
252
|
+
```
|
|
253
|
+
┌──────────────────────────────────────┐
|
|
254
|
+
│ │
|
|
255
|
+
│ [Page Content] │
|
|
256
|
+
│ │
|
|
257
|
+
├──────────────────────────────────────┤
|
|
258
|
+
│ Home Search Create Profile │
|
|
259
|
+
│ 🏠 🔍 ➕ 👤 │
|
|
260
|
+
└──────────────────────────────────────┘
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
Rules:
|
|
264
|
+
- 3-5 items max
|
|
265
|
+
- Icons + labels (not just icons)
|
|
266
|
+
- Active state clearly indicated
|
|
267
|
+
- Most important action in the center
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## Anti-Patterns
|
|
272
|
+
|
|
273
|
+
### Things to Avoid
|
|
274
|
+
|
|
275
|
+
- **Too many header items** (8+): causes decision paralysis, nav becomes unreadable on smaller screens
|
|
276
|
+
- **Dropdown inception**: dropdowns inside dropdowns inside dropdowns
|
|
277
|
+
- **Mystery icons**: icons without labels — users don't know what they mean
|
|
278
|
+
- **Hidden primary nav**: burying important pages in hamburger menus on desktop
|
|
279
|
+
- **Inconsistent nav between pages**: nav should be identical across the site (except app vs marketing)
|
|
280
|
+
- **No mobile consideration**: desktop nav that doesn't translate to mobile
|
|
281
|
+
- **Footer as sitemap dump**: 50+ links in the footer with no organization
|
|
282
|
+
- **Breadcrumbs that don't match URLs**: breadcrumb says "Products > Widget" but URL is `/shop/widget-pro`
|
|
283
|
+
|
|
284
|
+
### Common Fixes
|
|
285
|
+
|
|
286
|
+
| Problem | Fix |
|
|
287
|
+
|---------|-----|
|
|
288
|
+
| Too many nav items | Group into dropdowns or mega menus |
|
|
289
|
+
| Users can't find pages | Add search, improve labeling |
|
|
290
|
+
| High bounce from nav | Simplify choices, use clearer labels |
|
|
291
|
+
| SEO pages not linked | Add to footer or resource sections |
|
|
292
|
+
| Mobile nav is broken | Test on real devices, use hamburger pattern |
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Navigation for SEO
|
|
297
|
+
|
|
298
|
+
Internal links in navigation pass PageRank. Use this strategically:
|
|
299
|
+
|
|
300
|
+
- **Header nav links are strongest** — put your most important pages here
|
|
301
|
+
- **Footer links pass less value** but still matter — good for comparison pages, location pages
|
|
302
|
+
- **Sidebar links** help with section-level authority — good for blog categories, doc sections
|
|
303
|
+
- **Breadcrumbs** provide structural signals to search engines — implement with schema markup
|
|
304
|
+
- **Don't use JavaScript-only nav** — search engines need crawlable HTML links
|
|
305
|
+
- **Use descriptive anchor text** — "Analytics Features" not just "Features"
|