Panduan LocalBusiness Schema
cara implement LocalBusiness schema, why Google mendukung far less daripada full schema.org spec, choosing right subtype, NAP consistency, dan how ini differs dari sebuah Google Business Profile.
Bahasa
1 sinyal bukti di halaman ini
- Alat aktif terkaitRich-Result Eligibility Checker
LocalBusiness schema (schema.org/LocalBusiness) describes sebuah physical business untuk mesin pencari. ini adalah sebuah subtype dari Organization dan Place, so full spec inherits dozens dari properties — tetapi Google memerlukan hanya two (name, address) dan consumes tentang sebuah dozen recommended ones. wins come dari menggunakan paling spesifik subtype (Restaurant, LegalService, DaySpa — not generic LocalBusiness), keeping NAP consistent di seluruh markup, Anda Google Business Profile, dan directory citations, dan getting fiddly detail right: geo coordinates perlu setidaknya 5 decimal places, priceRange harus stay di bawah 100 characters. two biggest traps: marking up Anda own star rating dengan aggregateRating/review (itu's untuk situs reviewing lainnya businesses — self-serving reviews break Google's guidelines), dan treating schema sebagai sebuah substitute untuk sebuah Google Business Profile. mereka're separate sistem, reconciled separately, dan valid markup hanya membuat Anda eligible — Google tidak pernah guarantees sebuah rich hasil.
TL;DR — LocalBusiness schema adalah code Anda tambahkan untuk sebuah halaman itu tells search mesin facts tentang sebuah physical business — -nya name, address, phone angka, dan hours. Google hanya memerlukan two things (name dan address); everything else adalah optional tetapi membuat hasil richer. ini adalah not yang sama sebagai setting up sebuah Google Business Profile, dan menambahkan ini doesn’t guarantee Anda sebuah fancy search hasil — ini hanya membuat Anda eligible untuk one.
What LocalBusiness schema adalah
When sebuah mesin pencari reads Anda “Contact” (terjemahan) “Contact” halaman, ini sees text. ini dapat’t automatically tell Anda street address dari Anda phone angka dari Anda opening hours cara Anda dapat. LocalBusiness schema spells ini out di code: ini adalah name, ini adalah address, ini adalah phone angka, ini adalah hours.
ini menggunakan shared vocabulary dari schema.org — yang sama vocabulary behind semua schema markup — dan Anda biasanya write ini sebagai JSON-LD, sebuah kecil block dari code itu sits di halaman tanpa mengubah how ini looks. Evidence for this claim Schema.org LocalBusiness is a subtype of both Organization and Place for describing a physical business or branch. Scope: Schema.org vocabulary; Google applies separate local-business search requirements. Confidence: high · Verified: Schema.org: LocalBusiness
What Google actually perlu
Here’s surprising bagian. schema.org defines dozens dari properties Anda dapat tambahkan, tetapi Google hanya memerlukan two:
name— name dari business.address— physical street address.
Everything else — phone angka, hours, price range, map coordinates — adalah recommended. Evidence for this claim Google's LocalBusiness feature documentation requires name and address and recommends additional applicable business details. Scope: Google Search LocalBusiness requirements; eligibility and display are not guaranteed. Confidence: high · Verified: Google: LocalBusiness structured data Anda tidak memiliki untuk sertakan ini, tetapi more accurate detail Anda tambahkan, more complete Anda listing dapat look di search.
two things beginners get wrong
1. Schema adalah not Anda Google Business Profile. ini adalah two berbeda sistem. Anda Google Business Profile ( free listing Anda claim di business.google.com) adalah what powers Anda pin pada Google Maps dan “local pack” (terjemahan) “local pack” dari three businesses di bawah sebuah map. LocalBusiness schema adalah separate code pada Anda own situs web. One melakukan not replace lainnya — Anda umumnya ingin both, dan Google reconciles them separately.
2. Don’t mark up Anda own star rating. ini adalah tempting untuk tambahkan Anda own five-star
average dengan aggregateRating, tetapi Google’s own guidelines say itu property adalah untuk
situs itu review lainnya businesses (like sebuah directory reviewing restaurants), not
untuk sebuah business rating itself. Marking up Anda own testimonials sebagai sebuah rating adalah sebuah
“self-serving review” (terjemahan) “self-serving review” dan breaks aturan.
One more: gunakan spesifik jenis. jika Anda run sebuah restaurant, mark ini up sebagai
Restaurant, not generic LocalBusiness. Google explicitly menanyakan untuk paling
spesifik jenis itu fits.
ingin full versi — exact property table, subtype selection, geo-coordinate precision, multi-location patterns, dan how “NAP consistency” (terjemahan) “NAP consistency” fits di? Switch untuk Advanced tab.
TL;DR — LocalBusiness adalah sebuah subtype dari
OrganizationdanPlace, so full schema.org spec inherits dozens dari properties — tetapi Google memerlukan hanyaname+addressdan consumes ~12 recommended ones. wins: gunakan paling spesifik subtype (multiple jenis go di sebuah array;additionalTypeisn’t didukung), pertahankan NAP consistent di seluruh Anda markup, Google Business Profile, dan citations, dan get detail right — geo perlu ≥5 decimal places,priceRangeharus stay di bawah 100 characters. Don’t mark up Anda ownaggregateRating/review(itu’s untuk situs reviewing lainnya businesses; self-serving reviews break guidelines), dan don’t treat schema sebagai sebuah Google Business Profile substitute — mereka’re separate, reconciled separately, dan valid markup hanya membuat Anda eligible.
Where ini sits: sebuah subtype dari Organization dan Place
single sebagian besar berguna thing untuk memahami tentang LocalBusiness adalah -nya position di
schema.org hierarchy. ini adalah sebuah subtype dari both Organization dan Place,
which adalah exactly why ini dapat carry umum company properties (name, logo,
sameAs) dan location-spesifik ones (address, geo, openingHoursSpecification).
itu dual inheritance adalah juga why full spec adalah so besar — ini pulls properties
dari two big parent jenis.
itu penting untuk how Anda think tentang wider Entity & Identity
schema picture. sebuah company-wide
Organization entity (sitewide, pada homepage) dan sebuah per-location LocalBusiness
entity adalah related tetapi distinct: one describes company, lainnya describes sebuah
place Anda dapat walk ke. untuk company-tingkat entity, see Organization
schema; untuk people
behind ini, Person schema.
full spec vs. what Google actually consumes
ini adalah distinction sebagian besar guides blur. schema.org/LocalBusiness inherits dozens
dari properties dari Organization dan Place. Google consumes sebuah kecil subset. Don’t
confuse “schema.org supports X” (terjemahan) “schema.org mendukung X” dengan “Google will do something with X.” (terjemahan) “Google akan melakukan something dengan X.”
diperlukan (hanya two):
address(PostalAddress) — physical location. Google’s advice: sertakan sebagai banyak address sub-properties sebagai mungkin; more Anda menyediakan, higher quality dari hasil.name— name dari business.
Recommended ( properties itu actually enrich hasil): aggregateRating,
department, geo (dengan geo.latitude / geo.longitude), menu,
openingHoursSpecification (dengan .opens, .closes, .dayOfWeek, .validFrom,
.validThrough), priceRange, review, servesCuisine, telephone, dan url.
takeaway untuk prioritizing dev effort: nail diperlukan pair, lalu tambahkan
recommended properties itu membuat Anda listing more complete (hours dan geo untuk sebuah
storefront; servesCuisine dan menu untuk sebuah restaurant). Filling di obscure
inherited properties itu Google ignores adalah wasted effort.
Choosing right subtype
Google adalah explicit: gunakan paling spesifik LocalBusiness sub-jenis mungkin — untuk
contoh Restaurant, DaySpa, HealthClub. Generic LocalBusiness berfungsi, tetapi sebuah
spesifik subtype gives mesin more untuk berfungsi dengan.
sebuah few practical mappings:
- Restaurant / café →
Restaurant,CafeOrCoffeeShop,BarOrPub(di bawahFoodEstablishment) - Law firm →
LegalService(atauAttorney) - Dentist / doctor →
Dentist,Physician(di bawahMedicalBusiness) - Plumber / electrician / umum contractor →
HomeAndConstructionBusinesssubtypes (Plumber,Electrician,GeneralContractor) - Consultancy / agency dengan no better fit →
ProfessionalService
jika Anda business genuinely spans two jenis, specify them sebagai sebuah array — Google
mendukung multiple @type nilai itu cara. Note itu additionalType adalah not
didukung untuk ini purpose, so don’t reach untuk ini.
NAP consistency — schema, GBP, dan citations
“NAP” (terjemahan) “NAP” (Name, Address, Phone) consistency adalah longstanding local-SEO best practice: yang sama name, address, dan phone seharusnya appear identically di seluruh Anda pada-halaman schema, Anda Google Business Profile, dan directory citations (Yelp, BBB, industry directories). Mismatches — sebuah old suite angka here, sebuah tracking phone angka there — muddy signals mesin gunakan untuk identify dan trust sebuah location.
One honest caveat: “NAP” (terjemahan) “NAP” adalah industry shorthand, not sebuah Google spec istilah. Google’s LocalBusiness documentation doesn’t gunakan kata. Frame ini sebagai well-established local-SEO consensus, not sebuah quoted Google peringkat factor. ini masih penting — arguably more daripada apa pun single individual property — because ini adalah tentang coherence dari Anda entity di seluruh web, not one field pada one halaman.
implementation detail itu trip people up
- Geo coordinates perlu setidaknya 5 decimal places. Google states precision
harus menjadi setidaknya 5 decimal places untuk both
latitudedanlongitude. sebuah umum slip adalah sebuah CMS atau geocoding alat rounding coordinates untuk 2–3 places — enough untuk put Anda pin di wrong block. priceRangememiliki sebuah 100-character ceiling. ini harus menjadi shorter daripada 100 characters; di 100 atau more, Google won’t tampilkan sebuah price range di semua. pertahankan ini pendek ($$, atau$10–30), not sebuah paragraf.openingHoursSpecificationsyntax dan edge cases.dayOfWeekaccepts full schema.org URLs (https://schema.org/Monday) atau pendek name (Monday). Google’s own contoh gunakan 24-houropens/closestimes without seconds (hh:mm); schema.org’s broaderTimejenis juga acceptshh:mm:ssjika Anda generator menambahkan ini. Four patterns cover almost setiap case, straight dari Google’s documentation: sebuah normal day ("opens": "09:00", "closes": "17:00"), hours itu cross midnight ("opens": "18:00", "closes": "03:00"untuk sebuah overnight Saturday), open semua day ("opens": "00:00", "closes": "23:59"), dan closed semua day ("opens": "00:00", "closes": "00:00"). untuk seasonal atau holiday closures, tambahkanvalidFrom/validThroughdiYYYY-MM-DD(Google’s own contoh menggunakan"validFrom": "2015-12-23", "validThrough": "2016-01-05") — sebuah nuance sebagian besar basic implementations skip entirely.- Department naming convention. When Anda nest sebuah
department, sertakan store name dengan department name (e.g., “gMart” (terjemahan) “gMart” dan “gMart Pharmacy” (terjemahan) “gMart Pharmacy”) — unless department adalah -nya own independent brand (e.g., “Best Buy” (terjemahan) “Best Buy” dan “Geek Squad” (terjemahan) “Geek Squad”), di which case name ini standalone.
Reviews dan ratings: self-serving-rating trap
ini one wastes sebuah lot dari implementation effort. Google’s docs adalah jelas itu
aggregateRating dan review adalah recommended hanya untuk situs itu capture reviews
tentang lainnya local businesses — sebuah directory atau review platform, not business
rating itself. sebuah business marking up -nya own star average pada -nya own halaman adalah doing sebuah
“self-serving review,” (terjemahan) “self-serving review,” which violates Google’s review-snippet guidelines; Google
stopped showing self-serving review stars untuk LocalBusiness/Organization years
ago. Evidence for this claim Google's review snippet rules make self-serving reviews for LocalBusiness and Organization ineligible for the star review feature. Scope: Google Search review snippet eligibility policy; genuine third-party review contexts are treated differently. Confidence: high · Verified: Google: Review snippet structured data
So jika Anda adalah planning untuk sprinkle Anda homepage testimonials ke sebuah
aggregateRating: don’t. ini won’t earn stars Anda’re picturing, dan ini dapat cross
line dari “no benefit” (terjemahan) “no benefit” ke “guideline violation.” (terjemahan) “guideline violation.”
Multi-location businesses: one halaman vs. banyak
Competitors give hand-wavy advice here, so let me menjadi concrete. correct pattern depends pada Anda architecture:
- One
LocalBusinessper location halaman. cleanest approach untuk sebuah chain: setiap location gets -nya own halaman dengan -nya ownLocalBusinessmarkup describing itu address. Anda dapat tie them untuk parent denganparentOrganization/branchOf. - Nesting di bawah
Organization. di company tingkat, Anda dapat express brand sebagai sebuahOrganizationdengan locations sebagaisubOrganization.
What not untuk melakukan: stack five unrelated LocalBusiness blocks flatly pada Anda
homepage. jika sebuah halaman memiliki one address di footer tetapi five berbeda
LocalBusiness addresses di markup, Anda’ve dibuat ini ambiguous which address
halaman adalah actually tentang. Mark up location halaman mewakili.
LocalBusiness schema vs. Google Business Profile
Say ini plainly because sebagian besar guides bury ini: schema markup ≠ Google Business Profile. mereka adalah berbeda sistem itu Google reconciles separately.
- Anda Google Business Profile feeds Maps dan local pack directly melalui Google’s own sistem. ini adalah primary driver dari “near me” (terjemahan) “near me” dan local-pack visibilitas.
- pada-halaman LocalBusiness schema adalah sebuah corroborating pada-situs signal Google dapat gunakan untuk Knowledge Panels dan enriched hasil. ini adalah not sebuah substitute untuk sebuah Business Profile — dan sebuah Business Profile adalah not sebuah substitute untuk pada-halaman schema.
Anda ingin both, dipertahankan consistent (itu’s NAP poin again). Neither one alone melakukan lainnya’s job.
What ini melakukan — dan doesn’t — guarantee
Valid, guideline-compliant markup membuat sebuah halaman eligible untuk sebuah local Knowledge
Panel atau sebuah business carousel — though “eligible” (terjemahan) “eligible” scopes differently per fitur.
Google’s restaurant carousel, misalnya, adalah currently limited untuk sebuah kecil set dari
participating restaurant providers, so valid Restaurant markup alone doesn’t get
sebuah arbitrary situs ke ini. Beyond itu scoping, eligibility masih doesn’t guarantee
display — Google says outright itu ini doesn’t guarantee itu fitur consuming
data terstruktur akan tampilkan up di hasil. dan sebuah note pada stats floating sekitar
competitor blogs: angka like
“30–50% more often in the local pack” (terjemahan) “30–50% more sering di local pack” atau “20–35% CTR lift” (terjemahan) “20–35% CTR lift” circulate widely dengan no
primary source. Treat them sebagai unverified marketing claims, not Google-confirmed
outcomes.
Validate sebelum Anda ship
- tambahkan diperlukan properties (
name,address), lalu recommended ones itu fit Anda business. - Validate dengan Rich hasil Test dan Schema Markup Validator.
- Deploy, lalu periksa dengan pemeriksaan URL di Search Console dan permintaan sebuah recrawl.
- Monitor structured-data reports di Search Console di atas time.
Validate, lalu deploy — not reverse.
AI summary
sebuah condensed take pada Advanced versi:
- What ini adalah:
schema.org/LocalBusinessdata terstruktur (biasanya JSON-LD) describing sebuah physical business — name, address, phone, hours, geo, price range. - Hierarchy: sebuah subtype dari both
OrganizationdanPlace, which adalah why ini inherits dozens dari properties dan why full spec adalah besar. - Full spec vs. Google: Google memerlukan hanya
name+addressdan consumes ~12 recommended properties (geo,openingHoursSpecification,priceRange,telephone,url,department,menu,servesCuisine, plusaggregateRating/review). Don’t assume “schema.org supports X” (terjemahan) “schema.org mendukung X” berarti “Google uses X.” (terjemahan) “Google menggunakan X.” - Subtype: gunakan paling spesifik subtype (
Restaurant,LegalService,Dentist), not genericLocalBusiness. Multiple jenis go di sebuah array;additionalTypeadalah not didukung. - NAP consistency: pertahankan name/address/phone identical di seluruh markup, Google Business Profile, dan citations. “NAP” (terjemahan) “NAP” adalah industry shorthand, not sebuah Google spec istilah — tetapi coherence penting more daripada apa pun single property.
- detail traps: geo perlu ≥5 decimal places;
priceRangeharus menjadi di bawah 100 characters atau Google drops ini; opening hours gunakanhh:mm:ssdan pendek atau fulldayOfWeek, denganvalidFrom/validThroughuntuk seasonal closures. - Reviews:
aggregateRating/reviewadalah untuk situs reviewing lainnya businesses. Marking up Anda own rating adalah sebuah self-serving review itu violates Google’s guidelines (self-serving stars adalah dropped sekitar 2019). - Multi-location: one
LocalBusinessper location halaman (tie denganparentOrganization/branchOf) atau nest di bawahOrganizationviasubOrganization. Don’t stack unrelated addresses flatly pada homepage. - Schema ≠ Google Business Profile: separate sistem, reconciled separately. GBP feeds Maps/local pack; pada-halaman schema corroborates untuk Knowledge Panels. ingin both.
- No guarantee: valid markup membuat Anda eligible, not guaranteed. Ignore uncited “30–50% more local pack” (terjemahan) “30–50% more local pack” / “20–35% CTR” (terjemahan) “20–35% CTR” stats — no primary source.
- Validate: Rich hasil Test + Schema Markup Validator, lalu pemeriksaan URL dan Search Console reports. Validate, lalu deploy.
Official documentation
Primary-source documentation dari mesin pencari dan schema.org.
- Local business (LocalBusiness) data terstruktur — sumber kebenaran: diperlukan/recommended properties, subtype guidance, geo precision,
priceRangelimit, department naming, dan validation workflow. - Organization data terstruktur — company-tingkat entity, untuk LocalBusiness-vs-Organization distinction.
- Review snippet data terstruktur — guidelines behind self-serving-review restriction pada
aggregateRating/review. - Rich hasil Test — memeriksa rich-hasil eligibility dan diperlukan-property errors.
- Schema Markup Validator — validates apa pun schema.org jenis, including LocalBusiness.
schema.org
- schema.org/LocalBusiness — full vocabulary: setiap inherited property dari
OrganizationdanPlace( “full spec” (terjemahan) “full spec” side dari compare-dan-contrast).
Bing / Microsoft
- Marking Up Anda situs dengan data terstruktur — Bing Webmaster alat — Bing’s umum structured-data guidance dan validator (Schema.org / Microdata / RDFa / OpenGraph).
- Bing Places untuk Business — Bing’s separate listing product, parallel untuk Google Business Profile (sama “listing platform ≠ on-page schema” (terjemahan) “listing platform ≠ pada-halaman schema” distinction).
Quotes dari source
pada—record statements dari Google’s LocalBusiness documentation. Where halaman exposes text, tautan adalah sebuah deep tautan itu jumps untuk quoted passage.
Google docs — what ini enables
- “When users search for businesses on Google Search or Maps, Search results may display a prominent Google knowledge panel with details about a business that matched the query. When users search for a type of business (for example, ‘best NYC restaurants’), they may see a carousel of businesses related to the query.” (terjemahan) “When pengguna search untuk businesses pada Google Search atau Maps, hasil pencarian dapat display sebuah prominent Google knowledge panel dengan detail tentang sebuah business itu matched kueri. When pengguna search untuk sebuah jenis dari business (misalnya, ‘best NYC restaurants’), mereka dapat see sebuah carousel dari businesses related untuk kueri.” Local business data terstruktur
Google docs — subtype guidance
- “Use the most specific
LocalBusinesssub-type possible; for example,Restaurant,DaySpa,HealthClub, and so on.” (terjemahan) “gunakan paling spesifik undefined sub-jenis mungkin; misalnya, undefined, undefined, undefined, dan so pada.” Jump untuk quote
Google docs — geo precision
- “The precision must be at least 5 decimal places.” (terjemahan) “ precision harus menjadi setidaknya 5 decimal places.” Jump untuk quote
Google docs — self-serving reviews
- pada
aggregateRatingdanreview: “This property is only recommended for sites that capture reviews about other local businesses.” (terjemahan) “ini property adalah hanya recommended untuk situs itu capture reviews tentang lainnya local businesses.” Jump untuk quote
Properties cheat sheet
diperlukan vs. recommended (what Google actually consumes)
| Property | Status | Notes |
|---|---|---|
name | diperlukan | business name |
address (PostalAddress) | diperlukan | sertakan sebagai banyak sub-properties sebagai mungkin |
telephone | Recommended | business phone angka |
url | Recommended | Canonical URL untuk business/location |
geo (latitude/longitude) | Recommended | ≥5 decimal places untuk both |
openingHoursSpecification | Recommended | opens/closes (hh:mm, per Google’s contoh), dayOfWeek, validFrom/validThrough untuk seasonal |
priceRange | Recommended | harus menjadi < 100 characters atau Google drops ini |
department | Recommended | Name sebagai “{store} {department}” (terjemahan) “\undefined \undefined” unless independently branded |
menu | Recommended | untuk food establishments |
servesCuisine | Recommended | untuk restaurants |
aggregateRating / review | Recommended hanya untuk situs reviewing lainnya businesses | Not untuk self-reviews |
umum LocalBusiness subtypes
| Business | gunakan ini subtype |
|---|---|
| Restaurant / café / bar | Restaurant, CafeOrCoffeeShop, BarOrPub (di bawah FoodEstablishment) |
| Law firm / attorney | LegalService, Attorney |
| Dentist / doctor | Dentist, Physician (di bawah MedicalBusiness) |
| Plumber / electrician / contractor | Plumber, Electrician, GeneralContractor (di bawah HomeAndConstructionBusiness) |
| Spa / gym | DaySpa, HealthClub |
| Agency / consultancy (no better fit) | ProfessionalService |
| No spesifik match | generic LocalBusiness (last resort) |
Fast facts
- diperlukan = 2 (
name,address); everything else adalah recommended. - gunakan sebagian besar spesifik subtype; multiple jenis go di sebuah array;
additionalTypeadalah not didukung. - Geo ≥ 5 decimal places;
priceRange< 100 characters. aggregateRating/review= untuk situs reviewing lainnya businesses, not self-reviews.- Schema ≠ Google Business Profile — separate sistem, reconciled separately.
- NAP consistency (industry istilah, not sebuah Google spec kata) di seluruh markup, GBP, dan citations penting more daripada apa pun single property.
- Valid markup = eligible, tidak pernah guaranteed. Validate → deploy.
Anti-patterns: how LocalBusiness markup goes wrong
mistakes I see sebagian besar, dan what untuk melakukan instead.
1. NAP inconsistency. Anda schema says “123 Main St, Suite 200,” (terjemahan) “123 Main St, Suite 200,” Anda Google Business Profile says “123 Main Street,” (terjemahan) “123 Main Street,” dan Yelp masih memiliki Anda old phone angka. ini mismatches undermine whole poin — mesin gunakan coherence dari Anda name/address/phone di seluruh web untuk identify dan trust sebuah location. Fix: pick one canonical NAP dan membuat markup, Business Profile, dan setiap citation match ini exactly.
2. menggunakan generic jenis when sebuah spesifik one exists.
Marking sebuah restaurant sebagai bare LocalBusiness when Restaurant exists throws away
signal Google explicitly menanyakan untuk. Fix: gunakan paling spesifik subtype itu fits
(Restaurant, LegalService, Dentist); gunakan multiple @type nilai di sebuah array
jika Anda genuinely span two — tetapi not additionalType.
3. Self-serving reviews.
Marking up Anda own testimonials sebagai aggregateRating/review untuk try untuk win star
ratings. Google’s guidelines reserve itu properties untuk situs reviewing lainnya
businesses; self-serving stars adalah dropped years ago dan ini dapat cross ke sebuah
guideline violation. Fix: don’t self-rate. Earn genuine ketiga-party reviews (which
live pada review platforms, not Anda markup).
4. Stacking multiple locations pada one halaman.
Five berbeda LocalBusiness blocks dengan five berbeda addresses pada one homepage,
when halaman really mewakili one entity (atau none). ini adalah ambiguous which address
halaman adalah tentang. Fix: one LocalBusiness per location halaman (tie untuk brand
dengan parentOrganization/branchOf), atau model company sebagai sebuah Organization
dengan subOrganization.
5. Confusing schema dengan sebuah Google Business Profile. Assuming pada-halaman markup akan get Anda ke Maps dan local pack, atau itu having sebuah Business Profile berarti Anda tidak perlu schema. mereka’re separate sistem itu Google reconciles separately — GBP drives Maps/local pack, schema corroborates untuk Knowledge Panels. Fix: siapkan both dan pertahankan them consistent.
Bonus trips: rounding geo coordinates below 5 decimal places (wrong-block pin),
sebuah priceRange di atas 100 characters (Google silently drops ini), dan expecting sebuah
guaranteed rich hasil dari valid markup (eligibility ≠ display).
Test yourself: LocalBusiness Schema
Five quick pertanyaan pada LocalBusiness schema — diperlukan properties, subtypes, review trap, dan how ini relates untuk sebuah Google Business Profile. Pick sebuah jawaban untuk setiap, lalu periksa.
Which LocalBusiness subtype seharusnya I gunakan?
artikel’s subtype guidance turns ke sebuah straightforward branch: match Anda
business category untuk paling spesifik LocalBusiness sub-jenis schema.org
defines, dan hanya fall back untuk generic jenis when nothing fits.
What LocalBusiness subtype fits my business?
One halaman per location, atau nest di bawah Organization?
lainnya genuine fork di artikel adalah architectural: how melakukan Anda markup sebuah business dengan more daripada one physical location?
How should a multi-location business structure its markup?
Worked contoh: LocalBusiness JSON-LD
Three annotated blocks, setiap dibangun dari diperlukan dan recommended properties covered above.
contoh 1: minimum viable markup (diperlukan properties hanya)
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Riverside Dental Care",
"address": {
"@type": "PostalAddress",
"streetAddress": "412 Riverside Ave",
"addressLocality": "Columbus",
"addressRegion": "OH",
"postalCode": "43215",
"addressCountry": "US"
}
}namedanaddressadalah satu-satunya two properties Google memerlukan — ini passes validation, tetapi ini adalah leaving recommended properties (dan sebuah spesifik subtype) pada table.- bahkan di ini minimal tingkat, Google’s advice adalah untuk sertakan sebagai banyak
addresssub-properties sebagai Anda dapat — itu’s why semua five adalah filled di here instead dari sebuah singlestreetAddressline.
contoh 2: sebuah spesifik subtype dengan recommended properties filled di
{
"@context": "https://schema.org",
"@type": "Dentist",
"name": "Riverside Dental Care",
"telephone": "+1-614-555-0142",
"url": "https://www.riversidedentalcare.example/",
"address": {
"@type": "PostalAddress",
"streetAddress": "412 Riverside Ave",
"addressLocality": "Columbus",
"addressRegion": "OH",
"postalCode": "43215",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 39.96199,
"longitude": -83.00275
},
"priceRange": "$$",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday"],
"opens": "08:00:00",
"closes": "17:00:00"
}
]
}@typeadalahDentist, not genericLocalBusiness— spesifik subtype Google menanyakan untuk.geo.latitude/geo.longitudeboth carry 5 decimal places, matching Google’s minimum-precision requirement.priceRangeadalah sebuah pendek$$, well di bawah 100-character ceiling.openingHoursSpecificationmenggunakanhh:mm:sstimes dan pendekdayOfWeeknames, grouped untuk days itu share yang sama hours.
contoh 3: sebuah restaurant dengan sebuah seasonal-closure dan department nesting note
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "gMart Pharmacy",
"servesCuisine": "American",
"menu": "https://www.example-diner.example/menu/",
"address": {
"@type": "PostalAddress",
"streetAddress": "88 Harbor Rd",
"addressLocality": "Portland",
"addressRegion": "ME",
"postalCode": "04101",
"addressCountry": "US"
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "https://schema.org/Monday",
"opens": "11:00:00",
"closes": "21:00:00",
"validFrom": "2026-01-01",
"validThrough": "2026-12-24"
}
]
}servesCuisinedanmenuadalah recommended properties itu penting sebagian besar untuk sebuahFoodEstablishmentsubtype likeRestaurant.dayOfWeekhere menggunakan full schema.org URL form alih-alih pendek name — both adalah valid, ini hanya menampilkan alternative.validFrom/validThroughmark sebuah seasonal window diYYYY-MM-DD— detail sebagian besar basic implementations skip.namenilai mengikuti artikel’s department-naming convention: “gMart Pharmacy” (terjemahan) “gMart Pharmacy” mempertahankan store name dengan department name, pattern untuk gunakan unless department adalah -nya own independently branded entity (like “Best Buy” (terjemahan) “Best Buy” dan “Geek Squad” (terjemahan) “Geek Squad”).
Three mental models untuk thinking tentang LocalBusiness schema
1. Full spec vs. what Google actually consumes. schema.org/LocalBusiness
inherits dozens dari properties dari both Organization dan Place, tetapi Google
memerlukan hanya name + address dan meaningfully consumes tentang sebuah dozen
recommended ones (geo, openingHoursSpecification, priceRange,
telephone, url, department, menu, servesCuisine,
aggregateRating/review). framework: tidak pernah assume “schema.org supports
property X” (terjemahan) “schema.org mendukung
property X” berarti “Google will do something with property X.” (terjemahan) “Google akan melakukan something dengan property X.” Prioritize
diperlukan pair, lalu recommended properties itu fit Anda business, dan
treat obscure inherited properties Google ignores sebagai wasted implementation
effort.
2. Schema adalah not sebuah Google Business Profile. ini adalah two separate sistem itu Google reconciles independently. sebuah Google Business Profile feeds Maps dan local pack directly melalui Google’s own sistem — ini adalah primary driver dari “near me” (terjemahan) “near me” dan local-pack visibilitas. pada-halaman LocalBusiness schema adalah sebuah corroborating pada-situs signal Google dapat gunakan untuk Knowledge Panels dan enriched hasil. Neither substitutes untuk lainnya; framework adalah “set up both, and don’t expect one to do the other’s job.” (terjemahan) “siapkan both, dan don’t expect one untuk melakukan lainnya’s job.”
3. NAP sebagai coherence, not sebuah single field. Name/Address/Phone consistency di seluruh Anda schema markup, Anda Google Business Profile, dan directory citations isn’t tentang apa pun one property menjadi correct — ini adalah tentang coherence dari Anda entity di seluruh entire web. sebuah mismatched suite angka atau sebuah stale tracking phone angka di one place muddies signals mesin gunakan untuk identify dan trust sebuah location, bahkan jika setiap individual field adalah technically valid pada -nya own halaman. Treat “NAP” (terjemahan) “NAP” sebagai well-established local-SEO consensus ( istilah itself isn’t di Google’s documentation), not sebuah single checkbox untuk tick once.
alat untuk validating LocalBusiness markup
- Rich-hasil Eligibility Checker — my own free alat. Paste Anda LocalBusiness JSON-LD, sebuah HTML halaman, atau fetch sebuah live URL, dan ini menampilkan exactly which diperlukan fields adalah missing dan which recommended ones Anda’re leaving out, spesifik untuk local-business rich hasil. ini runs entirely di Anda browser, so nothing Anda paste di leaves Anda machine.
- Schema Markup Validator — juga mine.
Validates JSON-LD’s schema.org vocabulary directly (not hanya
Google-spesifik subset), memeriksa cross-block
@idreferences jika Anda’re linking LocalBusiness untuk sebuah parent Organization, dan gives Anda back sebuah corrected, copy-pasteable block. - Rich hasil Test — Google’s own alat. gunakan ini setelah two above untuk confirm Google’s live parser agrees halaman adalah eligible.
- pemeriksaan URL (Search Console) — setelah deploying, periksa how Google actually di-crawl dan rendered halaman, dan permintaan sebuah recrawl.
Pitch: run Rich-hasil Eligibility Checker atau Schema Markup Validator sebelum Anda ship sebuah perubahan, lalu confirm dengan Rich hasil Test dan URL Inspection setelah — itu’s yang sama sequence Validation Tests lens below walks melalui di detail.
Proving Anda LocalBusiness markup perubahan worked
Test 1: diperlukan-property dan syntax validation
Test untuk run: Paste updated JSON-LD ke my
Rich-hasil Eligibility Checker atau
Schema Markup Validator.
Expected hasil: No missing-diperlukan-field errors pada name atau address,
dan alat menampilkan local-business rich hasil sebagai eligible.
Failure interpretation: sebuah flagged missing property berarti ini genuinely
isn’t present di markup Anda shipped — re-periksa JSON-LD source rather
daripada assuming sebuah caching issue.
Monitoring window: Immediate — alat reads markup directly, no
crawl wait diperlukan.
Rollback trigger: Validation masih fails setelah sebuah direct fix untuk
template — revert perubahan dan re-diff terhadap last known-baik JSON-LD.
Test 2: Google’s own Rich hasil Test agrees
Test untuk run: Run live URL melalui Google’s Rich hasil Test. Expected hasil: halaman adalah detected sebagai eligible untuk local business hasil, dengan diperlukan dan recommended properties Google’s parser sees matching what Anda shipped. Failure interpretation: jika Google’s alat disagrees dengan two alat above, live halaman mungkin differs dari what Anda validated — periksa untuk sebuah caching layer atau sebuah bangun langkah serving stale markup. Monitoring window: Immediate. Rollback trigger: eligible-halaman periksa masih menampilkan missing diperlukan fields setelah sebuah deploy — fix didn’t reach live halaman.
Test 3: Search Console structured-data reports di atas time
Test untuk run: Search Console’s structured-data / Enhancement reports untuk affected URLs, setelah requesting sebuah recrawl via pemeriksaan URL. Expected hasil: URL count dengan LocalBusiness errors drops untuk zero, dan previously flagged halaman move ke valid bucket. Failure interpretation: masih flagged setelah sebuah recrawl berarti either fix hasn’t propagated untuk versi Google fetched, atau sebuah berbeda diperlukan property adalah juga missing — re-run Test 1 terhadap exact URL Search Console lists. Monitoring window: 2–4 weeks — structured-data report updates lag behind sebuah single recrawl. Rollback trigger: Error counts climb alih-alih falling setelah perubahan ships broadly — revert dan re-validate sebelum rolling forward again.
Log perubahan
Diperbarui 18 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
- Advanced
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.