# 37 — SEO & Content Specification
## HER — Home Enhancement and Renovation
> **Phase 3 Spec** | Static site, no CMS | Placeholder domain: `https://her-sf.com`
>
> ⚠️ Replace all placeholder values marked below (telephone, email, postal code, domain) with Diana's actual production values before deployment.
---
## Table of Contents
1. [URL Structure](#1-url-structure)
2. [Title Tags](#2-title-tags)
3. [Meta Descriptions](#3-meta-descriptions)
4. [Heading Structure](#4-heading-structure)
5. [Schema.org Structured Data (JSON-LD)](#5-schemaorg-structured-data-json-ld)
6. [Open Graph & Twitter Card](#6-open-graph--twitter-card)
7. [sitemap.xml](#7-sitemapxml)
8. [robots.txt](#8-robotstxt)
9. [Content Requirements Per Service Page](#9-content-requirements-per-service-page)
10. [Internal Linking Strategy](#10-internal-linking-strategy)
11. [Image SEO](#11-image-seo)
12. [Service Area Signals](#12-service-area-signals)
13. [Page Speed & Technical SEO Notes](#13-page-speed--technical-seo-notes)
14. [Requirements Traceability](#14-requirements-traceability)
---
## 1. URL Structure
All URLs use **trailing slashes**. Each page declares a `` pointing to itself at the production domain with the trailing slash.
| Page | URL | Canonical |
|------|-----|-----------|
| Homepage | `/` | `https://her-sf.com/` |
| Services Hub | `/services/` | `https://her-sf.com/services/` |
| Painting | `/services/painting/` | `https://her-sf.com/services/painting/` |
| Tile Setting | `/services/tile-setting/` | `https://her-sf.com/services/tile-setting/` |
| Drywall & Sheetrocking | `/services/drywall/` | `https://her-sf.com/services/drywall/` |
| Minor Plumbing | `/services/plumbing/` | `https://her-sf.com/services/plumbing/` |
| Minor Electrical | `/services/electrical/` | `https://her-sf.com/services/electrical/` |
| Carpentry & Mounting | `/services/carpentry-and-mounting/` | `https://her-sf.com/services/carpentry-and-mounting/` |
| Flooring & Wood Refinishing | `/services/flooring/` | `https://her-sf.com/services/flooring/` |
| Security & Safety Equipment | `/services/security-safety/` | `https://her-sf.com/services/security-safety/` |
| Boat Work | `/services/boat-work/` | `https://her-sf.com/services/boat-work/` |
| About Diana | `/about/` | `https://her-sf.com/about/` |
| Testimonials | `/testimonials/` | `https://her-sf.com/testimonials/` |
| Contact / Request a Quote | `/contact/` | `https://her-sf.com/contact/` |
| Thank You (post-form) | `/thank-you/` | — (noindex; no canonical needed) |
**Implementation notes:**
- The Caddy configuration (or build output) must issue a **301 redirect** from any non-trailing-slash URL (e.g., `/services/painting`) to its trailing-slash equivalent. Inconsistent trailing slashes create duplicate-content signals.
- The `/thank-you/` page must carry `` in `
`. It is excluded from the sitemap and disallowed in `robots.txt` (see Sections 7 and 8).
- Total indexable pages: **14** (excluding `/thank-you/`).
---
## 2. Title Tags
### Formula
| Page type | Formula |
|-----------|---------|
| Homepage | `HER — Handywoman San Francisco \| Home Enhancement and Renovation` |
| Services Hub | `Handywoman Services in San Francisco \| HER` |
| Service detail pages | `[Service] in San Francisco \| HER Handywoman` ¹ |
| About | `About Diana \| HER — San Francisco Handywoman` |
| Testimonials | `Client Reviews \| HER — San Francisco Handywoman` |
| Contact | `Request a Quote \| HER — San Francisco Handywoman` |
| Thank You | `Thank You \| HER — San Francisco Handywoman` (noindex) |
> ¹ **Formula note — why the suffix is shortened for service pages:**
> The originally specified formula `[Service] in San Francisco | HER — Home Enhancement and Renovation` produces titles of 65–84 characters for every service page — consistently above Google's ~60-character SERP display threshold. The suffix `| HER — Home Enhancement and Renovation` alone is 40 characters, leaving fewer than 20 characters for the service name and city before truncation. The shortened suffix `| HER Handywoman` (16 chars) preserves the brand acronym and the differentiating keyword "Handywoman" while keeping every title under 56 characters. For the three service pages with longer names (Drywall & Sheetrocking, Flooring & Wood Refinishing, Security & Safety Equipment), even `| HER Handywoman` is dropped to `| HER` to stay comfortably under 60 characters. The full brand name "Home Enhancement and Renovation" appears in the `og:site_name` tag, the footer on every page, and in the `LocalBusiness` schema — it remains fully indexable.
### Final Recommended Title Tags
| Page | Recommended Title Tag | Chars | Status |
|------|----------------------|------:|--------|
| Homepage | `HER — Handywoman San Francisco \| Home Enhancement and Renovation` | 64 | ⚠️ See note ² |
| Services Hub | `Handywoman Services in San Francisco \| HER` | 42 | ✅ |
| Painting | `Painting in San Francisco \| HER Handywoman` | 42 | ✅ |
| Tile Setting | `Tile Setting in San Francisco \| HER Handywoman` | 46 | ✅ |
| Drywall & Sheetrocking | `Drywall & Sheetrocking in San Francisco \| HER` | 45 | ✅ |
| Minor Plumbing | `Minor Plumbing in San Francisco \| HER Handywoman` | 48 | ✅ |
| Minor Electrical | `Minor Electrical in San Francisco \| HER Handywoman` | 50 | ✅ |
| Carpentry & Mounting | `Carpentry & Mounting in San Francisco \| HER` | 43 | ✅ |
| Flooring & Wood Refinishing | `Flooring & Wood Refinishing in San Francisco \| HER` | 50 | ✅ |
| Security & Safety Equipment | `Security & Safety Equipment in San Francisco \| HER` | 50 | ✅ |
| Boat Work | `Boat Work in San Francisco Bay Area \| HER` | 41 | ✅ |
| About | `About Diana \| HER — San Francisco Handywoman` | 44 | ✅ |
| Testimonials | `Client Reviews \| HER — San Francisco Handywoman` | 47 | ✅ |
| Contact | `Request a Quote \| HER — San Francisco Handywoman` | 48 | ✅ |
| Thank You | `Thank You \| HER — San Francisco Handywoman` | 42 | ✅ (noindex) |
> ² The homepage title at 64 characters is marginally over the 60-character rule. Google's rendering engine measures pixel width (~580px), not raw character count; short words like "HER" and narrow characters in "Renovation" mean it is likely to display in full. Use Google Search Console's "URL Inspection" tool after indexing to confirm no truncation, and shorten if needed (e.g., `HER — Handywoman San Francisco | Home Enhancement & Reno`).
---
## 3. Meta Descriptions
All descriptions target: **service/page keyword + city or Bay Area + trust signal + CTA verb**. Maximum ~155 characters.
| Page | Meta Description | ~Chars |
|------|-----------------|-------:|
| Homepage | Diana is San Francisco's trusted female handywoman serving the Bay Area. Painting, plumbing, tile, electrical & more. Get a free quote from HER today. | 150 |
| Services Hub | Explore all handywoman services by HER in San Francisco and the Bay Area — painting, tile, drywall, plumbing, electrical & more. Request a free quote. | 150 |
| Painting | Professional interior and exterior painting in San Francisco by HER handywoman Diana. Quality prep, clean finish, Bay Area coverage. Request a quote today. | 155 |
| Tile Setting | Expert tile installation in San Francisco — bathroom, kitchen backsplash, floor, and shower tile by HER. Serving the Bay Area. Get your free quote. | 147 |
| Drywall & Sheetrocking | Drywall repair, patching, and sheetrocking in San Francisco by HER handywoman. Bay Area homeowners trust Diana for quality, tidy results. Get a quote. | 150 |
| Minor Plumbing | Minor plumbing in San Francisco — faucets, toilets, sinks, and fixture installation by HER handywoman Diana. Bay Area coverage. Request a free quote. | 149 |
| Minor Electrical | Minor electrical work in San Francisco — light fixtures, ceiling fans, outlets, and switches installed by HER. Trusted Bay Area handywoman. Get a quote. | 152 |
| Carpentry & Mounting | Carpentry, furniture assembly, TV mounting, and shelf installation in San Francisco by HER handywoman. Reliable Bay Area service. Request a quote. | 145 |
| Flooring & Wood Refinishing | Hardwood floor refinishing, flooring installation, and deck refinishing in San Francisco by HER. Trusted Bay Area handywoman. Get a free quote today. | 149 |
| Security & Safety Equipment | Grab bars, deadbolts, cameras, and smart locks installed in San Francisco by HER handywoman. Bay Area safety and security upgrades. Request a quote. | 148 |
| Boat Work | Marine repairs, boat painting, woodwork, and hardware installation in San Francisco Bay by HER handywoman. Serving Bay Area marinas. Get a quote. | 144 |
| About | Meet Diana — San Francisco's trusted female handywoman and project coordinator. Skilled, reliable, and easy to work with across the Bay Area. | 140 |
| Testimonials | Read what Bay Area homeowners say about HER handywoman services in San Francisco. Real reviews from real clients who trust Diana's quality work. | 142 |
| Contact | Ready to get started? Request a free quote from HER — San Francisco's trusted female handywoman. Serving the Bay Area within a 50-mile radius. | 141 |
| Thank You | (Not indexed — no meta description required.) | — |
> **Verify before deployment:** Run each description through a meta tag length checker (e.g., Sistrix Snippet Generator or Google's own SERP preview tools) at final content-lock, as small wording changes during copywriting can push lengths over the limit.
---
## 4. Heading Structure
### H1 Rule
- **Exactly one `
` per page.** No two pages share the same H1 text.
- The H1 carries the strongest on-page keyword relevance signal. It must include the primary keyword for that page and, where natural, a geographic reference (city or Bay Area).
- The H1 does not need to match the `` tag word-for-word but must be thematically aligned.
- The H1 should be the first visible text element inside the page `` landmark, not buried inside a decorative hero component.
### H1 Per Page
| Page | H1 |
|------|----|
| Homepage | `San Francisco's Trusted Female Handywoman` |
| Services Hub | `Handywoman Services in San Francisco & the Bay Area` |
| Painting | `Professional Painting Services in San Francisco` |
| Tile Setting | `Tile Setting & Installation in San Francisco` |
| Drywall & Sheetrocking | `Drywall Repair & Sheetrocking in San Francisco` |
| Minor Plumbing | `Minor Plumbing Services in San Francisco` |
| Minor Electrical | `Minor Electrical Services in San Francisco` |
| Carpentry & Mounting | `Carpentry & Mounting Services in San Francisco` |
| Flooring & Wood Refinishing | `Flooring & Wood Refinishing in San Francisco` |
| Security & Safety Equipment | `Security & Safety Equipment Installation in San Francisco` |
| Boat Work | `Boat Repairs & Marine Work in San Francisco Bay` |
| About | `About Diana — San Francisco's Handywoman` |
| Testimonials | `What Our Clients Say` |
| Contact | `Request a Free Quote` |
### H2/H3 Structure — Service Detail Page Template
Each of the 9 service detail pages follows this heading hierarchy:
```
h1 [Service] in San Francisco ← Primary keyword + city
h2 What's Included ← Opens the service scope list
h2 Why Choose HER for [Service] ← Trust + differentiation copy
h2 Serving San Francisco & the Bay Area ← Local relevance signal
h2 Frequently Asked Questions ← Optional; only on designated pages
h3 [Question 1]
h3 [Question 2]
h3 [Question 3]
h2 Ready to Get Started? ← CTA section
```
**Content guidance for each H2:**
- **"What's Included"** — The list of specific sub-services should be a `
` with `
` items, not individual `
` tags. Reserve `
` for meaningful content sub-sections (e.g., splitting "Interior Painting" from "Exterior Painting" if page depth warrants it). Keyword-dense sub-service names belong in the list item text, not forced into heading tags.
- **"Why Choose HER for [Service]"** — This is the primary location for Diana's differentiating copy: years of experience, aerospace team-lead background, female handywoman positioning, project coordination skills, and trustworthiness (FR-16, FR-17, FR-18). 2–4 sentences minimum.
- **"Serving San Francisco & the Bay Area"** — Name 4–8 specific cities or SF neighborhoods inline (see Section 12). This adds hyperlocal signals without thin-content pages.
- **"Frequently Asked Questions"** — Only include this H2 on pages that carry the FAQPage schema (see Section 5.5: Painting, Tile Setting, Minor Plumbing). Do not use this schema on pages without a visible FAQ section.
---
## 5. Schema.org Structured Data (JSON-LD)
### Schema Assignment by Page
| Page | JSON-LD Block(s) |
|------|-----------------|
| Homepage (`/`) | `LocalBusiness` |
| Services Hub (`/services/`) | `LocalBusiness`, `BreadcrumbList` |
| All 9 service detail pages | `LocalBusiness`, `BreadcrumbList`, `Service` [, `FAQPage`] |
| About (`/about/`) | `LocalBusiness`, `BreadcrumbList`, `Person` |
| Testimonials (`/testimonials/`) | `LocalBusiness`, `BreadcrumbList` |
| Contact (`/contact/`) | `LocalBusiness`, `BreadcrumbList` |
| Thank You (`/thank-you/`) | None (noindex page) |
Each schema block goes in a separate `