Internal — not indexed
SEO QA: company name title case
Every public surface below must render the company name as Japanese Knotweed Elimination — each word capitalised, no lowercase variants, no "Ltd", no "JK Elimination", no "knotweed wales".
Single source of truth: all rendered output must read from SITE.name in src/lib/site.ts. If you spot a hardcoded string anywhere else, replace it with {SITE.name}.
Header
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/components/Header.tsx | Logo / wordmark text | Japanese Knotweed Elimination | |
| src/components/Header.tsx | Mobile menu brand label | Japanese Knotweed Elimination |
Footer
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/components/Footer.tsx | Brand name beside leaf icon | Japanese Knotweed Elimination | |
| src/components/Footer.tsx | Copyright line | © <year> Japanese Knotweed Elimination | |
| src/components/Footer.tsx | Body copy mention | Reads as 'Japanese Knotweed Elimination' wherever named |
Metadata — root
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/routes/__root.tsx | <title> default | Japanese Knotweed Elimination | M4 Corridor Specialists | |
| src/routes/__root.tsx | meta name=author | Japanese Knotweed Elimination | |
| src/routes/__root.tsx | og:site_name | Japanese Knotweed Elimination |
Metadata — index
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/routes/index.tsx | og:title | Japanese Knotweed Elimination — M4 Corridor Specialists |
Metadata — about
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/routes/about.tsx | <title> and og:title | About — Japanese Knotweed Elimination |
Metadata — contact
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/routes/contact.tsx | og:title and meta description | Contact — Japanese Knotweed Elimination |
Metadata — services
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/routes/services.tsx | <title> and og:title | Includes 'Japanese Knotweed Elimination' or correct title case where named |
Metadata — areas
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/routes/areas.tsx | <title> and og:title | Includes 'Japanese Knotweed Elimination' where named |
Metadata — faq
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/routes/faq.tsx | <title> and og:title | Includes 'Japanese Knotweed Elimination' where named |
Metadata — city pages
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/routes/areas.$city.tsx | Dynamic <title> / og:title / description | Uses SITE.name = 'Japanese Knotweed Elimination' |
JSON-LD — LocalBusiness
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/routes/areas.$city.tsx | name field | Japanese Knotweed Elimination — <City> |
JSON-LD — Service
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/routes/services.tsx | provider.name | Japanese Knotweed Elimination |
JSON-LD — Service (areas)
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/routes/areas.tsx | provider.name | Japanese Knotweed Elimination |
JSON-LD — ContactPage
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/routes/contact.tsx | mainEntity.name | Japanese Knotweed Elimination |
JSON-LD — Organization (root)
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/routes/__root.tsx or index.tsx | Organization name | Japanese Knotweed Elimination |
Single source of truth
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/lib/site.ts | SITE.name and SITE.shortName | Japanese Knotweed Elimination |
Sitemap host
| File | Surface | Expected value | OK |
|---|---|---|---|
| src/routes/sitemap[.]xml.tsx | URLs reference | No company name string here, but route should exist |
Quick verification commands
Run these from the project root to catch stray casing:
# Any lowercase / mixed-case variants of the brand rg -i "japanese knotweed elimination" src/ public/ \ | rg -v "Japanese Knotweed Elimination" # Legacy names that must not appear publicly rg -i "knotweed wales|jk elimination|elimination ltd" src/ public/
