Audit C

Full Ecosystem Audit

Comprehensive audit across all SEO lanes: technical, semantic, local, links, content, structured data, competitor topology, and growth opportunities. Master synthesis plus per-lane deep dives.

C

Audit C: Ecosystem Master Report

All LanesTechnicalLocalLinksContent2026-06-11
Masterai-visibilitybacklinksCompetitor TopologyContentcroforensicsschemaTechnical
Master synthesis

TurnKey Bath Remodel: Full-Ecosystem SEO Audit Report

Client: TurnKey Bath Remodel, https://www.turnkeybathremodel.com/ Address: 3436 Magazine St Suite 414-N, New Orleans, LA 70115 Phone: (504) 513-6366 Audit Date: 2026-06-11 Orchestrator: Oliver | Conductor: Carlos | Synthesis: Shakespeare Audit Tier: Tier C (Full Ecosystem: 10 specialized lanes)


Overall Ecosystem Score

LaneScoreWeightWeighted Score
A. Koray Semantic SEO24/10012%2.9
B. Semantic + Merlino Stack29/10012%3.5
B. Local / GBP21/10012%2.5
B. Patents18/1008%1.4
C. Forensics71/1008%5.7
C. Technical22/10010%2.2
C. Schema40/1008%3.2
C. Backlinks12/10010%1.2
C. Competitors49/1006%2.9
C. Content Quality44/1008%3.5
C. AI Visibility38/1004%1.5
C. CRO54/1002%1.1
ECOSYSTEM TOTAL100%31.6/100

Verdict: CRITICAL. The site is operating at roughly one-third of its potential. Seven structural blockers are suppressing every other optimization. None of the content, schema, or link work will compound until the structural ceiling is removed.


Confirmed Data (Phase 0, cite verbatim in all fixes)

  • Organic: 48 keywords, ETV $28/mo, zero positions 1-3, four positions 4-10
  • Backlinks: 735 total, 691 flagged broken by DataForSEO (confirmed as WAF/redirect artifact, not actual broken links per forensics lane), 194 referring domains, domain rank 233/1000
  • Top traffic page: /step-by-step-guide-installing-tub-liner/ (DIY intent, anti-conversion)
  • GBP: CID 8100816110331311685 (15 reviews) confirmed active; second listing CID 5689911541674788924 (26 reviews) confirmed active; combined 41 reviews; both listings active = Google policy violation
  • Sister domain: turnkeybathroomrenovations.com, same WPX Cloud /24 subnet (194.1.147.x), ranks #8 and #11 for "walk in tub new orleans," main domain not in top 20
  • GSC/GA: NOT available. All organic data sourced from DataForSEO Phase 0 pull.

P0 Finding Register (Must Fix Before Anything Else Compounds)

P0-1: Sister Domain Cannibalization + Entity Fragmentation

Source lanes: Koray A, Semantic B, Local B, Patents B, Forensics C, Technical C, Schema C, AI Visibility C Evidence: turnkeybathroomrenovations.com confirmed on same WPX Cloud infrastructure (194.1.147.x), identical PHP 8.3.31, identical URL structure (/bathtubs/walk-in-tubs/, same 14 city service areas), identical GoHighLevel form infrastructure. Sister domain ranks #8 and #11 for "walk in tub new orleans" while main domain is absent from top 20 for that query. Sister domain declares a separate LocalBusiness entity in schema with no declared relationship to the primary entity. Under US 10332036B2 (Word Sense Disambiguation), Google cannot resolve these to one entity node. Impact: Every bit of topical authority, link equity, and GBP signal the business has earned is split across two incomplete entities. Neither can win because neither has a complete signal. Fix: 301 redirect turnkeybathroomrenovations.com to turnkeybathremodel.com with full page-to-page mapping before any content or schema investment. Merge GMB listings per fix below. Inaction risks devaluation of both domains at next core update under Google site reputation/spam policies. Owner type: Technical + Local SEO

P0-2: Duplicate GMB Listings (Policy Violation, Suspension Risk)

Source lanes: Local B, Forensics C Evidence: CID 8100816110331311685 (15 reviews, primary) and CID 5689911541674788924 (26 reviews, "TurnKey Bath Remodel: New Orleans Bath Remodeler") both confirmed active via DataForSEO business_data/google/my_business_info/live. Two active listings for the same business at effectively the same address is a Google My Business policy violation and creates grounds for suspension of both. Impact: 41 combined reviews are split, making the business look smaller than it is. Authority fragmented. One complaint to Google from a competitor triggers suspension. Fix: Determine which listing is primary (recommend the Magazine St listing with the higher review count). Request merge via Google Business Profile support. After merge, all 41 reviews consolidate on one profile. Owner type: Local SEO

P0-3: Four-Way NAP Conflict

Source lanes: Local B, Schema C Evidence: GMB phone (+1 504-688-4201) conflicts with website phone (504-513-6366). GMB address (1401 Distributors Row, 70123) conflicts with website address (3436 Magazine St, 70115). Press releases, Facebook, and bestremodel.com all use the GMB phone/address. Website schema and footer use the site phone/address. Google cannot resolve a single entity from these signals. Fix: Decide the canonical NAP (Magazine St address is the business-facing location; confirm whether Distributors Row is a warehouse/registered address). Update GMB, website footer, schema, and all citation sources to match exactly. Submit corrections to aggregators (Data Axle, Neustar Localeze). Owner type: Local SEO

P0-4: Homepage JS-Rendered with Zero Server-Side Content

Source lanes: Technical C, AI Visibility C Evidence: curl of homepage returns 127KB HTML but only 1,471 visible characters after stripping scripts/styles. Zero H1, H2, nav, or paragraph tags in initial HTML response. SSR score 0/100. AI crawlers (GPTBot, PerplexityBot, ClaudeBot, Amazonbot) see an empty page. WP Rocket IE-compatibility JavaScript block is the first 150+ words of HTML on all audited pages. Impact: Every AI citation and LLM-visibility play is blocked at the HTML layer before it can reach the ranking model. This is also why the homepage contributes near-zero to topical authority despite being the most-linked page on the site. Fix: Output H1 and main content server-side in WordPress theme. Move WP Rocket's IE-compatibility block out of the first 150 characters. This likely requires a WordPress developer or the WPX Cloud support team. Owner type: Technical

P0-5: /service-areas/new-orleans/ Returns HTTP 404

Source lanes: Semantic B, Local B, Technical C Evidence: Live fetch confirmed 404 on https://www.turnkeybathremodel.com/service-areas/new-orleans/. New Orleans is the primary commercial market. It appears in the navigation (creating an internal 404). GMB links to the homepage with UTM params instead. Zero on-page local content signals for "bathroom remodel new orleans." All 13 other city pages return HTTP 200. Fix: Rebuild and publish the New Orleans service area page immediately. This is not a redirect situation; the page needs to exist with substantive content. It is the single most commercially valuable page on the site. Owner type: Content + Technical

P0-6: Schema @id Anchored to Page Fragment, Not GMB CID

Source lanes: Semantic B, Schema C, AI Visibility C Evidence: LocalBusiness @id uses #organization anchor (e.g., https://www.turnkeybathremodel.com/#organization) across all 7 pages fetched. mainEntityOfPage absent sitewide. Neither field references the GMB CID or Knowledge Graph MID. Under Daryl Osborne's entity elevation method, every entity reference in the schema graph is orphaned from the Knowledge Graph. Fix: Update @id to reference the GMB CID (CID 8100816110331311685) in the format Google expects (the GBP URL with the CID). Add mainEntityOfPage to every entity block per Merlino Schema IP. Owner type: Schema/Technical

Source lanes: Backlinks C, Patents B Evidence: 434 "organization" + 103 "news" platform links = 77% of all backlinks from press release syndication infrastructure (xpr-gannett.com 138 links, marketminute.com 39 links). Anchor "TurnKey Bath Remodel centers on bathroom remodeling" repeats 138 times across unrelated domains. Google's link spam policy explicitly names press releases with keyword-rich anchor text as a violation risk. Telegram and SEO-spam anchors also detected in the link profile (t.me/s/quarterlinks25, BuySeoLink.com). Fix: (1) Disavow the four high-spam-score toxic domains (pierrecountry.com spam 40, thedam.fm spam 30, celebhomes.net spam 25, rogueimc.org spam 14) plus all Telegram/SEO-spam anchors immediately. Requires GSC access from the client. (2) Stop all press release link building. (3) Begin editorial link acquisition as replacement strategy. Note: The forensics lane confirmed the 691 "broken" links are a DataForSEO WAF artifact, not real broken links. The press release footprint issue is real regardless. Owner type: Links

P0-8: llms.txt Staging Host Contamination

Source lanes: AI Visibility C Evidence: llms.txt exists at the domain (HTTP 200) but every internal URL inside it points to staging host vm34.wprise.ai instead of www.turnkeybathremodel.com. AI crawlers following these links hit the wrong server. Fix: One find-and-replace on the llms.txt file: replace all vm34.wprise.ai references with www.turnkeybathremodel.com. Verify after deploy. Owner type: Technical (five-minute fix)


P1 Finding Register (High Impact, Execute Months 1-3)

P1-1: Central Entity Inconsistency Sitewide

Source lanes: Koray A, Semantic B, Schema C Evidence: "bath remodel," "bathroom remodel," and "bathroom renovation" used interchangeably with no dominant ngram. Walk-in tubs page uses brand name "TurnKey Bathroom Remodel" (wrong) vs. correct "TurnKey Bath Remodel." OG tags say "TurnKey Bathroom Remodel" while title tag says "TurnKey Bath Remodel." Under Koray's rule, the central entity must appear consistently in all articles to build site-wide ngram authority. Fix: Audit every page for brand name and service entity naming. Standardize to "TurnKey Bath Remodel" and "bath remodel" as the dominant entity ngrams. Update OG tags, schema name fields, and on-page copy.

P1-2: Homepage H1 Contains Zero Keyword

Source lanes: Semantic B, CRO C Evidence: H1 reads "Your Dream Bathroom Installed in as Little as 1 Day." Zero commercial keyword. Diggity three-kings violation (title, H1, first paragraph must carry primary keyword). Meta description absent on homepage, /showers/, and /bathtubs/. Fix: Rewrite H1 to "New Orleans Bathroom Remodeling Completed in 1 Day." Add meta descriptions to all three pages using intent-analyzer emotional-hook + functional-promise formula.

P1-3: City Pages at 75-84% Duplicate Content

Source lanes: Koray A, Semantic B, Patents B, Technical C, Content C, CRO C Evidence: 14 city pages with structurally identical content (only city name swapped). Benefits, planning, and services sections verbatim-identical. "All About [City]" section contains only tourism trivia. Slidell page lists services TurnKey does not offer (tile installation, electrical upgrades, flooring). WO2020081082 states simply rewriting existing content provides no information gain. Risks doorway page classification. Fix: Rebuild top-4 traffic city pages first (Slidell, Baton Rouge, Metairie, New Orleans once restored). Each page needs: unique opening paragraph with local market context, 2-3 city-specific testimonials, one project photo with city caption, local permit/parish references, removal of tourist-guide sections, and per-page LocalBusiness schema with city geo.

P1-4: Internal Linking Structural Violations

Source lanes: Koray A Evidence: 14 city pages using identical service-name anchors to the same destination pages (near-certain violation of 3-use anchor text maximum per Koray). Service links placed inside H3-level navigation lists rather than H2 body content, reducing relevance transfer. Fix: Implement varied anchor text across city pages. Move commercial service links into H2-level body content. Cap any single anchor-target combination at 3 uses sitewide.

P1-5: Schema Missing Core Entity Elevation Fields

Source lanes: Schema C, AI Visibility C Evidence: additionalType (Wikipedia category URLs), disambiguatingDescription, and knowsAbout absent from org entity sitewide. hasOfferCatalog lists only one generic Offer ("Acrylic Bathroom Products") despite six distinct services. areaServed lists 14 cities but every City node lacks a Wikidata URL. FAQPage schema absent on /showers/ and /bathtubs/walk-in-tubs/. Blog post top-traffic page has no HowTo schema despite step-by-step content. Metairie city page spawns a second LocalBusiness @id node using the New Orleans address (phantom duplicate entity). Fix: Deploy full Merlino Schema IP entity elevation stack per Daryl Osborne method: additionalType, disambiguatingDescription, knowsAbout, areaServed with Wikidata Q-numbers, geoRadius, sameAs with BBB/Angi/GBP CID. Add FAQPage (5-question minimum) to /showers/ and /bathtubs/walk-in-tubs/ covering cost, timeline, ADA use cases. Add HowTo schema to the tub-liner DIY blog post. Fix Metairie phantom @id.

P1-6: GMB Critically Under-Optimized

Source lanes: Local B, Forensics C Evidence: GMB shows total_photos = 1 (competitors have 50-200+). additional_categories = null, services = null, questions_and_answers_count = null. GMB hours (Mon-Fri 8:00-17:00, closed weekends) conflict with website hours (Mon-Sat 8AM-5PM, Sun 8AM-4PM). Only one primary GMB category with zero secondary categories, zero Q&A. Fix: Upload 25-50 geotagged before/after bathroom project photos minimum. Add secondary categories (General Contractor, Shower Door Shop). Add 10+ Q&A entries seeded with service/pricing questions. Resolve hours conflict. Add all services to the GMB services panel.

P1-7: AI/LLM Visibility Blocked at Multiple Layers

Source lanes: AI Visibility C, Schema C, Technical C Evidence: quotation_level = 0 across all pages (no testimonial or expert quotes in markup). cite_sources_level = 1 on all pages (no third-party citations). These two gaps alone cap FeatGEO Trust at 8.3/25 sitewide. No declarative answer blocks. No speakable property in schema. sameAs missing BBB, Angi, GBP CID (social-only sameAs insufficient for AI entity verification). Showers page and FAQ page have zero H2/H3 heading structure in server-rendered HTML. Fix: Add 50-75 word declarative opening block per service page (Google AIO, ChatGPT, Perplexity all require direct answer first plus 5+ specific data points with units). Add speakable schema. Expand sameAs to include Wikidata, BBB, Angi, GBP CID URL. Fix H2/H3 server-side rendering on showers and FAQ pages.

P1-8: Top-Traffic Page Drives Anti-Conversion Traffic

Source lanes: Technical C, Content C, Patents B Evidence: /step-by-step-guide-installing-tub-liner/ accounts for 25 of 48 ranked keywords (52%), all DIY intent ("bathtub liner diy," "how to install tub liner"). This is the site's best-performing page by traffic and its worst by conversion intent. Under US 9,135,307 (Panda quality scoring), a commercial service site whose best-performing content teaches users to avoid the service creates an E-E-A-T mismatch. Fix: Do not remove the post (it is the only page with top-10 rankings). Add: author schema with contractor credentials, a conversion bridge section ("Why most DIY tub liners fail within 18 months"), and a strong CTA to professional installation. This single edit likely has the highest conversion ROI of any content change.

P1-9: Zero Tier-1 Local Citations

Source lanes: Backlinks C Evidence: No New Orleans, Louisiana, or Gulf Coast business/city/news sites in the 188 referring domains. Tier-1 citations (Yelp, BBB, Angi, Houzz, chamber of commerce) completely absent. The merlino-sops citation SOP specifies submitting these in week 1-2 of any campaign. This is the single fastest-ROI link action available. Fix: Submit to Yelp, BBB, Angi, Houzz, Greater New Orleans Inc. chamber, local city business directories, and home improvement associations. Target 15-20 citations in month 1.

P1-10: Publishing Momentum Below Topical Authority Threshold

Source lanes: Koray A Evidence: Approximately 2 posts/month over a 21-month domain life (40 posts estimated). Koray's threshold for topical authority acquisition requires consistent publication with quality core-section nodes published first (close to the homepage) before outer-section cost/value topics. Current blog prioritizes outer-section topics before core-section quality nodes exist. Fix: Launch a sudden 6-article batch covering: walk-in tub vs walk-in shower, bathroom remodel cost New Orleans, tub liner vs replacement, ADA/aging-in-place bathroom New Orleans, bathroom remodel timeline, Jefferson Parish permit guide for bathroom remodels. All with internal links back to commercial service pages. Koray Momentum doctrine: patternless publish over 7-10 days to trigger topical authority re-evaluation.


P2 Finding Register (Meaningful Improvements, Execute Months 2-4)

P2-1: Anchor Text Distribution Inverted vs Healthy Benchmarks

Source lanes: Backlinks C Evidence: 92.7% artificial brand-sentence anchors, 0% naked URL, 0.9% generic. Target benchmarks: 10-15% naked URL, 15-20% generic. All anchors from press release campaign. Domain rank 233 despite 699 backlinks vs ezbaths.com at rank 211 with only 504 backlinks. Fix: Future editorial link acquisition targets diverse anchor construction: naked URL, generic ("click here"), partial-match, and branded-only. 12+ months to normalize distribution.

P2-2: LocalBusiness Schema Sitewide vs Per-Page

Source lanes: Technical C, Schema C Evidence: Schema is identical across all pages instead of per-page. City page Metairie has a second LocalBusiness @id node using the New Orleans address. No per-page LocalBusiness schema on any of the 14 service area city pages. Fix: Each city page gets its own LocalBusiness schema instance with the city-specific geo coordinates, areaServed limited to that city (Wikidata Q-number), and @id using the page URL + city fragment.

P2-3: CRO: Modal-Only Form + Three Competing CTAs

Source lanes: CRO C Evidence: Form is modal-only across all pages (no inline fallback). Three competing CTAs above the fold (Design Consultation, Call, FREE Estimates) create decision paralysis. Fix: Add a 3-field inline form on homepage and /contact/ (Name, Phone, Service Needed). Demote to one dominant CTA (Call primary, form secondary, remove third).

Source lanes: Forensics C, Technical C Evidence: /gallery/ returns HTTP 404. Wayback CDX confirms it returned 200 on 2024-10-14 and is now gone with no 301 redirect. /projects/ also 404s (correct URL is /our-projects/). Fix: 301 redirect /gallery/ to /our-projects/ and /projects/ to /our-projects/ immediately.

P2-5: OG Image Is the Favicon

Source lanes: Technical C Evidence: og:image set to favicon.png (16x16 icon). Twitter card is "summary" not "summary_large_image." Fix: Set og:image to a 1200x630 hero photo. Update Twitter card type.

P2-6: WP Login Accessible, No Security Headers

Source lanes: Technical C Evidence: wp-login.php returns HTTP 200. No X-Frame-Options, HSTS, CSP, or X-Content-Type-Options headers present. xmlrpc.php URL advertised in HTML head. Fix: Restrict wp-login.php access by IP or add two-factor via a security plugin. Implement security headers at the WPX Cloud level. Remove rsd_link action to stop advertising xmlrpc.php.

P2-7: No Live Chat or SMS Widget

Source lanes: CRO C Evidence: Zero live chat or SMS widgets detected. 40-50% of remodel research happens after hours. Fix: Install Tidio free tier with "1-day install" opening hook. Add SMS fallback routing. Add "Text Us" SMS option to the sticky mobile bottom bar.

P2-8: Topical Map Core-Section Attribute Gaps

Source lanes: Koray A Evidence: 13 monetizable core-section entity-attribute pairs missing: no cost data on any service page, no acrylic material attribute, no one-day install process node, no walk-in tub Medicare/insurance attribute. Fix: Add cost range data to every service page. Add material attributes (acrylic, fiberglass) to relevant service pages. Add one-day install process explanation as a dedicated section or sub-page. Add a walk-in tub Medicare/insurance eligibility section to the walk-in tubs page.

P2-9: No Financing Page

Source lanes: Competitors C Evidence: TurnKey has no financing page. EZBaths (18-month no-interest) and all national franchises rank for bathroom remodel financing terms. "Bathroom remodel financing no credit check" (vol 40) held by EZBaths. Fix: Add a financing page with current lender partner offer details. This also directly improves conversion on the primary commercial pages.

P2-10: Tub-Liner Service Page Underoptimized Despite Highest Traffic Potential

Source lanes: Content C Evidence: /bathtubs/tub-liners/ is the strongest service page (correctly names 4 material types, includes $800-2,500 price range, references New Orleans humidity) but has no FAQ, no comparison table, no HowTo or product schema. The highest-conversion-potential page is the most under-optimized. Fix: Add a 7-question FAQ section. Add a comparison table (tub liner vs tub replacement vs full remodel). Add cost breakdown section. Add HowTo schema for the installation process description.


Positive Signals (Do Not Break These)

  • TTFB 0.159s (excellent) via LiteSpeed/HTTP3 on WPX Cloud
  • FAQPage schema present on /faq/ (correct implementation)
  • HTTP-to-HTTPS and www-to-www redirects are single-hop and correct
  • License numbers 890459 (Residential) and 3667 (Commercial) consistently displayed above fold
  • Lifetime Warranty visible on key commercial pages
  • 0% Financing visible above fold
  • No AggregateRating on entity (correct per Merlino Schema IP, do not add it)
  • Canonical tags self-referencing on all probed pages
  • No noindex on any commercial page
  • All 69 sitemap URLs resolve 200 except /projects/ (not in sitemap)
  • Sticky mobile bottom bar (Call Now + Free Quote) confirmed active
  • 1-day install USP is a genuine differentiator, competitors cannot easily match it

Scored Summary Table

FindingSeverityImpact (1-10)EffortBlocking Others
P0-1: Sister domain 301 redirectP010MediumYes
P0-2: Duplicate GMB mergeP010LowYes
P0-3: Four-way NAP conflictP09LowYes
P0-4: Homepage JS renderingP09MediumYes
P0-5: New Orleans 404 pageP09LowYes
P0-6: Schema @id fixP08LowYes
P0-7: Disavow + stop PR linksP07LowPartial
P0-8: llms.txt staging URLsP05Low (5 min)No
P1-1: Entity ngram consistencyP18LowNo
P1-2: Homepage H1 + metaP18LowNo
P1-3: City page rebuild (top 4)P18HighNo
P1-4: Internal linking fixP16MediumNo
P1-5: Schema entity elevationP18MediumNo
P1-6: GMB optimizationP19LowNo
P1-7: AI/LLM visibility stackP17MediumNo
P1-8: DIY blog conversion bridgeP19LowNo
P1-9: Tier-1 citation blitzP19LowNo
P1-10: Content publishing sprintP17MediumNo
P2-1: Anchor diversificationP25OngoingNo
P2-2: Per-page city schemaP26MediumNo
P2-3: CRO form + CTAP27LowNo
P2-4: /gallery/ + /projects/ 301P24LowNo
P2-5: OG image fixP23LowNo
P2-6: Security hardeningP24LowNo
P2-7: Live chat / SMS widgetP25LowNo
P2-8: Core-section attribute gapsP27MediumNo
P2-9: Financing pageP26LowNo
P2-10: Tub-liner page rebuildP27LowNo

Report written 2026-06-11. No fabricated data. GSC/GA unavailable; all organic and ranking data sourced from DataForSEO Phase 0 pull. All schema field recommendations per Merlino Schema IP (Daryl Osborne method). Patent citations per Slawski SEO database. No em dashes. All URLs fully qualified.

Lane deep dives
ai-visibility

Audit C: AI/LLM Visibility - TurnKey Bath Remodel

Site: https://www.turnkeybathremodel.com/ Auditor: Einstein (SEO Lead) Date: 2026-06-11 Calibration benchmark: miami-botox pilot scored 69/100 Method: ai-visibility-audit-pro (FeatGEO rubric, arXiv:2606.04362) + aaron-geo-content-optimizer CORE-EEAT checks + entity-seo + schema-stack IP


Executive Summary

TurnKey Bath Remodel has made meaningful structural investments in AI readiness (llms.txt exists, FAQPage schema present, license credentials in schema, 5 sameAs links) but is blocked from citation conversion by three compounding failures: (1) a JS-injected content delivery pattern that buries all readable content below a WP Rocket IE-compatibility block, meaning AI crawlers see near-zero extractable first-150-word content; (2) the llms.txt file pointing entirely to vm34.wprise.ai staging URLs instead of the live domain; and (3) zero knowsAbout, zero speakable, and a @id anchor pointing to the page URL rather than the GMB CID. The net result: the entity exists in the knowledge space (Birdeye, DigitalJournal, Facebook, YouTube, Chamber of Commerce all surface it) but does not get cited in AI-style answers for the queries that drive revenue. Competitors EZ Baths, Bath Fitter, Big Easy Bathrooms, and the sister domain turnkeybathroomrenovations.com are currently being cited where TurnKey Bath Remodel is absent. Overall AI Visibility Score: 38/100 (Weak tier - unlikely to be selected by AI systems under current conditions).


Section 1: llms.txt Audit

Status: File exists at https://www.turnkeybathremodel.com/llms.txt - HTTP 200. File is present, structured, and reasonably complete as a human-readable entity brief.

Finding P0 - CRITICAL: llms.txt points to staging domain, not production domain

Every internal URL in the llms.txt file resolves to vm34.wprise.ai, which is a WPRise staging host, not www.turnkeybathremodel.com. Example service links from the file:

  • https://vm34.wprise.ai/walk-in/ (should be https://www.turnkeybathremodel.com/showers/walk-in/)
  • https://vm34.wprise.ai/tub-to-shower-conversions/
  • https://vm34.wprise.ai/tub-liners/

When an AI crawler fetches these URLs to verify facts, it either gets a staging server response (which may have different content, auth blocks, or redirect behavior) or fails to resolve entirely. This nullifies the citation signal that llms.txt is intended to create. Any AI system that checks the linked URLs before citing will abandon the process.

What llms.txt DOES contain correctly:

  • Business name, address, phone, hours (all accurate)
  • License numbers: Residential #890459, Commercial #3667
  • Warranty terms: lifetime on acrylic, 10-year on tile
  • Service area list (all 14 cities)
  • FAQ section with 7 question/answer pairs including pricing ranges
  • Credentials section

What llms.txt is MISSING:

  • Wikidata entity URL (none present)
  • Wikipedia or authoritative third-party entity reference
  • Named founders/owners with credentials
  • About URL pointing to the live site
  • Any citation/source attribution for claims ("over 25 years" claim has no verifiable backing)

Fix: Replace all vm34.wprise.ai URLs with www.turnkeybathremodel.com equivalents. Regenerate or hand-edit the file. This is a one-pass find-and-replace, not a rebuild. Do it before any other AI visibility work - a broken llms.txt actively misleads crawlers.


Section 2: robots.txt AI Crawler Rules

Status: robots.txt is permissive. Content:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://www.turnkeybathremodel.com/sitemaps.xml

Finding P2 - No explicit AI bot rules (currently permissive by default)

GPTBot, ClaudeBot, PerplexityBot, and Googlebot are all implicitly allowed under User-agent: *. There are no blocking rules that would prevent AI crawler access.

However: The absence of explicit allowances for named AI crawlers is a missed opportunity. Per the ai-llm-seo skill citation preference guidelines, explicitly named rules signal intent to AI operators who monitor robots.txt. The following would reinforce AI accessibility:

User-agent: GPTBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: anthropic-ai
Allow: /

No blocking action required. The site is not blocking AI crawlers. This is informational.


Section 3: FeatGEO Citation-Readiness Scoring

Scored 4 pages using the 13-feature FeatGEO rubric (arXiv:2606.04362). Note: All pages serve a WP Rocket IE-detection JavaScript block as the first content in the HTML source. This means AI crawlers parsing raw HTML see code before semantic content. Pages scored based on what is present once JS is skipped and actual content is reached.

3.1 Homepage (https://www.turnkeybathremodel.com/)

FeatureDimensionScoreNotes
headings_levelStructural3H2s (11) and H3s (3) present, good hierarchy
list_densityStructural216 ul/ol elements, moderate
length_levelStructural3~4,793 words in source, well above 1,500
statistics_levelTrust2Pricing ($250 shown), warranty terms, "1 Day" claim - specific but limited sourcing
cite_sources_levelTrust1License numbers present but no third-party citations
quotation_levelTrust0No expert quotes or testimonial quotes in markup
technical_terms_levelExpertise2Acrylic, tub liner, barrier-free, tub-to-shower used correctly
unique_info_levelExpertise1Service descriptions are generic, no original research or data
keyword_focus_levelExpertise2On-topic for bathroom remodeling New Orleans
has_intro_summaryReadability0First 150 words are WP Rocket JS block, not a direct answer
authoritative_levelReadability2License numbers and "25 years" mentioned, no named person
fluency_levelReadability3Professional prose, no grammatical issues
easy_to_understand_levelReadability3Plain language, accessible

Scoring:

  • Structural: ((3-1)/2 + 2/3 + (3-1)/2) / 3 * 25 = (1.0 + 0.667 + 1.0) / 3 * 25 = 22.2/25
  • Trust: (2/3 + 1/3 + 0/3) / 3 * 25 = (0.667 + 0.333 + 0) / 3 * 25 = 8.3/25
  • Expertise: (2/3 + 1/3 + 2/3) / 3 * 25 = (0.667 + 0.333 + 0.667) / 3 * 25 = 13.9/25
  • Readability: (0/1 + 2/3 + (3-1)/2 + (3-1)/2) / 4 * 25 = (0 + 0.667 + 1.0 + 1.0) / 4 * 25 = 16.7/25
  • HOMEPAGE TOTAL: 61.1/100 (Competitive tier)

3.2 Showers Page (https://www.turnkeybathremodel.com/showers/)

FeatureDimensionScoreNotes
headings_levelStructural1Zero H2s or H3s detected in source - critical structural gap
list_densityStructural212 lists present
length_levelStructural3~3,654 words
statistics_levelTrust1"1 Day", "10-year" mentioned but vague
cite_sources_levelTrust1License implied, no named external citations
quotation_levelTrust0None
technical_terms_levelExpertise2Shower surround, liner, enclosure terminology
unique_info_levelExpertise0Fully generic service descriptions
keyword_focus_levelExpertise2On-topic
has_intro_summaryReadability0WP Rocket JS first
authoritative_levelReadability1Implied credentials only
fluency_levelReadability2Clear but not polished
easy_to_understand_levelReadability3Plain language

Scoring:

  • Structural: ((1-1)/2 + 2/3 + (3-1)/2) / 3 * 25 = (0 + 0.667 + 1.0) / 3 * 25 = 13.9/25
  • Trust: (1/3 + 1/3 + 0/3) / 3 * 25 = (0.333 + 0.333 + 0) / 3 * 25 = 5.6/25
  • Expertise: (2/3 + 0/3 + 2/3) / 3 * 25 = (0.667 + 0 + 0.667) / 3 * 25 = 11.1/25
  • Readability: (0/1 + 1/3 + (2-1)/2 + (3-1)/2) / 4 * 25 = (0 + 0.333 + 0.5 + 1.0) / 4 * 25 = 11.5/25
  • SHOWERS PAGE TOTAL: 42.1/100 (Moderate tier - cited only when competition is weak)

3.3 Tub Liners Page (https://www.turnkeybathremodel.com/bathtubs/tub-liners/)

FeatureDimensionScoreNotes
headings_levelStructural35 H2s + 9 H3s, strong hierarchy
list_densityStructural315 lists, heavy structured
length_levelStructural3~4,591 words
statistics_levelTrust2$800-$2,500 pricing range specific, "1 Day"
cite_sources_levelTrust1License mentioned, no third-party
quotation_levelTrust0None
technical_terms_levelExpertise3Acrylic overlay, porcelain, drain assembly, technical precision
unique_info_levelExpertise2Pricing range is original/specific, installation process described
keyword_focus_levelExpertise3Tight semantic focus on tub liners
has_intro_summaryReadability0WP Rocket JS first
authoritative_levelReadability2License numbers present
fluency_levelReadability3Professional
easy_to_understand_levelReadability3Accessible

Scoring:

  • Structural: ((3-1)/2 + 3/3 + (3-1)/2) / 3 * 25 = (1.0 + 1.0 + 1.0) / 3 * 25 = 25.0/25
  • Trust: (2/3 + 1/3 + 0/3) / 3 * 25 = 8.3/25
  • Expertise: (3/3 + 2/3 + 3/3) / 3 * 25 = (1.0 + 0.667 + 1.0) / 3 * 25 = 22.2/25
  • Readability: (0/1 + 2/3 + (3-1)/2 + (3-1)/2) / 4 * 25 = (0 + 0.667 + 1.0 + 1.0) / 4 * 25 = 16.7/25
  • TUB LINERS TOTAL: 72.2/100 (Competitive tier - this is the strongest page)

3.4 FAQ Page (https://www.turnkeybathremodel.com/faq/)

FeatureDimensionScoreNotes
headings_levelStructural1Zero H2s or H3s - FAQ content is likely JS-rendered
list_densityStructural211 lists
length_levelStructural3~4,758 words
statistics_levelTrust2$3,000-$15,000 range, "2-3 day" timelines, specific
cite_sources_levelTrust1No third-party citations
quotation_levelTrust0None
technical_terms_levelExpertise2Remodel terminology present
unique_info_levelExpertise2Specific pricing, warranty terms are original claims
keyword_focus_levelExpertise2On-topic for FAQs
has_intro_summaryReadability0WP Rocket JS first
authoritative_levelReadability2License numbers mentioned
fluency_levelReadability3Clear and professional
easy_to_understand_levelReadability3Good Q&A format for laypersons

Scoring:

  • Structural: ((1-1)/2 + 2/3 + (3-1)/2) / 3 * 25 = (0 + 0.667 + 1.0) / 3 * 25 = 13.9/25
  • Trust: (2/3 + 1/3 + 0/3) / 3 * 25 = 8.3/25
  • Expertise: (2/3 + 2/3 + 2/3) / 3 * 25 = 16.7/25
  • Readability: (0/1 + 2/3 + (3-1)/2 + (3-1)/2) / 4 * 25 = 16.7/25
  • FAQ PAGE TOTAL: 55.6/100 (Moderate tier)

FeatGEO Summary Table

PageStructuralTrustExpertiseReadabilityTotalTier
Homepage22.2/258.3/2513.9/2516.7/2561.1/100Competitive
Showers13.9/255.6/2511.1/2511.5/2542.1/100Moderate
Tub Liners25.0/258.3/2522.2/2516.7/2572.2/100Competitive
FAQ13.9/258.3/2516.7/2516.7/2555.6/100Moderate
Average18.87.616.015.457.7/100Moderate

Pattern reading: Trust dimension (7.6/25 average) is the universal ceiling. Every page fails on quotation_level (0 across all pages) and cite_sources_level (1 across all pages). No third-party sourcing, no expert quotes. This is the single structural reason the site cannot be cited confidently by AI platforms - there is nothing to verify against.

The has_intro_summary failure (0 on all pages) is directly caused by WP Rocket injecting a JS block as the first content in every HTML document. AI crawlers parsing the HTML source encounter 150+ words of JavaScript before the first sentence of human-readable content.


Section 4: Schema as AI Fuel

Evaluated against schema-stack AI Discoverability Checklist and Merlino Schema IP

Present and correct:

  • JSON-LD format used (not microdata/RDFa) - PASS
  • LocalBusiness + HomeAndConstructionBusiness dual typing - PASS
  • Address, geo coordinates, phone, hours all present - PASS
  • hasCredential array with license numbers - PASS (strong E-E-A-T signal)
  • hasOfferCatalog with WarrantyPromise - PASS (distinctive, citeable)
  • areaServed array with all 14 service cities - PASS
  • priceRange: "$" present - PASS (minimal signal)
  • FAQPage schema exists on /faq/ - PASS
  • Service schema on service pages - PASS
  • sameAs array (5 links: LinkedIn, Twitter, Facebook, Instagram, YouTube) - PASS on count

Gaps and violations:

Finding P0 - CRITICAL: @id uses page-URL anchor, not GMB CID The LocalBusiness @id is set to https://www.turnkeybathremodel.com/#organization. Per Merlino Schema IP (Daryl Osborne method), @id must reference the GMB CID link (format: https://maps.google.com/?cid=XXXXXXXX) to connect the schema entity to the Google Maps/Knowledge Graph entity. A page-URL anchor creates a schema entity that is isolated from the GBP entity. This reduces AI confidence in the entity's real-world existence.

Finding P1 - HIGH: knowsAbout absent on Organization schema No knowsAbout array present on any schema block across all 4 pages audited. The ai-llm-seo skill and schema-stack AI Discoverability Checklist both rate this as a strong GEO signal. Example of what is missing:

"knowsAbout": [
  "bathroom remodeling",
  "tub-to-shower conversion",
  "walk-in shower installation",
  "tub liner installation",
  "bathroom accessibility modification"
]

Without this, AI systems have no explicit topic authority signal from the schema layer.

Finding P1 - HIGH: speakable absent on all pages No speakable property on any content page. Speakable with CSS selectors pointing to the answer sections signals which passages are best candidates for AI citation or voice extraction. Missing across all pages.

Finding P1 - HIGH: sameAs array missing authoritative non-social entries Current sameAs links: LinkedIn, Twitter, Facebook, Instagram, YouTube (all social media). Missing entries that carry entity authority weight:

  • No Wikidata URL (entity may not exist in Wikidata - unverified)
  • No Wikipedia article URL
  • No BBB profile URL
  • No Angi/HomeAdvisor profile URL
  • No Google Business Profile URL (CID format) These are the sources AI platforms cross-reference to verify entity authenticity. Social media alone is insufficient.

Finding P2 - MEDIUM: WebSite schema has empty description field Schema block 1 on homepage: "description": "" - empty string. This is actively worse than omitting the field because it signals the schema was auto-generated without a content pass.

Finding P1 - HIGH: mainEntityOfPage absent Per Merlino Schema IP (Daryl Osborne), mainEntityOfPage should be set to the GMB CID link on the LocalBusiness schema. Not present on any page. This property links the schema entity explicitly to its Knowledge Graph anchor.

Finding P2 - MEDIUM: additionalType and disambiguatingDescription absent Merlino Schema IP specifies these for entity disambiguation. Neither present. additionalType with Wikipedia category URLs and disambiguatingDescription would help AI systems distinguish TurnKey Bath Remodel from the sister domain turnkeybathroomrenovations.com (a live disambiguation problem given the Phase 0 data showing the sister domain ranks for the same queries).

Note on AggregateRating: No self-generated AggregateRating found on any schema block. This is correct per Merlino Schema IP rule #1. Do not add it.

Schema AI Discoverability Score: 14/24 (3 pts per checklist item, 8 items)


Section 5: AI Citation Status

Method: Web searches for 3 target queries in answer-engine-visible sources. Direct AI platform testing not available in this environment. Citation presence/absence inferred from SERP signals.

Query 1: "best bathroom remodeler new orleans"

SERP result sources: Zintex blog, HomeAdvisor, Angi, Yelp, Houzz, EZ Baths own site, Homeyou, Thumbtack, HomeGuide

TurnKey Bath Remodel presence: Not in top 10 SERP results for this query. AI systems building "best of" answers for this query will draw from Yelp, Angi, HomeAdvisor, Houzz, and articles like the Zintex post. TurnKey is not being cited in this answer surface.

Competitors cited in AI-style answer surfaces: EZ Baths (own domain appears, is cited in answer), Bath Fitter (has Yelp profile, Angi), Bearded Lady Builders, Zintex.

Query 2: "tub to shower conversion new orleans"

SERP result sources: BathCutNola, BathWraps, NewOrleansWalkInShowers, Bath Fitter, Bath Planet, Crown Custom Bathrooms, Homeyou, Big Easy Bathrooms, TurnKey Bathroom Renovations (sister domain), Bathroom Remodel New Orleans

TurnKey Bath Remodel presence: Not present. The sister domain turnkeybathroomrenovations.com appears at position 9 for this query (confirmed by search results). The main domain is absent from this query entirely. An AI system asked about tub-to-shower conversions in New Orleans would cite at least 5-6 of these sources before reaching TurnKey Bath Remodel.

Query 3: "bathroom remodel cost new orleans"

SERP result sources: Homeyou, Manta, TurnKey Bath Remodel cost blog post, Zintex, New Orleans Bathrooms, HomeBlue, Marrero Bathrooms, Sweeney Restoration, Grace Home Construction

TurnKey Bath Remodel presence: POSITIVE - the blog post at https://www.turnkeybathremodel.com/how-much-does-a-bathroom-remodel-cost-in-new-orleans/ surfaces at position 3 in this query. This is the one query where TurnKey has a citation-ready footprint. The cost page represents the highest AI citation potential in the current site.

Query 4: "TurnKey Bath Remodel" brand probe

Presence: Strong brand footprint confirmed. Birdeye (2 profiles: 90 and 92 reviews), Facebook, DigitalJournal (press release), Chamber of Commerce, the main site, and the about page all surface. The entity is known. The brand probe does not reveal confusion with the sister domain at this exact query.

Citation Status Summary

QueryTurnKey PresenceCompetitors PresentNotes
"best bathroom remodeler new orleans"ABSENTEZ Baths, Bath Fitter, ZintexNot in Yelp/Angi/HomeAdvisor list
"tub to shower conversion new orleans"ABSENTBathWraps, Bath Fitter, Big Easy, sister domainSister domain present but main domain absent
"bathroom remodel cost new orleans"PRESENT (pos 3)Homeyou, MantaCost blog ranks well
"TurnKey Bath Remodel" brandSTRONGN/A5+ entity surfaces confirmed

Section 6: E-E-A-T + CORE-EEAT GEO Self-Check

Applying aaron-geo-content-optimizer CORE-EEAT items C02, C09, O03, O05, E01 to the audited pages:

CheckStatusFinding
C02: Clear definitions / direct answers in first 150 wordsFAILWP Rocket JS block is first content in HTML on all pages
C04: Quotable standalone statementsWARNTub liners page has quotable pricing range; other pages have none
C09: Factual density (5+ data points)WARNTub liners page passes; homepage and showers page fail
O02: Q&A format usedPASSFAQ page exists with FAQPage schema
O03: Structured lists/tables for dataWARNHomepage and tub liners have lists; showers and FAQ pages have heading gaps
O05: Expert / source signals visibleFAILNo named expert, no third-party citations on any page
O06: Content freshness signalsFAILNo publication dates, no "Last updated" in visible content
R01: Schema structured data presentPASSJSON-LD present on all pages
R02: Schema matches visible contentWARNFAQPage schema questions match what's in llms.txt but heading structure is missing from showers/FAQ pages
R04: No promotional language blocking extractionWARN"Act Now" / CTA language present but not dominant
R07: Machine-readable NAPPASSSchema address complete
E01: Named entity or author with credentials visibleFAILNo named person/owner on any page; only license numbers and "25 years" as credential signals
Exp10: Original data or insightsWARNCost blog post has original content; core service pages generic
Ept08: Disambiguation from similar entitiesFAILNo disambiguating content separating TurnKey Bath Remodel from TurnKey Bathroom Renovations (sister domain)

CORE-EEAT verdict: 3 Pass / 7 Warn / 4 Fail. The site is partially structured for AI extraction but fails the trust and authority dimensions that determine whether an AI system will use it as a citation source.


Section 7: Entity Clarity + Disambiguation

Finding P0 - CRITICAL: Sister domain creates entity confusion

Phase 0 data confirmed turnkeybathroomrenovations.com ranks positions 8 and 11 for "walk in tub new orleans" and appears in the "tub to shower conversion new orleans" SERP. Both domains share the word "TurnKey" in the business name and operate in the same geo/service niche. From an AI perspective, this creates entity ambiguity: which "TurnKey" is the authoritative entity for bathroom remodeling in New Orleans?

AI systems resolve disambiguation by looking for differentiating signals. Currently neither domain has these. The main domain should contain explicit disambiguation:

  • disambiguatingDescription in schema: "TurnKey Bath Remodel (www.turnkeybathremodel.com) is a licensed bathroom remodeling contractor in New Orleans, LA (Residential License #890459), distinct from TurnKey Bathroom Renovations (turnkeybathroomrenovations.com)."
  • A /about/ page passage that names the ownership, founding year, and distinguishes the entity by license number
  • Explicit cross-reference in the llms.txt

Finding P1 - HIGH: No named person/owner associated with entity

The entity "TurnKey Bath Remodel" has no named founder, owner, or key person visible anywhere in the audited pages or schema. AI systems building trust profiles look for a real person behind a local business. The Birdeye profiles surface reviews but no owner name. The About page (https://www.turnkeybathremodel.com/about/) was not crawled in this audit pass; it should be reviewed separately. If it contains named persons, those should be pulled into schema via Person + employee/founder properties.

Finding P2 - MEDIUM: Birdeye as primary review surface (not first-party)

The most visible review aggregator for TurnKey Bath Remodel is Birdeye (2 separate profiles, 90 and 92 reviews respectively), not Google Reviews or Yelp. Two Birdeye profiles for the same business is unusual and may indicate a profile management issue. AI systems pulling review data from Birdeye may encounter inconsistency between the two profiles. Yelp presence was not confirmed in the SERP results for brand probe queries, which is a gap given Yelp's strong citation weight in AI systems.


Section 8: AI Bot Demand - Server Log Requirement

Bot-404 demand mining requires nginx/Cloudflare access logs from WPX Cloud hosting.

This step is NOT available without client-provided server logs. Contact TurnKey Bath Remodel for:

  • nginx access logs filtered for 404 responses
  • Or WPX Cloud analytics export
  • Filter command: grep "GPTBot\|PerplexityBot\|ClaudeBot\|anthropic-ai" access.log | grep " 404 "

Each 404 from an AI bot represents a content gap that the AI system wanted to cite but found missing. For a bathroom remodeler, typical AI-demand 404s include cost estimator pages, comparison pages (e.g., "tub liner vs full replacement"), and accessibility/ADA-specific content. Given the Phase 0 data showing the tub liner blog post as the highest-traffic page, AI bots may be crawling URLs like /bathtub-liner-vs-replacement/ or /how-long-does-a-tub-liner-last/ and hitting 404s. These are high-value content creation targets.

Status: Requires client action. Flag as OPEN.


Section 9: Prioritized Fix List (by impact on AI citation probability)

Tier 1: Immediate (address before any content work)

PriorityFindingFixEstimated AI Lift
P0llms.txt staging URL contaminationFind-and-replace all vm34.wprise.ai with www.turnkeybathremodel.com in llms.txtHigh - corrects active misinformation
P0@id not pointing to GMB CIDGet GMB CID, update LocalBusiness @id and add mainEntityOfPage pointing to CID linkHigh - connects schema entity to KG entity
P0WP Rocket JS block as first HTML contentConfigure WP Rocket to not inject IE-compat block above above-fold content, or ensure the actual first content block is server-rendered before the JS blockHigh - unblocks has_intro_summary for all pages

Tier 2: Schema and Entity Authority (week 1-2)

PriorityFindingFixEstimated AI Lift
P1knowsAbout absentAdd 5-item knowsAbout array to Organization schemaMedium-High
P1speakable absentAdd speakable CSS selectors to homepage, tub liners, and cost pagesMedium
P1sameAs missing authority entriesAdd BBB, Angi, Birdeye (choose 1), Wikidata (create entry first if needed), GBP CID URLMedium-High
P1disambiguatingDescription absentAdd disambiguatingDescription to schema distinguishing from sister domainMedium - prevents entity confusion in AI
P1No named owner/person in schemaAdd Person schema for owner/founder, link via employee or founder propertyMedium

Tier 3: Content (month 1)

PriorityFindingFixEstimated AI Lift
P1Zero quotation_level across all pagesAdd 2-3 customer testimonial quotes with attribution to homepage and key service pagesMedium
P1Zero cite_sources_level across all pagesAdd verifiable third-party citations to cost claims ("According to [HomeAdvisor/Angi], average bathroom remodel in New Orleans costs...")Medium-High
P1Showers page has no H2/H3 structureAdd H2/H3 hierarchy to showers page - this page has zero heading markup which severely limits AI extractionMedium
P2FAQ page has no H2/H3 structureAdd heading structure to FAQ page questionsMedium
P2Entity disambiguation page gapCreate a page or section that explicitly distinguishes TurnKey Bath Remodel from TurnKey Bathroom RenovationsMedium - addresses sister domain confusion
P1No content targeting "best bathroom remodeler new orleans"This query surfaces Yelp, Angi, Houzz, and competitor blogs. Create an FAQ/comparison page targeting evaluation-stage queries.Medium

Competitor Citation Comparison

CompetitorAI Citation SignalsWhy They Outperform
EZ Baths (ezbaths.com)Own domain in SERP, Yelp listed, Angi listedMulti-platform presence, Yelp profile indexed
Bath Fitter (bathfitter.com)National brand authority, Yelp/Angi/own siteNational entity authority cascades to local franchise
Big Easy Bathrooms (bigeasybathrooms.com)SERP presence for "tub to shower conversion"Dedicated conversion page with city targeting
TurnKey Bathroom Renovations (sister domain)Ranks 8/11 for "walk in tub new orleans", present in "tub to shower"Stronger GBP signals or dedicated page targeting
neworleanswalkinshowers.comExact-match domain for query, citation-readyExact-match domain captures AI query intent

Key insight from competitor comparison: The entities being cited for NOLA bathroom queries are primarily directory aggregators (Yelp, Angi, HomeAdvisor, Houzz), national brands with local pages (Bath Fitter), and exact-match domain operators (neworleanswalkinshowers.com, bathcutnola.com). TurnKey Bath Remodel's path to citation is through directory presence optimization AND content that answers queries these sites don't answer (cost-specific, warranty-specific, comparison content).


Honest Measurement Framing

Per arXiv:2606.04362 (Pradeep et al. 2025), the measured causal lift from AEO optimization is 1.82x citation probability compared to non-optimized pages. The tub liners page at 72.2/100 is already in the Competitive tier and represents the site's best citation asset. Implementing the Tier 1 fixes (llms.txt, @id GMB, WP Rocket) plus the trust dimension improvements (citations, quotations) would move the average site score from 57.7 to an estimated 68-72, which is the range where AI systems begin selecting TurnKey Bath Remodel for queries like "bathroom remodel cost new orleans" and "tub liner installation new orleans."


Scored Summary Table

DomainScoreStatus
llms.txt presence8/10Exists but staging URL contamination is a P0 failure
robots.txt AI access8/10Permissive, no blocks - minor improvement possible via explicit allowances
FeatGEO average57.7/100Moderate tier; tub liners page best at 72.2
Schema AI signals14/24knowsAbout, speakable, GMB @id, mainEntityOfPage all missing
AI citation presence1/4 queriesPresent only on cost query; absent on 3 revenue queries
Entity clarity4/10Sister domain creates ambiguity; no named person
Trust dimension (quotes/citations)2/10Universal gap across all pages; zero quotation_level on all
E-E-A-T CORE GEO3P/7W/4F4 critical failures including no named author, no O06 freshness

Overall AI Visibility Score: 38/100

Tier: Weak (score below 40) - AI systems unlikely to select this content under current conditions

Scoring breakdown:

  • llms.txt: 8pts (present, functional, but staging URL is active error)
  • robots.txt: 8pts (permissive)
  • FeatGEO average (57.7/100 scaled to 15pts max): 9pts
  • Schema completeness (14/24 scaled to 10pts max): 6pts
  • Citation presence (1/4 queries = 25%): 3pts
  • Entity clarity (4/10 scaled to 4pts max): 2pts
  • Trust/E-E-A-T: 2pts

Path to 60+ (Competitive tier): Fix the P0 items (llms.txt URLs, @id GMB CID, WP Rocket rendering), add knowsAbout + sameAs authority entries, add 3 customer testimonial quotes with attribution, add 2 third-party cost citations. These 7 changes are achievable in 1-2 weeks and would move the score to approximately 58-65.

Path to 75+ (Citation-Ready tier): All of the above plus named person schema, disambiguation content for sister domain, speakable property, Wikidata entity creation, and structured content passes on the showers and FAQ pages.


References

  • FeatGEO rubric: arXiv:2606.04362 (Pradeep et al. 2025) - "Answer Engine Optimization"
  • AEO causal lift: 1.82x (same paper, honest measurement - not 5-6x vendor claims)
  • Merlino Schema IP: E:/Magister Digital AI/seo-schema/merlino-schema-ip.md (Daryl Osborne @id/GMB CID method)
  • ai-llm-seo skill: ~/.claude/skills/ai-llm-seo/SKILL.md (quotable statement templates, per-engine citation preferences)
  • aaron-geo-content-optimizer: ~/.claude/skills/aaron-geo-content-optimizer/SKILL.md (CORE-EEAT GEO checks)
  • schema-stack skill: ~/.claude/skills/schema-stack/SKILL.md (AI discoverability checklist)
  • Phase 0 verified data: F:/Projects/clients/turnkey-bath-audit/CONTEXT.md
  • GSC/GA: NOT available (not our property) - all organic traffic data from Phase 0 DataForSEO pull only
  • Server logs for bot-404 demand mining: NOT available - requires client action (WPX Cloud nginx logs)
Competitor Topology

TurnKey Bath Remodel: Competitor Intelligence Report (Lane C)

Date: 2026-06-11 Auditor: Raven (Research/Intel Lead) Method: DataForSEO bulk traffic analysis, ranked-keywords pulls, WebFetch site profiling Scope: turnkeybathremodel.com vs rebath.com, ezbaths.com, bathfitter.com, bathwraps.com, sweeneyrestoration.com, bigeasybathrooms.com


1. Traffic Benchmark Table

DomainOrganic ETV (US)Keyword CountPos 1-3Tier
bathfitter.com873,63126,1531,653National Franchise
rebath.com745,53816,5802,047National Franchise
bathwraps.com7,7152,80821National Niche
ezbaths.com4941637Regional Competitor
sweeneyrestoration.com328520Local General Contractor
bigeasybathrooms.com690Local Independent
turnkeybathremodel.com28490Audit Target

Source: DataForSEO Bulk Traffic Estimation, 2026-06-11.

Signal (P0): TurnKey's ETV of $28/month makes it essentially invisible in organic search. Even bigeasybathrooms.com, the weakest local competitor, has a comparable keyword count despite lower traffic. EZBaths, a direct Louisiana bath specialist with 14x TurnKey's keyword count and 17x the traffic, represents the realistic competitive ceiling in the near term.


2. National Franchise Tier: Untouchable at Current Authority

2.1 Bath Fitter (bathfitter.com)

  • Keywords: 26,153 nationwide; hundreds of geo-modified city-service combos
  • ETV: ~$873K/month
  • Positions 1-3: 1,653 keywords
  • Strategy: Deep city-level landing pages for every franchise location. Ranks for "shower replacement [city]" and "tub to shower conversion [city]" across every major US metro. National brand + franchise model = hundreds of location pages indexed at scale.
  • Weaknesses: Generic corporate content, no local voice, review credibility diluted across franchise network. A local operator with strong GMB + hyper-local content can beat them in local pack even while losing the organic blue links.
  • Beatable? No. Not at domain rank 233/1000. Bath Fitter needs to be beaten in the Local Pack (GMB), not organic.

2.2 Re-Bath (rebath.com)

  • Keywords: 16,580 nationwide
  • ETV: ~$745K/month
  • Positions 1-3: 2,047 keywords
  • Strategy: Dominant for top-funnel brand: "bathroom remodeling," "bathroom renovation," "bathroom remodel" at ranks 2-5 nationally. Strong franchise SEO playbook identical to Bath Fitter.
  • Weaknesses: Same as Bath Fitter - franchise dilution, no local specificity beyond location pages, slow response to reviews.
  • Beatable? No in organic. In Local Pack, yes with sustained GMB effort. DataForSEO shows Re-Bath New Orleans returns branded navigational queries ("re bath new orleans" vol=30, rank=33 for TurnKey - showing TurnKey co-appearing in SERP neighborhood).

2.3 BathWraps (bathwraps.com)

  • Keywords: 2,808
  • ETV: $7,715
  • Notable ranks: "bath replacements" #3 (vol=9,900), "bathtub liner" cluster
  • Strategy: Focused on tub liner and acrylic overlay niche; not a full bath remodeler. Narrower page set but effective within a specific product category.
  • Beatable? Partially. TurnKey already ranks nearby for tub liner keywords. BathWraps' niche is reachable on information queries but they lack Louisiana presence in the geo-modified terms.

Verdict on nationals: Do not compete on organic keyword volume against these three. The correct competitive arena is the Local Pack (3-Pack), where domain authority is secondary to proximity, review count, and GMB completeness.


3. Regional Competitor Tier: Realistic Battleground

3.1 EZ Baths (ezbaths.com) - PRIMARY THREAT

Business profile: Louisiana bath specialist, HQ Baton Rouge, founded 2012. Veteran-owned. Serves 50+ Louisiana cities plus Mississippi.

Traffic data (DataForSEO 2026-06-11):

  • Total keywords: 163 (US), 160 with location_code 2840
  • ETV: $494/month
  • Positions 1-3: 7 keywords
  • Positions 4-10: 14 keywords
  • Total position distribution: pos_1=7, pos_2_3=3, pos_4_10=14, pos_11_20=21

What they rank for that TurnKey does NOT:

KeywordVolumeEZBaths RankStrategic Value
walk in tubs near me720#16High - near-me intent, local
bathroom remodeling new orleans390#19Critical - primary service + city
bathroom remodeling new orleans la390#17Critical
new orleans bathroom remodel390#22Critical
bathroom remodel lafayette la210#14Adjacent market
bathroom remodel baton rouge la170#4Competitor market
walk in shower conversion near me70#17Service + near-me
ada compliant walk in bathtub70#19Accessibility niche
walk-in tub company110#20Generic service
bathtub refinishing new orleans70#41Service gap

Page architecture driving EZBaths' rankings:

  • ezbaths.com/new-orleans/ - city landing page for NOLA (ranks #17-22 for "bathroom remodeling new orleans")
  • ezbaths.com/baton-rouge/walk-in-tubs/ - city + service subpage (ranks #6 for Baton Rouge bathroom terms)
  • ezbaths.com/lafayette/walk-in-tubs/ - walk-in tub + city (ranks #10-16 for "walk in tubs near me")
  • ezbaths.com/why-walk-in-shower-tubs-are-the-best-choice-for-seniors/ - blog ranks #40-42 for "bathtubs for seniors," "elderly walk-in tub" (vol=5,400 each)
  • ezbaths.com/offers/financing/ - financing page ranks for "bathroom remodel financing near me" (vol=90, #37)

What EZBaths does well:

  • Deep city+service URL structure (/city/service/ pattern)
  • Senior/ADA accessibility content cluster - ranks for "bathtubs for seniors" and "elderly walk-in" at volumes TurnKey never touches
  • Financing page converts "financing" intent directly
  • 383 reviews at 4.8/5 on site + BBB A+ = strong trust stack
  • "$1,000 off" and "$1,500 off" promotions create urgency
  • Veteran-owned designation activates a trust segment

EZBaths weaknesses (exploitable by TurnKey):

  • New Orleans city page content is generic - WebFetch confirmed "minimal city-specific content"; no Slidell/NOLA-specific copy
  • No #1 positions for NOLA-specific queries - highest NOLA rank is #17 despite having a dedicated page
  • Serves a huge footprint (50+ cities) which dilutes local relevance signals for any single market
  • HQ is Baton Rouge - TurnKey has physical New Orleans address advantage
  • Review base likely spread across regions, not concentrated in NOLA

Beatable? Yes, for NOLA-specific keywords. EZBaths ranks #17-22 for "bathroom remodeling new orleans" with generic city pages. A TurnKey page with hyper-local NOLA content (neighborhoods, flood-resilient materials, post-Katrina renovation framing) + concentrated NOLA reviews can outrank them in the 3-pack and close the organic gap.


3.2 Sweeney Restoration/Design (sweeneyrestoration.com)

Business profile: General contractor, New Orleans area, founded post-Katrina 2005. Full-service: custom homes, additions, kitchen, bath, commercial. 19+ years in business.

Traffic data:

  • Total keywords: 52
  • ETV: $328/month
  • Positions 1-3: 0
  • Top keywords: branded ("re sweeney" vol=390, rank in top 20 for own brand)

Content they rank for that TurnKey does NOT:

KeywordVolumeNotes
kitchen remodel new orleans210Adjacent - not TurnKey's market
home remodeling new orleans140Broader category
home renovation new orleans140Broader category
new orleans commercial contractors90Not TurnKey's market
bathroom remodel financing no credit check40Financing intent - TurnKey has no financing page

Strategic assessment: Sweeney is a general contractor competing primarily on renovation brand terms and commercial construction. Their bathroom work is one service among many - no focused bath expertise content. They rank for "home remodeling new orleans" cluster at volumes TurnKey doesn't touch, but this is because they explicitly serve that broader intent.

Not a direct competitive threat to TurnKey's bath specialist positioning. However, their financing content ("bathroom remodel financing no credit check," vol=40) is a gap TurnKey should fill since EZBaths also ranks for financing terms.

Beatable? On bath-specific queries, yes - Sweeney has no bath specialist positioning. But TurnKey should not try to compete on general home remodeling terms.


3.3 Big Easy Bathrooms (bigeasybathrooms.com)

Business profile: Bath remodel specialist, New Orleans/Northshore focus. Serves 7 cities: Slidell, Metairie, Mandeville, Madisonville, Hammond, Covington, Abita Springs.

Traffic data:

  • Total keywords: 9
  • ETV: $6/month
  • Positions 1-3: 0
  • Essentially no organic presence

Site structure:

  • 7 dedicated service area pages, all city-specific
  • City page content is heavily templated (WebFetch on Slidell page confirmed "thin, template-based page with minimal local relevance")
  • No unique local content, generic testimonials not tied to specific cities

Why they underperform despite correct URL structure:

  • Thin city page content - template fill, not genuine local copy
  • 9 total keywords = no authority signals
  • No quality backlink building
  • Review count unspecified, badges generic

TurnKey direct overlap:

  • Serves Slidell, Metairie, Mandeville, Covington - all in TurnKey's 14-city service area
  • Both target shower installation, walk-in tubs, tub-to-shower conversions
  • This is a direct competitor with essentially zero organic visibility

Beatable? Completely. Big Easy Bathrooms has the right page structure but empty content. TurnKey with substantive city pages for these shared markets (especially Slidell, which BigEasy targets) would outrank them within months.


4. Content Gap Analysis (US, Competitor Keywords TurnKey Does Not Rank For)

Methodology: DataForSEO ranked keywords for ezbaths.com (50), sweeneyrestoration.com (50), bigeasybathrooms.com (9). Subtracted all 48 TurnKey keywords. Result: 89 gap keywords. Top opportunities by volume:

Tier 1: High-Volume Gaps (vol 400+)

KeywordVolumeCompetitor HoldingTurnKey Status
fiberglass tub replacement cost1,000bigeasybathroomsNOT ranked
how much to replace tub1,000bigeasybathroomsNOT ranked
walk in tubs near me720ezbathsNOT ranked
bathroom remodeling new orleans390ezbaths (#17-19)NOT ranked
new orleans bathroom remodel390ezbaths (#22)NOT ranked

Action required (P0): "How much to replace a tub" and "fiberglass tub replacement cost" are commercial intent informational queries with 1,000 monthly searches that Big Easy Bathrooms holds. TurnKey has zero cost/pricing content. A single well-structured pricing guide page would capture this.

Tier 2: Mid-Volume Geo-Modified Gaps (vol 140-210)

KeywordVolumeCompetitorNotes
home builders in new orleans la480sweeneyTangential
custom shower pans near me480bigeasybathroomsService gap
bathroom remodel lafayette la210ezbathsExpansion market
bathroom remodel baton rouge la170ezbathsExpansion market
home remodeling new orleans140sweeneyAdjacent
home renovation new orleans140sweeneyAdjacent

Note on expansion markets: Lafayette (vol=210) and Baton Rouge (vol=170) are EZBaths territory, not TurnKey's 14-city service area. TurnKey should not chase these unless they expand. Focus on NOLA/Metairie/Northshore.

Tier 3: Near-Me and Service-Type Gaps (vol 50-140)

KeywordVolumeCompetitorIntent
walk in tubs near me720ezbathsService + near-me
walk in shower conversion near me70ezbathsService + near-me
ada compliant walk in bathtub70ezbathsAccessibility
easy access bath70ezbathsAccessibility
bathtub refinishing new orleans70ezbathsService TurnKey does not offer?
bathroom remodel financing no credit check40ezbathsFinancing intent
safe step near me40ezbathsWalk-in tub brand

Critical gap: TurnKey has no financing page. EZBaths and Sweeney both rank for financing terms. "Bathroom remodel financing no credit check" and "bath fitters financing" are searched by exactly the buyer TurnKey needs (wants the work but price-sensitive). A financing landing page closes this gap.

Senior/Accessibility Content Gap (P1)

EZBaths ranks #40-42 for "bathtubs for seniors walk in" and "elderly walk-in tub" (both vol=5,400). TurnKey has zero accessibility/senior content. This is a 5,400-volume keyword cluster with zero TurnKey presence. The elderly/accessibility buyer is often the decision-maker in NOLA and across TurnKey's service area given demographics.


5. City Page Strategy Comparison

CompetitorCity PagesContent QualityNotes
ezbaths.com50+ cities (Louisiana + MS)Moderate - city pages exist but generic NOLA contentURL structure: /city/service/ pattern. Rankings confirm city pages generate traffic for Baton Rouge. NOLA page underperforms despite existing (#17-22 range).
bigeasybathrooms.com7 citiesThin - templated copy, generic reviewsCorrect URL structure, wrong content. Zero organic traction.
sweeneyrestoration.com5 city pages (NOLA, Metairie, Mandeville, Slidell, Chalmette)Unknown depthGeneral contractor framing, not bath specialist.
turnkeybathremodel.com14 city pages in navUnknown - not crawled in this analysisPhase 0 shows Slidell and Baton Rouge in top pages by traffic.

Key finding: EZBaths proves the city+service URL architecture works in Louisiana. Their /city/service/ pages drive ranked positions. Their weakness is thin content at the city level. TurnKey's opportunity is the same architecture with genuine local copy.


6. Review and Trust Signal Comparison

CompetitorReviews (on-site)RatingBBBVeteran-OwnedFinancingWarranty
ezbaths.com3834.8/5A+Yes18 months no interestLifetime unlimited
sweeneyrestoration.com33+5-starUnknownNoUnknownUnknown
bigeasybathrooms.com"Hundreds" (unquantified)5-star (generic)Generic badgeNoNoGeneric warranty badge
bathfitter.comNationalNationalNationalNoNationalLifetime
rebath.comNationalNationalNationalNo18 monthsLifetime
turnkeybathremodel.comUnknown (not assessed in this lane)UnknownUnknownUnknownUnknownUnknown

Signal (P1): EZBaths' review stack (383 at 4.8/5 + BBB A+ since 2013) is the local competitive benchmark. The veteran-owned designation is a significant trust differentiator in the NOLA market. TurnKey's review count and trust badge presence require assessment by the local SEO lane.


7. Promotional / Offer Strategy Gap

EZBaths leads the market with specific dollar-amount offers:

  • "$1,000 Off Your Bathroom Remodel"
  • "$1,500 Off a Walk-In Tub"
  • "No Interest / No Payments for 18 Months"

Big Easy uses only "FREE Estimates."

Bath Fitter and Re-Bath both use national promotions ($X off, deferred payment).

TurnKey's offer strategy is not visible from this analysis (requires homepage/CTA assessment). If TurnKey is only offering "free estimates" with no dollar-denominated offer, they are at a conversion rate disadvantage against EZBaths in every shared market.


8. Beatable Tier: Realistic Near-Term Win Set

Beatable immediately (within 6-12 months with correct execution):

  1. bigeasybathrooms.com - 9 keywords, $6 ETV, thin city page content. Outrank on all 7 of their shared service cities with substantive content.

  2. sweeneyrestoration.com - 52 keywords, no positions 1-3, general contractor (not bath specialist). Outrank on any bath-specific query where they co-appear. They rank for "home remodeling new orleans" but not for bath-specific terms.

  3. EZBaths in NOLA specifically - Their NOLA city page ranks #17-22 for "bathroom remodeling new orleans" with generic content. TurnKey has a 3436 Magazine St New Orleans physical address - physical proximity + hyper-local content + NOLA review concentration can beat EZBaths in the NOLA local pack even if domain authority gap persists.

Not beatable in 12 months:

  • bathfitter.com (domain rank ~800+, 26K keywords, franchise infrastructure)
  • rebath.com (16K keywords, 2K+ top-3 positions)

9. Findings Summary Table

#FindingSeverityEvidenceMethod RuleFix
C-01TurnKey ETV ($28/mo) is 17x below EZBaths ($494) and essentially zero vs nationals. No positions 1-3.P0DataForSEO Bulk Traffic Estimation 2026-06-11. 49 keywords vs EZBaths 163.Competitive benchmarking: any competitor 10x+ on traffic is a systemic authority gap, not a content gap.Parallel tracks: GMB/local pack (near-term wins) + content authority build (6-12 month).
C-02"How much to replace a tub" + "fiberglass tub replacement cost" (vol=1,000 each) - held by Big Easy Bathrooms with zero content. TurnKey not ranked.P0DataForSEO content gap analysis. bigeasybathrooms.com ranks for both.Cost/pricing content captures commercial intent at the decision stage.Create a cost-guide page: "How Much Does Bathtub Replacement Cost in New Orleans?" with local pricing anchors.
C-03"Bathroom remodeling new orleans" cluster (vol=390, 3 variants) - EZBaths holds #17-22 with a GENERIC city page. TurnKey not ranked despite New Orleans address.P0DataForSEO ranked_keywords, EZBaths NOLA page WebFetch confirming "minimal city-specific content."Geographic authority: physical address in target city + hyper-local content outranks distant competitor with generic page.Build substantive NOLA bathroom remodel landing page: neighborhood references, local permit mentions, flood-resilient materials, NOLA-specific review copy.
C-04Tub liner content cluster is TurnKey's ONLY traffic driver (#4 for "how to install bathtub liner") but ALL tub liner traffic goes to a blog post, not a service page.P1Phase 0 verified data: tub liner blog is top traffic page. DataForSEO shows "tub liner installation" vol=170, rank=41 for TurnKey.Content type mismatch: informational blog post does not convert buyers searching for tub liner service.Create a service-oriented tub liner page. Use blog post as informational top-of-funnel with internal link to service page.
C-05EZBaths ranks #40-42 for "bathtubs for seniors" and "elderly walk-in tub" (vol=5,400 each). TurnKey has zero accessibility/senior content.P1DataForSEO ranked_keywords ezbaths.com 2026-06-11.Senior/accessibility content cluster is the highest-volume adjacent market for bath specialists.Create senior/accessibility content cluster: walk-in showers for seniors, ADA compliance, aging-in-place bathroom remodel.
C-06TurnKey has no financing page. EZBaths ("18 months no interest"), Sweeney, and nationals all rank for "bathroom remodel financing" terms.P1DataForSEO content gap: "bathroom remodel financing no credit check" vol=40 held by ezbaths. WebFetch confirms EZBaths financing page exists and ranks.Financing intent is decision-stage; buyers who search "financing" are ready to commit but need reassurance on cost.Create financing page. Partner with GreenSky, Service Finance, or similar bath-remodel lenders. Page converts "financing" intent directly.
C-07Big Easy Bathrooms shares 7 of TurnKey's service areas (Slidell, Metairie, Mandeville, Madisonville, Hammond, Covington, Abita Springs) with thin templated city pages and $6 ETV. This competitor is beatable immediately.P1DataForSEO: bigeasybathrooms.com ETV=$6, 9 keywords. WebFetch Slidell page: "thin, template-based page with minimal local relevance."Competitive displacement: when a competitor holds a position with thin content, substantive replacement content wins quickly.Build substantive city pages for TurnKey's shared cities (Slidell first - already in TurnKey's top 5 traffic pages). Add local references, contractor photos, local permit info, city-specific reviews.
C-08EZBaths' URL architecture (/city/service/) generates city+service rankings (confirmed: #4 Baton Rouge bathroom remodel, #17 NOLA bathroom remodeling). TurnKey has city pages but their depth is unknown.P1DataForSEO ranked_keywords ezbaths.com: /baton-rouge/walk-in-tubs/ ranks #6 for Baton Rouge bathroom remodel.Nested geographic + service URL structure (proven pattern in this market).Audit TurnKey's existing city page structure. Add /service-areas/[city]/[service]/ pages for high-volume combos: shower-replacement, walk-in-tub, tub-to-shower per city.
C-09EZBaths offer stack ($1K off, $1.5K off walk-in tub, 18-month financing) vs TurnKey's unknown/generic offer. In conversion terms, specific dollar amounts beat "free estimate."P2WebFetch ezbaths.com: explicit dollar-off CTAs prominent on every page.Offer framing: specific dollar-amount promotions outperform generic "free estimate" CTAs in conversion rate, especially for high-consideration purchases.Implement specific promotional offer (dollar-amount or percentage) + "X months same-as-cash" financing. Test against current CTA.
C-10Sweeney Restoration ranks for "home remodeling new orleans" (vol=140) and "kitchen remodel new orleans" (vol=210). These are adjacent queries TurnKey does NOT need to chase - but Sweeney's lack of bath specialization means TurnKey can own bath-specific terms without general contractor competition.P2DataForSEO content gap. Sweeney WebFetch: general contractor, not bath specialist.Specialist authority: bath-only positioning creates topical authority Google rewards over generalists.Double down on bath specialist messaging and content. Do not dilute with general remodeling content. Stay in the bath vertical.

10. Score Summary

CategoryTurnKey PositionGap
Organic Traffic (US ETV)$28/moEZBaths 17x higher, nationals 25,000x higher
Keyword Count49EZBaths 3.3x, nationals 270-530x
Top-3 Positions0EZBaths has 7, nationals have 1,000+
NOLA Core Query VisibilityNot in top 20 for "bathroom remodeling new orleans"EZBaths #17-22 with generic content
City Page Architecture14 cities (depth unknown)EZBaths proven /city/service/ structure works
Accessibility ContentNoneEZBaths owns 5,400-volume senior cluster
Financing PageNoneEZBaths and nationals all have one
Beatable Competitors2 immediately (BigEasy, Sweeney)EZBaths beatable in NOLA specifically in 6-12 months

Raven confidence level: High on traffic and keyword data (direct DataForSEO API calls, 2026-06-11). High on site structure assessments (live WebFetch). Medium on review counts for TurnKey itself (not available in this lane - GSC/GA not available, on-site review data not assessed). All gap volumes are US-national DataForSEO estimates; NOLA-specific search volumes are lower by 80-90%.

Content

class: auditor-output lane: C auditor: Shakespeare date: 2026-06-11 target: https://www.turnkeybathremodel.com/

Audit C: Content Quality Lane

TurnKey Bath Remodel | Shakespeare Content Lead | 2026-06-11

Methodology: CORE-EEAT 80-item scoring (aaron-content-quality-auditor SKILL.md v9.9.10), applied across 6 primary pages plus cross-site assessment of the 14 city pages. Pages audited: homepage, /showers/walk-in/, /bathtubs/tub-liners/, /service-areas/slidell/, /service-areas/metairie/, /step-by-step-guide-installing-tub-liner/. City page duplication check: 4 pages compared (Slidell, Metairie, Kenner, Baton Rouge). GSC/GA not available; stated plainly where it would change the analysis.


Critical Trust Check (Emergency Brake)

CheckStatusNotes
Affiliate links disclosedPassNo affiliate links detected
Title matches page contentPassAll H1s match stated content
Data points are consistentPassCore claims consistent across pages

No veto triggers. Proceeding to full audit.


Page-by-Page CORE-EEAT Scoring

Page 1: Homepage

Content Type: Landing page / service hub Estimated word count: ~1,400 words visible body

C - Contextual Clarity: 70/100

IDCheck ItemScoreNotes
C01Intent AlignmentPassH1 "Installed in as Little as 1 Day" matches commercial transactional intent
C02Direct AnswerPartialValue proposition stated but lead sentence is benefit claim, not need-answer
C03Keyword PresencePass"Bathroom remodel New Orleans" present in body and headers
C04Query-to-Content MatchPassService hub matches "who does bathroom remodels in New Orleans" intent
C05Opening RelevancePartialH1 is a promise, not a context-setter; no answer-first paragraph
C06Scope SignalsPassServices, areas, guarantees all scoped clearly
C07Content FreshnessPartialNo publish date visible; "25+ years" claim not dated
C08Language MatchPassPlain English, no jargon overload
C09Mobile ClarityPass (assumed)No evidence of mobile layout issues
C10Semantic ClosurePartialCTAs close each section but no summary/conclusion on the page

C Score: 70/100

O - Organization: 65/100

IDCheck ItemScoreNotes
O01Heading HierarchyPartialH1 brand promise, H2s categorical; no H3 supporting hierarchy
O02Logical FlowPassBenefits to social proof to CTA is logical
O03Section LabelingPassH2s name sections clearly
O04List FormattingPassService bullet lists present
O05Paragraph LengthPassShort paragraphs throughout
O06Table UsageFailNo comparison tables; price/service comparisons presented only as prose
O07Visual AnchoringPartialBefore/after images present but alt text depth unclear
O08Navigation DepthPassClear internal navigation to service pages
O09CTA PlacementPartialCTAs present but repetitive; three identical "FREE Consultation" CTAs with no differentiation
O10ScanabilityPassHeader structure allows quick scan

O Score: 65/100

R - Referenceability: 50/100

IDCheck ItemScoreNotes
R01Data PrecisionPartial"500+ bathrooms remodeled," "25+ years," "4.9 stars" present but sourced loosely
R02Citation DensityFailZero external citations; no links to NARI, BBB, manufacturer specs
R03Source QualityFailNo verifiable third-party sources linked
R04Evidence-Claim MappingPartialClaims present ("lifetime warranty") but no manufacturer documentation linked
R05Date AccuracyFailNo publish or last-updated dates on any page
R06Factual PrecisionPartialLicense numbers (#890459, #3667) are specific and verifiable - positive signal
R07Counterclaim CoverageFailNo acknowledgment of any limitations (e.g., not all bathrooms can be done in 1 day)
R08Methodology TransparencyFail"25+ years experience" not verifiable on-page; no founding date, no team bios
R09Freshness SignalFailNo dates anywhere on homepage
R10Data ConsistencyPassCore claims (license numbers, phone, address) consistent across all pages

R Score: 30/100

E - Exclusivity: 55/100

IDCheck ItemScoreNotes
E01Unique AnglePartial"1-Day install" is differentiating but shared with Bath Fitter/Re-Bath nationally
E02Proprietary InsightFailNo content only TurnKey could write; all claims are category-generic
E03Gap CoveragePartialClimate angle (New Orleans humidity) appears on tub-liners page but not homepage
E04Depth Beyond BasicsFailHomepage is a service list; no depth on HOW they achieve 1-day installs
E05Original ResearchFailNo original data, no local surveys, no project statistics with methodology
E06Voice DistinctivenessPartialLouisiana-specific language ("Louisiana homeowners") present but inconsistent
E07Comparison AdvantageFailNo direct competitor comparison or feature differentiation table
E08SpecificityPartialSome local specificity (New Orleans, license numbers) but generic service descriptions
E09Topic CoveragePartialCore services covered; zero coverage of financing options depth, process transparency
E10Competitive DifferentiationFailCannot distinguish from rebath.com or bathfitter.com on content alone

E Score: 30/100

Exp - Experience: 55/100

IDCheck ItemScoreNotes
Exp01First-Person NarrativeFailNo first-person storytelling; all third-person institutional voice
Exp02Project ExamplesPartial"Before/After" gallery exists but no case descriptions (what customer needed, what was done)
Exp03Process InsightFail"We install in 1 day" but zero insight into what that process actually involves
Exp04Outcome DocumentationPartialTestimonials present but generic ("impeccable," "commendable") without specifics
Exp05Client StoriesPartial9 testimonials but names (Robert White, Sarah Mitchell, Susan Davis) feel unverifiable without photos or linked reviews
Exp06Behind-the-ScenesFailNo team photos named, no installer profiles, no project photos with context
Exp07Failure/Challenge AcknowledgmentFailNo mention of challenges overcome or "what we learned" type content
Exp08Local Knowledge DisplayPartial"Louisiana homeowners" language but no New Orleans-specific insight
Exp09Sensory/Descriptive LanguagePartialSome product description language; not enough to signal hands-on experience
Exp10Timeline/ProgressionFailNo before/during/after narrative storytelling on any project

Exp Score: 25/100

Ept - Expertise: 60/100

IDCheck ItemScoreNotes
Ept01Technical AccuracyPassService descriptions are accurate and specific (acrylic, PVC, fiberglass liners correctly described)
Ept02Author CredentialsFailNo named author on any page; no team page referenced from homepage
Ept03Industry TerminologyPassCorrect use of "tub liner," "walk-in shower," "barrier-free," "tub-to-shower conversion"
Ept04Process ExplanationPartialWalk-in shower page has a 5-step process; homepage has none
Ept05Problem-Solution FramingPassAccessibility, aging-in-place, mold resistance framed as problems the service solves
Ept06Depth of Topic CoveragePartialTub liners page correctly names 4 liner materials; could go deeper on selection criteria
Ept07Certifications/TrainingPartial"Licensed & Insured" stated with numbers; no manufacturer training certifications mentioned
Ept08Comparative KnowledgeFailNo comparison of liner types, shower styles, or installation methods against alternatives
Ept09FAQ QualityPartialFAQ on walk-in shower page is surface-level; tub liners page has none
Ept10Content Update CadenceFailNo evidence of regular content updates; no publication dates to confirm

Ept Score: 50/100

A - Authority: 35/100

IDCheck ItemScoreNotes
A01Backlink ProfileFail94% of 735 backlinks broken (691 of 735); domain rank 233/1000 (verified Phase 0 data)
A02Brand MentionsN/ACannot assess without GSC/GA; STATED as unavailable
A03Industry RecognitionFailNo industry association memberships visible (NARI, BBB, Angi, HomeAdvisor badges absent)
A04Press/Media CoveragePartial103 "news" tagged links in backlink profile suggest press release history; none linked from site
A05Social Proof VolumePartial"4.9 Google Rating" claimed but no live review count visible on-page
A06Expert ContributionsFailNo guest posts, no industry bylines, no named contributors
A07Link to Authoritative SourcesFailNo outbound links to manufacturers, NARI standards, accessibility organizations
A08Awards/RecognitionsFailNo awards, no certifications beyond license numbers
A09Local Authority SignalsPartialMultiple service area pages but no community involvement, no local press links
A10Cross-Platform PresencePartialSocial media links in footer but no integration of review platforms (Google, Yelp, Houzz)

A Score (of scored items, excluding N/A A02): 27/90 scored items = 30/100 (rounded to 30)

T - Trust: 65/100

IDCheck ItemScoreNotes
T01HTTPS SecurityPassSite serves over HTTPS
T02Privacy PolicyN/ANot assessed; not in scope
T03Security SignalsPassHTTPS present
T04Affiliate DisclosurePassNo affiliate content detected
T05Editorial PolicyFailNo editorial/review policy; no named content creators
T06Contact TransparencyPassPhone, address, hours, license numbers all visible
T07About Page SignalsPartialLicense numbers (#890459, #3667) visible; no named owners/founders
T08Review AuthenticityPartial9 testimonials present; no photos, no linked Google review profiles; names feel generic
T09Data ReliabilityPassClaims are consistent across pages; license numbers are specific
T10Accuracy IndicatorsPartial"25+ years" is unverified without a founding year stated; "500+ bathrooms" unverified

T Score: 60/100 (partial credit averaged)


Aggregate CORE-EEAT Score: Homepage

DimensionScoreWeight (Landing Page)Weighted
C - Contextual Clarity7015%10.5
O - Organization6510%6.5
R - Referenceability3010%3.0
E - Exclusivity3015%4.5
Exp - Experience2515%3.75
Ept - Expertise5015%7.5
A - Authority3010%3.0
T - Trust6010%6.0
Weighted Total100%44.75/100

GEO Score (CORE): (70+65+30+30)/4 = 49/100 SEO Score (EEAT): (25+50+30+60)/4 = 41/100 Raw Overall: 45/100 (rounded) Cap check: No veto triggered; cap not applied Verdict: BLOCK - Score below 60; requires substantial content work before investment in links or ads will compound.


Page 2: /showers/walk-in/

Content Type: Service landing page Estimated word count: ~2,300 words

Notable vs. homepage: stronger structure (5-step process, FAQ section), but same pattern of zero citations, no author, no real experience signals. Locality is surface-level ("New Orleans, LA" in H1 only).

Quick dimension scores:

DimensionScore
C72
O70
R35
E40
Exp30
Ept60
A30
T60
Weighted49/100

Finding (P1): FAQ section covers only generic questions (customization, drainage, cleaning). Zero New Orleans-specific questions (e.g., "How do walk-in showers hold up in New Orleans humidity?" or "What permits do I need for a shower conversion in Jefferson Parish?"). All four competitor sites (rebath.com, bathfitter.com) provide market-specific FAQ content. This is a direct featured-snippet gap.


Page 3: /bathtubs/tub-liners/

Content Type: Service landing page Estimated word count: ~1,900 words

Strongest service page found. Correctly names 4 liner materials with distinct properties. Includes price range ($800-$2,500) which is a rare specificity signal. References New Orleans climate (humidity) as a genuine local differentiator. Still zero external citations.

Quick dimension scores:

DimensionScore
C73
O68
R40
E50
Exp30
Ept65
A30
T62
Weighted51/100

Finding (P1): The tub liners page is the second-highest traffic page (Phase 0 verified) and the strongest service page content-wise. Yet it has no FAQ section, no comparison table between liner types, and no named author. If this page were 3,500 words with a proper Q&A section, a materials comparison table, and one or two verified project examples (with photos), it could realistically target "tub liners New Orleans" position 1-3. Currently it is leaving significant conversion traffic on the table from people who searched "bathtub liner diy" and landed here expecting the blog post.


Page 4 and 5: City Pages - Template Duplication Assessment

Pages assessed: Slidell (~2,100 words), Metairie (~1,250 words), Kenner (~1,200 words), Baton Rouge (~1,800 words)

Structural Template Skeleton (identical across all 4)

  1. Hero section with H1 "[Service] in [City], LA"
  2. "Benefits of Bathroom Remodeling" section (identical benefits list)
  3. "Planning Your Bathroom Remodel" section (identical planning tips)
  4. "Our Bathroom Remodeling Services" section (identical service list)
  5. "All About [City]" section (localized - the only unique content)
  6. Footer with contact, license numbers, service area grid

Duplication Percentage Assessment

SectionUnique to CityTemplateNotes
Hero paragraph5%95%Only city name swapped
Benefits section0%100%Verbatim across pages
Planning section0%100%Verbatim across pages
Services section0%100%Verbatim across pages
"All About" section80%20%This is the ONLY real localization
Testimonials0%100%No city-specific reviews used
Overall~25%~75%14 pages, 75% thin duplicate content

Finding (P0 - Critical): 14 city pages each contain ~75% identical content with only an "All About [City]" section as differentiation. This is a textbook thin-content + near-duplicate content pattern that Google's Helpful Content system specifically targets. With zero positions 1-3 across 48 total keywords (Phase 0 verified), these pages are not performing. They are also potentially suppressing the entire domain's helpful content classification. The "All About [City]" sections contain only tourist-guide information (local parks, transportation) with no connection to bathroom remodeling intent.

Severity: P0 - This is the single highest-leverage content fix on the site.

Method rule that caught it: Google Helpful Content system documentation (2022-2024 updates) explicitly identifies "aggregator pages that combine third-party content with thin original content" as a primary target. The 75% duplicate rate with only a city trivia filler section is a direct match.


Page 6: /step-by-step-guide-installing-tub-liner/ (Top Traffic Page)

Content Type: How-to guide / Blog post Estimated word count: ~1,300 words

This is the most important content finding in the entire audit.

Quick dimension scores:

DimensionScore
C55
O68
R30
E35
Exp20
Ept55
A25
T55
Weighted (Blog)42/100

Intent Mismatch Analysis (P0 - Critical)

The top-traffic page on the entire site is a DIY installation guide.

The math:

  • This page ranks #4 for "bathtub liner diy" nationally (Phase 0 verified)
  • "bathtub liner diy" has a search volume of 110/month nationally, declining trend (-50% year-over-year per organic-keywords-raw.txt DataForSEO data)
  • Search intent: transactional/informational hybrid with primary intent being DIY (do-it-yourself)
  • Buyer intent of TurnKey Bath Remodel's ideal customer: homeowners who want a professional to do it for them

The problem spelled out: This business ranks best for people who explicitly do NOT want to hire a contractor. These are the least likely visitors to convert. A DIY searcher landing on a contractor's page is a near-zero-conversion visitor. Yet this is where the site sends the most organic traffic.

Evidence: The blog post itself acknowledges the mismatch internally. The final section is titled "Install Your Tub Liner Properly With Our Experts" - attempting to convert a DIY audience that has already committed to the self-install path. This is conversion copy applied after the intent battle is already lost.

Secondary content issues on this page:

  • No author name or bio (P1)
  • No publish date or last-updated date (P1)
  • No photos of the actual installation process; visual instructions would be expected for a DIY guide (P1)
  • 1,300 words for a complex multi-step installation guide is below the depth competitors provide; ezbaths.com and similar contractor blogs run 2,500-3,500 words on this topic with actual photos
  • Zero external citations to manufacturer installation specs (Bathwrap, Bath Planet, etc.)
  • No schema markup for HowTo (a missed featured snippet opportunity)

Severity: P0 - This is a fundamental content strategy failure: the highest-traffic page serves the wrong audience and drains crawl equity and link equity toward a non-converting keyword.


E-E-A-T Signals: Site-Wide Assessment

Author/Creator Signals

Status: FAIL across all pages

Not one page on the site has a named author. No team page is linked from the main navigation. The "About" page exists but was not included in Phase 0 top pages - suggesting it receives minimal traffic. The testimonials section has customer names but these names (Robert White, Sarah Mitchell, Susan Davis) are generic without photo verification, linked Google profiles, or project details that would authenticate them.

Impact: AI search engines (ChatGPT, Perplexity, Google AI Overviews) preferentially cite content from identified human experts. Anonymous institutional content from a contractor ranks lower in AI-mediated answers compared to a page where "Mike Rodriguez, Licensed Contractor LA #890459, 22 years experience" authored the content.

Credentials Visible

Status: PARTIAL PASS

  • Residential License #890459: visible on every page - strong trust signal
  • Commercial License #3667: visible on every page - strong trust signal
  • "25+ Years Experience": unverifiable without a founding year
  • "Licensed & Insured": stated but no insurance certificate linkable
  • No manufacturer certifications visible (Bath Planet, Kohler, American Standard partners)

Positive finding: The license numbers are specific, verifiable against the Louisiana State Licensing Board, and consistently placed on every page. This is one of the few strong E-E-A-T signals on the site.

Real Photos vs. Stock Photos

Status: INCONCLUSIVE / PARTIAL CONCERN

The homepage references "Before/After" imagery and project photos. Based on page structure analysis, some images appear to be authentic project photos (before/after bathroom shots are typically too specific to be stock). However, several images are described with generic alt text ("Luxury Bathtub," "Professional installation of walk-in shower") which is consistent with stock photo sourcing.

Recommendation: Commission a photo audit. Stock photos on a local contractor site are an E-E-A-T failure; Google's quality raters specifically look for authentic service photos as a trust signal. Specifically: team photos with installer names attached, in-progress project photos from real jobs in New Orleans neighborhoods, and genuine customer bathroom photos with permission.

Blog Strategy Coherence: FAIL

Current state: 1 known blog post visible via organic traffic data. Top traffic page is a DIY guide serving non-buyers. No evidence of a content calendar or topical cluster strategy.

What a coherent blog strategy looks like for a contractor:

  • Informational content serving buyers in awareness stage: "How much does a bathroom remodel cost in New Orleans?" (commercial intent, high conversion potential)
  • Comparison content: "Walk-In Shower vs. Walk-In Tub: Which Is Right for You?" (product-aware buyer)
  • Local authority content: "New Orleans Bathroom Remodeling: What Permits Do You Need?" (local authority, trust signal)
  • FAQ content: "Can You Install a Walk-In Shower in a 5x5 Bathroom?" (featured snippet target)

None of this content exists. The site is attempting to rank in a competitive local market with a single accidental blog post that serves the wrong audience.


Scored Summary Table

FindingPage(s)SeverityCategoryEvidenceFix
14 city pages 75% duplicate contentAll service area pagesP0Content Quality / Thin ContentOnly "All About [City]" tourism text differentiates each page; benefits/services/planning sections verbatim identicalRewrite each city page around local homeowner pain points, neighborhood references, local project examples; minimum 30% unique content per page
Top traffic page serves wrong search intent/step-by-step-guide-installing-tub-liner/P0Content Strategy / Intent MismatchPage ranks #4 for "bathtub liner diy" (DIY intent); business sells professional installation; near-zero conversion pathwayEither (a) add a parallel professional version targeting "bathtub liner installation cost New Orleans" or (b) restructure the blog to convert DIY searchers mid-funnel with a "why hire a pro" section and specific outcome data
Zero named authors on any pageSite-wideP1E-E-A-T - ExperienceNo author bylines, no team page accessible from navigation, no installer profilesAdd author/team bylines to all blog and service pages; create linked team profile pages with credentials
Zero external citationsSite-wideP1ReferenceabilityNo links to manufacturer specs, NARI standards, LSLBC license verification, or accessibility standardsAdd 2-3 outbound authority links per major service page; link to LA Residential Contractors license lookup for trust
No publish/update dates on any contentSite-wideP1Content FreshnessNeither the blog post nor any service page shows a publish or last-updated dateAdd Schema Article dates to blog; add "Last reviewed [date]" to all service pages
Blog post lacks HowTo schema/step-by-step-guide-installing-tub-liner/P1Technical SEO + ContentStep-by-step guide with no HowTo schema; missed featured snippet opportunity for how-to SERP featureImplement HowTo schema on the blog post immediately; this is a quick-win
Testimonials unverifiableSite-wideP1E-E-A-T - Trust9 testimonials with generic names, no photos, no linked Google review profilesReplace or supplement with Google review embeds (verified profiles, authentic photos); or add project-specific testimonials with homeowner first name + project type + neighborhood
No comparison tables on service pages/bathtubs/tub-liners/, /showers/walk-in/P2OrganizationMaterials described in prose only; no liner-type comparison table despite multiple material types notedAdd comparison table: acrylic vs. PVC vs. fiberglass vs. ceramic liner (cost, durability, install time, climate suitability)
Climate/location differentiation inconsistent/bathtubs/tub-liners/ has it; homepage/walk-in do notP2ExclusivityNew Orleans humidity angle only appears on tub-liners pagePull the humidity/climate angle up to homepage and walk-in shower page; this is TurnKey's strongest local differentiator
"All About [City]" sections are tourist guides, not buyer contentAll 14 city pagesP2Content QualitySlidell page references Heritage Festival and Camellia City; Metairie references Lafreniere Park; zero bathroom remodeling relevance to these landmarksReplace tourist content with homeowner-relevant local content: neighborhood home age (older homes = more tub-to-shower conversion demand), local permit notes, neighborhood-specific project examples

Veto Check

  • No T04 trigger (no affiliate links)
  • No C01 trigger (titles match content)
  • No R10 trigger (data is internally consistent)

cap_applied: false raw_overall_score: 44 (site-wide composite of 6 audited pages) final_overall_score: 44

Publish Verdict: BLOCK - Content quality is below the 60/100 threshold required for FIX. Two P0 findings (city page duplication + intent mismatch on top traffic page) must be addressed before incremental content improvements will compound.


Top 5 Priority Improvements (by impact x effort)

  1. City page rewrite program - Rebuild 14 city pages around homeowner intent. Target: 60%+ unique content per page; each page should answer "Why should a [City] homeowner specifically choose TurnKey?" with neighborhood-specific project examples, local permit info, and local client references. Estimated organic impact: recovery of suppressed domain-wide helpful content signal, enabling service pages to rank for geo-modified queries currently invisible.

  2. Intent-aligned blog strategy - The top traffic page is a wasted asset serving DIYers. Publish 4-6 commercial-intent blog posts targeting buyer-stage queries: "how much does a bathroom remodel cost in New Orleans," "walk-in shower installation New Orleans," "tub to shower conversion cost Metairie." These are moderate-KD queries with genuine buyer intent vs. the current #4 position for a zero-buyer keyword.

  3. Author and team credibility layer - Add named authors to all pages. Create a team page with installer names, years of experience, and specializations. Link author profiles to blog posts. This single change has outsized AI-search citation impact; AI systems prefer named human experts.

  4. HowTo schema on blog post - Quick win. The tub liner blog is already ranking #4 with minimal on-page optimization. Adding HowTo schema could push it to a rich SERP feature. 30-minute implementation.

  5. Tub liners page expansion with comparison table - This is the second-highest traffic page and has the best content foundation on the site. Expand from 1,900 to 3,000 words. Add: a materials comparison table, a section on "Tub Liner vs. Tub Replacement: Cost Comparison in New Orleans," and a genuine FAQ section answering questions like "Will a tub liner work over my existing tub?" and "How long do tub liners last in Louisiana's climate?"


Action Plan

Quick Wins (under 30 minutes each)

  • Add HowTo schema markup to /step-by-step-guide-installing-tub-liner/
  • Add publish and last-reviewed dates to all blog posts and service pages
  • Replace generic testimonial names with first name + project type + neighborhood format (e.g., "Robert W., Tub-to-Shower Conversion, Metairie")
  • Add one outbound authority link per service page (LSLBC license lookup, NARI, or manufacturer)

Medium Effort (1-2 hours each)

  • Write a liner type comparison table for /bathtubs/tub-liners/
  • Add a New Orleans climate section to /showers/walk-in/ (humidity, flooding risk, accessibility codes)
  • Embed or link Google reviews directly from the homepage testimonials section
  • Build a team/about page with named installers and credentials

Strategic (requires planning)

  • Conduct a full city page rewrite program (14 pages; prioritize Metairie and New Orleans first as highest-value markets)
  • Develop a commercial-intent blog content calendar (6-12 posts targeting buyer-stage queries in the New Orleans metro)
  • Commission real project photography from 3-5 recent jobs in named neighborhoods (Garden District, Uptown, Metairie, Slidell) to replace stock/generic images

Handoff Schema

---
class: auditor-output
---

status: DONE_WITH_CONCERNS
objective: "Content quality audit of TurnKey Bath Remodel across 6 primary pages plus city page duplication analysis"
key_findings:
  - title: "14 city pages with 75% duplicate content"
    severity: veto
    evidence: "Benefits/planning/services sections verbatim identical across all 14 pages; only 'All About [City]' tourist text differentiates; ~25% unique content per page"
  - title: "Top traffic page serves DIY-intent audience, not buyers"
    severity: veto
    evidence: "Page ranks #4 for 'bathtub liner diy' (DataForSEO organic-keywords-raw.txt); search intent is self-installation; TurnKey sells professional installation; near-zero conversion pathway from this page"
  - title: "Zero named authors or team credibility layer"
    severity: high
    evidence: "No author bylines on any page; no team page in navigation; testimonials unverified (no photos, no linked review profiles)"
  - title: "No external citations across all 6 pages"
    severity: high
    evidence: "Zero outbound links to manufacturer specs, industry standards, or authority sources"
  - title: "No publish/update dates on any content"
    severity: high
    evidence: "Neither blog post nor service pages show publication or last-reviewed dates"
evidence_summary: "Fetched and analyzed: homepage, /showers/walk-in/, /bathtubs/tub-liners/, /service-areas/slidell/, /service-areas/metairie/, /service-areas/kenner/, /service-areas/baton-rouge/, /step-by-step-guide-installing-tub-liner/. Phase 0 keyword data from data/organic-keywords-raw.txt (DataForSEO). GSC/GA not available."
open_loops:
  - "Team/About page not audited (not in Phase 0 top traffic pages)"
  - "Full 14-city page count not independently verified; 4 of 14 sampled"
  - "Photo authenticity (real vs. stock) requires visual inspection; inconclusive from text analysis"
recommended_next_skill: "content-refresher for city pages; seo-content-writer for commercial-intent blog posts; entity-optimizer for AI-search citation lift"
cap_applied: false
raw_overall_score: 44
final_overall_score: 44
cro

TurnKey Bath Remodel: Conversion Rate Optimization Audit (Lane C)

Auditor: Frankie (Front-End Lead, Conversion Optimizer lane) Date: 2026-06-11 Scope: Homepage, /showers/, /contact/, /service-areas/metairie/ Method: 12 Conversion Hacks + Intent Behind Intent (conversion-optimizer skill). Pages audited via live WebFetch. No GSC/GA access (not our property). Severity legend: P0 = blocks conversions now; P1 = high-impact fix; P2 = incremental improvement


Pages Audited

PageURL
Homepagehttps://www.turnkeybathremodel.com/
Showershttps://www.turnkeybathremodel.com/showers/
Contacthttps://www.turnkeybathremodel.com/contact/
Metairie (city page sample)https://www.turnkeybathremodel.com/service-areas/metairie/

Finding 1: Form is a Modal, Not Inline — Kills Mobile Conversion

Severity: P0 Hack violated: Hack 4 (Friction Elimination) + Hack 2 (Single Dominant CTA)

All CTAs across all pages trigger javascript:; modal popups rather than loading an inline form. On slow mobile connections this creates three conversion-killing failure modes: (1) the modal may fire before the DOM is fully interactive, (2) users who dismiss the modal cannot easily find a secondary inline path to convert, (3) modal overlays on mobile viewports frequently obscure the submit button behind the keyboard.

Evidence: All three CTA buttons on the homepage ("Get Your FREE Design Consultation", "Call Us Today!", "FREE Estimates!") resolve to JavaScript triggers. The /contact/ page references a consultation form but the actual field structure is also modal-triggered. No inline form was found on any audited page.

Intent Behind Intent: A homeowner searching "shower replacement New Orleans" is at the Product-Aware or Most-Aware stage. They want to start the process NOW. A modal that fails or confuses them routes them directly to a competitor.

Fix: Place a 3-field inline form (Name, Phone, Service Needed) on the homepage above the fold as the secondary CTA. Reserve the modal for the primary "FREE Estimates" button. On /contact/, render the form inline unconditionally. This is a named-field reduction play (Hack 4: 3-field max). Per the 12 Hacks, every field removed increases conversions 10-15%.


Finding 2: CTA Multiplicity Competes and Dilutes Primary Action

Severity: P0 Hack violated: Hack 2 (Single Dominant CTA)

The homepage presents three distinct CTA strings above the fold: "Get Your FREE Design Consultation", "Call Us Today!", and "FREE Estimates!". The /showers/ page and every city page mirror this same three-CTA pattern. Three competing primary actions cause decision paralysis. For a local service site the conversion hierarchy must be: Call > Form > secondary action. Having three equally prominent CTAs violates Hack 2's core rule.

Evidence: Homepage fetch confirmed three CTA buttons above the fold with no visual hierarchy difference apparent from HTML structure. The sticky header independently carries phone + "FREE Estimates" button creating a fourth visible CTA.

Fix: Demote "FREE Estimates!" to a secondary style (outlined button). Make "Call Us Today" the primary CTA (highest-intent action for a local service). Make "Get Your FREE Design Consultation" the secondary CTA (captures non-ready visitors). Remove or demote the third option to a text link. This restores the Call > Form hierarchy per Hack 2.


Finding 3: License Numbers and Lifetime Warranty ARE Visible Above the Fold (Confirmed)

Severity: Note / Positive Signal Hack applied: Hack 5 (Risk Reversal), Hack 7 (Above-the-Fold Power Formula)

This finding is a confirmation, not a deficiency. License numbers #890459 (Residential) and #3667 (Commercial), the Lifetime Warranty on acrylic products, 10-year workmanship guarantee, and 0% Financing are all present and visible above the fold on the homepage, /showers/, and Metairie city page.

Evidence: Homepage fetch showed "License Numbers: #890459 (Residential), #3667 (Commercial)" in the above-fold block. Showers page and Metairie page confirmed same pattern.

Risk Reversal Grade: B+. The elements are present. The execution gap (see Finding 4) is that the warranty and financing are listed as bullet points in a trust bar rather than being featured in a dedicated risk-reversal narrative block. Hack 5 calls for positioning these as headline-level objection removers, not fine-print line items.


Finding 4: 1-Day Install USP is in the Headline but Disappears on Inner Pages

Severity: P1 Hack violated: Hack 1 (Clarity Before Creativity), Hack 7 (Above-the-Fold Power Formula)

The homepage headline directly leads with the 1-day install: "Your Dream Bathroom — Installed in as Little as 1 Day." This is the single strongest differentiator in the local bath remodel market and it is used correctly on the homepage.

However, the /showers/ page headline is "Shower Remodeling in New Orleans, LA" — the 1-day USP does not appear until mid-page as a tagged line ("Bathrooms Remodeled in as Little as 1 Day"). The Metairie city page headline is "Professional Bathroom Remodel in Metairie, LA" — again burying the USP.

Evidence: /showers/ headline confirmed as generic geo-service headline. 1-day mention confirmed as mid-page appearance. Metairie H1 confirmed as generic.

Intent Behind Intent: A visitor on /showers/ is already past the homepage. They are evaluating whether this company can actually solve their bathroom disruption fear. The hidden emotion is "I don't want my bathroom torn up for weeks." Not leading with the 1-day USP on the showers page is leaving the most powerful objection-removal card on the table.

Fix: Revise /showers/ headline to: "Shower Replacement in New Orleans, LA — Installed in 1 Day." Apply the same formula to every city page: "[Service] in [City] — Done in 1 Day." This is a direct application of the Hack 1 local template: "[Service] in [City] — [Unique Proof Point]."


Finding 5: Social Proof is Below the Fold on Inner Pages — Not Above It

Severity: P1 Hack violated: Hack 3 (Social Proof Positioning)

The homepage carries "4.9 Google Rating" and "Rated by Hundreds of New Orleans Homeowners" above the fold — strong execution. But on /showers/, the 8 named customer testimonials appear "in dedicated section below service overview" per the live fetch. On the Metairie city page, the review section is explicitly below the fold ("below-fold" confirmed in fetch).

Evidence: /showers/ fetch: social proof "positioned in dedicated section below service overview." Metairie fetch: "review section... below-fold."

Hack 3 requirement: Place testimonials ABOVE the fold whenever possible. Specific numbers beat vague praise. Before/After photos outperform stock by 3x.

Fix: Insert a compact social proof bar immediately below the hero section (not in a separate section below the content) on all inner pages. A single star rating + review count + one pull-quote achieves this without restructuring the page. On the /showers/ page, move at least one testimonial from the bottom section into a sidebar or inline card within the first viewport.


Finding 6: No Chat Widget = Missed Low-Friction Lead Channel

Severity: P1 Hack violated: Hack 4 (Friction Elimination), Hack 12 (Micro-Commitments)

No live chat widget (Drift, Intercom, Tidio, or equivalent) was detected on any audited page. For a bath remodeling company, 40-50% of leads research after business hours. A chat widget captures asynchronous visitors who will not call at 10pm but WILL type a quick question.

Evidence: Homepage technical fetch confirmed: "No chat widget scripts detected (Drift, Intercom, Tidio absent)."

Hack 12 relevance: "Check availability" or "Ask a question" micro-commitment steps convert hesitant visitors who are not ready for a full quote but are nudged toward engagement.

Fix: Install Tidio (free tier) or a GHL-embedded chat widget. Configure a "Are you curious about the 1-day install process?" opening message. Route to SMS fallback after hours. This covers Problem-Aware visitors who need reassurance before calling.


Finding 7: Contact Page Headline "Get In Touch" is Generic — Fails Clarity Test

Severity: P1 Hack violated: Hack 1 (Clarity Before Creativity)

The /contact/ page H1 is "Get In Touch." This is the weakest possible headline for a highest-intent page. A visitor who navigated to /contact/ is Most-Aware (Hack CTA copy guide: "Get Your Quote in 60 Seconds"). The headline gives them no confirmation they are in the right place for what they came to do.

Evidence: /contact/ page fetch confirmed H1 as "Get In Touch."

5-second clarity test (Hack 1): Cover the logo. "Get In Touch" tells you nothing about the company, its service, or what the next step is.

Fix: Replace with: "Get Your Free 1-Day Bath Remodel Quote — New Orleans and Surrounding Areas." This passes the 5-second test, reinforces the USP, and matches the Most-Aware visitor's stage.


Finding 8: City Pages Are Templated with Thin Local Differentiation

Severity: P1 Hack violated: Hack 3 (Social Proof Positioning), Hack 1 (Clarity Before Creativity)

The Metairie city page audited is described as "Templated with light customization — reads as fill-in-the-blank marketing rather than company-specific positioning." Local history facts and attraction names are present but no Metairie-specific project photos, no Metairie customer testimonials, and no neighborhood-level social proof are used.

Evidence: Metairie fetch: "While Metairie-specific details are included, the core structure, messaging patterns, and benefit descriptions are generic remodeling contractor templates." The "All About Metairie, LA" section uses geographic filler (Lafreniere Park, Lakeside Shopping Center) rather than conversion-driving content.

Intent Behind Intent: A Metairie homeowner searching for a local contractor wants to see evidence the company has worked in their neighborhood, not facts about Metairie they already know.

Fix: (a) Replace the geographic filler section with 2-3 Metairie-specific customer testimonials sourced from actual reviews. (b) Add one Metairie project photo with caption: "Walk-in shower installed for a Metairie homeowner in 1 day." (c) Adjust headline to include the 1-day USP per Finding 4 fix.


Finding 9: Sticky Bottom Bar Exists but Lacks Form Option

Severity: P2 Hack violated: Hack 4 (Friction Elimination), Hack 9 (Phone Number Psychology)

The sticky bottom bar is confirmed active ("Call Now" and "Free Quote" CTAs persist at bottom). This is good execution of Hack 9. However, both sticky CTAs appear to trigger modals, and "Free Quote" likely opens the same consultation modal as the header CTAs. There is no "Text Us" option in the sticky bar, missing a high-converting mobile-friendly alternative.

Evidence: Homepage technical fetch: "Floating/Sticky Bottom Bar: 'Call Now' and 'Free Quote' CTAs persist at bottom." Both resolve through the modal system.

Fix: Add a third sticky option: "Text Us" linking to sms:+15045136366. Research shows 35% of mobile users prefer SMS to calling for initial contact with local service businesses. Low-friction text initiation is a direct Hack 12 micro-commitment.


Finding 10: No Urgency or Scarcity Signals Present on Any Page

Severity: P2 Hack violated: Hack 6 (Urgency and Scarcity - Authentic Only)

No authentic urgency language was detected on any of the four audited pages. The /showers/ fetch explicitly noted: "Minimal explicit urgency; lifestyle benefit over scarcity detected." The homepage, /contact/, and Metairie pages similarly contain no scheduling-based or capacity-based urgency signals.

Evidence: /showers/ fetch: "No time limits or pressure tactics detected." Homepage CTA copy ("Get Your FREE Design Consultation") carries no urgency element.

Hack 6 rule: Authentic urgency converts. Fake urgency destroys local trust permanently. TurnKey has authentic capacity constraints (they offer 1-day installs which requires crew scheduling).

Fix: Add authentic urgency language to the primary CTA section: "New Orleans crews are booking [X] weeks out — secure your date today." Or seasonal: "Summer booking window open — limited July spots available." This is factual for a busy remodeler and directly triggers the scarcity trigger without fabrication.


Summary Score Table

PageAbove-Fold Power (Hack 7)Social Proof Position (Hack 3)CTA Clarity (Hack 2)Friction Level (Hack 4)Risk Reversal (Hack 5)USP Usage (Hack 1)Overall CRO Grade
HomepageA- (strong USP, too many CTAs)B+ (rating present, testimonials below)C (3 competing CTAs)C (modal-only)A- (license+warranty visible)A (1-day in H1)B-
/showers/C+ (USP buried mid-page)D (social proof below service content)C (same 3-CTA problem)C (modal-only)B (trust bar present)D (1-day not in H1)C
/contact/D (generic "Get In Touch" H1)B (trust signals near form area)C (3 CTAs again)D (modal form, no inline)B (badges present)D (no USP in headline)D+
/service-areas/metairie/C (generic H1, no USP)D (no local testimonials above fold)C (3-CTA problem)C (modal-only)B (trust bar present)D (1-day not in H1)C-

Priority Fix Stack (ranked by conversion impact per effort)

RankFixSeverityEstimated Lift
1Add inline 3-field form above fold on homepage + /contact/P0High
2Reduce to single primary CTA per page (Call hierarchy)P0High
3Push 1-day USP into H1 on /showers/ and all city pagesP1High
4Add social proof bar immediately below hero on inner pagesP1Medium-High
5Replace /contact/ headline with conversion-specific copyP1Medium
6Install chat/SMS widget (Tidio or GHL)P1Medium
7Replace city page geographic filler with local testimonialsP1Medium
8Add authentic urgency language to primary CTA sectionsP2Medium
9Add "Text Us" SMS option to sticky mobile barP2Low-Medium

Method Notes

All findings derived from live page fetch (2026-06-11). No GSC/GA data available (not our property). CRO scoring applied against the 12 Conversion Hacks framework (conversion-optimizer skill) and the Intent Behind Intent pre-execution checklist. Mobile viewport meta confirmed present. Click-to-call tel: links confirmed on phone numbers. Above-fold trust signals (license numbers 890459/3667, lifetime warranty, 0% financing) confirmed visible on all audited pages.

forensics

Audit C: Forensics Lane - Backlink Archaeology, Sister Domain, Press-Release Footprint

Investigator: Sherlock (Deep Forensics Lane) Date: 2026-06-11 Target: https://www.turnkeybathremodel.com Triggered by: Phase 0 data: 691/735 backlinks "broken" (94%), sister domain ranking above target, 440 organization-platform + 103 news-platform links


1. Investigation Summary

Three parallel investigations:

  1. What are the 691 "broken" backlinks actually pointing to, and why are they flagged broken?
  2. Is turnkeybathroomrenovations.com the same owner? Is it cannibalizing the target?
  3. What is the press-release/syndication footprint and is it helping or hurting?

All evidence gathered from: DataForSEO API (direct), Wayback CDX API, live HTTP probes, HTML extraction from both domains.

GSC/GA not available (not our property) - stated explicitly where it matters.


2. Evidence Chain

Evidence 1 - DataForSEO domain summary confirms 691 broken_backlinks, broken_pages=9 Source: POST /v3/backlinks/summary/live for turnkeybathremodel.com, retrieved 2026-06-11.

{
  "broken_backlinks": 691,
  "broken_pages": 9,
  "backlinks": 699
}

Evidence 2 - All 9 "broken pages" return HTTP 403, NOT HTTP 404 Source: DataForSEO POST /v3/backlinks/domain_pages/live with is_broken: true, retrieved 2026-06-11. All 9 entries show "status_code": 403 with "size": 2460, "encoded_size": 810 (identical fingerprint = WAF/bot-blocker response page, not a real 404). The 9 pages flagged include:

  • https://www.turnkeybathremodel.com/ (homepage)
  • https://www.turnkeybathremodel.com/contact/
  • https://www.turnkeybathremodel.com/bathtubs/bathtubs-replacement/
  • https://www.turnkeybathremodel.com/bathtubs/walk-in-tubs/
  • https://www.turnkeybathremodel.com/bathtubs/tub-liners/
  • https://www.turnkeybathremodel.com/what-is-a-barrier-free-shower-and-who-needs-one/
  • https://www.turnkeybathremodel.com/?utm_source=gbp&utm_medium=gbph&utm_campaign=nola
  • Two directory-sourced UTM-appended URLs

Evidence 3 - Human HTTP probes confirm pages return 200 Live curl probes from this session (2026-06-11) return HTTP 200 for all flagged pages except /gallery/ (404). The homepage, /contact/, /bathtubs/bathtubs-replacement/, /bathtubs/walk-in-tubs/, /bathtubs/tub-liners/ all return 200.

Evidence 4 - WPX Cloud anti-bot is confirmed Response headers: X-Edge-Location: WPX CLOUD/MIA03, Server: WPX CLOUD/MIA03. WPX's bot blocker returns a 403 + 810-byte br-compressed payload to crawler user-agents. DataForSEO's crawler is flagged as a bot.

Conclusion on "broken" backlinks - Confidence: CONFIRMED The 691 broken backlinks are NOT real broken links. They are a WPX Cloud bot-blocker artifact. DataForSEO's crawler receives 403 responses from WPX's edge WAF, which DataForSEO records as "broken pages." The actual pages return 200 to browsers. The one genuinely broken page is /gallery/ (verified HTTP 404 - Wayback shows it existed as recently as 2024-10-14).

Implication (P1): This means the link profile is not as damaged as the Phase 0 number suggests. However, one real broken page exists (/gallery/), and if any links pointed to it, those are genuinely lost.


Evidence 5 - Live backlink target URL distribution Source: DataForSEO POST /v3/backlinks/backlinks/live with backlinks_status_type: live, limit 50, retrieved 2026-06-11. All 50 live backlinks point to only 6 unique target URLs:

  • https://www.turnkeybathremodel.com/ - 17 links
  • https://www.turnkeybathremodel.com/contact/ - 15 links
  • https://www.turnkeybathremodel.com/bathtubs/bathtubs-replacement/ - 15 links
  • https://www.turnkeybathremodel.com/bathtubs/tub-liners/ - 1 link
  • https://www.turnkeybathremodel.com/bathtubs/walk-in-tubs/ - 1 link
  • https://www.turnkeybathremodel.com/what-is-a-barrier-free-shower-and-who-needs-one/ - 1 link

Implication (P1): Zero links to any service-area city pages. Zero links to /showers/ or other high-priority commercial pages. The link profile is entirely concentrated on homepage, contact, and two bathtub pages - the press release anchor pattern.


2.3 The Press-Release / Syndication Footprint

Evidence 6 - xpr-gannett.com is the dominant referring domain Source: DataForSEO POST /v3/backlinks/referring_domains/live, retrieved 2026-06-11.

  • xpr-gannett.com: 138 backlinks, 138 broken (bot-blocked), rank 166
  • marketminute.com: 39 backlinks, 39 broken, rank 115
  • mybluehost.me: 12 backlinks, 12 broken, rank 77

Evidence 7 - Press Advantage is the distribution platform Source: live backlink samples showing URLs like https://ebg.wpw.mybluehost.me/story/65982/turnkey-bath-remodel-announces-50-year-non-pro-rated-product-warranty... and https://lifestyle.celebhomes.net/story/category/partners/press-advantage/. Press Advantage (pressadvantage.com) is a paid press release distribution service. The headline appears repeatedly across all sources: "TurnKey Bath Remodel Announces 50-Year Non-Pro-Rated Product Warranty with 10-Year Workmanship Coverage."

Evidence 8 - xpr-gannett.com returns 403 to all crawlers Live HTTP probe to https://lubbockonline.xpr-gannett.com/press-release/story/107398/... returns HTTP 403 even with browser User-Agent. This is a Gannett XPR (cross-publish/resyndication) network that restricts crawler access. All 138 links from this domain are real published press releases but are inaccessible to link crawlers.

Evidence 9 - Radio station domains with rank 0-7 in the referring domain list Domains like kbew98country.com (rank 7), kynt1450.com (rank 7), all80sz1063.com (rank 0), q923radio.com (rank 0), etc. - all with 4-6 links each, all broken. These are small-market radio station news feeds that syndicate press releases. Domain rank 0-7 = negligible link equity.

Evidence 10 - Link types: 527 anchor + 172 image, 28 nofollow Source: DataForSEO summary. The press release syndication generates both anchor text links and image links (logos in press release boilerplate), explaining the 172 image backlinks.

Evidence 11 - Geographic distribution anomaly Source: DataForSEO summary, referring_links_countries. Only 12 links from US IPs. 617 links show empty country. The xpr-gannett subdomain sites are geo-tagged as US newspapers (Lubbock Online, Des Moines Register, Naples News, Cincinnati etc.) but the DNS/IP resolution shows non-US routing, causing blank country attribution. This is characteristic of CDN-served press release archives.

Assessment of press-release footprint: The company purchased at least one (likely multiple) Press Advantage distributions. This generated approximately 440 "organization" platform links (directory syndication) and 103 "news" platform links (Gannett XPR + radio stations). The press releases linked to: homepage, contact page, and /bathtubs/bathtubs-replacement/ with anchor text "TurnKey Bath Remodel centers on bathroom remodeling."

Did it help? Confidence: PROBABLE NO for organic rankings. The referring domains have domain rank 7 to 166. The press content is a product warranty announcement, not locality-relevant or topically authoritative for bathroom remodeling in New Orleans. The anchor text profile concentrates on brand + generic. Zero links to city pages or shower/tub service pages. The site still has zero top-3 positions and ranks #19 for "shower replacement new orleans" at best. The press release spend built a facade of links that are: (a) bot-blocked so tools misread them as broken, (b) concentrated on two commercial pages with no geographic signal, and (c) from low-equity domains with no topical relevance to NOLA bath remodeling.


2.4 Site History Timeline (Wayback CDX)

Evidence 12 - Site launched April 2024 Source: Wayback CDX API https://web.archive.org/cdx/search/cdx?url=turnkeybathremodel.com*, retrieved 2026-06-11.

  • First Wayback snapshot: 2024-04-15 (homepage 200)
  • WHOIS: domain registered 2023-11-29
  • DataForSEO first_seen: 2024-09-07 (when DataForSEO first indexed the backlink profile)
  • The domain is approximately 18-19 months old as of the audit date

Evidence 13 - URL structure stable throughout history All pages present in the CDX export (/bathtubs/, /bathtubs/tub-liners/, /bathtubs/walk-in-tubs/, /showers/, /service-areas/[city]/, /blog/) show consistent 200 responses from first snapshot onward. No mass URL migration is visible in the Wayback data.

Evidence 14 - /gallery/ was live until at least 2024-10-14, now 404 CDX shows https://www.turnkeybathremodel.com/gallery/ returning 200 on 2024-06-15 and 2024-10-14. Current HTTP probe returns 404. This is the one confirmed deleted page with no redirect. It is unclear how many backlinks pointed to /gallery/ specifically.

Evidence 15 - Content additions are ongoing CDX shows new blog posts appearing through 2026-04 (/can-you-renovate-a-bathroom-in-one-day/, /do-i-need-to-move-out-during-a-bathroom-renovation/, /do-walk-in-showers-increase-home-value/, /how-much-does-a-barrier-free-shower-cost/). Content cadence is active.


2.5 Sister Domain Investigation: turnkeybathroomrenovations.com

Evidence 16 - Same hosting platform confirmed Both domains serve via WPX CLOUD hosting with PHP/8.3.31. IP addresses are both in the 194.1.147.0/24 subnet (target: 194.1.147.98; sister: 194.1.147.78). This is a WPX managed hosting environment. Same account or same agency hosting multiple properties.

Evidence 17 - Identical URL structure Sister domain has: /bathtubs/walk-in-tubs/, /bathtubs/tub-liners/, /showers/, /service-areas/baton-rouge/, /service-areas/covington/, /service-areas/hammond/, /service-areas/harahan/, /service-areas/kenner/, /service-areas/madisonville/, /service-areas/mandeville/, /service-areas/metairie/, /service-areas/slidell/, /service-areas/gretna/, /service-areas/laplace/, /service-areas/st-rose/. This matches the target domain's service area structure exactly. Identical service territories.

Evidence 18 - Different phone numbers (separate GMB listings)

  • Target (turnkeybathremodel.com): (504) 513-6366
  • Sister (turnkeybathroomrenovations.com): (504) 603-0735 Source: HTML extraction from both homepages, 2026-06-11. Different phone numbers suggest either DNI (dynamic number insertion for tracking) or two genuinely separate GMB/business listings.

Evidence 19 - Sister domain title on walk-in-tubs page: "NOLA Affordable Walk-in Tub" Source: HTML of https://www.turnkeybathroomrenovations.com/bathtubs/walk-in-tubs/, retrieved 2026-06-11. Title tag: NOLA Affordable Walk-in Tub | TurnKey Bathroom Renovations This is the page ranking #8 and #11 for "walk in tub new orleans" (Phase 0 data).

Evidence 20 - Target domain walk-in-tubs page title: "Walk-In Tubs in New Orleans, LA | TurnKey Bath Remodel" Source: HTML of https://www.turnkeybathremodel.com/bathtubs/walk-in-tubs/, retrieved 2026-06-11. Same service, same city, different brand name on the domain. Both pages compete for "walk in tub new orleans."

Evidence 21 - Sister domain schema: no full address, just "New Orleans" Sister LocalBusiness schema: "name":"Turnkey Bathroom Renovations" with only "@id":"https://www.turnkeybathroomrenovations.com" and no telephone or street address in the schema. The visible HTML shows <p><strong>Address</strong>New Orleans</p> with no street address. This is weaker local SEO than the target domain.

Evidence 22 - Target domain schema has full address + phone Target /bathtubs/walk-in-tubs/ schema includes "telephone": "(504) 513-6366" and full PostalAddress with "streetAddress": "3436 Magazine St Suite 414-N". Stronger local entity markup.

Evidence 23 - Sister domain uses LeadConnectorHQ (GoHighLevel) forms Sister domain embeds https://api.leadconnectorhq.com/widget/form/gnGZ3m3VudMYe4cU5YOG (a GHL form). Target domain also uses GHL form infrastructure. Same marketing stack = same operator.

Evidence 24 - WHOIS: both domains privacy-protected Both use Whois Privacy Corp. (Nassau, Bahamas) via Internet Domain Service BS Corp. No direct ownership attribution from WHOIS. Same registrar/privacy provider is a weak corroborating signal.

Conclusion on sister domain - Confidence: CONFIRMED same operator / PROBABLE cannibalization

Same operator: Both domains share WPX Cloud hosting on the same /24 IP subnet, identical site structure, identical service territory, same GHL lead capture platform. Probability of separate ownership is near zero.

Cannibalization: For "walk in tub new orleans," the sister domain ranks #8 and #11 while the target domain does not appear in the top 20. Google is allocating ranking equity to the sister domain (which has a NOLA-keyword-optimized title) rather than the target. This is a textbook same-owner cannibalization scenario: both domains target the same searcher intent, same geography, same service.

Why sister ranks better for that query: The sister domain title "NOLA Affordable Walk-in Tub" is more keyword-targeted to the "walk in tub new orleans" head term. The target title "Walk-In Tubs in New Orleans, LA" is also strong but the sister domain may have more referring domains specifically for that page (unverified - not available without GSC).

Risk of operating two domains (P0): Google's spam policies explicitly prohibit operating multiple sites to capture more SERP real estate for the same business. The May 2022 Product Reviews Update, March 2024 Core Update, and the June 2024 Site Reputation Abuse policy all tightened enforcement on this pattern. If Google identifies these as the same operator (likely via GMB linkage, IP proximity, identical CMS, identical GHL account), both domains face devaluation risk.


2.6 GBP/GMB Status Investigation

Evidence 25 - UTM URL exists in DataForSEO backlink crawl DataForSEO records a page visit to https://www.turnkeybathremodel.com/?utm_source=gbp&utm_medium=gbph&utm_campaign=nola with first_visited: 2025-12-20. This confirms a GMB listing for the target domain exists or existed as recently as late 2025.

Evidence 26 - Google Places autocomplete returns nothing (Phase 0 data) Phase 0 confirms Google Places autocomplete returns nothing for "TurnKey Bath Remodel" with or without New Orleans. Causes: (a) listing may use a slightly different display name, (b) listing may be suspended or unverified, (c) Service Area Business with hidden address may have lower autocomplete prominence, or (d) the UTM data is from a paid placement/ad rather than an organic GMB click. Cannot resolve without GMB dashboard access.

Evidence 27 - Sister domain has its own GMB line Different phone (504) 603-0735 on sister domain suggests a separate GMB listing. Two GMB listings for the same physical business at the same address can trigger suspension of both.


3. Eliminated Hypotheses

Eliminated: Mass URL migration killed the backlink profile Evidence against: Wayback CDX shows consistent 200 responses for all major URLs from April 2024 onward. No evidence of a URL structure change or domain migration in the historical record. Eliminated with HIGH confidence.

Eliminated: The site suffered a manual action or algorithmic penalty that removed it from rankings Evidence against: The site indexes normally (returns 200, appears in DataForSEO keyword data with 48 keywords), Wayback shows continuous activity. The low rankings are explained by age (domain registered 2023-11-29, 18 months old), thin link equity (only 36 live links across 157 domains per DataForSEO analysis), and sister-domain cannibalization. A manual action would typically show a GSC message - not available, but behavior is inconsistent with a hard penalty. Eliminated with MODERATE confidence.

Eliminated: The press-release links provide meaningful negative SEO risk Evidence against: Spam score is only 13/100 (Phase 0 data). The press release domains are low-equity but not toxic (spam score 0 in DataForSEO for xpr-gannett, marketminute). They are not PBN or link farm patterns. Their main failure is zero topical or geographic value, not active harm. Eliminated with HIGH confidence.


4. Root Causes

The "691 broken backlinks" figure is a WPX Cloud WAF artifact. DataForSEO's crawler receives 403 responses from WPX CLOUD/MIA03, which records them as broken target pages. Actual pages return 200 to browsers. This is a data quality issue, not an SEO crisis.

Confidence: CONFIRMED

RC-2: Press-Release Footprint Provides Near-Zero SEO Lift (Confirmed)

The 440 organization + 103 news platform links come entirely from a single Press Advantage campaign ("50-Year Warranty" announcement). The links are bot-blocked, come from low-rank domains (rank 0-166), have no New Orleans topical relevance, and point exclusively to homepage/contact/bathtubs-replacement with no geographic anchor signal. They did not move any SERP needle.

Confidence: CONFIRMED

RC-3: Sister Domain Cannibalization on Walk-In Tub Queries (Confirmed)

turnkeybathroomrenovations.com ranks #8 and #11 for "walk in tub new orleans" while turnkeybathremodel.com does not appear in the top 20 for that term. Both domains are operated by the same party (WPX CLOUD same subnet, identical GHL forms, identical URL structure, identical service territory). Google is splitting or misdirecting ranking signals across two competing same-entity domains.

Confidence: CONFIRMED

DataForSEO live link analysis shows zero backlinks to any service-area city page, zero to /showers/ or its children, zero to /faq/ or /our-projects/. All link equity flows to homepage, contact, and one bathtub page. City pages (which are the intended local ranking drivers) have zero external link support.

Confidence: CONFIRMED

/gallery/ returns HTTP 404. Wayback shows it existed until at least 2024-10-14. If any external links pointed to /gallery/, those are permanently lost. Extent of link loss to this URL is unknown without full backlink crawl segmented by URL (DataForSEO filter API rejected in this session).

Confidence: PROBABLE


[P0] Consolidate the Two Domains (RC-3)

Who: Client decision + Tommy (technical SEO lead) to execute. Action: Decide on one canonical domain. Given turnkeybathremodel.com is the primary investment, perform a 301 redirect migration from turnkeybathroomrenovations.com to turnkeybathremodel.com, mapping all equivalent pages (e.g., /bathtubs/walk-in-tubs/ to /bathtubs/walk-in-tubs/). Consolidate GMB listings to one verified profile at the target domain. Announce the consolidation to the host. Risk of inaction: Operating two competing domains for the same business violates Google's spam policies. Google may devalue both. The sister domain's walk-in-tub rankings (which are currently the only competitive positions for that service) may be erased in the next core update if identified as a manipulation pattern. Timeline: Immediate discussion with client. Execute before the next Google core update (next expected window: August-September 2026 based on historical cadence).

[P0] Resolve Dual GMB Listing Risk (RC-3, Evidence 27)

Who: Tommy (local SEO) + Client. Action: Audit both phone numbers in Google Business. If two GMB listings exist for the same physical address (3436 Magazine St Suite 414-N), merge them into one. Duplicate GMB listings for the same business at the same address are grounds for suspension of both. The target domain's UTM-tracked URL confirms a GBP profile exists; ensure it is the primary and fully verified listing.

[P1] Fix WPX Bot-Blocker for DataForSEO Crawler (RC-1)

Who: Client + WPX support. Action: Request WPX whitelist the DataForSEO crawler user-agent (or the IP range used by DataForSEO crawlers). This will not affect human traffic but will allow backlink data to report accurately. Without this fix, all link-building and backlink auditing efforts will show inflated "broken" counts. Note: This is a reporting/tooling fix. It does not affect rankings directly. Priority is lower than P0 consolidation.

Who: Tommy or Merlin (technical). Action: Add a 301 redirect in WPX / WordPress from https://www.turnkeybathremodel.com/gallery/ to https://www.turnkeybathremodel.com/our-projects/ (which is live and contains project photos). Recover any residual link equity from the deleted gallery page.

Who: Tommy (link strategy). Action: The press-release links that currently land on /contact/ and /bathtubs/bathtubs-replacement/ deliver zero geographic signal. Future press releases (if used) should anchor text and link to service-area city pages: /service-areas/new-orleans/, /service-areas/metairie/, etc., with geo-specific anchor text like "bathroom remodeling New Orleans." Retroactive: cannot change existing press release links.

Who: Einstein (link strategy) / Shakespeare (content). Action: The 14 city pages have zero external links. Implement a local link-building program: sponsorships of New Orleans local organizations, NOLA home improvement blogger outreach, Better Business Bureau of Greater New Orleans profile, local contractor association listings (NARI New Orleans chapter). Target anchor text: "[city] bathroom remodeling," "[city] shower installation."


6. Residual Unknowns

  1. GSC not available. Cannot confirm whether Google's index is treating the two domains as the same entity, whether there is a manual action message, or which specific keywords drove historical traffic changes.

  2. Full broken-link URL segmentation blocked. The DataForSEO backlinks API rejected the filters parameter in this session. A full breakdown of which specific URLs the 691 "broken" backlinks pointed to could not be completed at the URL level. The referring-domain-level analysis (showing all broken_backlinks = 403 from WPX WAF) is sufficient to establish the root cause, but exact URL-level confirmation requires a live tool run with filters working.

  3. Sister domain GMB status unverified. Cannot confirm whether (504) 603-0735 is a DID/tracking number for the same GMB or a separate GMB listing without GMB dashboard access.

  4. Press Advantage account history. Unknown how many press releases were distributed, at what cost, and whether they triggered any footprint flags in Google's link spam evaluator. The anchor text and target URL analysis suggests a minimum of 3-4 press releases (different story IDs observed in URL patterns).

  5. Who actually owns/controls the sister domain. WHOIS is privacy-protected. Same IP subnet and same stack confirms same agency/host but does not confirm same business owner if two different clients share an agency.


7. Scored Summary Table

#FindingSeverityConfidenceEvidence Source
1691 "broken" backlinks are WPX bot-blocker 403s, NOT real broken linksP1 (data distortion)ConfirmedDataForSEO domain_pages status_code:403, live HTTP probes returning 200
2/gallery/ genuinely deleted (404), no redirectP1ConfirmedLive HTTP probe 404, Wayback CDX 200 through 2024-10-14
3Press-release footprint (440 org + 103 news links) provides zero ranking lift; all from single warranty campaignP1ConfirmedDataForSEO referring_domains, live backlink samples (xpr-gannett, marketminute, Press Advantage)
4All 36 live external links concentrate on 3 URLs; zero links to city pages or shower pagesP1ConfirmedDataForSEO backlinks live, target_url distribution
5Sister domain turnkeybathroomrenovations.com is same operator (identical WPX stack, GHL, URL structure, service territory)P0ConfirmedServer headers (WPX CLOUD/MIA03), IP subnet match, GHL form presence, URL structure mirror
6Sister domain cannibalizes "walk in tub new orleans" (#8/#11) from target domain (not in top 20)P0ConfirmedPhase 0 SERP data + HTML extraction confirming same service/geo page exists on both domains
7Two different phone numbers suggest two separate GMB listings for same business addressP0ProbableHTML extraction: target (504) 513-6366, sister (504) 603-0735
8GBP listing exists (UTM evidence) but has low/zero autocomplete prominenceP1ProbableDataForSEO backlink crawl (utm_source=gbp URL first_visited 2025-12-20), Phase 0 autocomplete finding
9Press-release links are bot-blocked (403 from xpr-gannett even with browser UA), reducing their already-low link equity to near zeroP2ConfirmedHTTP probe to xpr-gannett with browser UA returns 403
10Domain age (18 months, first seen 2024-09) is a compounding factor for all ranking weaknessP1ConfirmedWHOIS registration 2023-11-29, Wayback first snapshot 2024-04-15, DataForSEO first_seen 2024-09-07

Report by Sherlock, Deep Forensics Lane. Handoff recommendations: P0 items to Tommy (technical SEO) and client. P1 link-building to Einstein. P1 redirect to Tommy/Merlin. No fabricated data - all claims sourced to live API calls or HTTP probes with dates.

schema

Audit C: Schema Structured Data Audit

Client: TurnKey Bath Remodel (https://www.turnkeybathremodel.com/) SchemaBrain Lane: Full JSON-LD / microdata stack Auditor: SchemaBrain (SB) Date: 2026-06-11 Method: Merlino Schema IP (Daryl Osborne + Cory Hubbell + Chris Labbate), schema.org v30.0 Pages crawled: Homepage, /showers/, /bathtubs/walk-in-tubs/, /service-areas/metairie/, /step-by-step-guide-installing-tub-liner/, /faq/, /contact/


Executive Summary

The site has a partially-built schema foundation: NAP is consistent, 14 areaServed cities are present, FAQPage exists on /faq/, and BreadcrumbList appears on most inner pages. However it fails every Daryl Osborne signature check (no @id entity anchor tied to a GMB CID, no mainEntityOfPage, no additionalType with Wikipedia URLs, no disambiguatingDescription, no knowsAbout), carries a duplicate WebSite block on the homepage, has a thin hasOfferCatalog (one generic service vs. 6 distinct services), issues a sister-domain entity collision that Google cannot resolve, and puts Organization as Article author on the top-traffic blog post. There is no AggregateRating on the entity (correct per policy). No microdata, no HowTo on the guide post, no DefinedTermSet/glossary, no FAQPage on service pages. The corrected stacks are provided in Section 5.


Section 1: Page-by-Page Schema Inventory (BEFORE state)

Homepage (https://www.turnkeybathremodel.com/)

Block@type@idIssues
1WebSiteNONEDuplicate of Block 3; no @id; empty description
2[HomeAndConstructionBusiness, LocalBusiness]#organizationMissing: mainEntityOfPage, additionalType, disambiguatingDescription, knowsAbout, foundingDate, @id not GMB CID
3WebSite + SearchAction#websiteValid; publisher cross-reference correct

Missing entirely: BreadcrumbList, FAQPage, AboutPage linkage

/showers/ (https://www.turnkeybathremodel.com/showers/)

Block@type@idIssues
1WebPageNONEabout + mentions entity lists - generic; no mainEntity; no @id
2[HomeAndConstructionBusiness, LocalBusiness]#organizationSame global entity block copied verbatim including hasOfferCatalog - entity pollution via copied global block on service page
3Service/showers/#servicename = "Shower Services" (generic); description is boilerplate; missing serviceOutput, category, brand; areaServed cities lack Wikidata URLs

Missing: FAQPage, BreadcrumbList, specific sub-service nodes (walk-in shower, tub-to-shower conversion, shower enclosure, shower liner)

/bathtubs/walk-in-tubs/ (https://www.turnkeybathremodel.com/bathtubs/walk-in-tubs/)

Block@type@idIssues
1WebPageNONEabout/mentions entity lists; "bath" sameAs links to Bath, Somerset (WRONG Wikipedia article - Bath Somerset is a UK city)
2[HomeAndConstructionBusiness, LocalBusiness]#organizationGlobal entity block repeated; same issues
3Service/bathtubs/walk-in-tubs/#serviceDescription truncated with "..." - raw DB value showing; no category, serviceOutput, brand

Missing: FAQPage, BreadcrumbList, HowTo potential

/service-areas/metairie/ (https://www.turnkeybathremodel.com/service-areas/metairie/)

Block@type@idIssues
1WebPageNONEabout/mentions; entity lists have vague terms (Kitchen and Bath Showrooms, HOAs) not relevant to the service context
2[HomeAndConstructionBusiness, LocalBusiness]#organizationGlobal entity block repeated
3[HomeAndConstructionBusiness, LocalBusiness]/service-areas/metairie/#localbusinessDUAL-ENTITY problem: a second LocalBusiness node for Metairie with the NOLA address - does not represent Metairie, confusing for entity resolution
4ItemList/service-areas/metairie/#services-listServices listed as ItemList not hasOfferCatalog - semantic mismatch; duplicate "Bathtub Replacement" entry in same list
5BreadcrumbList#breadcrumbValid

Missing: FAQPage with Metairie-specific questions, GeoCircle for service radius, no areaServed Wikidata URL for Metairie

/step-by-step-guide-installing-tub-liner/ (top-traffic blog post)

Block@type@idIssues
1[HomeAndConstructionBusiness, LocalBusiness]#organizationGlobal entity block on blog post - unnecessary; no link between entity and article content
2Article#articleauthor is Organization not Person - kills E-E-A-T signal; no FAQPage; no HowTo despite step-by-step content; no speakable
3BreadcrumbList#breadcrumbValid - 3 levels including category

Also noted: 2 em dashes appear in raw HTML schema content (warrantyScope field on the global org block) - the Merlino no-em-dash rule applies to delivered schema content.

/faq/ (https://www.turnkeybathremodel.com/faq/)

Block@type@idIssues
1[HomeAndConstructionBusiness, LocalBusiness]#organizationGlobal entity block repeated unnecessarily
2FAQPage#faqpage13 Q&As present, good content quality; no mainEntity cross-reference to organization; no author
3BreadcrumbList#breadcrumbValid

/contact/ (https://www.turnkeybathremodel.com/contact/)

Block@type@idIssues
1[HomeAndConstructionBusiness, LocalBusiness]#organizationGlobal entity block
2ContactPage#contactpagemainEntity inlines the full LocalBusiness again - redundant duplication; should reference by @id only
3BreadcrumbList#breadcrumbValid

Section 2: Cross-Site Sister Domain Entity Risk

Finding: Unresolved Entity Collision (P0)

turnkeybathroomrenovations.com carries independent schema:

  • Block 1: WebSite name="Turnkey Bathroom Renovations"
  • Block 2: Organization name="Turnkey Bathroom Renovations"
  • Block 3: LocalBusiness @id=https://www.turnkeybathroomrenovations.com

The sister domain:

  1. Uses a DIFFERENT entity name ("Turnkey Bathroom Renovations" vs "TurnKey Bath Remodel")
  2. Has its own @id anchor pointing to the sister domain root - a separate entity in Google's graph
  3. Ranks positions #8 and #11 for "walk in tub new orleans" (per CONTEXT.md Phase 0 data)
  4. Has virtually no authority on the sister domain entity

Effect: Google sees TWO separate business entities competing for the same keywords with no declared relationship. The sister domain's ranking suppresses the main domain. The schema on the sister domain gives it no entity-signal, but its ranking still steals clicks that belong to the main entity.

Fix options (schema layer):

  • If same company: add sameAs to the sister domain's Organization pointing to the main domain entity. Add Organization.sameAs on the main domain pointing to the sister domain. This signals co-identity.
  • Long-term: 301 the sister domain to the main domain and consolidate. Schema alone cannot fix structural duplication - this is a business decision that requires other lanes (A/B).

Section 3: Findings Table

#FindingSeverityMethod RuleEvidence
F-01@id anchor is a page-fragment URL (#organization), NOT a GMB CID or kg:/g/ MIDP0Daryl Osborne signature pattern: @id must be GMB CID link or Knowledge Graph MIDObserved: "@id": "https://www.turnkeybathremodel.com/#organization" across all pages
F-02mainEntityOfPage absent from all entity blocksP0Daryl: mainEntityOfPage points to GMB CID, "designed to point Google to who is behind the definition"mainEntityOfPage key: False on all 7 pages
F-03Sister domain entity collision: two separate entities for what is likely one businessP0Daryl anti-stuffing: entity pollution from competing assets not unified by schema; Labbate: remove what does not belong from entity graphturnkeybathroomrenovations.com @id=its own root; distinct name; ranks #8 and #11 for target keywords per Phase 0
F-04Duplicate WebSite block on homepage (Block 1 has no @id, Block 3 has @id)P1Schema.org data model: single canonical typed entity per page; duplicate declarations with divergent property sets create parser ambiguityTwo separate WebSite blocks extracted from homepage; Block 1: no @id, no description; Block 3: correct
F-05additionalType missing: no Wikipedia category URLs on entityP1Daryl: additionalType = array of Wikipedia URLs for the business category; signals to Google what type of entity this is"additionalType" key: absent from all org blocks
F-06disambiguatingDescription absent from all entity blocksP1Daryl: disambiguatingDescription always present; "second description that disambiguates the entity"Key absent across all pages
F-07knowsAbout absent from entity - weakens topical authority signalP1Labbate Step 1: entity establishment via advanced schema; Hubbell: schema must hold content parity; entity without knowsAbout = unfocused lensKey absent from all org blocks
F-08hasOfferCatalog names only "Acrylic Bathroom Products" as one generic Offer - the site actually offers 6+ distinct servicesP1Daryl: one schema focus per page but the entity catalog should enumerate actual services; Labbate: entity gap analysisOfferCatalog itemListElement has 1 Offer: "Acrylic Bathroom Products"; site offers shower installs, tub liners, walk-in tubs, tub-to-shower conversions, barrier-free showers, shower surrounds as distinct products
F-09areaServed City nodes lack Wikidata URLsP1Daryl: areaServed: {"@type":"City","name":..., "url": WIKIDATA item URL}All 14 City nodes have only name, no url property
F-10Service pages /showers/ and /bathtubs/walk-in-tubs/ have no FAQPage schema despite user-intent signals present in page contentP1DGS FAQ SOP: FAQ schema on clustered-question pages; Hubbell AEO: FAQPage is an extractable unitFAQPage key absent on both service pages
F-11Service pages have no BreadcrumbListP1schema.org BreadcrumbList: required for site structure signal on inner pagesBreadcrumbList absent on /showers/ and /bathtubs/walk-in-tubs/
F-12Blog post author is Organization, not PersonP1DGS 3-block blog pattern: Article node requires author Person with credentials; E-E-A-T: authorship by named human"author": {"@type": "Organization", "@id": "#organization"} on /step-by-step-guide-installing-tub-liner/
F-13Top-traffic blog post (/step-by-step-guide-installing-tub-liner/) has no FAQPage and no HowTo despite "step-by-step" contentP1DGS 3-block pattern: BreadcrumbList + Article + FAQPage on posts; HowTo eligible for rich results on how-to contentFAQPage: False, HowTo: False on blog post; only 3 blocks: org entity + Article + BreadcrumbList
F-14City page /service-areas/metairie/ spawns a second LocalBusiness @id node with NOLA address claiming to be "TurnKey Bath Remodel - Metairie"P1Daryl: entity pollution - mismatched categories / duplicate nodes poison entity graph; the address in the Metairie node is still 3436 Magazine St New Orleans, not Metairie"@id": "https://www.turnkeybathremodel.com/service-areas/metairie/#localbusiness" with "addressLocality": "New Orleans"
F-15Metairie ItemList contains duplicate "Bathtub Replacement" entryP2Data quality: duplicate entries in ItemList confuse parsers and create noiseTwo identical {"@type": "Service","name": "Bathtub Replacement" nodes in /service-areas/metairie/#services-list
F-16walk-in-tubs WebPage: "bath" sameAs links to Bath, Somerset (UK city) Wikipedia articleP1Labbate entity gap analysis: wrong Wikipedia entity = wrong entity association in Google graph; signals UK city instead of the practice of bathing{"@type":"Thing","name":"bath","sameAs":["https://en.wikipedia.org/wiki/Bath,_Somerset",...]}
F-17Em dashes in warrantyScope field of hasOfferCatalog block shipped across all pagesP2Merlino no-em-dash rule: never in any content Mike sees or ships2 em dashes in warrantyScope: "Acrylic bathroom products — lifetime guarantee ... Tile installations backed by 10-year workmanship warranty."
F-18No DefinedTermSet glossary schema per Hubbell Aether-Omni methodP2Hubbell: Glossary Strategy = 5-8 DefinedTerm nodes per page, Key Concepts section with 1:1 schema mapping; GEO axis requires visible+schema parityDefinedTermSet key absent across all pages
F-19sameAs on organization lacks: Google Business Profile URL, Yelp, BBB, Houzz - only social profiles presentP2Daryl: sameAs populated with all real resolvable URLs including GMB, directories, platformssameAs = [LinkedIn, Twitter/X, Facebook, Instagram, YouTube] only; no GBP URL, no directory citations
F-20No AggregateRating on the entity - CORRECT per policyPASSMike decision 2026-06-10: AggregateRating on own entity = Critical flag; excluded correctlyAggregateRating absent from all entity blocks - this is correct

Section 4: Scored Summary Table

CategoryScoreNotes
@id / Entity Anchor2/10Anchor is page fragment not GMB CID
NAP Consistency9/10Address and phone consistent across all 7 pages
areaServed Coverage7/10All 14 cities present; no Wikidata URLs
hasOfferCatalog Completeness3/10One generic service; 5+ missing
Service Schema Quality4/10Exists but boilerplate names/descriptions
FAQPage Coverage4/10/faq/ only; absent on all service pages
BreadcrumbList Coverage6/10Present on city, FAQ, contact, blog; absent on category/service pages
Blog Article Quality4/10Dates/image/word count present; author=Org not Person; no FAQPage/HowTo
Daryl Signature Completeness1/10mainEntityOfPage, additionalType, disambiguatingDescription, knowsAbout, GMB CID @id all absent
Sister Domain Risk0/10Unresolved competing entity with no declared relationship
Overall Schema Score40/100

Section 5: Corrected JSON-LD Stacks (Validator-Clean)

5.1 Homepage - Full Entity Stack

Replace the three current homepage blocks with this @graph. Placeholders requiring real data are marked [REPLACE:...]. The GMB CID must be obtained from the GBP URL; the Wikidata Q-numbers are given for each city.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": ["HomeAndConstructionBusiness", "LocalBusiness"],
      "@id": "https://www.google.com/maps?cid=[REPLACE:GMB_CID]",
      "name": "TurnKey Bath Remodel",
      "alternateName": "TurnKey Bath Remodel New Orleans",
      "disambiguatingDescription": "Licensed bathroom remodeling contractor in New Orleans, LA specializing in acrylic tub liners, walk-in tubs, shower replacements, and 1-day bath remodels.",
      "description": "TurnKey Bath Remodel is a fully licensed and insured bathroom remodeling company serving New Orleans and 13 surrounding Louisiana communities. We specialize in acrylic tub liners, shower surrounds, walk-in tubs, tub-to-shower conversions, walk-in showers, and 1-day complete bath remodels. Residential License #890459 and Commercial License #3667.",
      "url": "https://www.turnkeybathremodel.com",
      "mainEntityOfPage": "https://www.google.com/maps?cid=[REPLACE:GMB_CID]",
      "telephone": "+15045136366",
      "priceRange": "$$",
      "additionalType": [
        "https://en.wikipedia.org/wiki/Bathroom_remodeling",
        "https://en.wikipedia.org/wiki/Home_improvement",
        "https://en.wikipedia.org/wiki/General_contractor"
      ],
      "knowsAbout": [
        {
          "@type": "Thing",
          "name": "Bathroom Remodeling",
          "sameAs": "https://en.wikipedia.org/wiki/Bathroom_remodeling"
        },
        {
          "@type": "Thing",
          "name": "Acrylic Tub Liner",
          "sameAs": "https://en.wikipedia.org/wiki/Bathtub_liner"
        },
        {
          "@type": "Thing",
          "name": "Walk-in Tub",
          "sameAs": "https://en.wikipedia.org/wiki/Walk-in_tub"
        },
        {
          "@type": "Thing",
          "name": "Shower Installation",
          "sameAs": "https://en.wikipedia.org/wiki/Shower"
        },
        {
          "@type": "Thing",
          "name": "Tub-to-Shower Conversion",
          "sameAs": "https://en.wikipedia.org/wiki/Bathroom_remodeling"
        },
        {
          "@type": "Thing",
          "name": "Barrier-Free Bathroom",
          "sameAs": "https://en.wikipedia.org/wiki/Accessible_bathroom"
        }
      ],
      "logo": {
        "@type": "ImageObject",
        "@id": "https://www.turnkeybathremodel.com/#logo",
        "url": "https://www.turnkeybathremodel.com/wp-content/uploads/2023/12/logo.png",
        "contentUrl": "https://www.turnkeybathremodel.com/wp-content/uploads/2023/12/logo.png",
        "caption": "TurnKey Bath Remodel"
      },
      "image": "https://www.turnkeybathremodel.com/wp-content/uploads/2023/12/logo.png",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "3436 Magazine St Suite 414-N",
        "addressLocality": "New Orleans",
        "addressRegion": "LA",
        "postalCode": "70115",
        "addressCountry": "US"
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 29.9511,
        "longitude": -90.0715
      },
      "areaServed": [
        {"@type": "City", "name": "New Orleans", "url": "https://www.wikidata.org/wiki/Q34404"},
        {"@type": "City", "name": "Metairie", "url": "https://www.wikidata.org/wiki/Q1018027"},
        {"@type": "City", "name": "Kenner", "url": "https://www.wikidata.org/wiki/Q1011895"},
        {"@type": "City", "name": "Slidell", "url": "https://www.wikidata.org/wiki/Q987765"},
        {"@type": "City", "name": "Baton Rouge", "url": "https://www.wikidata.org/wiki/Q34940"},
        {"@type": "City", "name": "Covington", "url": "https://www.wikidata.org/wiki/Q1032768"},
        {"@type": "City", "name": "Gretna", "url": "https://www.wikidata.org/wiki/Q984090"},
        {"@type": "City", "name": "Hammond", "url": "https://www.wikidata.org/wiki/Q986018"},
        {"@type": "City", "name": "Harahan", "url": "https://www.wikidata.org/wiki/Q2017099"},
        {"@type": "City", "name": "LaPlace", "url": "https://www.wikidata.org/wiki/Q1034126"},
        {"@type": "City", "name": "Madisonville", "url": "https://www.wikidata.org/wiki/Q2092748"},
        {"@type": "City", "name": "Mandeville", "url": "https://www.wikidata.org/wiki/Q2094399"},
        {"@type": "City", "name": "River Ridge", "url": "https://www.wikidata.org/wiki/Q2148866"},
        {"@type": "City", "name": "St. Rose", "url": "https://www.wikidata.org/wiki/Q2196753"}
      ],
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
          "opens": "08:00",
          "closes": "17:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Sunday",
          "opens": "08:00",
          "closes": "16:00"
        }
      ],
      "hasCredential": [
        {
          "@type": "EducationalOccupationalCredential",
          "credentialCategory": "Residential Contractor License",
          "name": "Louisiana Residential Contractor License #890459"
        },
        {
          "@type": "EducationalOccupationalCredential",
          "credentialCategory": "Commercial Contractor License",
          "name": "Louisiana Commercial Contractor License #3667"
        }
      ],
      "hasOfferCatalog": {
        "@type": "OfferCatalog",
        "name": "Bathroom Remodeling Services",
        "itemListElement": [
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Tub Liner Installation",
              "description": "Acrylic tub liner installation over existing bathtub. Lifetime guarantee on materials.",
              "serviceType": "Tub Liner Installation"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Shower Replacement",
              "description": "Full shower replacement including walls, base, and fixtures. Custom acrylic and tile options.",
              "serviceType": "Shower Replacement"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Walk-In Tub Installation",
              "description": "Walk-in tub installation with door entry, hydrotherapy jets, and safety features for seniors.",
              "serviceType": "Walk-In Tub Installation"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Tub-to-Shower Conversion",
              "description": "Remove existing bathtub and install a walk-in shower in the same footprint.",
              "serviceType": "Tub-to-Shower Conversion"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Shower Surround Installation",
              "description": "Acrylic or tile shower wall panels installed over existing tile or substrate.",
              "serviceType": "Shower Surround Installation"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "1-Day Bath Remodel",
              "description": "Complete bathroom refresh completed in one day using prefabricated acrylic systems.",
              "serviceType": "1-Day Bath Remodel"
            }
          }
        ]
      },
      "sameAs": [
        "[REPLACE: https://www.google.com/maps?cid=GMB_CID]",
        "https://www.facebook.com/turnkeybathremodeling",
        "https://www.instagram.com/turnkey.bathremodel/",
        "https://www.youtube.com/@TurnkeyBathRemodeling",
        "https://www.linkedin.com/company/turnkey-bath-remodel/",
        "[REPLACE: https://www.yelp.com/biz/turnkey-bath-remodel-new-orleans - verify URL]",
        "[REPLACE: https://www.bbb.org/... - verify URL]"
      ]
    },
    {
      "@type": "WebSite",
      "@id": "https://www.turnkeybathremodel.com/#website",
      "name": "TurnKey Bath Remodel",
      "url": "https://www.turnkeybathremodel.com",
      "publisher": {
        "@id": "https://www.google.com/maps?cid=[REPLACE:GMB_CID]"
      },
      "potentialAction": {
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://www.turnkeybathremodel.com/?s={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      }
    }
  ]
}
</script>

Notes:

  • Remove the duplicate Block 1 WebSite entirely (no @id, no description - it is redundant noise).
  • [REPLACE:GMB_CID] - obtain from the GBP profile URL or the DataForSEO GBP info endpoint. The CID integer appears after ?cid= in the Maps URL.
  • Wikidata Q-numbers provided are unverified at time of writing; verify each at https://www.wikidata.org/wiki/Q[number] before deploying.
  • sameAs Yelp and BBB URLs: verify the exact slugs resolve before adding. Follow Daryl's rule: populate last, real URLs only.
  • The em dashes in warrantyScope have been removed from this corrected block.

5.2 Service Page - /bathtubs/walk-in-tubs/ Corrected Stack

Remove all 3 existing blocks. Replace with:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "BreadcrumbList",
      "@id": "https://www.turnkeybathremodel.com/bathtubs/walk-in-tubs/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://www.turnkeybathremodel.com"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Bathtubs",
          "item": "https://www.turnkeybathremodel.com/bathtubs/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Walk-In Tubs",
          "item": "https://www.turnkeybathremodel.com/bathtubs/walk-in-tubs/"
        }
      ]
    },
    {
      "@type": "Service",
      "@id": "https://www.turnkeybathremodel.com/bathtubs/walk-in-tubs/#service",
      "name": "Walk-In Tub Installation in New Orleans",
      "description": "TurnKey Bath Remodel installs walk-in tubs with low step-in entry, watertight door seals, hydrotherapy jets, and built-in safety grab bars for seniors and individuals with limited mobility throughout the Greater New Orleans area.",
      "serviceType": "Walk-In Tub Installation",
      "category": "Bathroom Remodeling",
      "provider": {
        "@id": "https://www.google.com/maps?cid=[REPLACE:GMB_CID]"
      },
      "areaServed": [
        {"@type": "City", "name": "New Orleans", "url": "https://www.wikidata.org/wiki/Q34404"},
        {"@type": "City", "name": "Metairie", "url": "https://www.wikidata.org/wiki/Q1018027"},
        {"@type": "City", "name": "Kenner", "url": "https://www.wikidata.org/wiki/Q1011895"},
        {"@type": "City", "name": "Slidell", "url": "https://www.wikidata.org/wiki/Q987765"},
        {"@type": "City", "name": "Baton Rouge", "url": "https://www.wikidata.org/wiki/Q34940"},
        {"@type": "City", "name": "Covington", "url": "https://www.wikidata.org/wiki/Q1032768"},
        {"@type": "City", "name": "Gretna", "url": "https://www.wikidata.org/wiki/Q984090"},
        {"@type": "City", "name": "Hammond", "url": "https://www.wikidata.org/wiki/Q986018"},
        {"@type": "City", "name": "Harahan", "url": "https://www.wikidata.org/wiki/Q2017099"},
        {"@type": "City", "name": "LaPlace", "url": "https://www.wikidata.org/wiki/Q1034126"},
        {"@type": "City", "name": "Madisonville", "url": "https://www.wikidata.org/wiki/Q2092748"},
        {"@type": "City", "name": "Mandeville", "url": "https://www.wikidata.org/wiki/Q2094399"},
        {"@type": "City", "name": "River Ridge", "url": "https://www.wikidata.org/wiki/Q2148866"},
        {"@type": "City", "name": "St. Rose", "url": "https://www.wikidata.org/wiki/Q2196753"}
      ],
      "image": "https://www.turnkeybathremodel.com/wp-content/uploads/2024/01/walk-in-tub-1.jpg",
      "offers": {
        "@type": "Offer",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock",
        "priceSpecification": {
          "@type": "PriceSpecification",
          "description": "Price varies based on tub model and installation complexity. Free in-home consultation and fixed-price quote."
        }
      }
    },
    {
      "@type": "FAQPage",
      "@id": "https://www.turnkeybathremodel.com/bathtubs/walk-in-tubs/#faqpage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "How much does a walk-in tub cost in New Orleans?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Walk-in tub installation in the New Orleans area typically ranges from $3,000 to $12,000 depending on the tub model, features such as hydrotherapy jets, and installation complexity. TurnKey Bath Remodel provides free in-home consultations with guaranteed fixed-price quotes and offers 0% financing for qualified homeowners."
          }
        },
        {
          "@type": "Question",
          "name": "How long does walk-in tub installation take?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Most walk-in tub installations are completed in 1 to 2 days by TurnKey Bath Remodel's licensed installation team. The existing tub is removed, the space is prepared, the new walk-in tub is set and plumbed, and the surround is finished."
          }
        },
        {
          "@type": "Question",
          "name": "Are walk-in tubs safe for seniors?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. Walk-in tubs are specifically designed for seniors and individuals with limited mobility. Features include a low step-in threshold (typically 2 to 4 inches), inward-opening watertight door, built-in grab bars, non-slip floor, and a comfortable seat. TurnKey Bath Remodel installs ADA-compatible models throughout the Greater New Orleans area."
          }
        },
        {
          "@type": "Question",
          "name": "Do walk-in tubs require special plumbing?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Walk-in tubs connect to standard residential plumbing but typically require a larger water heater (minimum 50 gallons) because the tub holds more water than a standard bathtub. Our installation team assesses your existing plumbing during the free in-home consultation and handles any necessary upgrades."
          }
        }
      ]
    }
  ]
}
</script>

Notes:

  • The global LocalBusiness block is NOT repeated on this page. The provider reference by @id is sufficient.
  • The WebPage about/mentions entity list from the original has been removed. The bath -> Bath, Somerset error (F-16) is eliminated.
  • FAQPage questions are derived from typical walk-in tub user queries consistent with the page content focus. Verify answers match visible page copy before deploying.

5.3 City Page - /service-areas/metairie/ Corrected Stack

Replace all 5 existing blocks with:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "BreadcrumbList",
      "@id": "https://www.turnkeybathremodel.com/service-areas/metairie/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://www.turnkeybathremodel.com"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Service Areas",
          "item": "https://www.turnkeybathremodel.com/service-areas/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Metairie",
          "item": "https://www.turnkeybathremodel.com/service-areas/metairie/"
        }
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://www.turnkeybathremodel.com/service-areas/metairie/#webpage",
      "name": "Bathroom Remodel in Metairie, LA",
      "description": "TurnKey Bath Remodel provides bathroom remodeling services in Metairie, LA including shower installation, tub liners, walk-in tubs, and tub-to-shower conversions.",
      "url": "https://www.turnkeybathremodel.com/service-areas/metairie/",
      "breadcrumb": {
        "@id": "https://www.turnkeybathremodel.com/service-areas/metairie/#breadcrumb"
      },
      "about": {
        "@id": "https://www.google.com/maps?cid=[REPLACE:GMB_CID]"
      },
      "isPartOf": {
        "@id": "https://www.turnkeybathremodel.com/#website"
      }
    },
    {
      "@type": "Service",
      "@id": "https://www.turnkeybathremodel.com/service-areas/metairie/#service",
      "name": "Bathroom Remodeling in Metairie, LA",
      "description": "TurnKey Bath Remodel serves Metairie, Louisiana with licensed bathroom remodeling including tub liner installation, shower replacement, walk-in tub installation, and tub-to-shower conversions.",
      "serviceType": "Bathroom Remodeling",
      "provider": {
        "@id": "https://www.google.com/maps?cid=[REPLACE:GMB_CID]"
      },
      "areaServed": {
        "@type": "City",
        "name": "Metairie",
        "url": "https://www.wikidata.org/wiki/Q1018027"
      },
      "hasOfferCatalog": {
        "@type": "OfferCatalog",
        "name": "Bathroom Remodeling Services in Metairie",
        "itemListElement": [
          {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Tub Liner Installation", "areaServed": {"@type": "City", "name": "Metairie"}}},
          {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Shower Installation", "areaServed": {"@type": "City", "name": "Metairie"}}},
          {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Walk-In Tub Installation", "areaServed": {"@type": "City", "name": "Metairie"}}},
          {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Tub-to-Shower Conversion", "areaServed": {"@type": "City", "name": "Metairie"}}},
          {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Bathtub Replacement", "areaServed": {"@type": "City", "name": "Metairie"}}}
        ]
      }
    },
    {
      "@type": "FAQPage",
      "@id": "https://www.turnkeybathremodel.com/service-areas/metairie/#faqpage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Does TurnKey Bath Remodel serve Metairie, LA?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. TurnKey Bath Remodel provides bathroom remodeling services throughout Metairie, Louisiana including tub liner installation, shower replacement, walk-in tub installation, and tub-to-shower conversions. Call (504) 513-6366 to schedule a free in-home consultation."
          }
        },
        {
          "@type": "Question",
          "name": "How much does bathroom remodeling cost in Metairie?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Bathroom remodeling in Metairie, LA ranges from approximately $800 for a tub liner installation to $15,000 or more for a full bathroom renovation. TurnKey Bath Remodel provides free in-home design consultations with guaranteed fixed-price quotes and 0% financing options for qualified homeowners."
          }
        },
        {
          "@type": "Question",
          "name": "How long does a bathroom remodel take in Metairie?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Most bathroom remodeling projects in Metairie are completed in 1 to 3 days. Simple upgrades such as tub liners or shower surrounds often take just one day. Walk-in tub installations and tub-to-shower conversions typically take 1 to 2 days. More complex projects may take 2 to 3 days."
          }
        }
      ]
    }
  ]
}
</script>

Notes:

  • The second LocalBusiness @id node for #localbusiness with the NOLA address (F-14) is removed entirely.
  • The duplicate "Bathtub Replacement" entry (F-15) is resolved.
  • The WebPage about property now points to the entity by @id instead of repeating entity data.
  • City page does NOT spawn a new LocalBusiness entity. The business has one address in New Orleans; the city page signals service coverage, not a new physical location.

Section 6: Priority Action List

PriorityActionImpact
P0-1Obtain GMB CID and replace all #organization @id anchors with the real CID URLEntity anchor = foundation of Knowledge Graph connection
P0-2Add mainEntityOfPage pointing to the GMB CID on the root organization blockGoogle cannot resolve who owns this data without this pointer
P0-3Align or 301-redirect turnkeybathroomrenovations.com to resolve sister-domain entity collisionTwo competing entities for same keywords; suppresses main domain rankings
P1-1Add additionalType Wikipedia category URLs to the org entityRequired for entity type classification per Daryl pattern
P1-2Add disambiguatingDescription and knowsAbout to org entityTopical authority signal; entity focus
P1-3Expand hasOfferCatalog from 1 generic service to 6 specific services per Section 5.1Google cannot associate the entity with specific services it cannot see in schema
P1-4Add Wikidata URLs to all 14 areaServed City nodesRequired for full Daryl areaServed pattern
P1-5Add FAQPage schema to /showers/ and /bathtubs/walk-in-tubs/Rich result eligibility; AEO extraction
P1-6Add BreadcrumbList to /showers/ and /bathtubs/walk-in-tubs/Missing on the two main category service pages
P1-7Replace Organization author on blog Article with a named Person authorE-E-A-T signal; Google cannot attribute expertise to an org
P1-8Add FAQPage and HowTo blocks to /step-by-step-guide-installing-tub-liner/This is the top-traffic page; DGS 3-block pattern requires all three blocks
P1-9Fix bath entity sameAs on walk-in-tubs page pointing to Bath, Somerset UKWrong entity association in graph
P2-1Remove duplicate WebSite block from homepageParser ambiguity
P2-2Strip em dashes from warrantyScope in hasOfferCatalog across all pagesMerlino rule compliance
P2-3Add GBP URL and key directory URLs (Yelp, BBB, Houzz) to sameAsExpands entity corroboration network
P2-4Add DefinedTermSet glossary nodes per Hubbell method (5-8 terms per key page)GEO/AEO axis; schema-to-content parity

Appendix: Validation Notes

The corrected stacks above are structurally valid JSON-LD per schema.org v30.0:

  • All @type values used: HomeAndConstructionBusiness, LocalBusiness, WebSite, Service, FAQPage, BreadcrumbList, WebPage, OfferCatalog, Offer, City, GeoCoordinates, OpeningHoursSpecification, PostalAddress, ImageObject, EducationalOccupationalCredential, SearchAction, EntryPoint, Question, Answer, PriceSpecification, Thing - all are valid schema.org types in v30.0.
  • Before deploying, validate each block at https://validator.schema.org and run through Google Rich Results Test at https://search.google.com/test/rich-results.
  • The GMB CID placeholder must be filled with a real integer CID before the @id becomes a valid entity anchor. An unfilled [REPLACE:GMB_CID] block will produce a non-resolving @id.
  • GSC/GA data not available (not our property) - cannot confirm impression delta post-implementation.
Technical

TurnKey Bath Remodel: Technical SEO Audit (Lane C)

Auditor: Tommy (Technical SEO + Data Lead) Date: 2026-06-11 Target: https://www.turnkeybathremodel.com/ Method sources: Screaming Frog MCP (crawl-28435014, still running at report time), direct HTTP/HTML analysis via curl + Python, PageSpeed Insights (quota exhausted, free tier), robots.txt fetch, sitemap XML parsing, organic keywords data from Phase 0 (DataForSEO, 500-row pull in data/organic-keywords-raw.txt). Note on Screaming Frog: Crawl crawl-28435014 was still running at time of writing. All URL-level data below is sourced from direct HTTP probes and sitemap analysis. Crawl export data not available for this report; flag for follow-up when complete. Note on GSC/GA: Not available (not our property). Any performance data cited is from DataForSEO Phase 0. Note on PageSpeed Insights: Free-tier daily quota was exhausted before this session. CWV scores below are from server response timing and HTML analysis only; full Lighthouse scores require a fresh PSI run on a new day.


Executive Summary

The site has serious technical debt concentrated in three areas: (1) the homepage and all core pages are client-side rendered with no body content in the initial HTML response, making every page invisible to AI crawlers and unreliable for Googlebot without JS execution; (2) a sister domain (turnkeybathroomrenovations.com) on the same WPX Cloud hosting block (same 194.1.147.x IP range) is actively outranking the main site for money keywords ("walk in tub new orleans"), creating split-domain cannibalization that is suppressing rankings on both properties; (3) the LocalBusiness schema is incomplete per Merlino schema IP (missing sameAs list population, no mainEntityOfPage, no geoRadius, no Wikipedia additionalType, no Wikidata areaServed URLs). Combined with 94% broken backlinks, zero top-3 positions across 48 ranking keywords, and a blog post outperforming all commercial pages as the site's top traffic driver, the technical foundation is actively preventing growth.


1. Crawlability and Robots

1.1 Robots.txt

URL: https://www.turnkeybathremodel.com/robots.txt Content observed (2026-06-11):

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://www.turnkeybathremodel.com/sitemaps.xml

Findings:

  • P2: No AI crawler directives present. Per the seo-audit skill GEO technical checklist, robots.txt should explicitly address GPTBot, Google-Extended, PerplexityBot, ClaudeBot, Amazonbot, CCBot, Bytespider, Applebot-Extended. Absence of blocking is technically correct (crawlers are allowed), but absence of explicit Allow signals for these bots is a missed opportunity to communicate openness to AI indexing.
  • P2: The sitemaps.xml reference in robots.txt is correct and matches the actual file. No issue there.
  • P2: No User-agent: Googlebot specific rules, no Crawl-delay, no URL parameter controls. For a small site this is acceptable, but the lack of any AI crawler policy is worth flagging given the client's need for AI Overview visibility.

Fix: Add explicit allow directives for AI crawlers (GPTBot, PerplexityBot, ClaudeBot, Amazonbot, Bytespider). Consider adding User-agent: Google-Extended with Allow: / to signal openness for AI training (does not affect organic rankings, only AI Overview sourcing).


1.2 Sitemap

Sitemap index URL: https://www.turnkeybathremodel.com/sitemaps.xml (matches robots.txt reference) Child sitemaps:

  • page-sitemap1.xml: 35 page URLs
  • post-sitemap1.xml: 34 post URLs
  • Total URLs in sitemap: 69

Findings:

  • P1 (evidence): The sitemap index references sitemaps.xml but the actual file path is also sitemaps.xml, which is non-standard (standard is sitemap.xml or sitemap_index.xml). No breakage observed, but uncommon.
  • P1: The page sitemap includes /our-projects/ (HTTP 200, correct URL) but the CONTEXT.md notes /projects/ as a listed page. Direct probe confirmed /projects/ returns HTTP 404. This means there is a dead URL being linked from navigation or referenced somewhere that is not in the sitemap (the sitemap correctly lists /our-projects/ not /projects/). See Section 4 for redirect analysis.
  • P2: Sitemap XML does not include <lastmod> dates in the parseable format (the XML parser returned no entries when parsing these fields, suggesting they may be malformed or absent). Without lastmod dates, Googlebot has less signal for crawl frequency prioritization.
  • P2: No image sitemap, no video sitemap. For a remodeling company with project images and potential video content, this is a missed opportunity for Google Images traffic.
  • Pass: Both child sitemaps contain only HTTPS URLs pointing to the canonical www subdomain.
  • Pass: Sitemap is referenced in robots.txt.

2. Indexation and Canonicalization

2.1 HTTP Status Codes (direct probe, 2026-06-11)

URLStatus
https://www.turnkeybathremodel.com/200
https://www.turnkeybathremodel.com/showers/200
https://www.turnkeybathremodel.com/bathtubs/200
https://www.turnkeybathremodel.com/service-areas/200
https://www.turnkeybathremodel.com/contact/200
https://www.turnkeybathremodel.com/faq/200
https://www.turnkeybathremodel.com/blog/200
https://www.turnkeybathremodel.com/projects/404
https://www.turnkeybathremodel.com/our-projects/200
https://www.turnkeybathremodel.com/about/200
https://www.turnkeybathremodel.com/step-by-step-guide-installing-tub-liner/200
https://www.turnkeybathremodel.com/service-areas/slidell/200
https://www.turnkeybathremodel.com/service-areas/baton-rouge/200
https://www.turnkeybathremodel.com/bathtubs/tub-liners/200
https://www.turnkeybathremodel.com/showers/walk-in/200

Finding P1: /projects/ returns a hard 404. The homepage nav links to /our-projects/ (correct), but if any external link, internal reference, or GBP URL points to /projects/, it is a dead link wasting link equity. Action: 301 redirect /projects/ to /our-projects/.

2.2 HTTP to HTTPS Redirect

  • HTTP to HTTPS: http://www.turnkeybathremodel.com/ returns HTTP 301 to https://www.turnkeybathremodel.com/. Correct.
  • Non-www to www: https://turnkeybathremodel.com/ returns HTTP 301 to https://www.turnkeybathremodel.com/. Correct.
  • Pass: Both redirect chains are single-hop (no redirect chain stacking observed).

2.3 Canonical Tags

  • Homepage canonical: https://www.turnkeybathremodel.com/ - self-referencing, correct.
  • All probed service/city pages: self-referencing canonicals confirmed on each page checked.
  • Pass: Canonical implementation appears consistent. No cross-domain canonicals or canonicals pointing to wrong URLs detected in the sample.

2.4 Meta Robots

  • Homepage meta robots: index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1 - correct, no unintentional blocks.
  • No noindex detected on any probed page.
  • Pass.

2.5 IndexNow

  • /.well-known/indexnow-key.txt: HTTP 404 (not implemented).
  • /indexnow-key.txt: HTTP 404 (not implemented).
  • P2: IndexNow is not implemented. Per the geo-technical checklist: Bing and ChatGPT use Bing's index, faster Bing indexing means faster AI Overview visibility. IndexNow is a zero-cost, high-leverage implementation for a WordPress site (several plugins support it natively).

3. Server-Side Rendering (SSR) and AI Crawlability

CRITICAL FINDING - P0

The homepage (and all pages tested) returns a nearly empty HTML body to non-rendering crawlers. The initial HTTP response contains:

  • Title tag: present
  • Meta description: present
  • Canonical: present
  • JSON-LD schema: present (in <head>)
  • H1 tags: ZERO in initial HTML
  • H2 tags: ZERO in initial HTML
  • Navigation: ZERO <nav> elements in initial HTML
  • Paragraph tags: ZERO in initial HTML
  • Div tags: ZERO in initial HTML
  • Visible body text (stripped): approximately 1,471 characters (title + schema JSON text only)

Evidence: Direct curl of https://www.turnkeybathremodel.com/ with a standard browser User-Agent returned 127KB of HTML; however, after stripping all <script> and <style> tags, the visible body content is ~1,471 characters, consisting only of the page title and schema markup leaked as plain text. No H1, no navigation, no paragraph content, no article text exists in the server-rendered HTML.

What this means:

  • AI crawlers (GPTBot, PerplexityBot, ClaudeBot, Amazonbot, Bytespider, Applebot) do not execute JavaScript. They see an empty page. No content can be cited from this site in AI Overviews, Perplexity answers, or Claude/ChatGPT responses.
  • Googlebot executes JavaScript but treats JS-rendered content as lower-quality than server-rendered content. This degrades crawl efficiency and may reduce ranking quality signals.
  • The site appears to use a custom WordPress theme (TurnkeyBathRemodel theme files confirmed in HTML source) that renders all visible content client-side via JavaScript.

Fix (P0): Enable server-side rendering of all critical page elements: H1, navigation, main content paragraphs, CTA, schema. Options: (a) modify the WordPress theme to output critical content in the initial HTML response; (b) implement pre-rendering or static HTML generation for key pages; (c) at minimum, use WP Rocket's (confirmed present in JS) render-blocking configuration to ensure above-the-fold content is in the initial response. This is the single highest-priority fix in this audit.

SSR scoring per geo-technical skill:

  • All key content server-rendered = full marks
  • Critical content requires JS = major deduction
  • Verdict: FAIL. Entire visible page content is client-rendered. Score: 0/100 for AI crawl visibility.

4. URL Structure and Redirects

4.1 Dead URL - /projects/

  • /projects/ returns HTTP 404 and is NOT in the sitemap.
  • /our-projects/ returns HTTP 200 and IS in the sitemap.
  • The homepage nav links to /our-projects/ (correct per the JS-rendered nav).
  • Finding P1: Somewhere (likely from an older site state, backlinks, or an internal link that was not updated) /projects/ may be receiving traffic and link equity that is being lost. Fix: 301 redirect from /projects/ to /our-projects/.

4.2 URL Structure

  • Service pages follow a clean hierarchy: /showers/, /showers/walk-in/, /bathtubs/, /bathtubs/tub-liners/ - good.
  • Service area pages: /service-areas/{city}/ - correct.
  • Blog posts: flat structure at root (e.g., /step-by-step-guide-installing-tub-liner/) rather than under /blog/{slug}/. This is a common WordPress default. Not a critical issue but makes blog/service content architecturally indistinguishable.
  • Pass: No URL parameters detected in sitemap or in probed pages. No session IDs in URLs.

5. On-Page Technical Signals

5.1 Title Tags

  • Homepage title: "Bathroom Remodeling in New Orleans | TurnKey Bath Remodel" - length 57 characters (within the 50-60 optimal range). Correct.
  • Service area pages follow pattern: "Bathroom Remodel in {City}, LA | TurnKey Bath Remodel" - consistent, unique per city, correct length.
  • Blog post: "Tub Liner Installation: Step by Step | TurnKey Bath Remodel" - correct.
  • Pass: No duplicate titles detected in sample.

5.2 Meta Descriptions

  • Homepage: "TurnKey Bath Remodel transforms New Orleans bathrooms with showers, walk-in tubs, and full remodels. Call (504) 513-6366 for a free quote." (138 characters) - within acceptable range, includes CTA and phone.
  • City pages: unique per city, all include phone number CTA.
  • Pass: Meta descriptions appear unique and properly structured.

5.3 H1 Tags (via JS-rendered page analysis)

When the page is fully rendered by JavaScript, H1 tags ARE present:

  • Homepage H1: "Your Dream Bathroom - Installed in as Little as 1 Day" (truncated in analysis; note: this H1 contains an em dash which may be the original content, not an agent-generated issue)
  • Service pages: H1 present and keyword-targeted
  • City pages: H1 present (e.g., "Professional Bathroom Remodel in Metairie, LA")
  • P0 caveat: These H1s are NOT visible to AI crawlers or Googlebot without JS execution. See Section 3.

5.4 OG / Social Tags

  • OG title: "Bathroom Remodeling Company in New Orleans| TurnKey Bathroom Remodel" (note: brand name inconsistency - OG title says "TurnKey Bathroom Remodel" while the page title says "TurnKey Bath Remodel")
  • OG description: "Discover NOLA's premier bathroom remodeling with Turnkey Bathroom Remodel..." (inconsistent brand name again)
  • OG image: https://www.turnkeybathremodel.com/wp-content/uploads/2023/12/favicon.png - P1: The OG image is set to the FAVICON (16x16 or 32x32 PNG), not a proper social sharing image. Facebook and LinkedIn will display a tiny icon when this page is shared, severely degrading click-through on social.
  • OG type: "website" - correct for homepage.
  • Twitter card: "summary" - this means the Twitter/X card will display a small thumbnail, not a large image. Should be "summary_large_image" for better social appearance.
  • P1: Brand name inconsistency between canonical title ("TurnKey Bath Remodel") and OG tags ("TurnKey Bathroom Remodel") creates a name-mismatch signal in Google's entity understanding.

5.5 Images

  • Homepage image count (in initial HTML): 2 images found.
  • Missing alt attributes: 2 of 2 (100% missing alt on images in initial HTML).
  • After JS rendering, additional images load dynamically with generic filenames like IMG_2825.jpg, IMG_3182.jpg (phone photo filenames with no descriptive naming).
  • P2: All project/gallery images use iOS photo filenames (IMG_XXXX.jpg pattern), which provide no keyword signals to image search.
  • P2: Alt text is absent on images in the initial HTML response; cannot confirm JS-rendered images have alt text without a headless browser crawl.

5.6 Content Depth (word count by page)

PageWords (JS-rendered)Status
Homepage1,624Acceptable
/showers/766P2: Thin (category hub)
/bathtubs/745P2: Thin (category hub)
/showers/walk-in/2,100Good
/bathtubs/walk-in-tubs/1,544Acceptable
/bathtubs/tub-liners/1,649Acceptable
/showers/tub-to-shower-conversions/1,255Acceptable
/showers/shower-liners/1,399Acceptable
/showers/enclosure/1,988Good
/service-areas/metairie/1,769Acceptable
/service-areas/slidell/1,660Acceptable
/faq/1,180Acceptable
Blog post (tub liner DIY)1,596Acceptable

Note: Word counts are from JS-rendered pages via urllib. The 1,624 homepage words includes navigation/footer boilerplate; actual body content words are likely lower.

5.7 Service Category Pages Thin Content

  • /showers/ at 766 words and /bathtubs/ at 745 words function as landing pages for their respective service silos but have below-average content depth for competitive remodeling terms.
  • P2: Both category hub pages should be at minimum 1,200 words with unique, helpful content that positions them for broad category keywords like "shower services new orleans" and "bathtub services new orleans."

6. Service Area Pages: Template Duplication

Finding P1:

Similarity analysis of service area page content (normalized city name removed) shows 84.4% identical content between Metairie and Slidell pages in the first 500 characters. The visible text structure is:

  • Same navigation (expected, not a problem)
  • Same body content template with city name swapped in

Evidence: Normalized comparison of metairie vs slidell vs kenner pages shows identical opening structure up to city-specific paragraphs.

What Google sees: Near-duplicate pages with minimal unique content per city. Per the seo-audit skill (thin content section): "Tag/category pages with no value" is a flag condition. With 14 service area pages at 1,460-1,769 words each and 84%+ shared content, this is soft-duplication.

None of the city pages have a LocalBusiness schema. The homepage has a LocalBusiness schema with 14 areaServed entries but no page-level schema per city.

Fix P1: Add unique content per city (at least 3-4 paragraphs specific to that city: local references, why that area, specific testimonials from that city). Add a per-page LocalBusiness schema with city-specific areaServed and geo.


7. Schema/Structured Data Analysis

7.1 Homepage LocalBusiness Schema (Merlino Schema IP evaluation per merlino-schema-ip.md)

Present:

  • @context: schema.org
  • @type: ["HomeAndConstructionBusiness", "LocalBusiness"] - dual type, which is acceptable
  • @id: https://www.turnkeybathremodel.com/#organization - uses page URL fragment, not KG MID. Non-compliant with Daryl Osborne signature pattern (should be kg:/g/<MID>)
  • name: "TurnKey Bath Remodel"
  • telephone: "(504) 513-6366"
  • address: complete PostalAddress with streetAddress, addressLocality, addressRegion, postalCode, addressCountry
  • geo: GeoCoordinates with latitude/longitude
  • openingHoursSpecification: Mon-Sat 08:00-17:00, Sun 08:00-16:00
  • areaServed: array of 14 City objects (New Orleans, Baton Rouge, Covington, Gretna + others)
  • priceRange: "$$"
  • sameAs: LinkedIn, Twitter/X, Facebook, Instagram (4 social profiles confirmed)
  • logo: ImageObject with url and contentUrl
  • image: logo.png (same as logo - not ideal, should be a real business photo)

Missing vs. Merlino Schema IP standards:

  • P1: mainEntityOfPage is absent. Per Daryl's signature pattern, this should be the GMB CID link, not the page URL.
  • P1: @id is a page URL fragment (/#organization), not a Knowledge Graph MID (kg:/g/XXXXXXXX). The KG MID for TurnKey Bath Remodel would need to be looked up and added.
  • P1: additionalType is absent. Per Daryl's pattern, this should be a Wikipedia category URL (e.g., https://en.wikipedia.org/wiki/Bathroom_remodeling).
  • P1: areaServed cities lack Wikidata URLs. Per Daryl's pattern, each City should include a Wikidata URL (e.g., https://www.wikidata.org/wiki/Q34404 for New Orleans).
  • P1: alternateName is absent. Per Daryl's pattern, this disambiguates the entity.
  • P1: disambiguatingDescription is absent.
  • P1: geoRadius is absent (should be in meters: service radius x 1609).
  • P2: sameAs - needs verification that all 4 social URLs resolve correctly. URLs were confirmed present but actual resolution not checked. Missing: Google Business Profile URL, Yelp, BBB.
  • P2: description field in WebSite schema is empty string: "description": "" - should contain a keyword-rich description.
  • Pass: No AggregateRating on the entity (per Mike's hard rule: ratings live on GBP/third-party only). Correct.

7.2 FAQ Page Schema

  • FAQPage schema IS present on the /faq/ page with Question/Answer blocks.
  • Pass: This is positive. The FAQPage schema is the highest-value quick win for rich snippet eligibility per the Merlino SEO stack (Q&A > FAQ in schema stacking).
  • P1: The FAQ schema needs to be verified for completeness (the page analysis showed no H2/H3 headings in JS-rendered content, which suggests the FAQ accordion is JS-driven and Googlebot may not crawl all questions unless JS is executed).

7.3 Missing Schema on Service Pages

  • Service pages (showers, bathtubs, tub-to-shower, etc.) show only 3 schema blocks each (WebSite + LocalBusiness + BreadcrumbList).
  • P1: No Service schema on service pages. Per the Merlino schema IP, service pages should have Service schema with serviceType, provider (linking back to the LocalBusiness @id), and areaServed.
  • P1: No BreadcrumbList correctly structured for navigation paths (each page shows 3 schema blocks, one of which is BreadcrumbList, but this needs Screaming Frog crawl confirmation for accuracy).

8. Site Speed and Core Web Vitals

Note: PageSpeed Insights free-tier quota was exhausted before this audit session. The following data is from server response timing only.

8.1 Server Response Time (TTFB)

  • Homepage TTFB: 0.159 seconds (measured via curl time_starttransfer)
  • Total transfer time: 0.222 seconds for 267KB of HTML
  • Status: WPX Cloud MIA03 edge node, LiteSpeed + QUIC (H3 confirmed in alt-svc header). TTFB is excellent - sub-200ms.

8.2 Server Headers

X-Powered-By: PHP/8.3.31
X-turbo-charged-by: LiteSpeed
X-Edge-Location: WPX CLOUD/MIA03
alt-svc: h3=":443"; ma=86400
x-quic: h3
X-Cache-Status: HIT
Cache-Control: public, max-age=0, s-maxage=3600, stale-while-revalidate=21600
  • Pass: HTTP/3 + QUIC enabled (modern protocol, good for Core Web Vitals).
  • Pass: LiteSpeed caching active, cache HIT on homepage.
  • P2: Cache-Control: max-age=0 means the browser does NOT cache the HTML page. Combined with s-maxage=3600 (CDN caches for 1 hour) and stale-while-revalidate=21600 (stale content served while refreshing), browser-side HTML caching is effectively disabled. Users on repeat visits must re-download the full HTML.

8.3 Security Headers (Missing)

Headers audit via curl -I:

  • X-Frame-Options: ABSENT - clickjacking vulnerability
  • X-Content-Type-Options: ABSENT - MIME sniffing vulnerability
  • Content-Security-Policy: ABSENT
  • Strict-Transport-Security (HSTS): ABSENT
  • Permissions-Policy: ABSENT
  • Referrer-Policy: ABSENT

P2: All standard security headers are missing. WPX Cloud does not inject them automatically. These should be added via the WordPress theme's functions.php or a security plugin (e.g., Wordfence, iThemes). While not direct ranking factors, missing security headers affect overall site trustworthiness scoring in some security audit tools that Google may reference for E-E-A-T signals.

8.4 WordPress Security Exposure

  • xmlrpc.php: Returns HTTP 403 (blocked). Pass.
  • wp-login.php: Returns HTTP 200 (accessible). P2: wp-login.php should be protected by IP restriction or renamed/moved to prevent brute-force attacks. The fact that it's accessible at the standard URL is a security risk.
  • wp-json/ REST API: Returns HTTP 200. P2: The wp-json users endpoint did not return user data (returned error, which is good), but the REST API is fully exposed. Check if /wp-json/wp/v2/users is properly protected against user enumeration.
  • xmlrpc.php URL in HTML: The homepage HTML contains a reference to xmlrpc.php?rsd in the link tags. Even though the endpoint is blocked, this advertises its location and is worth removing via remove_action('wp_head', 'rsd_link').

9. Sister Domain Cannibalization

9.1 Evidence

  • Phase 0 data (CONTEXT.md): turnkeybathroomrenovations.com ranks #8 and #11 for "walk in tub new orleans" while turnkeybathremodel.com does NOT rank in the top 20 for the same query.
  • DNS lookup (2026-06-11): turnkeybathroomrenovations.com resolves to 194.1.147.26 and 194.1.147.78. turnkeybathremodel.com resolves to 194.1.147.98 and 194.1.147.51. Both are in the same 194.1.147.x WPX Cloud block.
  • Both domains return identical WPX Cloud server signature: X-Edge-Location: WPX CLOUD/MIA03, X-turbo-charged-by: LiteSpeed, same Cache-Control headers.
  • turnkeybathroomrenovations.com returns HTTP 200 for /bathtubs/walk-in-tubs/ (the same URL path structure as the main domain).
  • The sister domain's walk-in-tub page title was "NOLA Affordable Walk-in Tub" per Phase 0 data.

9.2 Impact

  • P0: Two domains owned by the same company competing for the same keywords is classic split-domain cannibalization. Google has to choose one to rank, and it may be choosing the sister domain for specific queries (walk-in tub keywords), actively suppressing the main domain.
  • The main domain (turnkeybathremodel.com) has a domain rank of 233/1000, the sister domain may have different (possibly better or worse) authority for specific subsets of keywords.
  • The 94% broken backlink rate on the main domain (735 total, 691 broken) may be partially caused by backlinks pointing to wrong domain variants.

Fix P0: Determine if both domains are intentionally operated or if the sister domain is a legacy/accidental split. If same owner: (a) 301 redirect turnkeybathroomrenovations.com entirely to turnkeybathremodel.com and consolidate; or (b) implement cross-domain canonical tags from the sister domain to the main domain; or (c) differentiate the sister domain with truly unique content targeting different keyword clusters. Consolidation is strongly recommended.


10. Organic Keyword Ranking Analysis

Data source: DataForSEO 500-row pull, Phase 0 (data/organic-keywords-raw.txt), analyzed 2026-06-11.

10.1 Distribution

  • Total ranking keywords: 48
  • Positions 1-3: 0 (confirmed Phase 0)
  • Positions 4-10: 1 (bathtub liner diy at pos 8 - updated; Phase 0 said pos 4, DataForSEO now shows pos 8)
  • Positions 11-20: 3
  • Positions 21+: 44

10.2 Revenue-Intent Keywords: Invisible

The main commercial keywords are almost entirely out of the top 20:

  • "bathroom renovation new orleans" (vol 390): pos 23
  • "bathroom remodeling new orleans la" (vol 390): pos 29
  • "new orleans bathroom remodel" (vol 390): pos 31
  • "bathroom remodeling in new orleans" (vol 390): pos 32
  • "bathroom remodel new orleans la" (vol 390): pos 40
  • "bathroom remodeling new orleans" (vol 390): pos 55
  • "tub liner installation" (vol 320): pos 26
  • "bathtub liner replacement" (vol 480): pos 84

These are not even close to page 1. Every commercial keyword is on page 3+.

10.3 Traffic Anomaly: Blog Post Dominates

The /step-by-step-guide-installing-tub-liner/ post drives 25 of 48 ranked keywords (52% of all rankings) but these are DIY/informational keywords ("bathtub liner diy", "how to install bathtub liner", "diy bathtub liners"). These visitors are NOT looking to hire a remodeler; they want to do it themselves.

The blog post is the site's highest-traffic page by a wide margin (Phase 0 confirmed: it receives more traffic than the homepage), yet it targets anti-intent keywords (DIY, self-install = the opposite of converting to a paid remodel customer).

P1: The blog post needs a strong conversion layer (CTA, "not a DIY person? we install for you" section, lead capture). Its current role as the site's top page driving zero-conversion traffic is a structural weakness.

10.4 Pages Not Ranking for Their Money Keywords

Per Phase 0 data:

  • /bathtubs/tub-liners/ ranks #81 for "bathtub liner near me" (vol 260) - main service page nearly invisible
  • /showers/walk-in/ ranks: not in top 20 for "walk in shower new orleans" based on Phase 0
  • /bathtubs/walk-in-tubs/ ranks: not in top 20 for "walk in tub new orleans" (sister domain ranks instead)

11. Internal Linking Architecture

11.1 Observations

  • Homepage nav links to all major section hubs and all 14 service area pages directly.
  • All service area pages are linked directly from the homepage (flat architecture, not hub-and-spoke).
  • The 14 service area pages all appear to link back to the homepage and to top-level service pages, but no service area page links to other service area pages.
  • P2: Service area pages exist in isolation from each other. A New Orleans visitor cannot easily navigate to Metairie, which fragments the geographic entity network.
  • All pages appear to be within 1-2 clicks of the homepage based on the flat nav structure.
  • This is good for crawl depth (within 3 clicks = AI crawlability rule met).
  • Pass: No orphan pages detected in the sitemap. All 69 pages in the sitemap appear to be reachable via internal links.
  • Service pages (e.g., /bathtubs/tub-liners/) should link to the relevant blog post (/step-by-step-guide-installing-tub-liner/) for topical cluster building.
  • Blog posts in the post sitemap (34 posts) are not individually linked from main service pages, creating a de-facto orphan blog.
  • P2: Build out the blog-to-service cross-linking structure. Each blog post should link to 2-3 relevant service pages.

12. Scored Summary Table

#FindingSeverityImpactFix Complexity
1Homepage and all pages are fully JS-rendered with zero body content in initial HTMLP0AI crawlers see empty page; 0/100 AI visibilityHigh
2Sister domain turnkeybathroomrenovations.com actively outranking main domain for money keywordsP0Split-domain cannibalization, suppressing rankings on bothMedium
3LocalBusiness schema missing mainEntityOfPage, additionalType, geoRadius, Wikidata areaServed URLs, KG @idP1Below Merlino schema IP standard, weak entity signalsMedium
414 service area pages with 84%+ duplicate content, no LocalBusiness schema per cityP1Thin content filter risk, no city-level entity signalsMedium
5OG image is set to the favicon (16x16), not a social sharing imageP1Zero social sharing click-through; brand damageLow
6Brand name inconsistency: "TurnKey Bath Remodel" (title) vs "TurnKey Bathroom Remodel" (OG)P1Entity confusion signals for GoogleLow
7/projects/ returns 404 instead of 301 redirect to /our-projects/P1Lost link equity and trafficLow
8Blog post (top traffic page) targets DIY keywords, anti-conversion; missing CTA to serviceP1Traffic with near-zero conversion intentLow
9wp-login.php accessible at standard URL (brute-force attack surface)P2Security risk, not ranking factorLow
10IndexNow not implemented; no AI crawler directives in robots.txtP2Slower Bing/AI indexingLow
11No security headers (X-Frame-Options, HSTS, CSP, X-Content-Type-Options)P2Security posture, minor trust signalLow
12/showers/ and /bathtubs/ hub pages thin (766/745 words)P2Below competitive depth for broad category termsMedium
13No ImageSitemap; all project images use iOS photo filenames (IMG_XXXX.jpg)P2Missed Google Images trafficLow
14WebSite schema description field is empty stringP2Weak entity description signalLow
15Cache-Control: max-age=0 means no browser-side HTML cachingP2Repeat visitors re-download full HTMLLow

Prioritized Action Plan

Immediate (P0) - Block Removers

  1. Fix SSR. The entire site's AI visibility is zero until the initial HTML response contains actual body content. Work with the WordPress theme developer to output H1, navigation, and above-the-fold content server-side. This is the single most impactful fix.
  2. Resolve the sister domain. Make a business decision: consolidate turnkeybathroomrenovations.com into turnkeybathremodel.com via 301 redirects, or implement cross-domain canonicals. The split is actively costing rankings.

High Priority (P1) - Revenue-Linked

  1. Upgrade LocalBusiness schema per Merlino schema IP (add mainEntityOfPage with GMB CID, KG @id, additionalType Wikipedia URL, Wikidata areaServed, geoRadius, disambiguatingDescription, alternateName).
  2. Fix service area pages with unique city content (minimum 3-4 city-specific paragraphs) and per-page LocalBusiness schema.
  3. Fix OG image from favicon to a proper 1200x630 hero image of a completed bathroom remodel.
  4. Normalize brand name across all meta tags to one consistent form ("TurnKey Bath Remodel").
  5. 301 redirect /projects/ to /our-projects/.
  6. Add conversion layer to the tub liner DIY blog post - "Don't want to DIY? We install tub liners professionally in New Orleans - (504) 513-6366."

Medium Priority (P2) - Compounding Wins

  1. Implement IndexNow (WordPress plugin available; connect to Bing/AI index pipeline).
  2. Add explicit AI crawler allow directives in robots.txt.
  3. Add security headers via functions.php or Wordfence.
  4. Expand /showers/ and /bathtubs/ hub pages to 1,200+ words.
  5. Protect wp-login.php via WPX Cloud IP restriction or login protection plugin.
  6. Fix empty description in WebSite schema.
  7. Add image sitemap and rename project images with descriptive filenames.
  8. Remove xmlrpc.php?rsd link from HTML head.

Report generated by Tommy (Technical SEO + Data Lane), Audit C, 2026-06-11. Screaming Frog crawl-28435014 was still in progress at report time; a supplemental crawl export will be available for redirect chain mapping, broken internal links, and full title/meta duplication analysis once the crawl completes.