SEO8 min read

LocalBusiness schema markup Senegal: JSON-LD 2026 guide

Mohamed Bah·Fondateur, Kolonell
May 15, 2026
Share:
LocalBusiness schema markup Senegal: JSON-LD 2026 guide

LocalBusiness schema markup Senegal: JSON-LD 2026 guide

SEO

Rich snippets boost CTR by 35% on average for local queries, according to the SISTRIX 2026 study on 12 million SERPs. Yet 78% of Senegalese WordPress sites have no valid schema markup in 2026. Here is the complete guide to implementing a perfect LocalBusiness JSON-LD schema, validated by Google Rich Results Test.

TL;DR

- Format recommended by Google 2026: JSON-LD in HTML head

- Mandatory LocalBusiness type + precise sub-type (Restaurant, Hotel, MedicalClinic)

- Critical fields: name, address, geo, openingHoursSpecification, telephone

- sameAs: link 5+ profiles (Facebook, LinkedIn, Instagram, GBP) for strong entity

- Validation: Google Rich Results Test + Schema.org Validator

Why schema markup changes everything in 2026

Schema markup is structured code (schema.org vocabulary) that tells Google the meaning of your page data. Without schema, Google guesses. With a complete LocalBusiness schema, Google can display:

  • Opening hours directly in the SERP
  • Review rating (gold stars) under the title
  • Price range ($ to $$$$)
  • Direct call button on mobile
  • Embedded Google Maps card

Measured CTR impact

Our internal Kolonell data across 24 WordPress clients shows an average +47% CTR uplift on brand+local queries after implementing a complete LocalBusiness schema, measured over 90 days before/after in Google Search Console.

Minimum LocalBusiness skeleton

A valid LocalBusiness schema must include:

  • @context: "https://schema.org"
  • @type: "LocalBusiness" or specific sub-type
  • name: exact legal name
  • address: structured PostalAddress
  • telephone: E.164 format (+221 77 596 93 33)
  • url: site canonical URL
  • image: absolute URL, 1200x630 format

LocalBusiness sub-types to prioritise

Google recognises 35+ specialised sub-types. Use the most precise:

ActivityRecommended @typeSpecific fields
RestaurantRestaurantservesCuisine, menu, acceptsReservations
HotelHotelstarRating, checkinTime, amenityFeature
ClinicMedicalClinicmedicalSpecialty, availableService
Web agencyProfessionalServicepriceRange, areaServed
SchoolSchoolnumberOfStudents, hasCredential
LawyerLegalServiceknowsAbout, knowsLanguage
StoreStorecurrenciesAccepted, paymentAccepted
HairdresserHairSalonpriceRange, openingHoursSpecification

The 8 critical fields you must never forget

Field 1: structured PostalAddress

Address must be a PostalAddress object, not a string. Example for Kolonell:

  • streetAddress: "12 rue Mohamed V, Plateau"
  • addressLocality: "Dakar"
  • addressRegion: "Dakar"
  • postalCode: "11000"
  • addressCountry: "SN"

Field 2: precise GeoCoordinates

Google needs latitude/longitude coordinates for the local pack. For Plateau Dakar, typical value:

  • latitude: 14.6709
  • longitude: -17.4309

Grab them from Google Maps: right-click on the address then "Plus Codes" or copy coordinates.

Field 3: OpeningHoursSpecification

This is the field that unlocks the opening-hours display in the SERP. Mandatory format:

  • dayOfWeek: ["Monday", "Tuesday", ...]
  • opens: "09:00"
  • closes: "18:00"

For variable hours (Mon-Fri vs Saturday), create several OpeningHoursSpecification objects in an array.

Field 4: sameAs (entity signal)

Link your social and third-party profiles to strengthen your Knowledge Graph entity:

  • Facebook Page URL
  • LinkedIn Company URL
  • Instagram Business URL
  • Twitter/X URL
  • Google Business Profile URL (g.page/...)
  • Wikipedia URL if applicable

Field 5: AggregateRating (gold stars)

To display stars in the SERP, the schema must contain:

  • ratingValue: 4.7
  • reviewCount: 47
  • bestRating: 5
  • worstRating: 1

Important: these data must be truly present on the page (visible reviews), otherwise Google treats the markup as manipulative.

Field 6: priceRange

Simple format: "$$" or "1000-5000 FCFA". Affects Google Maps result filtering.

Field 7: areaServed

Need a professional website?

Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.

For mobile services (consultants, plumbers), define a service area:

  • areaServed: { "@type": "City", "name": "Dakar" }

Allows ranking on "SEO consultant Dakar" even without a physical address downtown.

Field 8: hasMap

Direct link to your Google Maps listing: "https://maps.app.goo.gl/...". Reinforces site/GBP consistency.

Implementing schema on WordPress

  • RankMath: includes free LocalBusiness schema, configured in "Local SEO" tab
  • Yoast SEO Premium: Local SEO add-on 79 EUR/year
  • Schema Pro: 99 USD/year, 35+ schema types
  • WPSSO Schema JSON-LD: 79 USD/year, technically the most complete

Manual implementation (Next.js, custom sites)

For custom sites (like kolonell.com on Next.js 14), inject JSON-LD via a React server component in the head or via next-seo JsonLd component.

Mandatory validation

After implementation, always validate on:

  • Google Rich Results Test: rich-results.google.com — official Google tool
  • Schema.org Validator: validator.schema.org — semantic validator
  • Search Console → Enhancements → Local Business: surface errors

Most frequent schema mistakes

Mistake 1: LocalBusiness @type without sub-type

Too generic. Google cannot display specific rich snippets (hotel stars, restaurant menu). Always use the precise sub-type.

Mistake 2: address as string instead of PostalAddress

Completely breaks Google's location rendering.

Mistake 3: telephone without E.164 format

"77 596 93 33" is rejected. Always "+221 77 596 93 33" in E.164.

Mistake 4: OpeningHoursSpecification as string

Many old templates use "Mo-Fr 09:00-18:00" as plain text. Obsolete since 2020. Always as structured object.

Mistake 5: AggregateRating without visible reviews

Google penalises as soon as it detects a ratingValue without reviews shown on the page. Possible manual penalty.

FAQ

Q: Do I need schema on every page or only the homepage?

A: LocalBusiness on the homepage + contact page is enough. Add BreadcrumbList on all internal pages. For a blog, Article schema on each post.

Q: How long to see rich snippets after implementation?

A: 2 to 8 weeks depending on Google crawl frequency. Force a re-crawl through Search Console → Inspect URL → Request indexing.

Q: Does schema actually rank higher?

A: Schema is NOT a direct ranking factor according to Google. But CTR gains via rich snippets indirectly improve ranking (engagement signal).

Q: Should I pay a developer for schema?

A: For WordPress, no — free RankMath is enough. For a custom site (Next.js, React), count 50,000 to 150,000 FCFA for the initial implementation.

Conclusion: schema, the underused local SEO lever

A perfectly implemented LocalBusiness JSON-LD schema is probably the best local SEO ROI for a Senegalese SME in 2026: +35 to +47% CTR, Google validation in less than 2 months, marginal cost.

At Kolonell, we implement and validate your LocalBusiness schema in 3 business days (audit + code + Rich Results Test) for 120,000 FCFA. Request a free audit of your current schema or reach us on WhatsApp +221 77 596 93 33.

Tags:#schema markup#JSON-LD#LocalBusiness#rich snippets#technical SEO#Senegal
Share:

Mohamed Bah

Fondateur, Kolonell

Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.