Schema markup tells search engines exactly what your website content means, not just what it says. Without it, Google is left guessing. With it, your pages can earn rich results like star ratings, FAQ dropdowns, and business details right in the search listings. For small businesses competing for local visibility, that extra context can be the difference between getting clicked and getting skipped. Understanding how to add schema markup is one of the most practical SEO steps you can take, yet most small business sites still don’t have it.
At Avatar Website Design, we build SEO-optimized websites for small businesses, and structured data is part of that foundation. We’ve implemented schema across dozens of client sites using different platforms and methods, so we know what works, and where things tend to go sideways.
This guide walks you through the entire process step by step. You’ll learn how to add schema manually with JSON-LD, use free tools like Google’s Structured Data Markup Helper, and apply it through popular CMS platforms like WordPress, Webflow, and Duda. Whether you’re hands-on with code or prefer a plugin, you’ll find a method here that fits your setup.
What schema markup does and when to use it
Schema markup is structured data you add to your website’s HTML to give search engines a clear, machine-readable description of your content. Without it, Google reads your page text and tries to infer meaning on its own. With schema, you’re telling Google directly: this is a local business, this is a review, this is a product with a price. That removes the guesswork and opens the door to enhanced search listings called rich results.
How search engines use structured data
Search engines like Google use schema to categorize and display content more accurately in search results. When you mark up a recipe page with schema, Google knows the cooking time, ingredients, and rating, and it can show all of that directly on the results page. The same logic applies to businesses, products, events, and FAQs. You’re essentially feeding Google a structured summary so it can surface your content with more context.
Schema doesn’t guarantee rich results, but without it, you’re not eligible for them at all.
The most widely used format for schema is JSON-LD (JavaScript Object Notation for Linked Data), which Google recommends. JSON-LD sits in a <script> tag in your page’s <head> and doesn’t interfere with your visible HTML. Other formats like Microdata and RDFa exist, but JSON-LD is easier to implement and maintain, which is why this guide focuses on it.
Types of schema that matter most for small businesses
Not all schema types carry the same weight. For small business websites, a handful of schema types tend to deliver the most visible results in search:
- LocalBusiness (or a subtype like Restaurant, Dentist, or AutoRepair): Shows your business name, address, phone number, and hours directly in search results.
- Review / AggregateRating: Displays star ratings under your listing.
- FAQPage: Expands your result with dropdown questions and answers directly in Google.
- Product: Shows price, availability, and ratings for e-commerce pages.
- BreadcrumbList: Helps Google display your site’s page hierarchy in the URL path shown in results.
Each of these types pulls specific properties, so the schema you add to a product page looks different from what you add to your homepage. Knowing which type fits your page is the first decision you’ll make when learning how to add schema markup.
When to prioritize adding schema
You don’t need schema on every page, but certain pages earn a much higher return when they have it. Service pages, contact pages, product listings, and FAQ sections are the top candidates. If you run a local business, your homepage and contact page should have LocalBusiness schema in place before anything else. If you publish blog content, Article schema helps Google understand authorship and publication dates. Start with the pages that drive the most traffic or conversions, and work outward from there.
Step 1. Pick the right schema type and properties
Before you write a single line of code, you need to match your page to the right schema type. Schema.org hosts the complete vocabulary of structured data types and properties, and Google’s documentation outlines exactly which types qualify for rich results in search. Picking the wrong type means your markup won’t produce the results you’re after, so this step lays the groundwork for everything else in how to add schema markup correctly.
Find the schema type that matches your page
Your page’s primary purpose determines which schema type fits. A contact page for a plumbing company should use LocalBusiness or the more specific subtype like Plumber. A blog post should use Article. A product page should use Product. Google publishes a structured data search gallery listing every type it supports for rich results, so cross-check your page against that list before committing to a type.

| Page Type | Recommended Schema Type |
|---|---|
| Business homepage or contact page | LocalBusiness (or subtype) |
| Blog post or news article | Article or NewsArticle |
| Product listing | Product |
| FAQ section | FAQPage |
| Service page | Service |
| Event listing | Event |
Know which properties to include
Each schema type carries required and recommended properties. Required properties are what Google needs to even consider generating a rich result. Recommended properties add more detail and improve your chances of qualifying. For LocalBusiness, the required properties include name, address, and telephone. Layering in openingHours, url, and image makes the markup more complete and useful.
Always check Google’s developer documentation for the specific schema type you’re using, because required properties vary between types.
Here are the core properties for LocalBusiness as a quick reference:
name: Your business nameaddress: Full postal address usingPostalAddresstelephone: Your primary phone numberurl: Your website URLopeningHours: Your business hoursimage: A URL pointing to a photo of your business
Step 2. Add JSON-LD schema to any website
JSON-LD is the most straightforward way to add schema to any website, regardless of the platform. You write a <script> block containing your structured data, drop it into your page’s HTML, and search engines read it without touching your visible content. This method works on static sites, custom-built sites, and any CMS that gives you access to the page head or body code.
Build your JSON-LD block
Your JSON-LD script follows a consistent structure. The @context property always points to schema.org, @type declares your schema type, and every property after that is specific to that type. Below is a working template for LocalBusiness schema you can adapt directly for your site:

<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Your Business Name",
"url": "https://yourwebsite.com",
"telephone": "+1-555-000-0000",
"image": "https://yourwebsite.com/images/business-photo.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "Your City",
"addressRegion": "ST",
"postalCode": "00000",
"addressCountry": "US"
},
"openingHours": "Mo-Fr 09:00-17:00"
}
</script>
Replace each value with your actual business details. If you use a more specific subtype, like Plumber or Restaurant, swap out LocalBusiness in the @type field and the rest of the structure stays the same.
Keep your JSON-LD values consistent with what appears on your website and in your Google Business Profile, because mismatches can cause validation errors.
Place the script tag on your page
Once your JSON-LD block is ready, paste it inside the <head> section of the page’s HTML. Google supports placing it in the <body> as well, but the <head> is the standard and preferred location. If you’re working on how to add schema markup for a specific page rather than site-wide, only add the script to the pages that match the schema type you’ve built. A LocalBusiness block belongs on your homepage or contact page, not on every blog post.
Step 3. Add schema in WordPress, Webflow, and Duda
If you’re working on a CMS-powered site, adding schema doesn’t always require touching raw HTML. WordPress, Webflow, and Duda each give you platform-specific options for injecting structured data without editing code directly. The approach varies by platform, so the steps below cover each one.
WordPress
WordPress is the most flexible of the three when it comes to schema implementation. The simplest method is using a plugin like Yoast SEO or Rank Math, both of which generate LocalBusiness, Article, and BreadcrumbList schema automatically based on your site settings. To add custom schema manually, use a header injection plugin to paste your JSON-LD block without editing core theme files.
If you use a plugin for schema in WordPress, verify its output in Google’s Rich Results Test before assuming it’s producing clean markup.
Here’s how to add schema manually in WordPress without touching theme files:
- Install and activate a header/footer injection plugin.
- Paste your JSON-LD script block into the header field.
- Save changes and check the page source to confirm the script loads correctly.
Webflow
Webflow lets you add custom code directly to individual pages through the Page Settings panel. Open the page you want to mark up, scroll to the Custom Code section, and paste your JSON-LD block into the "Inside <head> tag" field. This approach puts you in full control of which pages carry which schema types without touching any global site settings.
For site-wide schema like LocalBusiness, paste the script in Project Settings under the Custom Code tab instead. That injects it across every page automatically.
Duda
Duda handles custom code injection through the Site Settings panel. Navigate to Site Settings, select HTML/CSS/JavaScript, and add your JSON-LD block to the head section. This places the markup site-wide, which works well for LocalBusiness schema you want on every page.
For page-specific schema, open the individual page settings within the Duda editor and use the custom code field there. That’s the cleanest way to learn how to add schema markup inside Duda without overwriting your global settings or breaking your template structure.
Step 4. Test, fix, and keep schema accurate
Adding schema is only half the job. Once the code is on your page, you need to confirm it’s valid and producing the output Google expects. Skipping this step means broken markup can sit on your site unnoticed, doing nothing or actively causing validation warnings in Google Search Console.
Validate with Google’s Rich Results Test
Google’s Rich Results Test is the tool you should run every time you add or update schema. Paste your page URL or drop your raw code directly into the tool, and it shows you which rich result types your markup qualifies for, along with any errors or warnings. A green result confirms your schema is structured correctly. A warning flags missing recommended properties, while an error indicates something is preventing Google from reading the markup at all.
Run the Rich Results Test on each page individually, because errors on one page won’t always surface when you test a different URL.
Fix common validation errors
Most schema errors fall into a short list of predictable problems. Knowing what to look for makes fixing them faster:
- Missing required properties: Add any property listed as required by Google’s documentation for that schema type.
- Mismatched values: Your schema values, especially
name,address, andtelephone, must match what appears on the page itself. - Invalid date formats: Use ISO 8601 format (e.g.,
2026-03-12) for any date-related properties. - Broken image URLs: Check that any
imageproperty points to a live, publicly accessible file.
Keep your schema updated
Schema isn’t a one-time task. When your business information changes, such as new hours, a new address, or new services, you need to update your structured data to match. Outdated schema creates conflicts between what Google reads in your code and what it finds on the page, which can trigger errors in Search Console and reduce your eligibility for rich results.
Set a reminder to audit your schema quarterly. This is especially relevant when learning how to add schema markup for the first time, because the initial setup tends to capture a moment in time that your business will eventually grow past.

Mastering Schema Markup for Long-Term SEO Success
Schema markup is one of those technical SEO tasks that looks intimidating until you break it into steps. Once you know your schema type, build your JSON-LD block, and drop it into the right place on your page, the process becomes repeatable. The methods in this guide cover every common setup, from raw HTML sites to WordPress, Webflow, and Duda, so you have a clear path regardless of how your site is built.
Knowing how to add schema markup gets you through the initial setup, but the real payoff comes from keeping it accurate over time. Test every change with Google’s Rich Results Test, fix errors as they surface, and update your structured data whenever your business information changes. Small businesses that stay consistent with structured data build a stronger search presence over time.
If you want a website built with schema and SEO already handled from day one, talk to our web design team at Avatar Website Design.