← Back to Docs / Technical / Seo Master Plan

urWhats.com -- SEO Master Plan

Last Updated: 2026-02-20 Branch: feature/seo-enhancements Domain: urwhats.com Framework: Astro 5.16 + Bootstrap 5 Pages: 23 (11 EN + 11 AR + 404 + sitemap) Build: npm run build (~3s) Status: Phases 0-6 COMPLETED (Phase 5: 5/8 tasks done, 3 low-priority deferred)


How to Use This Document

  1. Find the first task with Status: PENDING in the current phase
  2. Mark it IN_PROGRESS when starting
  3. Follow the exact instructions and file paths
  4. Verify acceptance criteria
  5. Run npm run build to confirm 0 errors
  6. Mark task COMPLETED
  7. Move to the next pending task

Agent instructions: Read .claude/CLAUDE.md for full project context, company rules (never mention WhatsaMark, use +966508777669, etc.).


Progress Tracker

Phase Name Tasks Completed Status
0 Emergency Fixes (Session 1) 8 8 COMPLETED
1 Critical SEO Infrastructure (Session 2) 7 7 COMPLETED
2 High-Severity Fixes (Session 2) 12 12 COMPLETED
3 Medium Fixes & Sitemaps (Session 2) 10 10 COMPLETED
4 Arabic AI Content (Session 3) 5 5 COMPLETED
5 Performance & Polish 8 5 COMPLETED (3 deferred)
6 Production Sweep Fixes 4 4 COMPLETED

COMPLETED (Previous Session)

Session 2: Phases 1-3 (commit 8e09516)

Session 3: Phase 4 (commit 7e2bc46)

Session 4: Phase 6 - Production Sweep Fixes (commit 0826681)

Session 5: Phase 5 - Performance & Polish (commit 7532687)


PHASE 1: Critical SEO Infrastructure

Task 1.1: Fix _redirects (Catch-All Rewrite Breaking 404s)

Task 1.2: Create OG Image (1200x630 PNG)

Task 1.3: Fix Webmanifest (Empty Name + Wrong Icon Paths)

Task 1.4: Fix Sitemap (Rename + Add Hreflang + Fix Headers)

Task 1.5: Fix Twitter Card Meta Tags

Task 1.6: Fix _headers Sitemap Mismatch + CSP

Task 1.7: Remove Non-Functional Meta Tags


PHASE 2: High-Severity Fixes

Task 2.1: Consolidate JSON-LD to @graph Pattern

Task 2.2: Fix Organization Schema (SVG Logo + Inconsistencies)

Task 2.3: Fix SoftwareApplication Schema

Task 2.4: Make AI Meta Tags Bilingual

Task 2.5: Fix Title Fallback Logic

Task 2.6: Add Trailing Slash 301 Redirects

Task 2.7: Fix Security.txt (Missing PGP Key)

Task 2.8: Fix robots.txt Cleanup

Task 2.9: Add og:locale:alternate

Task 2.10: Fix Google Fonts Loading

Task 2.11: Pin Alpine.js Version

Task 2.12: Fix Service Worker Cache


PHASE 3: Medium Fixes & Enhancements

Task 3.1: Delete Unused CSS Files

Task 3.2: Remove Source Map from Production

Task 3.3: Add Root favicon.ico

Task 3.4: Normalize Route Casing

Task 3.5: Improve Sitemap Priority Differentiation

Task 3.6: Fix dateModified to Use Actual Dates

Task 3.7: Remove .well-known/schema.json Duplication

Task 3.8: Add Image Sitemap

Task 3.9: Improve CSP (Remove unsafe-eval)

Task 3.10: Add Render-Blocking CSS Optimization


PHASE 4: Arabic AI Content

Task 4.1: Complete Arabic llms-full.txt

Task 4.2: Add Arabic to ai-plugin.json

Task 4.3: Add Arabic to schema.json

Task 4.4: Complete Arabic llms.txt Sections

Task 4.5: Bilingual SEO.astro AI Meta + Schema


PHASE 5: Performance & Polish

Task 5.1: PurgeCSS on Bootstrap/Theme

Task 5.2: Delete Dead Code (Plans.astro)

Task 5.3: Convert PNG to WebP

Task 5.4: Add .env.example

Task 5.5: Add Image Width/Height Attributes

Task 5.6: Add Skip Navigation Link

Task 5.7: Add @astrojs/sitemap Integration

Task 5.8: Consider @graph JSON-LD with SpeakableSpecification


File Index

File Tasks
public/_redirects 1.1, 2.6, 3.4
public/assets/images/logos/urWhats-og-image.png 1.2 (CREATE)
public/assets/favicon/site.webmanifest 1.3
src/pages/sitemap-index.xml.ts -> sitemap.xml.ts 1.4
public/robots.txt 1.4, 2.8
public/_headers 1.6, 3.9
src/components/SEO.astro 1.5, 1.7, 2.1-2.5, 2.9, 3.6, 4.5
src/layouts/Layout.astro 2.10, 2.11, 3.10, 5.6
public/.well-known/security.txt 2.7
public/.well-known/ai-plugin.json 4.2
public/.well-known/schema.json 3.7, 4.3
public/llms.txt 4.4
public/llms-full.txt 4.1
public/sw.js 2.12
public/assets/css/ 3.1, 3.2
src/pages/privacy.astro (renamed from Privacy.astro) 3.4, 6.4
src/pages/terms.astro (renamed from Terms.astro) 3.4, 6.4

PHASE 6: Production Sweep Fixes (MUST fix before merging to main)

These issues were found via comprehensive production-readiness sweep in Session 3. They exist in the LIVE code on feature/seo-enhancements branch and must be fixed before merge.

Task 6.1: Fix UAE Legal Text in Privacy/Terms

Task 6.2: Remove GHL Leak from Integration Text

Task 6.3: Fix +971 Phone Placeholder

Task 6.4: Rename PascalCase Page Files to Lowercase


Build Verification Checklist

After ALL changes: