Files
bi-agents/_bmad/wds/data/agent-guides/saga/seo-strategy-guide.md
Cassel 647cbec54f docs: update all documentation and add AI tooling configs
- Rewrite README.md with current architecture, features and stack
- Update docs/API.md with all current endpoints (corporate, BI, client 360)
- Update docs/ARCHITECTURE.md with cache, modular queries, services, ETL
- Update docs/GUIA-USUARIO.md for all roles (admin, corporate, agente)
- Add docs/INDEX.md documentation index
- Add PROJETO.md comprehensive project reference
- Add BI-CCC-Implementation-Guide.md
- Include AI agent configs (.claude, .agents, .gemini, _bmad)
- Add netbird VPN configuration
- Add status report

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 13:29:03 -04:00

12 KiB

Saga's SEO Strategy Guide

When to load: During Content & Language phase (step-05) for any public website project


Core Principle

SEO is content strategy, not an afterthought. Keywords, URL structure, and page-level optimization should be planned during the project brief — not bolted on during development.


1. Keyword Strategy

Keyword Research Process

  1. Gather existing research — Ask client for keywords they want to rank for
  2. Analyze competitors — What terms do competing businesses rank for?
  3. Map user intent — What would a real person search for?
  4. Localize per language — Keywords don't translate directly

Keyword Categories by Intent

Category Intent Example (Mechanic)
Service Looking for specific service "bilservice Öland"
Location Near-me searches "bilverkstad norra Öland"
Problem Has a specific issue "AC reparation bil"
Brand Looking for the business "Källa Fordonservice"
Informational Seeking knowledge "när byta bromsklossar"

Keyword Localization

Keywords don't translate word-for-word. For each language:

  • What would a native speaker actually search?
  • What local terminology is used? (e.g., "däck" vs "tire" vs "Reifen")
  • What misspellings are common?
  • What long-tail phrases exist? (e.g., "bilverkstad med AC-service nära mig")

2. URL Structure

Best Practices

  • Short and descriptive/tjanster/ac-service not /page?id=42
  • Lowercase, hyphens/dack-service not /Däck_Service
  • Keyword-rich — Include primary keyword in slug
  • Consistent pattern — Same depth/format across the site
  • No special characters — Use ASCII equivalents (å→a, ä→a, ö→o in URL slugs)

Multi-language URL Patterns

Recommended: Subdirectory structure

example.com/          → Primary language (Swedish)
example.com/en/       → English
example.com/de/       → German

Alternative: Translated slugs

example.com/tjanster/dackservice      → Swedish
example.com/en/services/tyre-service  → English
example.com/de/dienste/reifenservice  → German

Page-Keyword Map

Create a table mapping every page to its target keywords:

| Page | URL Slug | Primary Keyword (SE) | Primary Keyword (EN) | Primary Keyword (DE) |
|------|----------|---------------------|---------------------|---------------------|
| Hem | / | bilverkstad Öland | car repair Öland | Autowerkstatt Öland |
| Service | /service | bilservice | car service | Autoservice |
| AC service | /ac-service | AC service bil | car AC service | Klimaanlage Auto |

This map is referenced by Freya during page specification to ensure every page targets the right keywords.


3. Heading Hierarchy

Rules

  • One H1 per page — The main page title, contains primary keyword
  • Logical H2→H3 flow — No skipping levels
  • Keywords in headings — Natural, not stuffed
  • H1 ≠ Page Title tag — They can differ (H1 visible on page, title tag in search results)

Example

H1: Bilservice på Öland — Källa Fordonservice
  H2: Våra tjänster
    H3: Service och underhåll
    H3: AC-service
    H3: Däckservice
  H2: Varför välja oss?
  H2: Kontakta oss

4. Internal Linking Strategy

Principles

  • Every page should link to at least 2 other pages on the site
  • Use descriptive anchor text — "Läs mer om vår AC-service" not "Klicka här"
  • Link related content — Service pages link to vehicle type pages and vice versa
  • Create hub pages — Main service page links to all sub-service pages
  • Footer links — Provide site-wide navigation fallback
Hem (hub)
├── Service → links to vehicle types
├── Reparationer → links to related services
├── AC service → links to booking
├── Däckservice → links to seasonal articles
├── Articles → link to related services
└── Vehicle types → link to relevant services

5. Local SEO

NAP Consistency (Name, Address, Phone)

The exact same business information must appear:

  • On every page of the website (header/footer)
  • In Google Business Profile
  • In directory listings
  • In structured data
Name: Källa Fordonservice
Address: Löttorpsvägen 31, 387 73 Löttorp
Phone: 0485-270 70
Email: info@kallafordon.se

Google Business Profile

Ensure client has:

  • Claimed and verified Google Business Profile
  • Correct business hours
  • Correct business category (e.g., "Auto Repair Shop")
  • Photos uploaded
  • Description with keywords
  • Service area defined

Local Keywords

Include location in key pages:

  • Page titles: "Bilverkstad i Löttorp på Öland"
  • Meta descriptions: "...norra Öland..."
  • H1 headings: "Bilservice på Öland"
  • Body text: Natural mention of location

6. Multi-Language SEO

hreflang Tags

Every page must declare its language variants:

<link rel="alternate" hreflang="sv" href="https://example.com/tjanster/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/services/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/dienste/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/tjanster/" />

Canonical URLs

  • Each language version has its own canonical URL
  • x-default points to the primary language
  • No duplicate content issues between language versions

Per-Language Optimization

Each language version needs independently optimized:

  • Page title
  • Meta description
  • H1 heading
  • Image alt text
  • Structured data

Do NOT just translate the Swedish SEO — research what users in each language actually search for.


7. Image SEO

File Naming

  • Descriptive names: kalla-fordonservice-ac-service.jpg not IMG_4521.jpg
  • Hyphens between words: dack-service-oland.jpg
  • No special characters: Use ASCII in filenames

Alt Text

  • Describe the image content for screen readers
  • Include keyword naturally where relevant
  • All languages must have alt text
Alt Text:
- SE: "Mekaniker utför AC-service på personbil i Källa Fordonservice verkstad"
- EN: "Mechanic performing AC service on car at Källa Fordonservice workshop"
- DE: "Mechaniker führt Klimaanlagen-Service am Auto in der Källa Fordonservice Werkstatt durch"

Image Format & Size

  • WebP for modern browsers (with JPEG/PNG fallback)
  • Lazy loading for below-the-fold images
  • Responsive images with srcset for different screen sizes
  • Max file size: < 200KB per image (< 100KB preferred)
  • Max page weight: < 3MB total (images + CSS + JS)
  • Dimensions: Always specify width and height attributes (prevents CLS)
  • Hero images: Max 400KB, serve responsive versions (mobile: 768px wide, desktop: 1920px wide)

8. Content SEO Principles

Write for Humans First

  • Natural language, not keyword stuffing
  • Answer the user's actual question
  • Provide genuine value

Keyword Placement (Natural)

Location Priority Guideline
Page title tag High Include primary keyword
H1 heading High Include primary keyword (can differ from title)
Meta description High Include primary keyword + CTA
First paragraph Medium Mention primary keyword early
H2 headings Medium Include secondary keywords
Body text Medium Natural mentions, no stuffing
Image alt text Medium Describe image, keyword if relevant
URL slug Medium Short, keyword-rich
Internal link text Low Descriptive, keyword when natural

Content Length Guidelines

Page Type Minimum Words Guideline
Landing page 300 Focused, action-oriented
Service page 400-600 Describe service, benefits, process
Article/blog 600-1200 In-depth, informational
About page 300-500 Story, trust, credentials
Contact page 150-300 Clear, practical

9. Structured Data (Schema.org)

Required for Local Business Sites

{
  "@context": "https://schema.org",
  "@type": "AutoRepair",
  "name": "Källa Fordonservice",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Löttorpsvägen 31",
    "addressLocality": "Löttorp",
    "postalCode": "387 73",
    "addressCountry": "SE"
  },
  "telephone": "+46485-27070",
  "url": "https://kallafordon.se",
  "openingHoursSpecification": [...]
}

Common Schema Types

Schema Type Use For
LocalBusiness / AutoRepair Business identity
Service Individual service pages
FAQPage FAQ sections
BreadcrumbList Navigation breadcrumbs
Article Blog/news articles
Organization About/corporate pages

Plan During Project Brief

Document which schema types each page needs:

| Page | Schema Type | Key Properties |
|------|-------------|----------------|
| Hem | LocalBusiness | name, address, phone, hours |
| Service | Service | name, description, provider |
| Nyheter article | Article | headline, datePublished, author |

10. Technical SEO Checklist

Capture these decisions during platform requirements:

  • XML Sitemap — Auto-generated, includes all languages, referenced in robots.txt
  • Robots.txt — Allows crawling, blocks admin/private pages, references sitemap
  • SSL/HTTPS — All pages served over HTTPS
  • Mobile-first — Responsive, passes Google Mobile-Friendly test
  • Core Web Vitals — LCP < 2.5s, FID < 100ms, CLS < 0.1
  • Page speed — < 3 seconds on 4G, total page weight < 3MB
  • 404 handling — Custom 404 page with navigation
  • Redirects — 301 redirects for old URLs (if site migration)
  • Canonical URLs — Self-referencing canonical on every page
  • Structured data — Schema.org markup on key pages
  • hreflang — Language alternates declared (if multilingual)
  • Favicon — Site icon for browser tabs, bookmarks, and mobile home screen (multiple sizes: 16x16, 32x32, 180x180, 192x192)
  • Security headers — HSTS, CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy (configure at server/hosting level)
  • Image optimization — All images < 200KB, WebP format, width/height specified, lazy loading below fold
  • CSS/JS optimization — Minified, compressed (gzip/brotli), no render-blocking resources

Output: SEO Strategy Section

When completing step-05, produce this section for the content-language document:

## SEO Strategy

### Page-Keyword Map

| Page | URL Slug | Primary Keyword (SE) | Primary Keyword (EN) | Primary Keyword (DE) |
|------|----------|---------------------|---------------------|---------------------|
| ... | ... | ... | ... | ... |

### URL Structure

Pattern: `example.com/{slug}` (SE), `example.com/en/{slug}` (EN), `example.com/de/{slug}` (DE)

### Local SEO

- **Business Name:** ...
- **Address:** ...
- **Phone:** ...
- **Google Business Profile:** Claimed? Yes/No
- **Business Category:** ...

### Structured Data Plan

| Page | Schema Type |
|------|-------------|
| All pages | LocalBusiness (in footer/header) |
| Service pages | Service |
| Articles | Article |

### Keyword Usage Guidelines

- Page titles: Primary keyword + brand name
- H1: Primary keyword (can differ from title tag)
- Meta descriptions: Primary keyword + benefit + CTA
- Body: Natural keyword density, no stuffing
- Images: Descriptive alt text with keyword where relevant

  • Meta Content Guide: ../freya/meta-content-guide.md — Page-level meta content specification
  • Content Language Template: ../../templates/1-project-brief/content-language.template.md
  • Platform Requirements: ../../templates/1-project-brief/platform-requirements.template.md

SEO is a first-class citizen in WDS — planned at project brief, applied at page specification, verified at quality gate.