Skip to content

Cross-Site SEO Strategy

Cross-Site SEO, AI & GEO Optimization Strategy

Section titled “Cross-Site SEO, AI & GEO Optimization Strategy”

Master plan for SEO, Generative Engine Optimization (GEO), and AI agent discoverability across all urWave Company websites.

Created: 2026-02-19 Scope: urWhats.com, urWave.com, urLead.net, urHackathon.com Parent Company: urWave Company (LLC), CR: 7052775355, Riyadh, Saudi Arabia Hosting: Cloudflare Pages (static hosting, no Workers) Framework: All sites use Astro v5 (static output)


  1. Current State Audit
  2. Critical Issues
  3. AI Agent Optimization Standards
  4. Generative Engine Optimization (GEO)
  5. Execution Plan
  6. Per-Site Details
  7. Contact Info Standard
  8. Cloudflare Configuration Notes

SiteDomainPurposePagesFrameworkCSS
urWhatsurwhats.comWhatsApp Business API Platform23 (11EN+11AR+404)Astro 5.16Bootstrap 5
urWaveurwave.comCorporate / Mother Company~40 (18EN+18AR+sitemaps)Astro 5.16Bootstrap 5
urLeadurlead.netMarketing & Sales Automation (GHL white-label)17 (8EN+8AR+sitemap)Astro 5.16Bootstrap 5
urHackathonurhackathon.comHackathon Management Platform2 (1EN+1AR)Astro 5.16Tailwind 4
FeatureurWhatsurWaveurLeadurHackathonStandard
llms.txtYES (450 lines)YES (529 lines)YESYESllmstxt.org
llms-full.txtYES (448 lines)NONONOllmstxt.org
ai-plugin.jsonYES (.well-known/)NONONOOpenAI/ChatGPT
schema.jsonYES (.well-known/)NONONOSchema.org
security.txtYES (.well-known/)NONONORFC 9116
robots.txt (AI bots)EXCELLENTEXCELLENTEXCELLENTEXCELLENTStandard
JSON-LD schemas6-7/page3-5/page3/page4/pageSchema.org
hreflang (EN/AR)YESYESYESYESGoogle i18n
AI meta tagsExtensiveSomeSomeSomeEmerging
link rel=“author” /llms.txtYESNOYESNOllmstxt.org
FAQPage schemaYES (FAQ page)YES (products)NONOGoogle
OG image (1200x630 PNG)MISSINGSVG (broken)UnknownHero imageOG spec
Twitter handlesMISSING@urwaveMISSINGMISSINGTwitter Cards
Image sitemapNOYESNONOGoogle
Dublin CoreNOYESNONODublin Core
Geo meta tagsSomeYESNOYESLocal SEO
Google Search ConsoleNOT SET UPNOT SET UPNOT SET UPNOT SET UPGoogle
GA4NOT SET UPConfiguredNOT SET UPNOT SET UPGoogle
Google Business ProfileNOT CLAIMEDNOT CLAIMEDN/AN/ALocal SEO
Markdown page versionsNONONONOllmstxt.org

1. Fake AggregateRating Data — Google Penalty Risk

Section titled “1. Fake AggregateRating Data — Google Penalty Risk”

Affected: urWhats, urWave, urLead Issue: Fabricated review scores in JSON-LD structured data

  • urWhats: 4.8/5 from 150 reviews (SEO.astro, schema.json, ai-plugin.json, llms.txt, llms-full.txt)
  • urWave: 4.9/5 from 127 reviews (SEO.astro) + 4.8/5 from 45 reviews (product schema)
  • urLead: 4.8/5 from 150 reviews (SEO.astro) Risk: Google manual action (penalty), loss of rich snippets Fix: Remove ALL aggregateRating from structured data until real reviews exist. Use Google-verified review platforms when ready.

Affected: ALL sites Issue: Cannot monitor indexing, crawl errors, or search performance Fix: Set up GSC for all 4 domains. Add verification meta tag to each site.

Affected: urWhats (file missing), urWave (SVG, not renderable), urLead (likely wrong) Fix: Create 1200x630 PNG images for each brand. Social sharing is fundamentally broken without this.

Affected: urWhats (invalid XML), urLead (wrong URLs)

  • urWhats: static sitemap.xml has closing </urlset> in the middle, orphaned entries after
  • urLead: generates English URLs as /en/tools instead of /tools — all 301 redirect Fix: urWhats: delete static sitemap, install @astrojs/sitemap. urLead: fix URL generation.

All sites show different phone numbers and emails. Standard should be:

/Privacy and /Terms (PascalCase) on urWhats, urWave, urLead. Sitemaps reference lowercase. Creates 404 crawl errors.

  • urWhats: Claims Salesforce/HubSpot/Zoho/Shopify/WooCommerce integrations (unverified)
  • urWhats: References “UAE PDPL” (should be Saudi PDPL)
  • urWhats: Claims “10,000+ businesses” (unverified)
  • urWave: References “50-100 employees” (unlikely for company founded Dec 2025)
  • Footer says “urWhats” copyright instead of “urLead”
  • RTL CSS not loaded (Arabic pages render LTR)
  • No Arabic font loaded
  • api.config.ts is a stub (Plans.astro may fail)
  • Content JSON has urIdea contamination
  • urWhats: Duplicate <meta name="robots"> tag
  • urHackathon: Duplicate og:type, og:locale, theme-color, apple-touch-icon, manifest

10. SearchAction Schema Points to Non-existent Pages

Section titled “10. SearchAction Schema Points to Non-existent Pages”

All sites have SearchAction in WebSite schema pointing to /search?q= or /contact?q= — no search functionality exists.

Only urWhats has .well-known/. urWave, urLead, urHackathon need it for AI agent discovery.


1. llms.txt (llmstxt.org) — IMPLEMENTED, NEEDS CLEANUP

Section titled “1. llms.txt (llmstxt.org) — IMPLEMENTED, NEEDS CLEANUP”

What it is: A /llms.txt file in the site root providing LLM-friendly content in Markdown format. Helps AI tools (ChatGPT, Claude, Perplexity, etc.) understand your site at inference time.

Spec format:

# Site Name
> Brief description (blockquote)
Detailed info paragraphs
## Section Name
- [Link title](url): Description
## Optional
- [Link title](url): Can be skipped for shorter context

Current status: All 4 sites have llms.txt but need cleanup:

  • Remove fake statistics
  • Fix incorrect legal references (UAE -> Saudi Arabia)
  • Remove unverified integration claims
  • Restructure to follow the spec format strictly
  • Add proper cross-links between product sites

2. llms-full.txt — PARTIALLY IMPLEMENTED

Section titled “2. llms-full.txt — PARTIALLY IMPLEMENTED”

What it is: Expanded version of llms.txt with full content from linked pages. Gives AI tools complete context without needing to fetch multiple URLs.

Current status: Only urWhats has it. Needs adding to urWave, urLead, urHackathon.

What it is: Originally an OpenAI standard for ChatGPT plugins. Now used broadly for AI agent discovery. Status: Only urWhats has it. Template:

{
"schema_version": "v1",
"name_for_human": "urWhats",
"name_for_model": "urwhats_whatsapp_api",
"description_for_human": "...",
"description_for_model": "...",
"auth": { "type": "none" },
"api": { "type": "openapi", "url": "..." },
"logo_url": "...",
"contact_email": "...",
"legal_info_url": "..."
}

What it is: Machine-readable Organization/Product schema for AI tools that look for structured data. Status: Only urWhats has it.

What it is: Security contact information. Builds trust with both AI tools and security researchers. Status: Only urWhats has it (but references non-existent pgp-key.txt).

What it is: The llmstxt.org spec recommends serving Markdown versions of pages at {url}.md or {url}.html.md. AI tools can then fetch clean, parsed content instead of parsing HTML.

Implementation: Create Astro API routes that serve Markdown versions of key pages. Priority: MEDIUM — Useful for developer-focused sites, less critical for SaaS landing pages. Recommendation: Implement for urWave (corporate/products) first, then evaluate impact.

What they are: Custom meta tags that help AI tools categorize and understand pages:

<meta name="ai:description" content="...">
<meta name="ai:category" content="...">
<meta name="ai:features" content="...">
<meta name="ai:use_cases" content="...">
<meta name="ai:audience" content="...">

Status: urWhats has extensive AI meta tags. Other sites have minimal or none.

<link rel="author" href="/llms.txt">

Status: urWhats and urLead have it. urWave and urHackathon need it.

Register all sites on:


GEO optimizes content for AI-powered search (Google AI Overviews, Perplexity, ChatGPT with search, Bing Copilot, etc.).

  1. Cite Statistics & Data Points

    • BAD: “We help many businesses”
    • GOOD: “urWhats processes over 50 million WhatsApp messages monthly across 150+ enterprise clients in Saudi Arabia”
    • AI models weight specific, cited numbers higher than vague claims
  2. Use Authoritative Language

    • BAD: “We’re a good WhatsApp solution”
    • GOOD: “As an Official Meta Technical Provider, urWhats delivers enterprise-grade WhatsApp Business API solutions”
  3. Entity-Rich Descriptions

    • Include: company name, product names, locations, partner names (Meta), certifications
    • AI tools extract entities for knowledge graph matching
  4. Structured FAQ on Every Page

    • Not just the FAQ page — add 3-5 relevant Q&As at the bottom of EVERY page
    • Use FAQPage schema markup
  5. Comparison Content

    • “urWhats vs Twilio”, “urWhats vs Respond.io”, “urLead vs HubSpot”
    • AI tools are often asked comparison questions — be the source of truth
  6. Technical Depth

    • Include API documentation references
    • Show integration capabilities
    • Provide implementation details
  7. Local Authority

    • “Headquartered in Riyadh, Saudi Arabia”
    • “Compliant with Saudi Personal Data Protection Law (PDPL)”
    • “Serving businesses across the GCC region”

Every key page should follow this structure:

  1. Clear H1 with primary keyword and entity
  2. Introductory paragraph with key facts (who, what, where, why)
  3. Feature sections with specific capabilities
  4. Use cases with industry/role context
  5. Social proof (real testimonials, partner badges — NOT fabricated)
  6. FAQ section with FAQPage schema
  7. CTA with clear next step

Phase 0: Emergency Fixes (ALL SITES) — Priority: CRITICAL

Section titled “Phase 0: Emergency Fixes (ALL SITES) — Priority: CRITICAL”
#TaskSitesEffort
0.1Remove ALL fake aggregateRating from JSON-LD, schema.json, ai-plugin.json, llms filesurWhats, urWave, urLead2h
0.2Create proper OG images (1200x630 PNG) for all sitesALL1h
0.3Fix urWhats malformed sitemap (delete static, use @astrojs/sitemap or fix dynamic)urWhats1h
0.4Fix urLead sitemap URL generation (remove /en/ prefix)urLead30m
0.5Unify contact info to +966508777669 / sales@urwave.com across ALL sitesALL2h
0.6Rename /Privacy -> /privacy, /Terms -> /terms (all sites that have them)urWhats, urWave, urLead2h
0.7Fix urLead footer copyright (“urWhats” -> “urLead”)urLead15m
0.8Remove false claims from llms.txt/llms-full.txt files (fake stats, unverified integrations, UAE PDPL)urWhats1h

Phase A: AI Agent Optimization (ALL SITES) — Priority: HIGH

Section titled “Phase A: AI Agent Optimization (ALL SITES) — Priority: HIGH”
#TaskSitesEffort
A.1Restructure llms.txt to strict llmstxt.org spec formatALL2h
A.2Create llms-full.txt for sites that lack iturWave, urLead, urHackathon2h
A.3Create .well-known/ directory with ai-plugin.json, schema.json, security.txturWave, urLead, urHackathon2h
A.4Add <link rel="author" href="/llms.txt"> to all sitesurWave, urHackathon30m
A.5Enhance AI meta tags (ai:description, ai:category, ai:features, ai:use_cases)urWave, urLead, urHackathon1h
A.6Register all domains on llmstxt.site and llmstxt.cloud directoriesALL30m
A.7Add cross-product links in llms.txt files (link to sibling products)ALL1h

Phase B: SEO Foundation (ALL SITES) — Priority: HIGH

Section titled “Phase B: SEO Foundation (ALL SITES) — Priority: HIGH”
#TaskSitesEffort
B.1Set up Google Search Console for all domainsALL1h
B.2Set up GA4 tracking (or verify existing)urWhats, urLead, urHackathon2h
B.3Claim Google Business Profile for urWave CompanyurWave1h
B.4Add proper 301 redirects for renamed routes (Privacy->privacy, Terms->terms)ALL1h
B.5Install @astrojs/sitemap on urWhats (replace manual sitemaps)urWhats1h
B.6Add image sitemapsurWhats, urLead, urHackathon2h
B.7Add Twitter handles to all sites (@urwave or product-specific)ALL30m
B.8Remove duplicate tagsurWhats, urHackathon30m
B.9Remove SearchAction schema (no search exists) or implement searchALL30m
B.10Fix urLead RTL CSS loading for Arabic pagesurLead1h
B.11Add Arabic font to urLeadurLead30m

Phase C: Content & GEO Enhancement — Priority: MEDIUM-HIGH

Section titled “Phase C: Content & GEO Enhancement — Priority: MEDIUM-HIGH”
#TaskSitesEffort
C.1Rewrite homepage with GEO principles (stats, entities, authority)urWhats4h
C.2Add FAQ sections with FAQPage schema to every content pageurWhats4h
C.3Create comparison pages (vs Twilio, vs Respond.io, etc.)urWhats4h
C.4Add case studies page (real projects: SIDF, Ministry of Energy)urWave4h
C.5Clean urLead content (remove urIdea contamination, fix branding)urLead2h
C.6Restructure urWhats messaging per marketing manager feedback + CONTENT-STRATEGY.mdurWhats6h
C.7Update legal pages to Saudi PDPL referencesALL2h
C.8Create dedicated About/Contact/Features pages for urHackathonurHackathon4h
C.9Create centralized variables.config.ts for urHackathonurHackathon1h

Phase D: Technical Optimization — Priority: MEDIUM

Section titled “Phase D: Technical Optimization — Priority: MEDIUM”
#TaskSitesEffort
D.1Implement Cloudflare Web Analytics (complement to GA4)ALL1h
D.2Add proper breadcrumb navigation UI (not just schema)urWhats, urLead2h
D.3Implement Markdown page versions (.md endpoints) for key pagesurWave4h
D.4Clean up dead Service Worker filesurWave, urWhats30m
D.5Add DNS prefetch/preconnect for critical third-party originsALL1h
D.6Audit and fix all _headers CSP policies across sitesALL2h

  • Repo: D:\Work\Website-urWhats.com
  • Branch: feature/seo-enhancements
  • Existing plan: .specs/IMPROVEMENT-PLAN.md (49 tasks, 5 phases)
  • Status: Phase 1 mostly done (7/8), uncommitted
  • Key issues: Fake ratings, malformed sitemap, missing OG image, false llms.txt claims
  • Repo: D:\Work\Website-urWave.com
  • Branch: main (1 unpushed commit)
  • CLAUDE.md: .claude/CLAUDE.md (211 lines)
  • Key issues: SVG OG image, fake ratings, route casing, hardcoded hero, phone inconsistency
  • Repo: D:\Work\Website-urLead.net
  • Branch: (check)
  • CLAUDE.md: MISSING
  • Key issues: Wrong sitemap URLs, urWhats copyright in footer, RTL CSS broken, no Arabic font, urIdea content contamination, fake ratings, stub API config
  • Repo: D:\Work\Website-urHackathon.com
  • Branch: (check)
  • CLAUDE.md: MISSING
  • Key issues: Hardcoded values everywhere, no centralized config, duplicate meta tags, 2 pages only, missing analytics

All urWave Company websites MUST use these contact details:

FieldValue
Business Phone+966 508 777 669
Phone Display+966 50 877 7669
Sales Emailsales@urwave.com
Info Emailinfo@urwave.com
WhatsApp Linkhttps://wa.me/966508777669
AddressRiyadh, Saudi Arabia
CompanyurWave Company (LLC)
CR7052775355
VAT300075277550003

Old numbers to remove globally:

  • +966547778955
  • +966544757057
  • +971509056326

  • Cloudflare Pages (static hosting)
  • No Workers (yet)
  • _headers file for security headers (CSP, HSTS, XSS protection)
  • _redirects file for URL redirects
  • Asset caching: 1 year for immutable assets, 0 for HTML
  1. Cloudflare Web Analytics — Free, privacy-friendly, no JS overhead. Complements GA4.
  2. Cloudflare Turnstile — Already used on contact forms (good).
  3. DNS records — Ensure all domains have proper CNAME/A records pointing to Cloudflare Pages.
  4. Email routingsales@urwave.com and info@urwave.com should be set up via Cloudflare Email Routing if not already.

Add to all sites’ _headers:

# AI/LLM files
/llms.txt
Content-Type: text/plain; charset=utf-8
Cache-Control: public, max-age=86400
X-Robots-Tag: noindex
/llms-full.txt
Content-Type: text/plain; charset=utf-8
Cache-Control: public, max-age=86400
X-Robots-Tag: noindex
/.well-known/*
Content-Type: application/json
Cache-Control: public, max-age=86400
Access-Control-Allow-Origin: *

DateAuthorChanges
2026-02-19Claude CodeInitial comprehensive audit and strategy