↓ markdown
JustinHarris.AI

Onsite SEO Audit · v3 · 2026-06-24 (noon-PT meeting cut)

Onsite SEO Audit v3 — giostarwellness.com

https://giostarwellness.com/

P0 Blocking
5
P1 High Impact
9
P2 Optimization
5
Audit methodology v2.0read the full method

How we wrote this

The v2 miss diagnosed: WebFetch converts HTML to markdown before returning, which strips the entire <head> section, all <script> tags, all <meta> tags, plugin signature comments, and JSON-LD blocks. WebFetch is a body-content extraction tool, NOT a head-content audit tool. The canonical ~/.claude/commands/onsite-seo-audit.md has been patched with a mandatory Phase 1 first-action raw curl + grep recipe and a hard ban on WebFetch for head-content checks. The lesson lives at knowledge/rules-library/seo-head-content-verification.md. Every future onsite audit runs the raw-curl head sweep first, the DataForSEO cross-check second, then the rest of the nine phases.

01

Executive Summary

Six weeks after the v1 audit was handed to WJ Media (2026-06-01), the foundational SEO install is done: Yoast SEO is generating schema, meta descriptions, OG and Twitter tags, canonicals, and sitemaps sitewide; GA4 is firing on every page; an additional MAIO Semantic Signals plugin is layering AI-SEO author + reviewer + FAQ schema on top. That layer is a real WJ Media deliverable and they deserve credit for it.

What is NOT done is the on-page structural work and the content/architecture cleanup. The homepage has zero `<h1>` elements (DataForSEO On-Page Instant confirms H1 list: []). Ten of 15 audited pages have zero H1, including the homepage, /faqs/, /contact/, /about-us/, /our-team/, /appointment/, /financing/, /conditions-treated/, /blogs/, and /privacy-policy/. The two malformed non-US phone numbers (tel:0088609830 and tel:9908300885) from v1 are unchanged six weeks later on both the homepage and the contact page. The /home-02/ duplicate-homepage template is still live and a v3 deeper sweep surfaced seven additional indexable home-template variants (/home-03/, /home-04/, plus four /home-0X-one-page/ paths), all returning 200 with self-canonicals, all flagged robots=index, follow. A template address "14D Street Brooklyn, New York" still leaks into the footer on the homepage, contact page, about page, our-team, appointment, financing, and conditions-treated, actively poisoning local NAP. The /locations/<city>/services/<service>/ franchise URL scaffold is still 404. The five theme-demo blog posts v1 flagged (/doctors-failure-to-diagnose-a-medical-condition/, etc.) are still indexed.

Authoritative AI-citation evidence from DataForSEO live SERP: on "peptide therapy las vegas" Google AI Overview IS triggering and citing five competitor sources (Modern Wellness Clinic, Concierge MD, Atlas Health Institute, More Than Medical Wellness). GIOStar is NOT cited and is NOT in the top 20 organic. On "stem cell therapy las vegas" AI Overview also triggers; GIOStar NOT cited, NOT in top 20. On glp-1 weight loss las vegas, exosome therapy las vegas, and trt clinic henderson nv no AI Overview triggers; Local Pack triggers on the GLP-1 and exosome queries; GIOStar absent from all three. The schema-eligibility gate IS now passed (Organization + WebPage + FAQPage schema present), but eligibility ≠ being picked. AI Overview picks domains it ranks well in organic AND that have the per-page content density to extract a passage from. GIOStar has the first; not yet the second.

Top three P0s for this week (in order): (1) add an <h1> to the homepage and the nine other pages that ship with none, because DataForSEO marks no_h1_tag as the top failed check on the homepage; (2) delete or 301-redirect the eight duplicate home-template URLs + the five theme-residue URLs (/testimonial-lumina/, /about-us-1/, /blog-grid-sidebar-{left,right}/, /careers-grid/), then resubmit the cleaned sitemap to GSC; (3) replace the two malformed phone numbers AND remove the Brooklyn template address from the global footer so one consistent Henderson NAP block is the only one a crawler or a patient can find.

P0

Blocking

05
fix this week
P0·01

Homepage and nine other pages have zero `<h1>` elements (the homepage was wrongly graded as closed in v2).

Evidence

DataForSEO On-Page Instant returns H1 list: [] for the homepage with onpage_score: 94.51 but no_h1_tag as the top failed check. Raw grep -ciE '<h1' /tmp/giostar-home.html returns 0. Same zero-H1 state on /faqs/, /contact/, /about-us/, /our-team/, /appointment/, /financing/, /conditions-treated/, /blogs/, /privacy-policy/. The five /department/<service>/ pages each carry a clean single <h1>.

Impact

The <h1> is the single most important topical signal on a page. Yoast schema declaring WebPage topic does NOT substitute for an <h1>; the two operate on different signal channels. Ten pages telling Google "I don't know what this page is about" is the single largest lift available before any architecture work.

Fix

In the Elementor editor, add a single <h1> per page that names the page topic. Homepage: "Regenerative Medicine in Las Vegas, Nevada" or similar. /faqs/: "Frequently Asked Questions". /contact/: "Contact GIOSTAR Wellness". /about-us/: "About GIOSTAR Wellness". Etc. Demote whichever <h2> was visually carrying the title role.

OwnerWJ Media Group (Elementor editor change)
P0·02

Eight duplicate home-template pages indexable, with self-canonical and `robots=index`.

Evidence

page-sitemap.xml lists /home-02/, /home-03/, /home-04/, /home-01-one-page/, /home-02-one-page/, /home-03-one-page/, /home-04-one-page/. /home-02/ rendered confirms <link rel="canonical" href="https://giostarwellness.com/home-02/"> (self, not pointing to /) and <meta name='robots' content='index, follow, ...'>. /home-03/ returns 200 visually identical to the homepage.

Impact

Authority signals split across nine pages serving substantially equivalent homepage content. Google's deduplication picks one as canonical and demotes the others; if it picks /home-03/ over /, the actual homepage drops in rankings.

Fix

Hard-delete all seven duplicate templates in WordPress admin (preferred). Alternative: 301-redirect each to / AND set noindex via Yoast on each. Resubmit cleaned wp-sitemap.xml to GSC. Confirm fall-out from the index over two weeks via site:giostarwellness.com home-0 query.

OwnerWJ Media Group
P0·03

Two malformed non-US phone numbers in `tel:` links, six weeks unchanged.

Evidence

Homepage and /contact/ both contain tel:0088609830 and tel:9908300885. Identical to v1.

Impact

Patient who taps either link from a phone hits a dial error. Numbers cannot match any US Google Business Profile listing, fail every citation aggregator, signal to Google this is not a real US business. NAP consistency is the foundational local-SEO signal; this is the most consequential five-minute fix on the site and it has gone undone for six weeks.

Fix

Replace both numbers with the verified Las Vegas line, formatted tel:+17025551234 in href and (702) 555-1234 in display text. Same number in footer of every page, on the Google Business Profile when claimed, and on every citation.

OwnerWJ Media Group + GIOStar (provides the verified Cox line per engagement log)
P0·04

"14D Street Brooklyn, New York" template address leaks into the footer of seven pages alongside the Henderson address.

Evidence

Homepage, /contact/, /about-us/, /our-team/, /appointment/, /financing/, /conditions-treated/ all carry both 2482 W. Horizon Ridge Parkway Suite 100, Henderson NV, 89052 AND 14D Street Brooklyn, New York in the footer (Pixfort theme-demo carryover).

Impact

Two NAP addresses on the canonical contact surface causes Google to either pick the wrong one as canonical (a Brooklyn-anchored result for a Henderson clinic), demote local-pack eligibility for the domain, or flag data quality as low and reduce trust on all clinical content. Worse state than v1's "no address at all". Also confirms the engagement-log finding that WJ Media's site was a re-skinned Lumina template, not a custom build.

Fix

Remove every reference to "14D Street Brooklyn" from the homepage, the global footer template, and any widget area. Henderson address is the only one that should appear anywhere. Inspect the Pixfort theme footer template; the Brooklyn address is likely hardcoded. After fix, sitewide search for "Brooklyn" and "New York" should return zero hits outside an explicit non-contact context.

OwnerWJ Media Group
P0·05

Franchise URL pattern `/locations/<city>/services/<service>/` still 404.

Evidence

/locations/las-vegas/ and /locations/las-vegas/services/peptide-optimization/ both 404. No /locations/ URLs in page-sitemap.xml.

Impact

GIOStar is positioned as the US flagship of a 20-location franchise. The medical-director candidate's Montana franchise interest (2026-06-11 QMS-review meeting) means multi-location is months away, not theoretical. Without the URL scaffold, the site cannot rank for "stem cell therapy Las Vegas" or "peptide therapy Henderson NV" and every future opening blocks on hand-built pages.

Fix

Build /locations/las-vegas/ as a hub (full Henderson NAP, hours, embedded Google Map, location-specific testimonials, LocalBusiness schema with PostalAddress, telephone, openingHours). Build /locations/las-vegas/services/<service>/ for each of the five departments with 30% unique location-anchored content and Service schema. Scaffold becomes the franchise template.

OwnerWJ Media Group with JHAI sign-off on URL architecture
P1

High Impact

09
fix this month
P1·01

No `MedicalBusiness` or `LocalBusiness` schema. Current Organization schema is too generic for a regulated medical clinic.

Evidence

Raw curl confirms Organization schema present but NOT MedicalBusiness, LocalBusiness, MedicalClinic, or MedicalOrganization. DataForSEO On-Page Instant lists zero schema blocks under its schema parser, suggesting the schema may also need @id linkage to make it discoverable.

Impact

Healthcare sites without MedicalBusiness subtype schema do not qualify for the medical-specific search features Google built (knowledge panels, "near me" results, AI Overview citations for clinical questions). The Yoast Organization schema is adequate for a generic business; it is below the bar for a regenerative-medicine clinic.

Fix

In Yoast → Settings → Site basics, configure Organization type as "Medical Business" or its more specific subtype. Then add a Yoast custom schema block on the homepage adding MedicalBusiness with medicalSpecialty array (PrimaryCare, Regenerative Medicine, Endocrinology), availableService array linking to each /department/<service>/ page, priceRange, paymentAccepted, currenciesAccepted. Validate in Google Rich Results Test.

OwnerWJ Media Group
P1·02

Department pages have no `Service` or `MedicalProcedure` schema.

Evidence

/department/peptide-optimization/ carries Yoast WebPage + BreadcrumbList + ImageObject + Organization schemas plus MAIO FAQPage. No Service, MedicalProcedure, MedicalTherapy, or Drug schema on any of the five department pages.

Impact

Department pages are the money pages for each restricted-keyword category. Without Service schema declaring this is a clinical service offered by a MedicalBusiness, AI Overviews and ChatGPT search cannot extract structured service-offering data for citation. Generic FAQ schema is not enough.

Fix

Add Service schema per department page via Yoast custom schema block. Include serviceType, provider (link to MedicalBusiness), areaServed (Las Vegas + Henderson + NV statewide), audience, offers. For services with specific procedures (peptide, exosome, stem cell), add MedicalProcedure schema. Validate.

OwnerWJ Media Group
P1·03

Two pages have no meta description.

Evidence

Raw curl confirms zero <meta name="description"> tag on /appointment/ and /contact/. The other 13 audited pages have unique Yoast-generated descriptions.

Impact

Google auto-generates snippets from arbitrary on-page text. The search-result snippet is the second-most-important conversion surface after the title.

Fix

In Yoast page settings, write a unique 150-160 char description for both pages.

OwnerWJ Media Group
P1·04

No Meta Pixel installed (15 of 15 pages sweep confirms absence).

Evidence

No fbq(, connect.facebook.net, facebook.com/tr, or pixel init call anywhere in the rendered source across all 15 audited pages.

Impact

Day 1 of paid Meta Ads (once LegitScript clears and clinic opens) the remarketing audience pool is zero. Every day without the Pixel firing now is a day of audience seeding lost. Lookalike audiences cannot be built without a base custom audience.

Fix

Install Meta Pixel through a WordPress pixel plugin (e.g., PixelYourSite Free) or directly through GTM (which requires installing GTM first since Site Kit only loads GA4). Verify firing in Meta Events Manager. Configure standard events for ViewContent (department page views), Lead (appointment form submit), Contact (contact form submit), Schedule (appointment confirmation).

OwnerWJ Media Group
P1·05

Five theme-demo blog posts still indexed (`post-sitemap.xml`), six weeks unchanged.

Evidence

/doctors-failure-to-diagnose-a-medical-condition/, /sick-kid-how-to-deal-with-a-childs-fever/, /devtools-debugging-tips-shortcut-chrome-fire/, /diabetes-blood-pressure-consultation-for-patients/, /gene-therapy-could-turn-off-severe-allergies/.

Impact

A medical clinic with "doctors failing to diagnose" as one of seven indexed blog posts signals to Google's YMYL classifier that the site's strongest content asset is about medical malpractice. Dilutes topical authority around regenerative medicine.

Fix

Trash all five in WordPress admin. Confirm fall-out from post-sitemap.xml within 24 hours. Submit URL removal in GSC if any are indexed.

OwnerWJ Media Group
P1·06

Press carousel logos and several content images have no descriptive alt text.

Evidence

ABC News, Fox News, JAMA, Nature, NBC logos on homepage have no descriptive alt. DataForSEO On-Page Instant flags no_image_title on the homepage.

Impact

WCAG 2.2 accessibility failure for assistive-tech users. Lost keyword/credibility surface for Google Images.

Fix

Set descriptive alt text per logo: alt="Featured in ABC News", alt="Featured in JAMA", etc. Leave empty alt only on purely decorative dividers.

OwnerWJ Media Group
P1·07

Five theme-residue template URLs surfaced in `page-sitemap.xml`.

Evidence

/testimonial-lumina/ (the slug carries the Lumina-template ghost), /about-us-1/ (duplicate of /about-us/), /blog-grid-sidebar-left/, /blog-grid-sidebar-right/, /careers-grid/.

Impact

Thin-content / template-residue dilution. /testimonial-lumina/ is also a brand-credibility risk: a competitor or journalist running a URL audit finds the Lumina ghost in the canonical URL of the live testimonials page.

Fix

Hard-delete or 301-redirect each. Rename /testimonial-lumina/ to /testimonials/ with a 301 from the old slug.

OwnerWJ Media Group
P1·08

No Terms of Service page.

Evidence

/terms/, /terms-of-service/, /tos/ all 404.

Impact

Healthcare site collecting patient information through forms without a Terms of Service has a YMYL trust-signal gap. Google weights policy-document presence as a baseline trust factor.

Fix

Author or import a Terms of Service appropriate for a Nevada medical wellness clinic. Cross-link from the footer alongside Privacy Policy.

OwnerClient legal counsel or JHAI-coordinated draft
P1·09

`/services/` 404 (no service-category index hub).

Evidence

/services/ returns 404. Five department pages exist at /department/<service>/ with proper H1 + Yoast schema + meta descriptions, but no parent hub linking them.

Impact

No canonical hub page to target the top-of-funnel query "GIOSTAR services" or "regenerative medicine Las Vegas services". Missed organic anchor.

Fix

Create /services/ as a hub page with ItemList schema and main-nav link. Alternative: rename /department/ to /services/ for keyword alignment.

OwnerWJ Media Group
P2

Optimization

05
fix this quarter
P2·01

Pixfort theme-template URLs still indexed via `pxl-template-sitemap.xml`. Six weeks unchanged. - **Fix:** Block `/pxl-template/` via Yoast noindex rule on the `pxl-template` custom post type. Remove from sitemap. - **Owner:** WJ Media Group

Fix

Block /pxl-template/ via Yoast noindex rule on the pxl-template custom post type. Remove from sitemap.

OwnerWJ Media Group
P2·02

No `/llms.txt` at domain root. - **Fix:** Create `/llms.txt` listing canonical citable pages (homepage, the five `/department/<service>/` pages, `/faqs/`, `/contact/`, the `/locations/las-vegas/` hub once built). Spec at llmstxt.org. - **Owner:** WJ Media Group

Fix

Create /llms.txt listing canonical citable pages (homepage, the five /department/<service>/ pages, /faqs/, /contact/, the /locations/las-vegas/ hub once built). Spec at llmstxt.org.

OwnerWJ Media Group
P2·03

HSTS, X-Frame-Options, Content-Security-Policy headers status not re-tested. - **Fix:** Cloudflare dashboard verification pass. - **Owner:** WJ Media Group

Fix

Cloudflare dashboard verification pass.

OwnerWJ Media Group
P2·04

DataForSEO On-Page Instant flags `title_too_short` on the homepage title ("Home - GIOSTAR WELLNESS" is 24 chars; SEO best practice is 50-60 chars). - **Fix:** Yoast title template change: "Home - GIOSTAR WELLNESS" → "GIOSTAR Wellness , Regenerative Medicine in Las Vegas, NV" or similar 55-char target. - **Owner:** WJ Media Group

Fix

Yoast title template change: "Home - GIOSTAR WELLNESS" → "GIOSTAR Wellness , Regenerative Medicine in Las Vegas, NV" or similar 55-char target.

OwnerWJ Media Group
P2·05

DataForSEO flags `duplicate_meta_tags` on the homepage (Yoast + MAIO + Site Kit + Redux all emitting overlapping meta tags). - **Fix:** Audit homepage `<head>` for duplicate `<meta name="author">`, duplicate `<meta name="description">`, duplicate `<meta property="og:*">`. Disable whichever plugin is double-emitting (likely MAIO author + reviewer schemas overlapping Yoast author schema). - **Owner:** WJ Media Group

Fix

Audit homepage <head> for duplicate <meta name="author">, duplicate <meta name="description">, duplicate <meta property="og:*">. Disable whichever plugin is double-emitting (likely MAIO author + reviewer schemas overlapping Yoast author schema).

OwnerWJ Media Group
Under 1 hour each

Quick Wins

10
  • Add <h1> to homepage + 9 other pages in Elementor editor.
  • Hard-delete /home-02/ through /home-04/ and the four /home-0X-one-page/ variants in WordPress admin.
  • Hard-delete /about-us-1/, /blog-grid-sidebar-left/, /blog-grid-sidebar-right/, /careers-grid/. Rename /testimonial-lumina/ to /testimonials/ with 301.
  • Trash all five theme-demo blog posts in WordPress admin.
  • Remove "14D Street Brooklyn, New York" from the global footer template.
  • Replace tel:0088609830 and tel:9908300885 with the verified Henderson Cox business line.
  • Add Yoast meta descriptions to /appointment/ and /contact/.
  • Add descriptive alt text on the five press-carousel logos.
  • Block /pxl-template/ via Yoast noindex rule.
  • Lengthen homepage title to 50-60 chars via Yoast title template.
By week

30-Day Plan

WeekTasks
Week 1 , H1 + cleanup foundation
  • Add H1 to homepage, /faqs/, /contact/, /about-us/, /our-team/, /appointment/, /financing/, /conditions-treated/, /blogs/, /privacy-policy/.
  • Delete 8 home-template duplicates. Delete 4 theme-residue URLs. Rename /testimonial-lumina/ to /testimonials/.
  • Trash 5 theme-demo blog posts.
  • Replace 2 malformed phone numbers with verified Henderson Cox line.
  • Remove "14D Street Brooklyn, New York" from global footer + 7 affected pages.
  • Add meta descriptions to /appointment/ + /contact/.
  • Lengthen homepage title via Yoast (currently 24 chars; target 50-60).
Week 2 , Schema upgrade + Meta Pixel
  • Configure Yoast → Settings → Site basics → Organization type as Medical Business.
  • Add MedicalBusiness custom schema with medicalSpecialty array on homepage.
  • Add Service + MedicalProcedure schema per /department/<service>/ page.
  • Install Meta Pixel via PixelYourSite or GTM. Verify in Meta Events Manager.
  • Configure standard events (ViewContent, Lead, Contact, Schedule).
  • Validate every JSON-LD block in Google Rich Results Test.
Week 3 , Location architecture + service hub
  • Build /locations/las-vegas/ hub (full NAP, hours, embedded map, LocalBusiness schema with PostalAddress + OpeningHours + telephone).
  • Build /locations/las-vegas/services/<service>/ for each of 5 departments. 30% unique location-anchored content + Service schema.
  • Build /services/ hub page with ItemList schema; add to main navigation.
  • Add Terms of Service page; link from footer.
  • Resubmit cleaned sitemap to GSC.
Week 4 , Authority content + AI citation surface
  • First two of the five restricted-category long-form authority pages (peptide + GLP-1).
  • Add /llms.txt listing canonical citable pages.
  • Re-run Google Rich Results Test on every key page.
  • Re-run DataForSEO On-Page Instant on top 5 pages; aim for 100/100 score.
  • Snapshot baseline rankings for top 20 queries in GSC for next month's audit.
  • Re-run DataForSEO live SERP on the five money queries; verify AI Overview reference count for GIOStar.

Access Required for Verification

  • Google Search Console property verification (read coverage, ranking baseline).
  • Google Analytics 4 admin access (confirm tag firing + event configuration).
  • WordPress administrative login (confirm plugin configuration, sitemap state, page edits).
  • Yoast SEO premium access if available (advanced schema customization without code).
  • Cloudflare dashboard access (HSTS toggle, Transform Rules).
  • Meta Business Manager access (Pixel creation + audience config).
  • Domain registrar access (GSC DNS verification).

Off-Site SEO Scope Note

This report covers onsite factors only. Off-site SEO (backlink profile, citation consistency, Google Business Profile depth, review and reputation surface, third-party AI citation presence such as Wikipedia, Reddit, healthcare directories) is the next companion audit. Recommended within 30 days, after the P0 onsite items have been resolved.

Re-Audit Cadence

Healthcare YMYL: monthly re-audit + out-of-cycle after any Google core update or YMYL algorithm announcement. Next scheduled re-audit: 2026-07-24.

Audited by Ratatoskr (JustinHarris.AI) on behalf of JustinHarris.AI · 2026-06-24 (noon-PT meeting cut)
Audit version: onsite-v3 · Permalink: seo-audits.justinharris.ai/giostar-wellness/onsite-v3
In scope: Onsite SEO factors only.
Out of scope: Off-site SEO audited separately.
Next re-audit: 2026-07-24.
Questions about findings can be directed to the auditor of record.