Audit   woofwagonpet.com
May 14, 2026 · Takeover Brief
SEO + UX + Design takeover audit

A pet taxi sitting on the curb
while customers drive past looking for it.

Single-page WordPress brochure for Woof Wagon Transport, a Gwinnett-County pet transportation service. The brand is invisible to search engines, untrusted by visitors, and physically uncomfortable to use on the phone where 70% of pet-service traffic lives. This brief is what we'd fix in the first 90 days.

Site woofwagonpet.com
Owner Woof Wagon Transport
HQ Dunwoody / Sandy Springs, GA 30350
Service area Gwinnett County + adjacent
Stack WordPress 6.9.4 (block theme)
Audited 2026-05-14
Composite readiness
31/100
Verdict
High-leverage rebuild. Brand is salvageable, asset is not.
Every load-bearing SEO primitive is either missing or actively blocked — no sitemap, no robots, no schema, no meta description, no analytics. The good news: nobody else in Gwinnett pet transport is doing this work either. First-mover advantage is unclaimed and the keywords are cheap.
Technical SEO
F12 / 100
Sitemap returns 403. robots.txt is 404. No structured data. WordPress generator exposed.
Content / E-E-A-T
F18 / 100
1,217 characters of body text total. Zero reviews, zero pricing, zero service-area pages, zero FAQs.
UX / Mobile
D38 / 100
8 of 10 interactive elements fail the 44×44 mobile tap-target minimum. No favicon. Spam-magnet form.
Brand / Taste
D42 / 100
Four competing font families. No logo, no accent color, no hero image, no voice. Generic AI-speak copy.
01 · Render evidence

What we actually rendered, not what the source claims.

Per web.dev/AI-agent-site-ux guidance, every line below was captured by cross-referencing DOM + accessibility tree + visual screenshot via Playwright. No curl assumptions.

<title>
Woof Wagon Transport (20 chars · no city, no keyword)
meta description
— missing —
canonical
https://woofwagonpet.com/
robots.txt
HTTP 404 (does not exist)
sitemap.xml
HTTP 403 Forbidden
wp-sitemap.xml
HTTP 403 Forbidden
favicon.ico
HTTP 404 (console error)
JSON-LD schema blocks
0 (zero structured data)
Open Graph / Twitter tags
0 (no social previews)
H1 count
3 (should be 1)
Total internal links
6 (single-page site)
Total body text
1,217 characters
DOM nodes
198 total
Font families in use
4 (Roboto, Times, Playfair, Arial)
Distinct colors
8 (no brand accent identifiable)
Mobile tap targets failing 44×44
8 of 10 (80%)
GA4 / GTM installed
No (zero analytics)
Meta Pixel / FB tracking
No
Form spam protections
No honeypot. No captcha. No required fields.
Generator (info leak)
WordPress 6.9.4 exposed in meta
Logo / custom branding
None detected
Desktop full-page render of woofwagonpet.com
Desktop · 1440×900full-page screenshot
Mobile full-page render of woofwagonpet.com
Mobile · 390×844full-page screenshot
The contact form has no required attributes, no honeypot, and no captcha on a WordPress site with the generator tag exposed. The first bot scan that finds this will fill the owner's inbox with junk and tank her email deliverability. — Conversion / Security · Critical
02 · SEO findings

Search engines literally cannot find this site.

A 403 on sitemap.xml and a 404 on robots.txt is the SEO equivalent of unplugging the phone. Compounded by zero schema and a 20-character page title, the site has no signal to send Google about what it does or where.

Critical
Crawlability
sitemap.xml returns HTTP 403 Forbidden. wp-sitemap.xml, sitemap_index.xml, page-sitemap.xml and post-sitemap.xml all return 403. Googlebot has no map of the site.Unblock the sitemap path at the openresty / Cloudflare layer, regenerate WordPress core sitemaps, and submit wp-sitemap.xml in Search Console.
Critical
Crawlability
robots.txt returns HTTP 404 — no file exists. Crawlers fall back to default behavior and there is no sitemap pointer.Ship a static robots.txt with explicit Allow rules for the 9 named AI crawlers, plus a Sitemap: line pointing to wp-sitemap.xml.
Critical
Indexability
No meta description anywhere on the homepage. Google will scrape a snippet from random body text — and there isn't much of that to scrape.Author a 150–160 character meta description for every page with the primary keyword + city + a value prop. Homepage: "Woof Wagon Transport — safe, insured pet taxi serving Gwinnett County. Vet, groomer, boarding rides. Call 404-496-8146."
Critical
Structured data
Zero JSON-LD blocks. No LocalBusiness, no Service, no FAQPage, no BreadcrumbList. Eligible rich results: none.Ship LocalBusiness (PetTransportationService) + Service + FAQPage + Person (owner) schema on the homepage. Schema block draft is provided in §08.
Critical
Page title
<title> is "Woof Wagon Transport" — 20 characters. No city, no service keyword. SERP click-through ceiling is dictated by this string and it currently signals nothing.Rewrite to "Pet Taxi & Transportation in Gwinnett County, GA · Woof Wagon" (62 chars). Mirror on social previews via OG tags.
Critical
Social previews
No og: or twitter: tags. Every Facebook share, iMessage preview, Slack unfurl and WhatsApp link looks broken.Add og:title, og:description, og:image (1200×630 of pet in van), og:url, og:type=website, twitter:card=summary_large_image. Two minutes of work; massive social CTR impact.
Critical
Site architecture
Single-page site. No /services/, no city pages, no /about/, no /book/, no /pricing/, no /faq/, no /reviews/. Six internal links total. There is nothing for Google to rank for anything other than the brand name.Build out site to a minimum 12-page architecture: home, 4 service pages, 6 city pages, FAQ, reviews. Linked from a real nav menu.
High
Heading structure
Three <h1> elements on one page: "Woof Wagon Transport", "About Woof Wagon", "Contact Us". Dilutes the strongest on-page signal.One H1 per page, keyword-bearing. Demote section titles to H2. Service names to H3 (currently correct).
High
Content depth
1,217 characters of body text on the homepage. Below the threshold where Google can build a topical model. No FAQ, no pricing, no testimonials, no service-area list.Target 1,200+ words on the homepage and 800–1,500 per service / city page. See content cluster recommendations in §06.
High
Local SEO / GBP
No NAP citation discipline visible from site. Address shown as a single inline link 15px tall, no LocalBusiness schema, no embedded map, no GBP review widget.Render NAP in plain text + microdata, embed Google Maps, add review-snippet pull from GBP. Audit citations across Yelp / BBB / Yellow Pages / Foursquare / Apple Maps / Bing Places for consistency.
High
Analytics
No GA4. No GTM. No Meta Pixel. No conversion tracking on the form or the phone number. We have no way to measure the audit's impact from day one.Install GA4 via GTM. Track: form_submit, phone_click (tel: link), book_a_ride_click, scroll_depth. Connect Search Console and Bing Webmaster on the same day.
High
Internal linking
Only 6 internal links and they are anchor jumps on a single page. No siloed internal-link graph possible.After architecture build, link service pages from city pages and vice-versa. Service pages link to relevant FAQ entries.
Medium
Index hygiene
robots meta is "max-image-preview:large" only. No noindex policy on tag / author archives that WordPress generates by default — they're indexable and competing.Configure Yoast / RankMath / SEOPress to noindex tag, author, attachment, and date archives. Or strip them entirely from the theme.
Medium
Image SEO
Only 7 images on the site. All present with alt text (good) but file names are generic WordPress uploads and no city/service keyword usage detected.When adding new imagery for the rebuild, name files like "pet-taxi-gwinnett-county.webp" and write descriptive alt text. Serve WebP via WordPress media library.
Medium
Info leak
<meta name="generator" content="WordPress 6.9.4"> exposed. Theme directory leaks build timestamp in its name (woofwagontransport_260513_163111).remove_action('wp_head', 'wp_generator'). Rename theme directory to a clean handle.
Medium
AI search readiness
No llms.txt file. No FAQ schema for AI Overviews / ChatGPT / Perplexity passage citation.Author /llms.txt per spec (title + description + sections + AI Citation Guidance). Add FAQPage schema with 8–12 entries.
03 · Design + taste

It looks like a draft, not a business.

Four fonts. No logo. No accent color. No hero image. The brand has not yet been designed. The site is a default WordPress block theme with three paragraphs glued in.

Critical
Brand color
No accent color. Body bg rgb(245,245,245) grey, text rgb(0,0,0) pure black. 8 detected colors and none of them say "warm, trustworthy, pet-friendly".Pick a single warm accent (rust #B8543A, deep terracotta #C76B4A, or warm amber #D89055) and apply it to CTA, links, section dividers, and accent type. Soften body text to #1F1B17.
Critical
Typography
Four font families on the page: Roboto, Times, Playfair Display serif, Arial, plus the system stack. Chaotic, uncoordinated, unprofessional.Lock a 2-family system: one warm serif for display (Fraunces, Recoleta, or Tiempos Headline) + one geometric sans for body (Geist, Satoshi, or Inter Tight). Kill Roboto, Times, Arial.
Critical
Hero
No hero image. heroBg = none. H1 is 37px on desktop. The first impression is a left-aligned wall of body text on grey.Edit-style hero: 50/50 split. Left: H1 + subhead + dual CTA ("Book a ride" / "Call now"). Right: warm hero photo of the actual van / actual owner / actual dog in transit. Real people, not stock.
Critical
Trust signals
Zero trust scaffolding: no reviews, no testimonials, no "insured / bonded", no driver photo, no van photo, no years-in-business, no licensing, no transparent pricing.Build a "Why families pick Woof Wagon" band with 4 trust pillars: insured-and-bonded badge, owner headshot + 60-word bio, 3 review quotes pulled from GBP, USDA / state license number if applicable.
Critical
Voice / copy
Generic AI-speak: "Safe, Loving Pet Transportation for Your Fur Baby", "calm and ready for their appointment", "perfect for busy schedules". No personality, no local detail, no proof.Rewrite in the owner's actual voice. Name Gwinnett vets, name dog parks, mention real client situations ("I drove Mrs. Patel's Bichon, Mango, to Snellville Animal Hospital every Tuesday for six months"). Specifics make trust.
High
Logo
No logo. customLogos evaluates false. The brand name is set in a generic theme font in the header.Commission a simple mark: dog-silhouette + wordmark, two-color (rust + ink). Deploy as 512×512 PNG, SVG, and 32×32 favicon.
High
Service framing
Comma-soup service names: "Boarding & Multi-Stop Pet Errands", "Recurring Scheduled Transport & Dog Park Outings". Each card tries to do two jobs.Split into 4 distinct, single-purpose offers: (1) Vet rides, (2) Groomer rides, (3) Boarding drop-off & pickup, (4) Recurring & dog-park outings. Each gets its own page and its own URL.
High
CTA hierarchy
Single CTA "Book a Ride" at 131×44 px. Phone number and email are buried 15px tall in the footer. Owner's primary lead vector is the phone — it is not surfaced.Sticky header bar on mobile: phone number, "Text us", "Book". Hero gets dual CTA. Service cards each get a "Get a quote" anchor button.
High
Layout
Centered-stack template throughout. No asymmetry, no visual rhythm, no editorial pacing. Each section is a sandwich of (title, body, optional button).Apply taste-skill DESIGN_VARIANCE 7: hero is split, service section uses a 2-column zig-zag, trust band is full-bleed dark, FAQ is left-aligned narrow. Mix the rhythm.
Medium
Color contrast
Pure black on pure-ish grey is harsh. No warmth. Reads cheap.Soften ink to #1F1B17. Use a warm paper background #FAF7F2 + a deep ink section #14110E for trust band. Pet brand = warm, not clinical.
Medium
Domain consistency
Domain is woofwagonpet.com but the brand consistently writes "Woof Wagon Transport". The word "pet" only appears in the URL.Pick one. Either rebrand the URL to "woofwagontransport.com" (and 301 the old) or rebrand the wordmark to "Woof Wagon Pet Transport". Disconnect costs trust and citation consistency.
Medium
Iconography
Services have no icons. Social icons are 24×24 generic glyphs. No visual identity in the icon system.Pick a single icon library (Phosphor Duotone or Lucide outline 1.5 stroke). Custom stroke icons for each service. Social icons rebuilt at 44×44.
Low
Favicon
favicon.ico returns 404 — console error on every page load.Generate from the new logo at 16/32/180/192/512px. Wire in <link rel="icon">, apple-touch-icon, and theme-color tags.
04 · Frontend / impeccable

Mobile is where the customer is. Mobile is broken.

70%+ of pet-service queries are mobile. On this site, 80% of interactive elements fail the WCAG / iOS HIG minimum 44×44px tap target. The form is wide-open to bots. The page renders fine, then fails the moment a thumb touches it.

Critical
Form security
Fluent Forms contact form has no honeypot field, no captcha, no required attributes on visible fields. Posts back to /. The first spam-bot scan that lands on this domain will flood the owner's inbox and may get her email marked as spam by Gmail.Add Cloudflare Turnstile (free), add a hidden honeypot trap (website_url), require name + email + message, rate-limit submissions by IP at the firewall.
Critical
Mobile tap targets
8 of 10 interactive elements measured smaller than 44×44 px on a 390-wide mobile viewport. Skip-link is 1×1 px. Burger button 24×24. Social icons 24×24. Address / email / phone anchors only 15px tall.Apply min-height 44px and min-width 44px to all a, button, input[type=submit]. Padding rather than scale. Touch-action: manipulation to kill 300ms delay.
High
Form fields
No required attribute, no inputmode, no autocomplete hints. Email field has no type="email" validation visible. No phone field at all — the owner's biggest lead capture is missing.required on all fields. autocomplete="name email tel". inputmode="email" / "tel". Phone field with US-format placeholder. Mobile keyboards adjust automatically.
High
Phone CTA
Phone number 404-496-8146 is rendered as a 15-px tall footer anchor. On mobile, this is the highest-converting CTA for a service business and it is invisible.Sticky bottom bar on mobile: phone (left half) + "Book online" (right half), 56px tall, accent color. Pinned, not hidden in menu.
High
Heading hierarchy
3× H1 on one document hurts assistive tech navigation, not just SEO. Screen-reader users will hear "heading level 1" three times.Outline: one H1, H2 per section, H3 per service. Use ARIA landmarks (main, nav, footer) explicitly.
Medium
Performance
198 DOM nodes is tiny but the theme still loads Google Fonts blocking. No preconnect, no font-display: swap visible. WordPress block theme typically loads ~80KB of inlined CSS for layout primitives the site doesn't use.font-display: swap on all @font-face. preconnect to fonts.googleapis.com + fonts.gstatic.com crossorigin. Purge unused block-theme CSS via wp_dequeue_style on the front end.
Medium
Accessibility
Skip-link is 1×1 px (effectively invisible). Body color #000 on #f5f5f5 has 19.6:1 contrast (good) but no focus-visible outline styling is detectable on links/buttons.Skip-link sized 0 by default, expanded on focus. Visible focus ring: outline: 2px solid var(--accent); outline-offset: 2px on all focusable elements.
Medium
Viewport stability
Mobile document height 4,163 px on a single-section page. Hero stacks awkwardly. No min-height: 100dvh usage; layout jumps on iOS Safari URL-bar collapse.Hero block min-height: 100dvh max-height 100dvh. Section padding fluid via clamp(40px, 8vw, 96px).
Low
Console hygiene
One persistent console error on every load: favicon.ico 404.Ship favicon. Closes the only console-level error on the page.
05 · Market & competition

Gwinnett + adjacent counties: quiet, not empty.

Service-area focus per scope: Gwinnett County and the immediately adjacent counties where Woof Wagon's HQ in 30350 (Dunwoody / Sandy Springs) makes the drive economic — North Fulton, DeKalb, Hall, Forsyth, Barrow, Rockdale, Walton.

Direct competition in Gwinnett pet transport is weak across the board. One mid-tier independent dominates the Atlanta-perimeter pet-taxi SERP. Inside Gwinnett proper, no brand owns the keyword. Competition level · Gwinnett core · 4 / 10

Competition by service area

AreaCompetitionNotes
Gwinnett core (Lawrenceville, Duluth, Suwanee, Buford, Snellville, Lilburn, Norcross, Sugar Hill)4/10No brand owns the map pack. Wide open.
North Fulton (Sandy Springs, Dunwoody, Roswell, Alpharetta, Johns Creek)7/10Higher income, more existing services, more competition.
DeKalb perimeter (Tucker, Brookhaven, Chamblee, Stone Mountain)5/10Underserved despite Atlanta proximity.
Forsyth (Cumming)3/10Growth corridor, almost no providers.
Hall (Gainesville)3/10Wide open. Vet density justifies expansion.
Barrow / Walton / Rockdale2/10Rural, dispersed demand. Recurring-customer model only.

SERP features to attack

  • GBP map pack
    Dominates "pet taxi [city]" queries. Highest priority — claim, optimize, and run review velocity to win.
  • People Also Ask
    "How much does a pet taxi cost?" / "Are pet taxis safe?" / "Do pet taxis use crates?" — all winnable via FAQ schema.
  • Featured snippets
    "Pet transport requirements Georgia" / "Cost of pet taxi Atlanta" — single-paragraph answers.
  • Image pack
    Captures local-intent queries for "pet taxi van" / "dog transport crate". Easy with optimized alt + filename.

Direct competitors in Gwinnett + adjacent

01
Atlanta Pet Taxi
Local independent · ATL perimeter
Services
Local taxi, vet trips, airport. Perimeter-focused.
Ranks for
"pet taxi atlanta", "pet transport atl"
Weakness
Outdated UX, weak Gwinnett coverage, no schema, dated review velocity. Beatable inside Gwinnett with better site + GBP.
02
Fetch! Pet Care (franchise)
National franchise · GA presence
Services
Walking, sitting, transport bolt-on.
Ranks for
"pet care [city]" templates
Weakness
Generic franchise local-page templates. Doesn't compete head-on for "pet taxi" intent. Owner-driven local brand beats them every time.
03
CitizenShipper
National marketplace
Services
Long-distance pet transport quotes.
Ranks for
"pet transport quotes", long-haul terms
Weakness
Not a local taxi competitor. Different intent. Won't show for "pet taxi near me" in Gwinnett — they target long-haul moves.
04
Rover / Wag (transport add-on)
National gig platform
Services
Sitting + walking, transport is informal extra.
Ranks for
"dog sitter near me"
Weakness
Inconsistent. No insurance for transport leg. Owner-operator with bonded coverage easily wins trust-shoppers.
05
Barking Hound Village
Local boarding · ATL
Services
Daycare + facility-only shuttle.
Ranks for
"dog daycare atlanta", facility brand
Weakness
Shuttle only goes to their own facility. Not a true open-market pet taxi. Partnership opportunity, not competition.
06
Local independents (sub-10 GBP reviews)
Gwinnett / Forsyth / DeKalb
Services
Single-operator pet taxis under various brand names.
Ranks for
Almost nothing organic.
Weakness
Zero SEO infrastructure. Most don't even have websites — just GBP listings. Trivial to outrank with even minimal effort.
06 · Gaps to exploit

Eight openings nobody else is taking.

Each gap below maps to underserved intent in the Gwinnett + adjacent service area. Each becomes a dedicated landing page in the rebuild, with its own schema and its own GBP services entry.

01

Wait-and-return vet service

Owners pay extra for the driver to stay through the appointment instead of double-tripping. No Gwinnett competitor publishes this as a defined offer with a price.

02

Post-surgical / mobility transport

Senior dogs, post-op recovery, soft-padded crates. Gwinnett has Bluepearl, Animal Emergency, Georgia Veterinary Rehab — high-density referral market with zero specialist transport competitor.

03

Recurring "vet day" scheduling

Subscription pricing for owners with weekly grooming or twice-monthly vet appointments. Predictable revenue + lock-in. Nobody in metro Atlanta publishes a subscription plan.

04

Senior pet-owner support

Sandy Springs / Dunwoody skews older. Many elderly owners can't drive their pets. A "senior caregiver partner" GBP attribute + dedicated page captures referral from senior living orgs.

05

Exotic pet transport

Birds, reptiles, small mammals. Specialty vets like Avian & Exotic Animal Care of Sandy Springs sit in your service radius. No local competitor advertises capability.

06

Boarding drop-off + pickup bundle

Customers don't want to pay two separate trips. Round-trip pricing for boarding facilities (Camp Bow Wow Norcross, Pet Paradise Suwanee, etc.) captures the full job.

07

Multi-stop "pet errand" packages

"Vet + groomer + pickup" priced as one block. Nobody else packages this. Higher AOV than single-stop rides.

08

Dog-park outings (recurring social)

Genuinely differentiated. Most pet-taxi services don't do this. Best Gwinnett dog parks (Bay Creek Dog Park, Suwanee Town Center, Bryson Park) become natural content pillars.

07 · Keyword opportunity

Cheap keywords, low competition.

Top 20 commercial intent keywords for Gwinnett + adjacent. Difficulty scores from Gemini research are estimates; we'll refine with DataForSEO Keyword Planner once the agent-os run completes for the new domain.

KeywordIntentEst. monthly vol.DifficultyPage target
pet taxi near melocal · commercial8,10042Home + GBP
pet transportation near melocal · commercial5,40040Home
dog transport near melocal · commercial1,20036Home
pet courier servicescommercial1,60034Services hub
pet taxi atlantageo · commercial90038City: Atlanta perimeter
pet taxi gwinnett countygeo · commercial508City: Gwinnett (anchor)
pet transport lawrenceville gageo · commercial506City: Lawrenceville
pet taxi duluth gageo · commercial305City: Duluth
dog taxi suwaneegeo · commercial204City: Suwanee
pet transport buford gageo · commercial405City: Buford
pet taxi snellvillegeo · commercial204City: Snellville
pet taxi norcrossgeo · commercial204City: Norcross
pet transport dunwoodygeo · commercial305City: Dunwoody
pet taxi sandy springsgeo · commercial407City: Sandy Springs
pet taxi alpharettageo · commercial5012City: Alpharetta
vet shuttle serviceservice · commercial15012Service: Vet rides
dog ride to groomerservice · commercial9010Service: Groomer rides
boarding drop off serviceservice · commercial708Service: Boarding
recurring pet ridesservice · commercial405Service: Recurring
dog park transportservice · differentiated303Service: Dog park outings

Volumes are Gemini-estimated US monthlies; difficulty 0–100. The geo-modified terms are the cheapest entry — the entire long tail is winnable inside 6 months.

08 · Schema to ship

First 50 lines of JSON-LD that change everything.

LocalBusiness (PetTransportationService) + Service array + GeoShape for the service area. This block alone unlocks rich-result eligibility, AI-citation passage parsing, and proper Knowledge Graph linkage.

// Inject into <head> on homepage. One JSON-LD with @graph for clean linkage.
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": ["LocalBusiness", "PetService"],
      "@id": "https://woofwagonpet.com/#business",
      "name": "Woof Wagon Transport",
      "image": "https://woofwagonpet.com/img/og-woof-wagon-1200x630.jpg",
      "description": "Insured pet taxi and transportation service for Gwinnett County and adjacent metro Atlanta. Vet, groomer, boarding rides and recurring outings.",
      "url": "https://woofwagonpet.com/",
      "telephone": "+14044968146",
      "email": "contact@woofwagonpet.com",
      "priceRange": "$$",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "8735 Dunwoody Place, Ste N",
        "addressLocality": "Atlanta",
        "addressRegion": "GA",
        "postalCode": "30350",
        "addressCountry": "US"
      },
      "areaServed": [
        { "@type": "AdministrativeArea", "name": "Gwinnett County, GA" },
        { "@type": "City", "name": "Lawrenceville, GA" },
        { "@type": "City", "name": "Duluth, GA" },
        { "@type": "City", "name": "Suwanee, GA" },
        { "@type": "City", "name": "Buford, GA" },
        { "@type": "City", "name": "Snellville, GA" },
        { "@type": "City", "name": "Lilburn, GA" },
        { "@type": "City", "name": "Norcross, GA" },
        { "@type": "City", "name": "Sugar Hill, GA" },
        { "@type": "City", "name": "Dunwoody, GA" },
        { "@type": "City", "name": "Sandy Springs, GA" }
      ],
      "openingHours": "Mo-Sa 07:00-19:00",
      "sameAs": [
        "https://www.instagram.com/woofwagonpet",
        "https://www.facebook.com/woofwagonpet"
      ],
      "hasOfferCatalog": { "@id": "https://woofwagonpet.com/#services" }
    },
    {
      "@type": "OfferCatalog",
      "@id": "https://woofwagonpet.com/#services",
      "name": "Pet Transportation Services",
      "itemListElement": [
        { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Vet Visit Pet Transport" } },
        { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Groomer Pet Transport" } },
        { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Boarding Drop-off & Pickup" } },
        { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Recurring Pet Rides" } },
        { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Dog Park Outings" } }
      ]
    }
    // + FAQPage block with 8–12 entries
    // + BreadcrumbList per page
    // + Person (owner) with knowsAbout, jobTitle, hasCredential
  ]
}

Companion FAQ + BreadcrumbList + Person schema blocks ship with the rebuild. Total payload < 6 KB inline.

09 · 90-day takeover plan

Three phases. Each ships a measurable thing.

No big-bang relaunch. We layer fixes so leads start flowing before the rebrand ships. Every phase ends with a verifiable artifact and a metric we can show the owner.

Phase 01
Stop the bleeding
Days 0 – 14
  • Fix robots.txt + unblock sitemap (403 / 404)
  • Install GA4 + GTM + Search Console + Bing Webmaster
  • Ship homepage meta description + OG + Twitter cards
  • Add LocalBusiness + Service JSON-LD
  • Lock form: Turnstile + honeypot + required fields
  • Ship favicon + remove generator tag
  • Claim & optimize Google Business Profile
  • Citations sweep: Yelp / BBB / Apple Maps / Bing Places
Phase 02
Build the asset
Days 15 – 60
  • Brand identity: logo, palette, voice doc
  • Redesign: hero, services band, trust band, FAQ
  • Ship 4 service pages (vet / groomer / boarding / recurring)
  • Ship 8 city pages (Gwinnett 5 + adjacent 3)
  • Owner photoshoot + van photo + 8 GBP photos / week
  • Review velocity: target 5 / month from existing clients
  • Internal-link silo + breadcrumbs everywhere
  • llms.txt + FAQPage schema
Phase 03
Compound the moat
Days 61 – 90
  • Content cluster: 8 hub-and-spoke blog posts
  • Partner outreach: 10 Gwinnett vets + groomers (link + referral)
  • Geo-grid rank tracking via DataForSEO (Gwinnett map pack)
  • Local press: pitch AJC, Gwinnett Daily Post, neighborhood Patch sites
  • Schedule recurring monthly content + GBP-post cadence
  • First measurement readout: organic impressions / GBP views / leads
  • Phase D scoping for adjacent-county expansion
Conservative target after 90 days: 50–80 organic leads / month from a baseline of zero attribution. Map pack visibility for "pet taxi gwinnett county" and 4–6 city queries. GBP rating above 4.8 with > 25 reviews. — 90-day projection · Phase 01–03 complete