Keep the decision steps in SKILL.md and move catalogs, examples, and checklists verbatim to references/ to reduce the context cost of loading the skill. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
47 lines
2.3 KiB
Markdown
47 lines
2.3 KiB
Markdown
# URL Structure
|
|
|
|
## Design Principles
|
|
|
|
1. **Readable by humans** — `/features/analytics` not `/f/a123`
|
|
2. **Hyphens, not underscores** — `/blog/seo-guide` not `/blog/seo_guide`
|
|
3. **Reflect the hierarchy** — URL path should match site structure
|
|
4. **Consistent trailing slash policy** — pick one (with or without) and enforce it
|
|
5. **Lowercase always** — `/About` should redirect to `/about`
|
|
6. **Short but descriptive** — `/blog/how-to-improve-landing-page-conversion-rates` is too long; `/blog/landing-page-conversions` is 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-title` adds no value and makes URLs long. Use `/blog/post-title`.
|
|
- **Over-nesting** — `/products/category/subcategory/item/detail` is 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/12345` is not human-readable. Use slugs.
|
|
- **Query parameters for content** — `/blog?id=123` should be `/blog/post-title`.
|
|
- **Inconsistent patterns** — Don't mix `/features/analytics` and `/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 |
|