Schema markup for small businesses: add it in 15 minutes (no developer needed)

Schema markup for small businesses: add it in 15 minutes (no developer needed)

Schema markup — also called structured data — is one of those SEO terms that sounds intimidating but is actually quite simple once you understand what it does. And more importantly, it is one of the highest-impact, lowest-effort improvements you can make to your website.

In plain terms, schema markup is a special code format that tells search engines and AI systems exactly what your business does, where it is located, what services you offer, your hours, your ratings, and more. Without it, search engines have to read your website like a human would — interpreting paragraphs, guessing at meanings, inferring details. With schema markup, you are handing them a precisely filled-out form.

The result? Your search listings can display star ratings, hours, phone numbers, price ranges, and FAQ answers directly in the results. These enhanced listings — called rich results — get significantly more clicks. And for AI search systems like ChatGPT and Perplexity, structured data makes your business information easy to extract and cite.

Content with FAQ and HowTo schema is 78% more likely to be cited by AI systems. That number alone should convince you to spend the next 15 minutes adding it.

What schema markup looks like (it is less scary than you think)

Schema markup is added to your website as a block of JSON-LD code — a standardized format that lives in your page's HTML. Here is what a basic LocalBusiness schema looks like:

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Smith Plumbing",
  "image": "https://smithplumbing.com/logo.jpg",
  "telephone": "+1-555-123-4567",
  "email": "info@smithplumbing.com",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main Street",
    "addressLocality": "Portland",
    "addressRegion": "OR",
    "postalCode": "97201",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 45.5231,
    "longitude": -122.6765
  },
  "url": "https://smithplumbing.com",
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "08:00",
      "closes": "18:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Saturday"],
      "opens": "09:00",
      "closes": "14:00"
    }
  ],
  "priceRange": "$",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "156"
  }
}

You do not need to write this from scratch. The templates below are copy-paste ready — just replace the placeholder values with your business information.

How to add schema markup on your platform

WordPress

Option A: Plugin (easiest) Install Yoast SEO or RankMath. Both have structured data features built in:

  • Yoast: Go to Yoast SEO → Search Appearance → Content Types → Your page → Schema tab
  • RankMath: Edit any page → RankMath panel → Schema tab → Add Schema

Option B: Manual Install the "Insert Headers and Footers" plugin. Paste your JSON-LD schema wrapped in <script type="application/ld+json"> tags into the header section.

Squarespace

Go to Settings → Developer Tools → Code Injection → Header. Paste your schema code wrapped in script tags. This adds it to every page. For page-specific schema, use the page settings → Advanced → Code Injection.

Wix

Go to Dashboard → Marketing → SEO → SEO Patterns → Home Page → Advanced SEO → Structured Data Markup. Paste your JSON-LD. For individual pages, edit the page → Advanced SEO → Structured Data.

Shopify

Edit your theme → Layout → theme.liquid. Before the closing </head> tag, paste your schema code. For product-specific schema, Shopify generates basic product schema automatically, but you may want to enhance it.

Any platform (universal method)

If your platform supports custom HTML, paste this code block into the <head> section of your page:

<script type="application/ld+json">
{
  // Your schema JSON goes here
}
</script>

Template 1: Local business (any service business)

Copy this and replace the values in CAPS with your information:

{
  "@context": "https://schema.org",
  "@type": "YOUR_BUSINESS_TYPE",
  "name": "YOUR BUSINESS NAME",
  "image": "YOUR_LOGO_URL",
  "telephone": "+1-YOUR-PHONE-NUMBER",
  "email": "YOUR_EMAIL",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "YOUR STREET ADDRESS",
    "addressLocality": "YOUR CITY",
    "addressRegion": "YOUR STATE",
    "postalCode": "YOUR ZIP",
    "addressCountry": "US"
  },
  "url": "YOUR_WEBSITE_URL",
  "priceRange": "$",
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "08:00",
      "closes": "17:00"
    }
  ],
  "sameAs": [
    "YOUR_FACEBOOK_URL",
    "YOUR_INSTAGRAM_URL",
    "YOUR_YELP_URL"
  ]
}

Common business types: Plumber, Electrician, Dentist, Attorney, Restaurant, HairSalon, RealEstateAgent, AccountingService, AutoRepair, Physician, Veterinarian

Template 2: Service schema (add for each service you offer)

{
  "@context": "https://schema.org",
  "@type": "Service",
  "serviceType": "YOUR SERVICE NAME",
  "provider": {
    "@type": "LocalBusiness",
    "name": "YOUR BUSINESS NAME"
  },
  "areaServed": {
    "@type": "City",
    "name": "YOUR CITY"
  },
  "description": "DESCRIBE THIS SERVICE IN 1-2 SENTENCES",
  "offers": {
    "@type": "Offer",
    "priceSpecification": {
      "@type": "PriceSpecification",
      "price": "YOUR STARTING PRICE",
      "priceCurrency": "USD"
    }
  }
}

Template 3: FAQ schema (add to any page with questions and answers)

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "YOUR FIRST QUESTION?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "YOUR ANSWER TO THE FIRST QUESTION."
      }
    },
    {
      "@type": "Question",
      "name": "YOUR SECOND QUESTION?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "YOUR ANSWER TO THE SECOND QUESTION."
      }
    }
  ]
}

FAQ schema is particularly valuable because it can produce rich results with expandable answers directly in search results, and AI systems preferentially cite FAQ-formatted content.

Template 4: Review schema (aggregate rating)

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "YOUR BUSINESS NAME",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "YOUR RATING",
    "bestRating": "5",
    "reviewCount": "NUMBER OF REVIEWS"
  }
}

Important: Only use review schema if the ratings reflect actual customer reviews. Fabricating ratings violates Google's guidelines and can result in penalties.

How to verify your schema markup

After adding schema, verify it works:

  1. Google's Rich Results Test (search.google.com/test/rich-results) — paste your URL and it will show which schemas are detected and whether they are valid
  2. Schema.org Validator (validator.schema.org) — more detailed validation for any schema type
  3. Google Search Console → Enhancements — after a few days, this shows which rich results Google has detected on your site

Common mistakes to avoid

Mistake 1: Schema does not match page content. Your schema must accurately reflect what is on the page. Do not add a 5-star rating schema if your actual Google rating is 4.2.

Mistake 2: Using schema for things not on the page. Google requires that schema data be visible to users on the page, not hidden or misleading.

Mistake 3: Duplicate schemas. If your CMS or plugin already generates schema, adding it manually creates duplicates that can confuse search engines. Check what already exists before adding.

Mistake 4: Forgetting to update. If your hours, phone number, or address changes, update your schema too. Inconsistencies between your schema data and your actual business information undermine trust.

The 15-minute implementation

  1. Choose your template from above (3 minutes)
  2. Replace placeholder values with your business information (5 minutes)
  3. Add the code to your website using the platform-specific instructions (5 minutes)
  4. Validate with Google's Rich Results Test (2 minutes)

That is it. In 15 minutes, you have given search engines and AI systems a clear, structured understanding of your business — something that 90% of your competitors have not done. The rich results, improved AI visibility, and enhanced search presence will begin appearing within days to weeks as Google recrawls your pages.

Want to see if your schema markup is working and what else your site needs? Run a free SEO check at licheo.com/seo-standings.