SGA Growth · Web Optimization Program

Innovative Dental: SEO and AEO Optimization via the Webflow API

A phased plan to close structured data, canonical, and answer-format gaps on idspringfield.com using programmatic updates against Webflow's Data API v2. Targets faster ranking gains and citation-ready content for AI answer engines.

Practice
Innovative Dental, Springfield MO
Site
idspringfield.com
Date
April 21, 2026
Owner
SGA Growth Team
01 · Executive Summary

The site looks great. It is not yet built to be found.

Innovative Dental runs on Webflow with strong brand presentation, functional title and meta tags, Google Analytics 4, and Google Tag Manager already wired. Two structural gaps keep it from ranking where it should and from being cited by AI answer engines: zero structured data and no answer-format content. Both are fixable without a redesign, and most of the work can be executed programmatically through the Webflow Data API.

Traditional SEO Score
62%
Needs Work. Title, description, OG tags, GA4, and GTM are present. Canonical tags, image alt coverage, and service page metadata are the gaps.
AEO Score
28%
Critical. No JSON-LD schema, no FAQ blocks, no direct-answer content. Answer engines cannot confidently extract facts about the practice.
Headline finding
Innovative Dental is invisible to answer engines. ChatGPT, Perplexity, Claude, and Google AI Overviews cannot verify who the practice is, what it offers, where it is located, or whether it accepts new patients, because none of that is marked up as structured data or formatted as direct answers.
02 · What We Found (Raw Audit)

Homepage audit results

Pulled directly from the live HTML of idspringfield.com on April 21, 2026. Webflow site ID and page IDs captured and ready for API targeting.

What is working

Title tag
Pass
"Innovative Dental - Dental Implants & Orthodontics" at 55 characters. Well within Google's 60-character display limit. Could gain a location modifier.
Meta description
Pass
125 characters, mentions Springfield MO, includes a soft call to action. Strong.
Open Graph + Twitter
Pass
og:title, og:description, og:image, og:type, twitter:card, twitter:title, twitter:description all set. Social shares render correctly.
Analytics stack
Pass
GA4 G-JY4C4642D7 and GTM GTM-MX5LLS8V both firing. No call tracking detected.

What is broken or missing

No JSON-LD structured data
Critical
No Dentist, LocalBusiness, Organization, FAQPage, Service, Person, or Review schema anywhere on the page. This is the single highest-impact fix.
No canonical tag
Critical
No <link rel="canonical"> present. Exposes the site to duplicate content risk from UTM parameters and tracking variants.
No FAQ or direct-answer content
High
Homepage is narrative and lifestyle-driven. Zero sections of the form "What is the All-On-4 procedure?" or "How much do implants cost in Springfield?". Answer engines have nothing to extract.
Missing full NAP block
High
Phone 417-889-GRIN is visible. Full street address and structured hours are not in the homepage NAP area. Harms local pack ranking.
No Person schema on doctors
High
Dr. Olson, Dr. Cook, Dr. Westrich, Dr. Downs mentioned in testimonials. Bios not marked up as Person with credential, alumniOf, medicalSpecialty.
No review or aggregateRating schema
High
Testimonials exist on page. Not wrapped in Review markup, so star ratings cannot appear in SERPs or AI responses.
Service pages likely thin on metadata
Medium
Six top-level services (Implants, General, Cosmetic, Orthodontics, Concerns, Med Spa). Need to confirm each has a unique SEO title, description, and OG image. Bulk-updatable via API.
Image alt text unverified at scale
Medium
Homepage hero and service images must be audited. Webflow's Data API does not update alt text directly. Requires a Designer Extension or manual edit.
03 · What the Webflow API Can Actually Do

Capability matrix, honestly rated

The Webflow Data API v2 is powerful for metadata and custom code, limited for DOM editing, and silent on a few SEO fields. Knowing where the API ends keeps us from overpromising automation that does not exist.

TaskAPI SurfaceFeasibilityNotes
Update SEO title and meta description per page PATCH /v2/sites/{site_id}/pages/{page_id} Full Fields: seo.title, seo.description. Draft saves instantly, live on next publish.
Update Open Graph title, description, image PATCH /v2/sites/{site_id}/pages/{page_id} Full Fields: openGraph.title, openGraph.description, openGraph.titleCopied, openGraph.descriptionCopied.
Bulk update metadata across service pages PATCH /v2/sites/{site_id}/pages/bulk Full Up to 100 pages per call. Ideal for rolling the same template of improvements across every service page.
Inject JSON-LD structured data (Dentist, FAQPage, Review, Person) POST /v2/sites/{site_id}/registered_scripts/inline Full Register the script block once, then attach to site or page via the custom code endpoint. Site-wide head is the right home for Dentist and Organization schema.
Attach registered scripts site-wide or per page PUT /v2/sites/{site_id}/custom_code
PUT /v2/pages/{page_id}/custom_code
Full FAQPage schema per service page. Dentist schema once at site level. Clean separation.
Publish changes POST /v2/sites/{site_id}/publish Full Specify domains. We trigger this as the final step of each run.
Bulk update CMS collection items (blog posts, doctor bios, service detail) PATCH /v2/collections/{collection_id}/items/bulk Full Perfect for rolling SEO fields across every blog post at once.
Update static text content on pages POST /v2/pages/{page_id}/dom Partial Designed for localization. Works, but overwrites must include data-w-id to preserve design links. We treat this as a scalpel, not a bulk tool.
Canonical URL per page Not exposed as a dedicated field Workaround Inject <link rel="canonical"> via the custom code endpoint or via GTM. GTM is already installed and is the fastest path.
Image alt text at scale Data API does not update images Not via Data API Requires a Webflow Designer Extension (JS app running inside the Designer) or manual edit. Designer Extension is the right investment if this recurs across 68 Gen4 sites.
robots.txt and sitemap.xml Not exposed via Data API Manual Managed in Webflow Site Settings. Sitemap auto-generates. Edit once, stop touching.
Redirects Not exposed via Data API Manual Managed in Site Settings. Plan ahead when changing slugs.
Practical translation
The Webflow Data API gets us roughly 80 percent of the SEO and AEO work we need, specifically every metadata change, every structured data injection, every bulk update across service pages and blog posts, and every publish. The remaining 20 percent, alt text and redirects, stays manual for now. If we deploy this pattern across all 68 Gen4 practices, a Designer Extension becomes worth building.
04 · The Plan

Three phases, six weeks, measurable lift

Each phase is scoped to produce a standalone improvement. Phase 1 is a ground-truth audit and quick wins. Phase 2 is the AEO payload that gets us cited by answer engines. Phase 3 templatizes everything so we can repeat it across the portfolio.

01Foundation and quick wins
Week 1 to 2 · 40 hours

Goals

Fix the two critical gaps that every page has, ship site-wide Dentist schema, and lay the Webflow API integration track.

Work items

  • Generate Webflow API token, scope to Sites CMS + Pages + Custom Code, store in 1Password vault
  • Pull full page inventory via GET /v2/sites/679bf605b2078d5d736d9afd/pages, commit JSON snapshot to repo for diff tracking
  • Write Dentist + Organization JSON-LD payload using verified NAP, hours, doctor names, GBP link, accepted insurances
  • Register site-wide inline script via POST /registered_scripts/inline, attach via PUT /sites/{id}/custom_code
  • Inject canonical tag via GTM (already installed) as Phase 1 tactical fix, proper Webflow head injection in Phase 2
  • Audit image alt coverage manually across 6 service pages and homepage, create punch list
  • Complete homepage NAP block: full street address, structured hours, visible above the fold in footer
  • Publish via POST /v2/sites/{id}/publish, validate in Google Rich Results Test and Schema Markup Validator

Deliverables

Page inventory JSON, Dentist schema live, canonical tags live, NAP block corrected, rich results validation screenshots.

02AEO payload and answer-format content
Week 3 to 4 · 60 hours

Goals

Make Innovative Dental citation-worthy. Answer engines reward pages that answer questions directly in plain language with backing structured data.

Work items

  • Draft 10 to 12 FAQ entries per service page, written to dental patient reading level, covering cost, duration, insurance, candidacy, recovery
  • Build FAQPage JSON-LD per service, register each as a page-scoped inline script, attach via PUT /v2/pages/{page_id}/custom_code
  • Render the same Q&A visibly on the page (Google penalizes schema that does not match rendered content)
  • Add Person schema for each doctor: name, jobTitle, alumniOf, medicalSpecialty, sameAs (LinkedIn, GBP)
  • Add Review and aggregateRating schema referencing existing testimonials, sourced from verified Google Business Profile reviews only
  • Bulk-update SEO title and description on every service page via PATCH /pages/bulk using a templated pattern: Service · Innovative Dental · Springfield MO Dentist
  • Add llms.txt and ai.txt at site root (manual upload) to explicitly welcome AI crawlers
  • Verify GPTBot, ClaudeBot, PerplexityBot are allowed in robots.txt

Deliverables

FAQPage schema on 6 service pages, Person schema on all doctors, Review schema live, SEO metadata templated across service pages, AI crawler policy published.

03Templatize and scale across portfolio
Week 5 to 6 · 50 hours

Goals

Turn the Innovative Dental playbook into a repeatable script we can point at any SGA or Gen4 practice site built on Webflow.

Work items

  • Wrap Phase 1 and 2 work as a Python CLI: sga-seo push --site-id <id> --practice <slug>
  • Practice profile schema: YAML file per location with NAP, doctors, services, insurances, hours, schema payload variables
  • Dry-run mode that diffs local schema against live page metadata before publishing
  • Post-publish verification: automated Rich Results Test call against every updated URL, pass/fail report to Slack
  • Rank tracking baseline: seed 25 target keywords per practice into rank monitoring before Phase 2 publishes
  • Decide build vs buy on a Webflow Designer Extension for alt text and DOM edits across 68 Gen4 sites

Deliverables

CLI tool, first two additional Gen4 sites onboarded, rank tracking baselines, alt text automation decision memo.

05 · Sample API Calls

Concrete, copy-pasteable

Below are the exact calls we will use against idspringfield.com. Site ID confirmed from live HTML. Tokens elided.

Update homepage SEO metadata

# PATCH page metadata, then publish
curl -X PATCH "https://api.webflow.com/v2/pages/679bf605b2078d5d736d9b54" \
  -H "Authorization: Bearer $WEBFLOW_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "seo": {
      "title": "Innovative Dental · Implants, Orthodontics, Cosmetic Dentistry in Springfield MO",
      "description": "Springfield MO dental practice specializing in dental implants, All-On-4, Invisalign, and cosmetic dentistry. Accepting new patients. Call 417-889-GRIN."
    },
    "openGraph": {
      "title": "Innovative Dental · Springfield MO Dentist",
      "description": "Implants, orthodontics, and cosmetic dentistry at Innovative Dental in Springfield, MO."
    }
  }'

Register and attach site-wide Dentist schema

# 1. Register the inline script
curl -X POST "https://api.webflow.com/v2/sites/679bf605b2078d5d736d9afd/registered_scripts/inline" \
  -H "Authorization: Bearer $WEBFLOW_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "sourceCode": "<script type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"Dentist\",\"name\":\"Innovative Dental\",\"url\":\"https://www.idspringfield.com\",\"telephone\":\"+1-417-889-4746\",\"address\":{\"@type\":\"PostalAddress\",\"streetAddress\":\"...\",\"addressLocality\":\"Springfield\",\"addressRegion\":\"MO\",\"postalCode\":\"...\"},\"openingHoursSpecification\":[...],\"sameAs\":[\"https://g.page/...\"]}</script>",
    "version": "1.0.0",
    "displayName": "SGA Dentist Schema v1"
  }'

# 2. Attach it site-wide in the head
curl -X PUT "https://api.webflow.com/v2/sites/679bf605b2078d5d736d9afd/custom_code" \
  -H "Authorization: Bearer $WEBFLOW_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "scripts": [
      { "id": "<script_id_from_step_1>", "location": "header", "version": "1.0.0" }
    ]
  }'

# 3. Publish
curl -X POST "https://api.webflow.com/v2/sites/679bf605b2078d5d736d9afd/publish" \
  -H "Authorization: Bearer $WEBFLOW_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "customDomains": [], "publishToWebflowSubdomain": false }'

Bulk-update service page metadata

curl -X PATCH "https://api.webflow.com/v2/sites/679bf605b2078d5d736d9afd/pages/bulk" \
  -H "Authorization: Bearer $WEBFLOW_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "pages": [
      { "pageId": "<implants_page_id>", "seo": { "title": "Dental Implants & All-On-4 · Springfield MO · Innovative Dental", "description": "..." } },
      { "pageId": "<ortho_page_id>",    "seo": { "title": "Orthodontics & Invisalign · Springfield MO · Innovative Dental", "description": "..." } },
      { "pageId": "<cosmetic_page_id>", "seo": { "title": "Cosmetic Dentistry · Springfield MO · Innovative Dental", "description": "..." } }
    ]
  }'
06 · How We Measure

Success metrics and review cadence

MetricBaseline (Apr 21, 2026)30-day target90-day target
Rich results eligible pages07 (home + 6 service)30+ including blog
Target keyword avg. rank (25-kw set)To baseline in Week 1+3 positions+8 positions, 5 keywords in top 3
Organic GBP direction requestsPull from GA4+15%+40%
Citations in AI answer enginesLikely 0Detected in Perplexity for brand queriesDetected in ChatGPT, Claude, Perplexity for brand and service queries
New patient form submits from organicPull from GA4+20%+50%

Review cadence

Weekly Slack update during Phase 1 and 2. Monthly written review in outputs/reports/. Quarterly portfolio rollup once the pattern is live on more than five practices.

07 · Risks and Open Questions

What could slow us down

  • API rate limits. Webflow Data API is 60 requests per minute per token. Bulk endpoints mitigate this. Not a concern at one site, will matter at 68.
  • Schema-to-content mismatch. Google penalizes JSON-LD that does not match visible content. FAQ text must render on the page, not live only in the schema block.
  • Review schema integrity. We only mark up verifiable GBP reviews, not curated testimonials. Otherwise we risk a manual action.
  • Alt text automation. Data API cannot update alt text. Decision needed in Phase 3: build a Designer Extension, or accept manual passes per site.
  • Publish coordination. Every API change requires a site publish. We need to sync with whoever is actively editing the site in the Designer to avoid clobbering drafts.
  • GTM vs Webflow head code overlap. Canonical tag and GA4 are already in GTM. We keep GTM as runtime injection and reserve Webflow head for static schema. Clear lanes.
08 · Next Steps

Start this week

  • Approve this plan (Dakota)
  • Generate Webflow API token for idspringfield.com workspace, store in 1Password
  • Confirm full street address, structured hours, and accepted insurances for Innovative Dental schema payload
  • Sync with whoever currently publishes the Innovative Dental site to establish a change window
  • Kick off Phase 1 on Monday, April 27, 2026
Prepared by SGA Dental Partners Growth Team | Confidential
InnovativeDental_SEO-AEO-WebflowAPI-Plan_2026-04-21
For Michael · Marketing Manager, Innovative Dental

What we need from you to get this live

Short version: the SGA Growth Team is running a Webflow API-driven SEO and AEO upgrade on idspringfield.com. Before we push anything live, we need ground truth from you on a handful of specifics. Most of this exists somewhere in your ops docs already. We just cannot publish structured data that claims things we have not verified.

From
Dakota Milner, SGA Growth
To
Michael, Innovative Dental Marketing
Needed by
Friday, May 1, 2026
Time to complete
Roughly 90 minutes
Why we are asking

The rules of the road

Structured data (JSON-LD) is the primary lever that will get Innovative Dental cited by ChatGPT, Perplexity, Claude, and Google AI Overviews. Google penalizes schema that does not match what is rendered on the page, and can issue manual actions for review schema that is not verifiable. That is why we will not invent details or lift testimonials. Every answer below becomes a specific line of code that ships to production and gets scraped by AI crawlers. Precision beats speed here.

Easiest way to send this back
Reply to the email thread with the numbered list (1.1, 1.2, etc.) and a one-line answer per item. Attach files where called out. If something is "I do not know," say so and we will chase it from our side.
01 · Business Facts

NAP, hours, and what you accept

These five items become the core Dentist + LocalBusiness schema that lives in the site head. Every other service page schema inherits from this. Worth getting right once.

1.Core business info
P1 · Blocks Phase 1
1.1
Exact legal business name and DBA
What appears on your tax filing vs. what you operate under. Schema uses the operating name but we confirm both match GBP.
one line each
1.2
Full street address including suite number and 9-digit ZIP
Current homepage only shows "Springfield, MO." We need street, suite, city, state, ZIP+4. Must match the address verified on your Google Business Profile exactly.
postal format
1.3
Primary phone and any tracking numbers in use
We see 417-889-GRIN (417-889-4746) on site. Confirm this is the master line. If you use CallRail or similar call tracking, share the dynamic swap config so we do not clobber it.
number + notes
1.4
Hours of operation, day by day
Homepage says "8 AM to 4 PM" but no weekly breakdown. We need Mon-Sun with open/close times, and any lunch closures. Holiday schedule if you maintain one.
table or list
1.5
Year founded and year at current location
Populates foundingDate on Organization schema. Increases entity authority with AI crawlers.
YYYY
2.Insurance and financing
P1 · High-intent queries
2.1
Full list of insurance carriers you are in-network with
"Do you take my insurance" is one of the most searched dental questions. Right now the site says "Financial Options" with no specifics. We want to list each carrier by name so the page gets cited for those queries.
carrier list
2.2
Carriers you file as out-of-network
Different SEO page, different schema. We separate in-network from courtesy filing to avoid misleading new patients.
carrier list
2.3
Financing partners (CareCredit, Sunbit, Cherry, LendingClub, etc.) and any in-house membership plan
If you have a membership or no-insurance plan, we want to surface it. Include pricing tiers if you are willing to publish them.
partner + plan details
2.4
Any active new patient special or promotion
Examples: "$99 new patient exam and X-ray" or "Free implant consultation." If you run something, we mark it up as an Offer with start and end dates. If not, confirm so we can stop asking.
offer details or "none"
02 · The Team

Doctor and key staff details

Person schema for each provider is how Google and AI engines link a named person to the practice entity. This is a big AEO unlock because it gives answer engines a verifiable source when patients search for a doctor by name.

3.For each doctor at the practice
P1 · Ships with Phase 2
3.1
Full legal name, preferred professional name, and credentials
Example: "Grant Olson, DDS" and "Dr. Grant" for friendly reference. We saw Dr. Olson, Dr. Cook, Dr. Westrich, Dr. Downs in testimonials. Confirm the current roster and any departures.
per doctor
3.2
Dental school (alumniOf) and year graduated
Populates alumniOf on Person schema. Strong authority signal for AI engines.
school + year
3.3
Board certifications and professional memberships
ADA, AGD, AAID, etc. Goes into hasCredential. If any doctor holds a fellowship (FAGD, etc.), flag it.
list per doctor
3.4
Areas of focus or specialty (medicalSpecialty)
Example: "All-On-4 and full-arch implants" vs "general dentistry and cosmetic." Lets answer engines route patient questions to the right doctor.
2 to 5 items per doctor
3.5
Headshot (high res) and LinkedIn URL if public
Populates image and sameAs. Sends attribution back to verifiable sources. PNG or JPG at least 600x600.
file + URL
3.6
Two-sentence bio in the doctor's own voice
Renders on the page and in the schema. Plain English, patient-facing. Avoid buzzwords like "holistic approach" or "leverage."
50 to 70 words
03 · Services and Claims

Service page facts and the things we can say

Every service page gets its own FAQPage schema, unique meta title and description, and answer-format content. We are not inventing facts. If it is not on your treatment planning sheets already, we will not publish it.

4.Service-level details
P2 · Ships with Phase 2
4.1
For each of the six services (Implants, General, Cosmetic, Orthodontics, Concerns, Med Spa), the top three patient questions you actually hear in consults
These become FAQ entries that render on the page and ship as FAQPage schema. Real questions beat ones we imagine.
3 questions per service
4.2
Price ranges or starting points you are willing to publish, per service
Pages that answer "how much does X cost" rank and get cited. "Starting at $X" with "final cost varies by case" is fine. If corporate policy blocks this, say so and we will do range-based language.
USD ranges or policy
4.3
Approximate treatment timelines per service
"Invisalign typically 12 to 18 months" or "All-On-4 delivered in a single day." Populates FAQ and MedicalProcedure schema.
per service
4.4
Specific technology or brands you offer
Examples: "CEREC same-day crowns," "Nobel Biocare implants," "iTero scanners," "Invisalign Diamond provider status." These are sticky, searchable terms.
brand list
4.5
Anything you do not offer and want us to not claim
Example: "we do not do full orthodontics for kids under 10" or "we refer out for oral surgery beyond X." Saves us from writing something you have to walk back.
exclusion list
5.Reviews and social proof
P2 · Schema integrity
5.1
Direct link to the Google Business Profile
We pull the verifiable reviews from here. The full g.page or maps.app.goo.gl URL.
URL
5.2
Which testimonials on the current site are from verified GBP reviews vs. collected separately
We can only mark up the verified ones as Review schema. Curated testimonials stay as visible social proof but do not ship as structured data. This keeps us out of manual action territory.
list + source
5.3
Current GBP star rating and review count snapshot
Baseline for tracking. We will refresh it ourselves going forward, but want the starting point on record.
X.X / N reviews
5.4
Awards, press mentions, or local recognitions in the last 3 years
"Best Dentist Springfield 2024" type recognitions. Populates award on Organization schema. Huge trust signal.
title + year + source
04 · Access and Coordination

What logins and coordination we need

6.Platform access
P1 · Blocks all phases
6.1
Webflow workspace access for an SGA Growth seat
We need either a workspace member seat at the level that can generate API tokens, or a token generated by you and shared via 1Password. Either works.
invite or token
6.2
GA4 property access (viewer at minimum, analyst preferred)
We already see G-JY4C4642D7 firing. We need read access to pull baseline traffic and conversion data before we ship Phase 1.
email invite
6.3
Google Tag Manager container access
GTM container GTM-MX5LLS8V is live. We want to audit what is running and potentially use GTM for the canonical tag injection in Phase 1.
email invite
6.4
Google Business Profile manager access
Needed to verify the sameAs link and potentially post schema-aligned updates from GBP.
email invite
6.5
Google Search Console access
This is where we will validate that schema lands and monitor rich result impressions. Essential for the 30 and 90 day success metrics.
property invite
7.Coordination
P2 · Prevents collisions
7.1
Who currently publishes the Innovative Dental site
Every API call of ours ends in a Webflow publish. We need to know if there is a parallel editor so we do not clobber drafts.
name + role
7.2
Any in-flight redesigns, page rebuilds, or content launches in the next 6 weeks
We will sequence around them. Nothing worse than shipping schema to a page that gets deleted next week.
list + dates
7.3
Approved publish windows
Example: "avoid Mondays during new patient intake surge." We will default to Tuesday and Thursday mornings unless you tell us otherwise.
days or "anytime"
7.4
Preferred review and approval workflow
Do you want to sign off on each piece of schema before it publishes, or trust us to ship and you review the validation report after? Both work.
pre-approve or post-review
8.Tooling and existing work
P3 · Nice to have
8.1
Any existing SEO tool subscriptions in use
Semrush, Ahrefs, Moz, FluidSEO, Schema Flow, etc. If you already pay for one, we will use it rather than duplicating.
tool list
8.2
Any existing target keyword list, content calendar, or competitor watchlist
Starting point for the 25-keyword baseline. If you have your own, we will use yours. If not, we will seed one.
file or list
8.3
Known pain points or things patients get wrong about Innovative Dental
Example: "people think we only do implants" or "people call asking if we take Medicaid when we do not." These go straight into FAQ content as clarifying answers.
bullet list
8.4
Any brand voice rules or claims we should not make
Example: "do not use the word 'cheap,'" "do not promise pain-free," "do not compare to competitors by name." Keeps our FAQ copy inside your voice.
do + do-not list
05 · Timeline

What happens after we hear back

DateMilestoneNotes
Fri May 1Michael returns completed ask listReply-all to the email thread. Anything marked "do not know" we will chase from our side.
Mon May 4SGA drafts the Dentist + Organization schema payloadWe send back a plain-English summary of what is about to go live. 24 hours to veto or edit.
Wed May 6Phase 1 shipsSchema and canonical live. Rich Results validation screenshots shared same day.
Week of May 11Phase 2 FAQ draftingWe write first drafts from your Q&A inputs. You edit for voice and accuracy.
Week of May 18Phase 2 shipsFAQPage, Person, Review schema live across 6 service pages.
Mon Jun 130-day results reviewRank movement, GSC impressions, GBP direction requests, AI citation detection.
One more thing
If any of this feels like the wrong scope, tell us. We would rather know on day one that you want a different cut than ship work you have to unwind. Call Dakota direct if easier.
Prepared by SGA Dental Partners Growth Team | Confidential
Ask list · Innovative Dental · April 23, 2026