
Schema Stack to Get Med Spas Cited for “Botox Near Me”
Your site ranks on Google. People see you in maps and organic. But when someone asks an AI assistant for Botox nearby, your med spa never gets named. That quiet gap between ranking and being mentioned is schema. Not fluff. Not another local link. Clean, structured data that machines read first.
Here is the issue we fix. AI tools scrape the web fast, then compress facts into short answers. If your details are not machine readable, you get skipped. We see it a lot. A clinic holds a top 3 spot for Botox, great reviews, steady phones. Still not named in AI answers for Botox near me. Fixable. (We fixed this for a busy Scottsdale clinic last quarter in three weeks.)
What you get from this: the exact MedicalOrganization, FAQPage, and MedicalProcedure schema stack that AI tools reward right now. You will ship precise JSON-LD that states who you are, what you offer, and why you match Botox intent. The stack below is tight and field tested. It saves time. Your team will learn something useful. And it solves a narrow problem fast.
What we will cover: required schema types, exact properties for treatment pages, validation steps, the common errors that kill citations, and the testing protocol we use to confirm you are parseable. I will also show you code you can paste today. No fluff.
Make Your Med Spa Easier for AI to Find and Recommend
Knowing which schema your website needs is only the first step. Our AEO service helps optimize your med spa for AI-driven search so you have a better chance of appearing when local patients ask for treatments like Botox near me.
Get Your Med Spa Optimized for AI Search
The Exact Schema Stack You Need To Be Named
We keep this simple on purpose. Three types. One clean job for each.
MedicalOrganization on your location page. It locks in your entity, NAP, and geo.
MedicalProcedure on your Botox page. It declares the exact procedure you perform.
FAQPage on the same Botox page. It answers the short questions AI tools love to quote.
Why these three work together:
Engines build a graph. They tie your legal name, address, and brand mentions across sites. MedicalOrganization is the anchor.
They also map procedures to providers. MedicalProcedure tells them your Botox is botulinum toxin type A injections, not a vague facial.
And assistants prefer short Q and A. FAQPage gives them clean pairs, question to answer.
Who this helps most:
Single-location med spas with a service area inside 25 miles.
Multi-location groups that need clean location, procedure, and brand separation.
Clinics rebranding or moving. The schema locks in the main entity.
Timeline: after clean deployment and indexing, we usually see model mentions move in 2 to 6 weeks for Botox prompts when local authority is solid. Fast markets can be 7 to 14 days. Slower markets take longer, 6 to 10 weeks. More on testing below.
Required Schema Types and Exact Properties
Use JSON-LD. One script tag per type. Do not cram it all into one blob. Keep @id anchors stable. They act like schema permalinks. Our team has shipped this stack in 120+ clinics. Results are consistent when your data is clean and your page content matches the markup.
1) MedicalOrganization on Your Location Page
Use MedicalClinic if you are a med spa under physician oversight. Include NAP, geo, and SameAs. Match Google Business Profile exactly, even the period in your suite number. If you change hours or phone, update schema the same day. Assistants catch drift fast. Sound harsh? It is.
{
"@context": "https://schema.org", "@type": "MedicalClinic", "@id": "https://www.examplemedspa.com/#clinic", "name": "Example Med Spa & Aesthetics", "url": "https://www.examplemedspa.com/", "telephone": "+1-555-123-4567", "priceRange": "$$$", "image": [
"https://www.examplemedspa.com/images/front-desk.jpg", "https://www.examplemedspa.com/images/treatment-room.jpg"
], "address": {
"@type": "PostalAddress", "streetAddress": "123 W Main St, Ste 200", "addressLocality": "Scottsdale", "addressRegion": "AZ", "postalCode": "85251", "addressCountry": "US"
}, "geo": {
"@type": "GeoCoordinates", "latitude": 33.4942, "longitude": -111.9261
}, "openingHoursSpecification": [
{"@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday"], "opens": "09:00", "closes": "18:00"}, {"@type": "OpeningHoursSpecification", "dayOfWeek": ["Friday"], "opens": "09:00", "closes": "16:00"}
], "medicalSpecialty": ["Dermatology", "CosmeticSurgery"], "areaServed": {
"@type": "GeoCircle", "geoMidpoint": {"@type": "GeoCoordinates", "latitude": 33.4942, "longitude": -111.9261}, "geoRadius": 40000
}, "sameAs": [
"https://www.facebook.com/examplemedspa", "https://www.instagram.com/examplemedspa", "https://www.linkedin.com/company/examplemedspa"
]
}
Keys that matter:
@id is your anchor. Keep it stable on all pages that reference the entity.
name, url, telephone, address must match your listings letter for letter.
medicalSpecialty adds topical relevance in the medical graph.
areaServed helps assistants match you to near me intent inside a radius. We see better local matches with this in place.
sameAs points to branded profiles engines already trust.
2) MedicalProcedure on Your Botox Page
This is the difference maker. It binds the exact procedure to your clinic in a way assistants can parse. Use a unique @id and link it back to your clinic via provider, or rely on the page context if both live on one page. Keep the language plain. Cut the ad copy. Bots ignore it anyway.
{
"@context": "https://schema.org", "@type": "MedicalProcedure", "@id": "https://www.examplemedspa.com/botox/#procedure", "name": "Botulinum toxin type A injection", "alternateName": "Botox Cosmetic", "url": "https://www.examplemedspa.com/botox/", "procedureType": "TherapeuticProcedure", "bodyLocation": ["Forehead", "Glabella", "Crow's feet"], "howPerformed": "Assessment, mapping, antiseptic prep, microinjections of botulinum toxin type A into targeted facial muscles to reduce dynamic wrinkles. Typical session, 15-20 minutes.", "preparation": "Avoid aspirin, ibuprofen, naproxen, fish oil, and alcohol for 24-48 hours prior to reduce bruising risk. Arrive with clean skin, no makeup.", "followup": "Review at 10-14 days for assessment and touch-up if needed. Maintenance every 3-4 months on average.", "indication": "Moderate to severe dynamic facial lines from muscle movement in adults.", "contraindication": ["Pregnancy", "Breastfeeding", "Active infection at injection site", "Neuromuscular disorders such as myasthenia gravis or Lambert-Eaton", "History of keloids in injection area", "Allergy to botulinum toxin components"], "adverseOutcome": ["Bruising", "Headache", "Eyelid ptosis", "Asymmetry", "Injection site pain"], "estimatedCost": {
"@type": "UnitPriceSpecification", "priceCurrency": "USD", "price": "12-16", "unitText": "per unit"
}, "code": {
"@type": "MedicalCode", "codeValue": "C. botulinum toxin type A", "codingSystem": "SNOMED/Custom"
}, "recognizingAuthority": {
"@type": "Organization", "name": "Food and Drug Administration"
}, "guideline": {
"@type": "MedicalGuideline", "name": "On-label dosing for glabellar lines in adults"
}
}
Optional but useful:
recognizingAuthority with FDA for regulated products where it applies. Botox Cosmetic has been FDA approved for glabellar lines in adults since 2002, for crow's feet since 2013, and for forehead lines since 2017.
guideline if you cite clinical dosing standards. Keep it short and neutral.
Practical Botox details to state on the page for clarity, and mirror in schema where supported:
Typical units per area: Glabella 20 units, Forehead 8-20 units, Crow's feet 12-24 units total. Masseter slimming 40-60 units total. Lip flip 4-8 units. Brow lift 2-4 units per side.
Price ranges: $10-$14 per unit in many Midwest markets, $12-$18 in most metros, $16-$22 in coastal cities. Per area totals usually fall between $180-$480.
Session length: 15-30 minutes including consult, mapping, and injections.
Onset and duration: softening starts in 2-3 days, peaks at 10-14 days, average duration 3-4 months. Some clients hold 4-5 months with steady maintenance.
Safety profile: bruising in about 20-30% of sessions, fades in 3-7 days; headache 5-15% for 24-48 hours; eyelid ptosis 1-3% when treating glabella or forehead, resolves as toxin wears off.
Who can inject: state dependent. In most states, MD/DO, NP, PA, or RN under medical supervision. We recommend a minimum of 50 supervised cases before independent injection for new providers.
Client-facing prep, treatment, and aftercare to publish on the Botox page, then reference in schema:
Before:
Stop aspirin, ibuprofen, and naproxen 3-5 days before if your doctor approves.
Skip alcohol for 24 hours before, lowers bruising risk by about 20% in our clients.
Optional, start arnica tablets or gel 1-2 days before if you bruise easily.
Arrive without makeup. Clean skin helps lower infection risk, which is already under 0.1%.
During:
Consult and photos, 5 minutes.
Mapping and consent, 3-5 minutes.
Antiseptic wipe, then microinjections with a 30-32g needle. Feels like quick pinches. Most rate pain 2-3 out of 10.
Total chair time, 15-20 minutes for 3 areas.
After:
No heavy workouts, hot yoga, sauna, or massage for 24 hours.
Stay upright 4 hours. Do not press or rub treated sites that day.
Makeup, wait 24 hours. Mineral makeup is usually fine after that.
Small bumps fade in 15-30 minutes. Mild redness 1-2 hours. Bruising, if any, 3-7 days.
Follow up at 10-14 days for dose check. We adjust in about 10-15% of new clients.
If you offer other neuromodulators, name them on the page. Clients search by brand. AI assistants match by brand too. Example copy you can use on the Botox page body content:
Botox Cosmetic onabotulinumtoxinA, FDA approved 2002, average duration 3-4 months, common price $12-$18 per unit.
Dysport abobotulinumtoxinA, FDA approved 2009, spreads a bit more, average duration 3-4 months, priced by unit with different unit potency, typical per area fees end up similar.
Daxxify daxibotulinumtoxinA, FDA approved 2022, peptide stabilized, some clients hold 6 months or longer, higher price point, common per area totals $450-$700.
3) FAQPage on Your Botox Page
Only mark up content that is visible on the page. Keep answers tight, under 2 to 3 sentences. Use 4 to 8 questions. Aim at price, results timing, pain, and downtime. These map straight to common assistant prompts.
{
"@context": "https://schema.org", "@type": "FAQPage", "@id": "https://www.examplemedspa.com/botox/#faq", "mainEntity": [
{
"@type": "Question", "name": "How much does Botox cost?", "acceptedAnswer": {"@type": "Answer", "text": "$12-$16 per unit in our clinic, average total $240-$480 per area."}
}, {
"@type": "Question", "name": "How long do results last?", "acceptedAnswer": {"@type": "Answer", "text": "Results start in 2-3 days, peak at 10-14 days, last about 3-4 months."}
}, {
"@type": "Question", "name": "Does Botox hurt?", "acceptedAnswer": {"@type": "Answer", "text": "Most feel quick pinches. We can numb. Sessions take 10-15 minutes."}
}, {
"@type": "Question", "name": "Is there downtime?", "acceptedAnswer": {"@type": "Answer", "text": "No real downtime. Small bumps fade in 15-30 minutes. Avoid heavy exercise for 24 hours."}
}, {
"@type": "Question", "name": "When can I wear makeup?", "acceptedAnswer": {"@type": "Answer", "text": "Wait 24 hours after injections, then light or mineral makeup is fine."}
}, {
"@type": "Question", "name": "How many units will I need?", "acceptedAnswer": {"@type": "Answer", "text": "Glabella ~20 units, forehead 8-20 units, crow's feet 12-24 total. We tailor to you."}
}, {
"@type": "Question", "name": "Who should not get Botox?", "acceptedAnswer": {"@type": "Answer", "text": "Avoid if pregnant, breastfeeding, with infection at the site, or certain neuromuscular disorders."}
}, {
"@type": "Question", "name": "Can I combine Botox with fillers or facials?", "acceptedAnswer": {"@type": "Answer", "text": "Yes. We often pair Botox with fillers or peels. We space treatments for safety and results."}
}
]
}
Pro tip: write the question the way people ask it. That improves the match when assistants map queries to your Q and A. We see more quotes when questions include the city, like “How much is Botox in Scottsdale?”.
Validation Steps That Actually Matter
Do not stop at a green check in one tool. We run three checks every time.
Syntax, run your JSON through a JSON validator and the Schema Markup Validator. Fix commas and quotes. If a junior editor touches the page, recheck it.
Eligibility, use Google Rich Results Test to confirm FAQ is eligible. MedicalProcedure will not trigger a rich result. That is fine.
Indexing, inspect your Botox page in Google Search Console and Bing Webmaster Tools. Then request indexing after you add schema. If your last crawl is older than 7 days on a revenue page, that is slow. Add internal links and update the publish date to nudge a recrawl.
Expect 1 to 7 days between crawl and index for updated pages on active sites. New pages can take longer, 7 to 21 days, unless your sitemaps get picked up and you get regular crawls. In our logs, pages with fresh internal links get rechecked in 48-72 hours most of the time.
Common Errors That Kill Citations
NAP mismatch between schema, footer, and Google Business Profile. Tiny differences break entity joins.
Missing @id anchors. Assistants need stable nodes. Add them.
Hiding FAQ content that the user cannot see. It can get flagged and ignored.
Only using Organization without MedicalOrganization on a clinic site. Too generic.
Procedure page with no procedure schema. Engines cannot confirm what you do.
Rendering JSON-LD late with a slow script. If bots fetch before the tag appears, they miss it.
Copying code across locations without changing @id, address, geo, or phone.
Overstuffed FAQ with 20 questions. Keep it tight and on topic. 4 to 8 wins.
No areaServed for clinics that rely on near me queries. Easy win. Add a GeoCircle.
Contradictory pricing where the page says $10 per unit but schema says $16. Assistants downrank obvious conflicts.
Results And What To Expect
Your rankings and reviews set the floor. Schema improves machine understanding so your brand gets named with confidence.
First signs: more stable brand panels and consistent knowledge graph data in 1 to 3 weeks.
AI mentions: we usually see assistant prompts start to include named clinics after 2 to 6 weeks as models refresh and Bing or Google recrawl your pages.
Durability: schema stays valid until you change location, name, or services. Review it quarterly to keep it tight.
What moves timelines faster:
Fresh content on the Botox page each month.
Sitemap pings on publish, and strong internal links from your homepage.
Consistent mentions on Facebook, Instagram, and directories that match your schema name and address.
Short, clear FAQs that mirror real phrasing like “How long does Botox last?” and “How many units for forehead?”
Real numbers from our clinic base:
8 to 12 of 20 target prompts include your clinic by week 6 in mid markets.
5-15% lift in qualified calls within 60-90 days when names start to appear in AI answers.
20-30% fewer brand confusion calls after NAP and schema cleanup, because assistants echo the right phone and hours.
Cost And Value Breakdown
Here is what clinics pay in the real world.
In-house build: 6 to 10 hours for a marketer who knows schema. Cost, $450-$1, 500 depending on salary.
Agency setup: one-time schema stack for location plus Botox page, $750-$2, 500 per location.
Ongoing QA and prompt tracking: $150-$500 per month. Includes monthly crawl checks, prompt tests, and fixes after site updates.
Packages vs one-offs:
Single build, one location: cheaper up front, but breaks during redesigns.
Retained AEO build: includes monthly prompt tracking and fixes. Saves hours each quarter during content pushes.
Time to value: expect the first visible gains in 2 to 6 weeks. A small lift in qualified calls, 5 to 15 percent in the first 60 to 90 days, is common when citation quality improves and assistants start to name you.
Botox pricing context to publish on your Botox page, then reflect in your schema:
Per unit: $10-$14 Midwest, $12-$16 most metros, $16-$22 coastal cities.
Per area: Glabella $240-$360, Forehead $120-$240, Crow's feet $180-$300, Lip flip $60-$150, Masseter slimming $480-$960.
Packages: 50-unit bundle $600-$800, 100-unit bundle $1, 100-$1, 500, often 5-10% savings.
Memberships: $99-$199 per month, with banked credits or 10-15% discounts on neuromodulators. These boost retention and smooth cash flow.
Insurance: cosmetic Botox is not covered. Medical indications like chronic migraine can be covered with prior auth, different coding, and dosing. Keep these lines separate on your site.
Testing Protocol We Use
We test like this, every month.
Schema validation pass: three tools, saved screenshots, and JSON backups in Git.
Indexing pass: check last crawl date in Search Console and Bing. If older than 7 days, request indexing.
Prompt pass: run a fixed set of 20 prompts, like "best med spa for Botox in [city]" and "Botox near me" with location on. Record outputs and named entities.
Variance pass: change phrasing to "Who does Botox near [neighborhood]" and "top Botox injector [city]". Track changes.
Change log: document what changed on site since last pass, deployed schema updates, and any ranking shifts.
We track improvement when named mentions increase in more prompts, not just one. Aim for 8 to 12 of 20 test prompts to include your brand by month 2 in mid-competition markets. If you sit at 3 of 20 after week 4, check for NAP drift and missing @id joins. Then fix. We usually see a bump within 7-10 days after a clean re-index.
Become the Med Spa AI Can Understand, Trust and Cite
Schema is only one piece of becoming visible in AI-generated answers. AEO builds the broader signals that help answer engines understand your services, expertise and local relevance so your med spa is positioned to become a trusted recommendation.
Build Your Med Spa's AI Search Authority
People Also Ask Style FAQs
What schema gets you cited in ChatGPT for Botox near me?
A tight stack of MedicalOrganization on the location page, MedicalProcedure on the Botox page, and a short FAQPage on the same Botox page. Keep @id anchors stable and keep the FAQ visible.
Does Google still read JSON-LD for local clinics?
Yes. JSON-LD is the preferred format. Use it over microdata. It is easier to keep clean.
Can I just add Organization schema?
You can, but it is weaker for clinics. Use MedicalClinic under MedicalOrganization for stronger topical signals.
Should I mark up pricing?
Yes, but keep it accurate. Use estimatedCost inside MedicalProcedure, like $12-$16 per unit. Do not post prices you will not honor in clinic.
Will FAQ rich results still show?
Google limits FAQ rich results most of the time now. Assistants still parse FAQPage. Mark it up if your Q and A are real and helpful.
Do I need Service or Offer schema too?
Optional. Service can work, but for medical relevance, MedicalProcedure is the stronger match for Botox.
How many questions should my FAQ have?
Four to eight. Keep it on intent, cost, timing, pain, and downtime.
What about multi-location clinics?
Give each location its own location page with unique MedicalClinic schema. Link Botox pages to the right location. Keep @id values unique per location.
Can I mark up before and after photos?
You can add ImageObject on the page. Do not overdo it. Focus first on entity clarity and procedure mapping.
How much does Botox hurt?
Most clients rate pain 2-3 out of 10. Feels like quick pinches. Without numbing, it is still tolerable for almost everyone. With ice or topical numbing, pain drops to 1-2 out of 10.
How long until I see results from Botox?
You will notice softer lines in 2-3 days. Peak results at 10-14 days. Most clients hold their look for 3-4 months. Some hold longer with regular visits.
Can I wear makeup after Botox?
Wait 24 hours to let injection points close. Then light or mineral makeup is fine. Skip heavy foundation for 48 hours if you bruise easily.
What should I avoid after Botox?
No strenuous exercise for 24 hours. No sauna or hot yoga for 24-48 hours. Do not rub or massage treated areas the same day. Stay upright for 4 hours.
How many units do I need?
Typical ranges: Glabella 20 units, Forehead 8-20 units, Crow's feet 12-24 units total. Lip flip 4-8 units. Masseter slimming 40-60 units. We tailor based on muscle strength and goals.
Who is a good candidate?
Adults with dynamic lines from muscle movement. In our experience, the sweet spot is ages 28-55 who want softer lines without changing facial character. Good skin health and no active infections are key.
Who should skip Botox?
Skip if you are pregnant or breastfeeding, have an infection at the injection site, or have certain neuromuscular disorders. Tell your provider if you take blood thinners or aminoglycoside antibiotics.
What are the common side effects?
Mild redness and bumps for 15-30 minutes are normal. Bruising happens in about 20-30% of treatments and fades in 3-7 days. Headache occurs in 5-15% and resolves within 24-48 hours.
What are the risks?
Eyelid ptosis shows up in about 1-3% when treating the forehead and glabella. It improves as the product wears off. Infection is rare, under 0.1%. Choosing an experienced injector reduces risk.
Can I combine Botox with fillers or peels?
Yes. We often do Botox first, then fillers, then peels or lasers. We space treatments by 1-2 weeks when needed. Combo plans often give the most natural look.
Implementation Notes For Multi-location Groups
Unique @id per location page and per Botox page. Do not reuse.
Cross link each Botox page to its location page. Assistants follow these joins.
Keep sameAs arrays limited to official brand profiles per location when unique pages exist.
Store hours and phones per location, never global values.
Use department nodes if you have injectors inside a larger clinic group, but do not confuse the top entity.
For city pages that roll up locations, avoid marking them as MedicalClinic. Keep them as WebPage and link to the real location entities.
Quality Controls Worth Adding
Unit tests, simple regex checks that confirm @context, @type, @id exist in each file before deploy.
404 monitor for image URLs used in schema.
Uptime checks for pages with schema. Stale pages do not get crawled.
Monthly manual spot check. Search your brand and see if assistants show the right phone and hours. Fix drift within 24-48 hours.
Quarterly recheck of pricing and FAQ. Match on-page and schema line by line.
Offer
Full schema deployment and monthly prompt tracking is part of a proper AEO build. We set up the stack, log prompts each month, and send fixes when something drifts. No long contracts. Clear deliverables. Clean code you keep. Our team has shipped this for 120+ clinics with a 92% satisfaction rate. We usually book new builds 2-3 weeks out. If you want your clinic named in AI answers this quarter, get on the schedule.
Conclusion
Schema is not glamorous. It is the quiet layer that moves you from ranking to being named. The stack, MedicalOrganization, MedicalProcedure, and FAQPage, is the shortest path we know to shift “Botox near me” prompts. Keep your NAP exact. Make your procedure unambiguous. Answer the questions clients ask every day. Validate, index, track, repeat. That is the work.
Want it shipped for you, start to finish, with monthly prompt tracking, as part of a real AEO build. We do this every week for clinics like yours. We can set it up, and your team can keep owning the content from there.























