Schema Markup for AI Search (AEO, GEO and SEO): How to Add Schema in Wix, 2026 Guide
By Michael Andrews | Published: 2026-02-10 | Updated: 2026-10-05 | 24 min read
A complete 2026 guide to schema markup on Wix: what structured data does for SEO, AEO and GEO, what changed in Google, what Wix adds automatically, and step-by-step JSON-LD examples you can paste in today.
Schema markup has always been one of the most underused tools on Wix sites. In 2026 it matters for a second reason as well: the same structured data that helps Google understand a page also helps AI answer engines such as ChatGPT, Perplexity, Microsoft Copilot and Google's own AI Overviews work out who you are, what you do and where you do it. This guide explains what schema markup is, what it does and does not do for SEO, AEO and GEO, and exactly how to add it to a Wix site, with copy-and-paste JSON-LD examples for every page type a typical Wix business needs.
I have rewritten this guide from scratch for October 2026. Google has made several big changes to structured data over the last two years, including removing the FAQ rich result in May 2026, and a lot of the advice still floating around online is out of date. Everything below has been checked against Google Search Central and Wix's own help centre, and I link to the sources so you can check them yourself.
Key Takeaway: Schema markup is JSON-LD code that describes your business and pages in a language machines can read. On Wix you add it through Settings > Custom Code (placed in the Head) or per page through Pages & Menu > SEO basics > Advanced SEO > Structured Data Markup. It can make pages eligible for rich results in Google, and it gives AI answer engines clear, consistent facts about your business, but Google is clear that no special schema is needed to appear in AI Overviews, so it works best as part of good content, not instead of it.
What is schema markup?
Schema markup, also called structured data, is a small block of code that sits in your page's HTML and describes what the page is about in a standard vocabulary. That vocabulary comes from schema.org, a shared project backed by Google, Microsoft, Yahoo and Yandex. Instead of a search engine having to guess that "01234 567890" on your contact page is a phone number, or that "Michael Andrews" at the bottom of a blog post is the author, schema states it outright.
Visitors never see it. It does not change your design, your text or your layout. It is written for machines: search engine crawlers, AI crawlers and any other software that reads the web.
There are three formats for structured data: JSON-LD, Microdata and RDFa. Google's own documentation recommends JSON-LD because it is the easiest to add and maintain, and it is the only one you should use on Wix. If you want the background on all three, my lesson on what structured data is and the difference between JSON-LD, Microdata and RDFa covers it in detail.
A simple example
Here is what the most basic schema for a local business looks like. Read it as a list of facts: this thing is a local business, this is its name, this is its website, this is its phone number.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Your Business Name",
"url": "https://www.yourdomain.co.uk",
"telephone": "+44 1234 567890"
}
</script>
Every schema block follows that same pattern. The @context line tells machines you are using the schema.org vocabulary, @type says what kind of thing you are describing, and the rest are properties of that thing. The skill is in choosing the right types, filling in the right properties and connecting the blocks together, which is what the rest of this guide is about.
Schema markup for SEO, AEO and GEO: what it actually does
You will hear three acronyms a lot this year. SEO is traditional search engine optimisation, getting pages found in Google and Bing. AEO is answer engine optimisation, getting your content used as the direct answer to a question (my lesson on what answer engine optimisation is explains it fully). GEO is generative engine optimisation, getting your business cited and recommended inside AI-generated answers from tools like ChatGPT, Perplexity and Google AI Mode (see what GEO is and how AI search engines work differently). Schema plays a part in all three, but a different part in each, so it is worth being precise.
For SEO: rich results and clear understanding
In Google Search, structured data makes a page eligible for rich results: the enhanced listings with star ratings, product prices, breadcrumbs, event dates, recipe cards and so on. Google keeps a search gallery of every rich result it currently supports. Schema is not a ranking factor in itself, and adding it does not guarantee a rich result, because Google decides when to show one. What it does is remove doubt. Google knows exactly which page is your service page, which business offers it and where you are based.
For AEO: clean, quotable facts
Answer engines want short, factual, unambiguous information: your opening hours, your prices, your service area, who wrote an article and when. Schema hands those facts over in a fixed format. It works hand in hand with how you write the page. A clear one-paragraph answer near the top of the page, backed by schema that says the same thing, is far easier for any system to use than an answer buried in the fifth paragraph.
For GEO: entity clarity for AI systems
This is where I need to be honest, because there is a lot of hype about schema and AI. Google's own guidance on AI features says, in plain words, that you do not need to create new machine-readable files or add any special schema.org structured data to appear in AI Overviews or AI Mode. The normal SEO fundamentals apply. It also lists making sure your structured data matches the visible text on the page as a best practice.
Microsoft has gone further. At SMX Munich in March 2025, Bing's Fabrice Canel was widely reported as confirming that Copilot uses schema markup to help it understand content. Other AI companies have not published detailed guidance either way.
So the fair summary is this. Schema is not a secret switch that gets you into AI answers. It is a way of describing your business so clearly and consistently that every machine, whether that is Googlebot, Bingbot, GPTBot or ClaudeBot, gets the same facts in the same structure. When your schema, your page text, your Google Business Profile and your other listings all agree, you become an easy, low-risk entity to cite. That consistency is the real GEO benefit, and it is why I build what I call an entity layer into every client's schema (more on that below). My lessons on entity SEO for GEO and schema strategies that support AI citations go deeper on this.
What changed in Google structured data in 2024 to 2026
If you added schema to your Wix site a few years ago, some of it may now do nothing in Google. These are the changes that matter most:
- FAQ rich results are gone. Google stopped showing FAQ rich results in Search from 7 May 2026 and has since removed the documentation. FAQPage remains a valid schema.org type, and it still describes your questions and answers clearly to any machine that reads it, but it no longer produces the expandable dropdowns under your listing.
- The Sitelinks Search Box was retired in November 2024. If an old guide tells you to add WebSite schema with a SearchAction for it, you can leave that part out.
- HowTo is no longer in Google's rich result gallery. HowTo rich results were reduced in 2023 and the type is not in the current list of supported features.
- Seven more types were deprecated in June 2025: Book Actions, Course Info, Claim Review, Estimated Salary, Learning Video, Special Announcement and Vehicle Listing.
- AI features need no special markup. Google's AI features guidance confirms there is no AI-specific schema to add.
None of this makes schema less useful. It just means you should focus on the types that still earn rich results and on the types that describe your business clearly, rather than chasing features Google has switched off.
What Wix adds automatically, and what it does not
Before you add anything, you need to know what Wix already puts on your pages, because duplicate or conflicting markup is the most common schema problem I see on Wix sites. According to Wix's help centre article on preset markups, Wix adds preset structured data to:
- Wix Blog posts: BlogPosting by default, with the option to switch to NewsArticle or Article.
- Wix Stores product pages: Product.
- Wix Bookings service pages: a preset markup (Wix uses the Course type for these).
- Wix Events pages: Event.
- Wix Portfolio projects and collections: image markup.
Wix also has an AI-generated structured data feature for blog posts. It scans each post and creates suitable types such as Article, BlogPosting, FAQPage or Recipe, and updates them when you edit the post. You turn it on in the dashboard under SEO & GEO settings, then Blog posts, then Customize defaults, then Structured data markup. Three limits are worth knowing: it only works on Wix Blog posts, the markup it creates is read-only unless you convert it to a manual markup, and it never removes markup you added yourself. I walk through it step by step in my lesson on Wix AI-generated structured data for blog posts.
What Wix does not give you is the schema most service businesses need most:
- LocalBusiness or a more specific type such as Dentist, Plumber or ProfessionalService for your homepage
- Organization and Person markup that tells machines who runs the business
- Service markup for each service page
- BreadcrumbList for your static pages
- FAQPage for FAQ sections on static pages
- Review markup for testimonials you show on your own site
If you run a service business on Wix, the gap between what Wix provides and what you need is almost always your homepage, your about page and your service pages. That is where the rest of this guide focuses.
Check before you add. Open your published page, press Ctrl+U (Cmd+Option+U on a Mac) to view the source, and search for application/ld+json. Every block you find is schema that is already there. Make a note of each @type so you do not duplicate it.
How to add schema markup in Wix: the two methods
Wix gives you two places to add your own JSON-LD. Both work. Which one you use depends on whether the schema belongs on one page, a type of page or the whole site.
Method 1: Custom Code (site-wide or chosen pages)
This is the method I use for most client work, because it puts the JSON-LD in the page head, keeps everything in one list and lets you choose exactly which pages each block loads on. My lesson on adding JSON-LD schema with Wix Custom Code shows every screen.
- Go to your Wix dashboard (not the Editor) and open Settings.
- Scroll to Advanced and click Custom Code.
- Click + Add Custom Code.
- Paste your JSON-LD, including the opening
<script type="application/ld+json">and closing</script>tags. - Give the snippet a clear name, for example "Schema: Organisation and LocalBusiness".
- Under Add Code to Pages, choose All pages for site-wide entities, or Choose specific pages for page-specific schema.
- Set Place Code in to Head.
- Click Apply, then publish your site.
Custom Code needs a premium plan and a connected domain, and it only runs on the published site, so you will not see it in the Editor or preview. Always test the live URL.
Method 2: Advanced SEO, page by page
Every page also has its own structured data panel. Wix's help article on adding structured data markup to your pages gives these steps:
- In the Editor, click Pages & Menu.
- Click the More Actions icon next to the page.
- Click SEO basics, then the Advanced SEO tab.
- Click Structured Data Markup, then + Add New Markup.
- Paste your markup into the box labelled Write your markup in JSON-LD format.
- Click Apply, then publish.
Two limits apply here: up to five markups per page, and each one must be under 7,000 characters. This panel takes the JSON itself, so paste it without the <script> tags. Wix checks the code before saving, which is handy for catching typos.
For repeating page types such as every blog post or every product, you can set a default markup template in the dashboard under SEO & GEO settings, using Wix's variables so each page fills in its own title, URL and image. For dynamic pages built on CMS collections, see my lesson on variable schema for Wix dynamic pages, and if you use Velo, generating JSON-LD from your database with Velo.
Which method should you use?
- Organisation, LocalBusiness, Person and WebSite (the same on every page): Custom Code, All pages, Head.
- Service, FAQPage and BreadcrumbList for one static page: either method. I prefer Custom Code set to that one page, because all your schema then lives in one list.
- Blog posts, products, events and bookings: let Wix's presets do their job, then add or override through Advanced SEO only if you need something extra.
The schema types every Wix business should consider
You do not need dozens of types. For most small and medium Wix businesses, these cover nearly everything:
- LocalBusiness, or the most specific subtype that fits (Dentist, Plumber, BeautySalon, AccountingService, ProfessionalService and so on). See Organisation and LocalBusiness schema and the full local schema code walkthrough.
- Organization, for the business as a brand, with your logo and social profiles.
- Person, for the founder, owner or lead practitioner, especially if you are the expert people are buying.
- WebSite and WebPage, which tie each page to your site and your business.
- Service, one for each main service. See Service and ProfessionalService schema, or Service schema with Wix Bookings.
- BlogPosting, which Wix adds for you. See Article and BlogPosting schema for author and E-E-A-T signals.
- BreadcrumbList, for clearer page paths in results. See BreadcrumbList schema on Wix.
- Product, which Wix Stores adds for you. See Product schema for Wix eCommerce.
- Event and VideoObject, if you run events or publish video. See Event structured data on Wix and VideoObject schema.
- FAQPage, for genuine, visible question-and-answer sections. It no longer gives a Google rich result, but it is still a clear, honest description of content that answer engines look for.
If you are in a regulated field such as healthcare, law or finance, use the specific types (MedicalBusiness, Dentist, LegalService, FinancialService), as covered in my lesson on schema for YMYL industries.
Which schema does your type of Wix business need?
The right mix depends on what you sell and how people find you. Here is the starting point I use for the most common kinds of Wix site:
- Trades and home services (plumbers, electricians, builders, cleaners): the most specific LocalBusiness subtype, one Service block per service, areaServed listing the towns you really cover, and FAQPage on pages with a visible FAQ. Make sure your schema address and phone number match your Google Business Profile exactly.
- Salons, clinics and therapists: the specific type (BeautySalon, HairSalon, Dentist, MedicalBusiness and so on), opening hours, a Person block for each named practitioner with real qualifications in the page text, and Service blocks for treatments. If you use Wix Bookings, check the preset markup on your service pages first.
- Consultants, coaches and freelancers: here the person is often the brand, so the Person entity matters as much as the business. Use ProfessionalService for the business, a detailed Person with knowsAbout and sameAs, and connect your blog posts to that Person as author.
- Online shops on Wix Stores: Wix handles Product for you. Your job is to make sure product pages have real prices, availability and images, to add Organisation markup with your returns and contact details on the site, and to avoid adding a second Product block on top of Wix's.
- Restaurants and cafes: Restaurant or CafeOrCoffeeShop, opening hours, servesCuisine and a link to your menu. My lesson on Wix Restaurants menu pages and restaurant schema covers the full setup.
- Events and venues: let Wix Events add Event markup, then check each event shows the correct date, time, location and ticket details in the Rich Results Test.
- Charities and community groups: NGO or Organization, with your registered charity details in the page text and sameAs links to your Charity Commission or OSCR listing. See NGO and nonprofit schema on Wix.
Whatever the business, start with the homepage entity layer, then work outwards to your most important service or product pages. Ten well-built, accurate blocks will do far more than fifty half-finished ones.
How schema, content and your Google Business Profile work together
Schema does not work on its own. AI answer engines and search engines cross-check what your markup says against everything else they can find about you, and the businesses that get cited most are the ones where every source tells the same story.
Think of it as three layers that must agree. The first is your visible page content: a clear answer to the main question near the top of the page, your services described in plain language, your location and contact details easy to find. The second is your schema, which states those same facts in a machine-readable format. The third is everything off your site: your Google Business Profile, Bing Places, your social profiles, directory listings and reviews.
When the three layers agree, a machine can be confident it has the right facts. When they disagree, for example your schema says you open at 8am, your website says 9am and your Google Business Profile says 8:30am, the safest thing for any AI system to do is say nothing about you, or to quote a competitor whose details are consistent. That is why the sameAs links in your Person and Organisation blocks matter so much: they point machines to the other places you exist and invite them to join the dots. For how AI tools handle local businesses specifically, see my lesson on getting a local Wix business cited in AI answers.
Worked examples: copy-and-paste JSON-LD for Wix
Each example below is ready for Wix Custom Code, with the script tags included. If you are pasting into the Advanced SEO panel instead, leave out the first and last lines. Replace every placeholder with your real details, and only include facts that also appear on your visible page.
1. LocalBusiness for your homepage
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ProfessionalService",
"@id": "https://www.yourdomain.co.uk/#business",
"name": "Your Business Name",
"description": "One clear sentence saying what you do and who for.",
"url": "https://www.yourdomain.co.uk/",
"telephone": "+44 1234 567890",
"email": "hello@yourdomain.co.uk",
"image": "https://www.yourdomain.co.uk/your-photo-or-premises.jpg",
"logo": "https://www.yourdomain.co.uk/your-logo.png",
"priceRange": "££",
"address": {
"@type": "PostalAddress",
"streetAddress": "1 High Street",
"addressLocality": "Bedford",
"addressRegion": "Bedfordshire",
"postalCode": "MK40 1AA",
"addressCountry": "GB"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 52.1356,
"longitude": -0.4685
},
"areaServed": ["Bedford", "Luton", "Milton Keynes"],
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "17:30"
}],
"sameAs": [
"https://www.facebook.com/yourpage",
"https://www.linkedin.com/company/yourcompany"
]
}
</script>
Swap ProfessionalService for the most specific type that fits your business. The @id is a unique label for this entity. It is not a page anyone visits, it just lets other schema blocks point to this one. Use your own domain with #business on the end, and keep it identical everywhere. Get your exact latitude and longitude by right-clicking your pin in Google Maps.
2. Organisation and Person: the entity layer
This is the block most Wix sites are missing, and the one that matters most for GEO. It tells machines who is behind the business, what they are known for and where else they appear online.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://www.yourdomain.co.uk/#organisation",
"name": "Your Business Name",
"url": "https://www.yourdomain.co.uk/",
"logo": "https://www.yourdomain.co.uk/your-logo.png",
"founder": { "@id": "https://www.yourdomain.co.uk/#founder" },
"sameAs": [
"https://www.linkedin.com/company/yourcompany",
"https://www.youtube.com/@yourchannel"
]
},
{
"@type": "Person",
"@id": "https://www.yourdomain.co.uk/#founder",
"name": "Your Name",
"jobTitle": "Founder and Lead Consultant",
"url": "https://www.yourdomain.co.uk/about",
"image": "https://www.yourdomain.co.uk/your-headshot.jpg",
"worksFor": { "@id": "https://www.yourdomain.co.uk/#organisation" },
"knowsAbout": ["Your main specialism", "Your second specialism"],
"sameAs": [
"https://www.linkedin.com/in/yourname"
]
}
]
}
</script>
The sameAs links are the important part for entity recognition. They connect your website to profiles that machines already know, such as LinkedIn, YouTube, Companies House, a trade body listing or a Wikipedia page if you have one. Only list profiles that are really yours and active. My lessons on entity SEO and the Knowledge Graph and managing a Google Knowledge Panel explain how these connections build up over time.
3. Service, for each service page
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Service",
"@id": "https://www.yourdomain.co.uk/boiler-servicing#service",
"name": "Boiler Servicing",
"serviceType": "Boiler servicing",
"description": "Annual gas boiler servicing for homes in Bedford and Luton.",
"url": "https://www.yourdomain.co.uk/boiler-servicing",
"provider": { "@id": "https://www.yourdomain.co.uk/#business" },
"areaServed": ["Bedford", "Luton"],
"offers": {
"@type": "Offer",
"price": "85.00",
"priceCurrency": "GBP"
}
}
</script>
Notice the provider line. Instead of repeating your whole business block, it points to the @id from example 1. That is how separate blocks join up into one connected picture. Only include a price if the same price is shown on the page.
4. FAQPage, for a visible FAQ section
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How often should a boiler be serviced?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Most manufacturers recommend a service every 12 months to keep the warranty valid and the boiler running safely."
}
},
{
"@type": "Question",
"name": "Do you cover Luton?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. We cover Bedford, Luton and the surrounding villages."
}
}
]
}
</script>
Every question and answer in the markup must appear, word for word, on the page. Do not mark up questions that are hidden or that only exist in the code. Since 7 May 2026 this will not create an FAQ dropdown in Google, so treat it as a clear, structured description of your answers rather than a rich result trick. My FAQ schema lesson covers how to write the answers well.
5. BreadcrumbList, for a page's position in your site
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.yourdomain.co.uk/" },
{ "@type": "ListItem", "position": 2, "name": "Services", "item": "https://www.yourdomain.co.uk/services" },
{ "@type": "ListItem", "position": 3, "name": "Boiler Servicing", "item": "https://www.yourdomain.co.uk/boiler-servicing" }
]
}
</script>
6. BlogPosting with a connected author
Wix already adds BlogPosting to blog posts, so you rarely need this. It is useful if you publish articles on static pages, or if you want to see how the author connects back to your Person entity.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "How Often Should You Service a Boiler?",
"datePublished": "2026-10-01",
"dateModified": "2026-10-03",
"image": "https://www.yourdomain.co.uk/boiler-guide.jpg",
"author": { "@id": "https://www.yourdomain.co.uk/#founder" },
"publisher": { "@id": "https://www.yourdomain.co.uk/#organisation" },
"mainEntityOfPage": "https://www.yourdomain.co.uk/blog/how-often-service-boiler"
}
</script>
7. One connected graph for your homepage
Once you understand @id, you can put your core entities into a single block with @graph. This is the structure I use on client homepages. The business, the founder, the website and the page all reference each other, so a machine reading any one of them can find the rest.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "WebSite",
"@id": "https://www.yourdomain.co.uk/#website",
"url": "https://www.yourdomain.co.uk/",
"name": "Your Business Name",
"publisher": { "@id": "https://www.yourdomain.co.uk/#business" }
},
{
"@type": "WebPage",
"@id": "https://www.yourdomain.co.uk/#webpage",
"url": "https://www.yourdomain.co.uk/",
"name": "Your Homepage Title",
"isPartOf": { "@id": "https://www.yourdomain.co.uk/#website" },
"about": { "@id": "https://www.yourdomain.co.uk/#business" }
},
{
"@type": "ProfessionalService",
"@id": "https://www.yourdomain.co.uk/#business",
"name": "Your Business Name",
"url": "https://www.yourdomain.co.uk/",
"telephone": "+44 1234 567890",
"founder": { "@id": "https://www.yourdomain.co.uk/#founder" },
"address": {
"@type": "PostalAddress",
"addressLocality": "Bedford",
"postalCode": "MK40 1AA",
"addressCountry": "GB"
}
},
{
"@type": "Person",
"@id": "https://www.yourdomain.co.uk/#founder",
"name": "Your Name",
"worksFor": { "@id": "https://www.yourdomain.co.uk/#business" }
}
]
}
</script>
A note on reviews and star ratings
Many Wix owners want gold stars under their listing and add AggregateRating to their homepage to get them. Be careful. Google does not show review stars for LocalBusiness or Organization markup when the business is reviewing itself, which is what testimonials on your own site amount to. Marking up your own testimonials will not earn stars and can be treated as spammy markup. Review snippets are designed for things like products, recipes, books, courses and software, where the reviews are about the item. My lesson on Review and AggregateRating schema sets out which uses are allowed.
My dual-layer approach: standard schema plus an entity layer
Every schema project I do for clients is built in two layers, and it is the simplest way I know to cover SEO, AEO and GEO at the same time.
Block 1 is standard schema.org markup: LocalBusiness or the right subtype, WebSite, WebPage, Service, BreadcrumbList and FAQPage where there is a visible FAQ. This is the layer Google's rich result features and validators look at, so it has to follow Google's documentation exactly.
Block 2 is the GEO and AEO entity layer: Organization and Person entities with stable @id values, sameAs links to verified profiles, knowsAbout for real areas of expertise, areaServed for real service areas, and connections from each service and article back to the business and the person behind it. Nothing in this layer is invented or hidden. It simply describes the same facts already on your site in a joined-up way, so that any AI system reading your pages gets a single, consistent picture of who you are.
You can read more about how I package this in my dual-layer schema pack.
How to test your schema
Adding the code is half the job. Always check the published page, never the Editor preview.
- Google's Rich Results Test (search.google.com/test/rich-results). Paste your live URL. It shows which rich result types Google detects and any errors that stop them.
- The Schema Markup Validator (validator.schema.org). This checks your markup against the whole schema.org vocabulary, including types that Google does not use for rich results, such as Person or Service.
- Google Search Console. Under Enhancements you will see reports for the rich result types Google has found on your site, with any errors. These can take days or weeks to appear after you publish.
- View the source. Press Ctrl+U on your live page and search for application/ld+json to confirm your block is there exactly once.
For a full walkthrough, see testing and validating schema with the Rich Results Test and schema.org. If something shows errors or warnings, my lesson on fixing structured data errors and warnings on Wix covers the common ones.
Common schema mistakes on Wix
- Duplicate blocks. Adding your own BlogPosting or Product when Wix already does, or two LocalBusiness blocks with different details. Check your source first.
- Facts that are not on the page. Prices, hours, reviews or FAQs in the markup that visitors cannot see. Google's guidelines say not to mark up information that is not visible, even if it is accurate.
- Site-wide page schema. Service, FAQPage or BreadcrumbList set to All pages, so every page claims to be the same service or to have the same FAQ.
- Inconsistent details. A different phone number or address in your schema, your footer and your Google Business Profile. For GEO especially, consistency is everything.
- Changing @id values. Each entity's @id should never change once set. If it does, the connections between your blocks break.
- Chasing retired features. Spending time on FAQ dropdowns, HowTo steps or the sitelinks search box, none of which Google shows now.
- Forgetting to republish. Custom Code changes only go live when the site is published.
If you have added schema and are not seeing any difference, my post on why your Wix schema markup is not ranking explains what schema can and cannot be expected to do.
Using AI tools to write schema safely
ChatGPT, Claude and other AI assistants are good at drafting JSON-LD, and I cover how to prompt them in my lesson on using ChatGPT and Claude to generate schema for Wix. Two warnings from experience. First, AI tools will happily invent details such as opening hours, prices, review counts or social profiles if you do not give them the real ones, so always supply the facts and check every value. Second, they often suggest types Google has retired, such as HowTo or the sitelinks search box. Always run the result through the Rich Results Test and the Schema Markup Validator before it goes live.
A 30-minute schema plan for a typical Wix business
- View the source of your homepage, one service page and one blog post, and list every schema type already there.
- Write your Organisation, Person and LocalBusiness entities with fixed @id values (examples 1 and 2 above), and add them in Custom Code for All pages, in the Head.
- Add a Service block (example 3) to each main service page, pointing back to your business @id.
- Add FAQPage (example 4) only to pages that have a visible FAQ, and BreadcrumbList (example 5) to pages that sit below another page.
- Turn on Wix's AI-generated structured data for blog posts if it suits your content.
- Publish, then test every page in the Rich Results Test and the Schema Markup Validator.
- Check that your schema matches your page text and your Google Business Profile word for word: name, address, phone and opening hours.
- Re-check after any change to your services, prices or hours. Out-of-date schema is worse than none. My GEO audit checklist includes a schema section you can use every few months.
Going further
If you want to learn this properly, the free course has a whole module on technical SEO, structured data and rich snippets for Wix and another on AI search, GEO and generative search. Good next lessons after this guide are the GEO playbook, writing GEO-optimised content with the BLUF structure, structured data for AI Overviews and, for online shops, agentic commerce schema. To see whether AI tools already mention your business, try my free AI visibility checker.
Prefer to do it yourself? Wix SEO Fix in a Box is a Wix app with a free plan, available from the Wix App Market. Get the app on the Wix App Market. You can also get in touch if you are not sure what your site needs.
Fix your Wix SEO from your dashboard
Wix SEO Fix in a Box scans every page, writes your fixes from your own Google searches and puts them on in one click, with undo. Start on the free plan.
Want this sorted on your own Wix site?
I have worked only on Wix for 14 years. Get Wix SEO Fix in a Box on the Wix App Market to find and fix what is holding your site back, or see my packages and prices if you would rather I did it all for you.
Frequently Asked Questions
What is schema markup in simple terms?
Schema markup is code that describes your business and pages in a standard language machines can read. It tells search engines and AI tools facts such as your business name, address, services, opening hours and who wrote an article, without changing what visitors see.
Does schema markup help with AI search and GEO?
It helps AI systems read your business details clearly and consistently, and Microsoft has said Copilot uses schema to understand content. Google says no special schema is needed to appear in AI Overviews or AI Mode, so schema works best alongside clear, helpful page content, not instead of it.
How do I add schema markup to a Wix site?
Either go to your dashboard, Settings, Custom Code, add your JSON-LD in script tags and place it in the Head, or open Pages & Menu, choose the page, then SEO basics, Advanced SEO, Structured Data Markup and Add New Markup. The page panel allows up to five markups per page, each under 7,000 characters.
Does Wix add schema markup automatically?
Yes, for some page types. Wix adds preset markup to blog posts, Wix Stores products, Wix Bookings services, Wix Events pages and Portfolio projects. It does not add LocalBusiness, Organisation, Person, Service or FAQ markup to your static pages, so you need to add those yourself.
Is FAQ schema still worth adding in 2026?
Google stopped showing FAQ rich results on 7 May 2026, so it will not give you dropdowns in search. FAQPage is still a valid way to describe a visible FAQ section clearly to any machine reading the page, so it is worth adding where you have real FAQs, but not as a rich result tactic.
Can schema markup get me star ratings in Google?
Only for some content types, such as products, recipes, courses and software. Google does not show stars for a business reviewing itself through LocalBusiness or Organisation markup, so marking up testimonials on your own site will not earn stars.
Want your Wix schema checked or built for you? Get in touch. Prefer to do it yourself? Wix SEO Fix in a Box is a Wix app with a free plan, available from the Wix App Market. Get the app on the Wix App Market