INFUSE
← Blog
SEOSep. 2024· 14 min read

JSON-LD schema: the SEO signal 95 % of Swiss SMEs ignore

JSON-LD structured data boosts CTR and rankings. A practical guide to the essential schemas for Swiss SMEs, with concrete examples.

Picture two identical listings in Google's results: one shows a title and a URL, the other also shows the customer review rating (4.7 stars / 84 reviews), the starting price of a service and an expandable list of frequently asked questions. Both pages hold the same organic position. Which one gets more clicks? The answer is obvious. That is exactly what structured data in JSON-LD format does. And yet, according to an Ahrefs analysis of 1 million pages in 2024, only 33 % of websites deploy schema markup, and among Swiss SMEs with fewer than 50 employees, the figure is probably well below 10 %.

What structured data is, without the jargon

The web is fundamentally made of text that humans understand but machines interpret imperfectly. When your website says "Monday-Friday 9am-6pm", you and your customers understand that these are your opening hours. Google has to guess, and it sometimes gets it wrong, or simply chooses not to show that information in the results.

Structured data solves this problem: it lets your website tell Google explicitly what each piece of information represents. "This text is an address. This rating is 4.7 out of 5 based on 84 reviews. This list is an FAQ. This article was published on 15 September 2024."

JSON-LD (JavaScript Object Notation for Linked Data) has been Google's recommended format for implementing structured data since 2016. It takes the form of a block of JSON code injected into the page's <head>, invisible to users but perfectly readable by search engines.

The difference between schema markup and JSON-LD

Schema.org is the vocabulary: the dictionary that defines object types (LocalBusiness, Article, FAQ, Product, etc.) and their properties (name, address, telephone, etc.). JSON-LD is the technical wrapper in which that vocabulary is expressed. Google also supports microdata and RDFa, but JSON-LD is by far the simplest to implement and the only one Google officially recommends.

The measurable impact on CTR and rankings

Rich snippets (the enhanced results that structured data makes possible) have a direct, measurable impact on click-through rate. Several studies document this impact:

  • Pages with review rich snippets (stars) see their CTR rise by 15 to 30 % according to Search Engine Land (2023)
  • FAQ rich snippets generate on average 20 % more clicks according to a Semrush study of 50,000 SERPs
  • "HowTo" and "Recipe" rich snippets can multiply CTR by 2 to 3 in their respective niches
  • Schema.org estimates that pages with structured data are twice as likely to appear in featured snippets

As for rankings themselves, Google officially states that structured data is not a direct ranking factor. That is true, and deliberately narrow wording. The impact is indirect but real: a higher CTR (which Google measures) improves rankings, rich snippets increase your visible footprint in the SERPs, and certain content types (LocalBusiness, FAQ) are explicitly used in the Knowledge Graph and the local pack.

What structured data does not do

It does not improve the quality of your content. A poorly written article with a perfect Article schema will still rank poorly. Structured data is an amplifier, not a substitute for quality content and a technically sound website. It rewards sites that already have good content by giving them better visibility in the SERPs.

The 5 essential schemas for Swiss SMEs

Here are the schema types with the greatest practical impact for SMEs in Geneva and across Switzerland, ranked by priority.

1. LocalBusiness (and its subtypes)

This is the most impactful schema for any business with a physical presence or serving a geographical area. It tells Google your name, address, phone number, opening hours, service area and type of business: exactly the information Google uses for the local pack and the Knowledge Panel.

{
  "@context": "https://schema.org",
  "@type": "LegalService",
  "name": "Cabinet Dupont Avocats",
  "url": "https://www.cabinet-dupont.ch",
  "telephone": "+41229000000",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Rue du Rhône 14",
    "addressLocality": "Geneva",
    "postalCode": "1204",
    "addressCountry": "CH"
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "09:00",
      "closes": "18:00"
    }
  ],
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 46.2044,
    "longitude": 6.1432
  },
  "areaServed": {
    "@type": "City",
    "name": "Geneva"
  },
  "priceRange": "CHF CHF"
}

Schema.org offers more than 80 LocalBusiness subtypes. Using the precise type (LegalService, AccountingService, ArchitectOffice, Dentist, Restaurant) rather than the generic type sends a stronger relevance signal. Google can then show your listing in search contexts that the generic type would not trigger.

2. Article (and BlogPosting)

For any site publishing editorial content (blog posts, news, guides), the Article or BlogPosting schema tells Google the headline, author, publication and modification dates, and main image. The most tangible benefit is eligibility for Top Stories (the carousel of articles shown at the top of the SERPs for news queries) and better representation in Google Discover.

The dateModified property is particularly important: articles with a recent modification date are seen as fresher, which helps them rank for queries where freshness matters (legal, tax or technology news).

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "New accounting obligations for Swiss SMEs in 2025",
  "author": {
    "@type": "Person",
    "name": "Marie Favre"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Fiduciaire Exemple"
  },
  "datePublished": "2024-09-15",
  "dateModified": "2024-11-20",
  "image": "https://www.exemple.ch/images/comptabilite-pme-2025.jpg",
  "description": "An overview of the accounting changes that apply to Swiss SMEs from 1 January 2025."
}

3. FAQPage

The FAQ schema is one of the best in terms of effort versus results. When Google considers the FAQ relevant to a query, it can display it directly in the results as an expandable accordion, multiplying the space your result takes up without necessarily improving your position. A result in position 5 with an expanded FAQ can be more visible than a result in position 1 with no enhancement.

The golden rule: FAQs must reflect real questions asked by your prospects, not questions invented for SEO. Google checks content quality before showing the rich snippet.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How long does it take to set up a Sàrl (LLC) in Switzerland?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Setting up a Sàrl in Switzerland generally takes 1 to 3 weeks after the notarised articles of association are filed. The minimum capital is CHF 20,000, at least half of which must be paid up."
      }
    },
    {
      "@type": "Question",
      "name": "Can a Geneva lawyer practise in neighbouring France?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, under certain conditions. A lawyer registered with the Geneva Bar can act in France in certain proceedings, notably under the European directive on established lawyers, even though Switzerland is not an EU member."
      }
    }
  ]
}

4. BreadcrumbList

The BreadcrumbList schema displays the page's navigation path directly in Google's results, beneath the title. Example: exemple.ch › services › audit-comptable. This signal is doubly useful: it helps Google understand your site structure, and it improves CTR by giving users immediate context on where the page sits.

For SMEs with a structured website (services → sub-services, blog → categories), BreadcrumbList is a schema to deploy systematically on every page.

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://www.exemple.ch"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Services",
      "item": "https://www.exemple.ch/services"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Financial audit",
      "item": "https://www.exemple.ch/services/audit-comptable"
    }
  ]
}

5. Organization and WebSite

These two site-wide schemas are often overlooked but fundamental. Organization defines your legal entity (official name, website, logo, social profiles, address) and helps feed your company's Knowledge Panel on Google. WebSite enables the SearchBox in the results (the internal search field displayed directly in the SERP for major brands) and establishes the site's canonical name.

These schemas ideally sit on the homepage, in the main layout.

Why CMSs consistently get structured data wrong

Most WordPress, Wix, Squarespace and Jimdo sites use structured data, but in a way that is incomplete, incorrect or counterproductive.

Recurring problems with WordPress plugins

Popular plugins such as Yoast SEO or RankMath generate basic schemas, but with several critical limitations:

Missing data: the LocalBusiness schema generated by Yoast does not include GPS coordinates (geo), detailed openingHoursSpecification or areaServed. Yet these fields are essential for local SEO.

Conflicting data: when several plugins generate schema (Yoast + WooCommerce + a booking plugin), the schemas can contradict or duplicate each other. Google flags these errors in Search Console, but many site owners never look at it.

Invalid markup: a Schema.org Validator study run on 10,000 random WordPress sites (Semrush analysis, 2023) found validation errors in 68 % of implementations. The most common errors: missing required properties, invalid types, malformed URLs.

No contextual schema: a plugin generates the same schema for every page of a given type. A WordPress site with Yoast applies the Article schema to every blog post, without distinguishing those that deserve a NewsArticle, HowTo or FAQPage. Relevance gets diluted.

What Next.js enables natively

A website built with Next.js allows a JSON-LD implementation that is not possible in a CMS:

Injection into the <head> via the layout: with the Next.js App Router, JSON-LD is injected directly into the server render via a dedicated component, guaranteeing it is present in the HTML sent to crawlers, with no dependence on client-side JavaScript.

// components/JsonLd.tsx
export function JsonLd({ data }: { data: Record<string, unknown> }) {
  return (
    <script
      type="application/ld+json"
      dangerouslySetInnerHTML={{ __html: JSON.stringify(data) }}
    />
  )
}

// app/layout.tsx
import { JsonLd } from '@/components/JsonLd'

export default function RootLayout({ children }) {
  return (
    <html>
      <head>
        <JsonLd data={organizationSchema} />
        <JsonLd data={websiteSchema} />
      </head>
      <body>{children}</body>
    </html>
  )
}

Data-driven dynamic schemas: on a dynamically generated service page, the schema can be built from the service's data (name, price, service area) with no manual input. Every page gets its exact schema, nothing generic.

Validation at build time: with strict TypeScript, schema types can be defined and validated, preventing the missing or malformed properties that go unnoticed in a CMS.

Zero plugins, zero conflicts: there is no intermediate layer between the developer and the final markup. What is coded is exactly what is delivered.

How to validate and monitor structured data

Writing a schema is not enough. You need to check that it is correctly interpreted and monitor the appearance of rich snippets on Google.

Validation tools

Comparative data

ToolUseAvailability
Google Rich Results TestTest a URL or JSON-LD codeFree, online
Schema Markup Validator (schema.org)Strict validation of types and propertiesFree, online
Google Search Console → EnhancementsMonitoring errors and warnings in productionFree (verified property)
Ahrefs / Semrush Site AuditSite-wide auditPaid

Google's Rich Results Test is the first tool to use. It tells you not only whether the schema is valid, but also whether the page is eligible for rich results for that schema type.

How long rich snippets take to appear

After implementation, Google can take 2 to 6 weeks to crawl the page, validate the schema and decide whether to display a rich snippet. This delay depends on the site's crawl frequency (sites with frequently updated content are recrawled more often) and the quality of the page's content.

A valid schema on a mediocre page will not produce a rich snippet: Google reserves the right not to display them if it judges that the page is not sufficiently relevant or reliable.

Mistakes to avoid at all costs

Schema spam: adding a LocalBusiness schema to every blog post, or declaring properties that do not match the visible content of the page. Google penalises misleading schema (since the 2023 "Structured Data Policy" update).

Inconsistent data: if your LocalBusiness schema states different opening hours from those shown on your contact page, Google may ignore the schema or show users an inconsistency.

Forgetting @context and @type: these two properties are mandatory in every JSON-LD schema. Without them, the markup is invalid.

Duplicate schema: several JSON-LD blocks declaring the same type (Organization) on the same page create confusion. One schema per type per page.

The long-term SEO impact

Structured data is one of the few technical SEO levers whose effects compound over time. Every correctly marked-up page is a page that gains visibility in the SERPs. A site with 50 blog posts, each equipped with a relevant BlogPosting and FAQPage schema, builds a SERP presence that competitors without structured data cannot match with equivalent content.

The underlying trend is towards richer SERPs. Google displays more and more information directly in the results (People Also Ask, Featured Snippets, Knowledge Panels, Shopping Graph). Sites that speak the language of structured data are the ones Google can integrate into these formats; the rest stay confined to the classic blue link.

In 2025, ignoring structured data is the equivalent of ignoring responsive design in 2014: it is not mandatory yet, but those who go without it fall further behind every day compared with those who have adopted it.

Advanced schemas for use cases specific to Swiss SMEs

Beyond the five core schemas, several markup types are particularly useful for sectors and use cases frequently found among Geneva SMEs.

Service and Offer: for service providers

The Service schema lets you describe each individual service: name, description, service area, provider. Combined with Offer, it can display a price range directly in the results. For a fiduciary firm offering accounting, tax and legal advisory services, one Service schema per service creates a semantic granularity that a LocalBusiness schema alone cannot reproduce.

{
  "@context": "https://schema.org",
  "@type": "Service",
  "name": "Personal tax returns in Geneva",
  "provider": {
    "@type": "AccountingService",
    "name": "Fiduciaire Exemple"
  },
  "areaServed": {
    "@type": "AdministrativeArea",
    "name": "Canton of Geneva"
  },
  "offers": {
    "@type": "Offer",
    "priceRange": "CHF 180-450"
  }
}

Event: for professionals who organise events

Law firms running webinars, architects giving talks, fiduciary firms hosting tax workshops: the Event schema allows them to appear in rich results for local event searches, with the date, venue and registration link directly visible.

Person: to showcase individual expertise

For independents and professionals whose personal reputation is central to their business (law firm partners, solo architects, consultants), a complete Person schema (name, education, areas of expertise, professional affiliations) feeds the personal Knowledge Panel and can appear in results for searches on their name.

Structured data and AI: preparing your website for the future

The arrival of Google's AI Overviews and the spread of AI assistants that "read" the web to answer questions raise a practical question: does structured data have a role to play in this new context?

The answer is yes, and probably an increasingly important one. The LLMs (Large Language Models) that index the web (such as those behind AI answer engines or Google's AI Overviews) use structured data to understand the context and nature of information. A fact presented in a FAQPage schema, with a clearly delimited question and answer, is more easily extracted and cited than an unstructured paragraph of text.

Schema.org is actively extending its vocabulary for AI use cases, with new types such as DefinedTerm and properties that better describe causal and temporal relationships between entities. SMEs that invest in complete structured data today will be better positioned for this shift: their content will be more readable, more extractable and more citable by AI systems.

The cost of implementation: putting it in perspective

Implementing structured data is often presented as complex and expensive. Here is a realistic perspective.

For a custom-built Next.js website, JSON-LD schema is integrated into the initial development process: it is not a separate extra cost but part of the standard delivery. The JsonLd component, the Organization and WebSite schemas and the page-level schemas are configured once and maintained automatically.

For an existing website (WordPress or another CMS), the cost of adding the essential structured data depends on complexity: from a few hours for a basic LocalBusiness schema to a few days for a complete implementation on a site with 50+ pages and several content types. It is an investment whose ROI can be measured through CTR growth in Search Console, typically visible within 60 to 90 days.

What is expensive is not having done it: every month without rich snippets is a month in which better equipped competitors capture the clicks you could have had.

At INFUSE, every website is delivered with complete, validated structured data (LocalBusiness, BreadcrumbList, Article, FAQ) built directly into the Next.js code, with no plugins and no compromises. It is the difference between a website that is visible and one that performs. Let's talk about your project.

What I deliver, never outsourced.

Request a quote