무료 도구 · 로컬 비즈니스 스키마 생성기
로컬 비즈니스 스키마 생성기
매장 하나를 입력하면 LocalBusiness JSON-LD — 자정을 넘기는 영업시간은 한 줄로, 휴무 기간과 지점별 @id까지 — 와, 같은 값을 담은 주소·영업시간 블록을 만듭니다. 요일은 표에서 한국어로, JSON-LD에서는 schema.org 값으로 나갑니다. 한국 도로명주소를 PostalAddress 칸에 나누는 기준도 함께 정리했습니다.
다른 언어:English繁體中文日本語한국어EspañolFrançaisDeutschPortuguês (Brasil)
맞는 것 중 가장 구체적인 schema.org 하위 유형을 고릅니다. 딱 맞는 것이 없으면 LocalBusiness가 안전합니다.
구글이 요구하지는 않습니다. JSON-LD를 읽는 다른 쪽에서 두 지점이 한 노드로 합쳐지지 않게 해 주는 값입니다.
국가 코드와 지역 번호를 포함합니다. 국내 표기 02-1234-5678이라면 맨 앞 0을 빼고 +82를 붙입니다.
100자 미만. 네이버 식당 가이드는 원 같은 통화 정보가 있으면 함께 적으라고 합니다.
구글은 {매장 이름} {부서 이름} 형식을 요구합니다. 부서가 따로 브랜드를 가진 경우만 예외입니다.
요일은 월-금처럼 한글로도, Mon-Fri처럼 영문으로도 씁니다. 월-금 09:00-18:00 · 금-토 08:00-01:00(자정 넘김, 한 줄) · 월-금 11:30-15:00 + 월-금 17:00-22:00(브레이크 타임, 두 줄) · 일 휴무 · 월-일 24h(24시간 영업) · 2027-08-02..2027-08-06 월-일 휴무(휴무 기간).
모두 이 페이지 안에서 처리됩니다. 주소, 전화번호, 사진 URL은 브라우저 밖으로 나가지 않습니다.
출처: 구글 검색 센터 — 구조화된 지역 비즈니스(LocalBusiness) 데이터(필수 속성, 자정 넘는 영업, 24시간·휴무 표기, 전화번호, 좌표 자릿수), 네이버 서치어드바이저 — 주소(Address), 식당(Restaurant), 주소정보누리집 — 도로명주소 소개(표기 방법), 우정사업본부 — 우편번호란?(5자리 우편번호), 네이버 스마트플레이스 이용약관과 등록 기준, 카카오맵 — 장소 등록 안내, 구글 비즈니스 프로필 — 프로필 추가 또는 소유권 주장. 모두 2026년 9월 26일에 원문을 확인했습니다.
LocalBusiness 스키마를 만드는 방법
지점 하나에 페이지 하나, 페이지 하나에 지점 하나. 생성기는 같은 값에서 마크업과 표시용 블록을 함께 쓰므로 둘이 어긋날 수 없습니다.
- 가장 구체적인 업종 유형을 고릅니다. Restaurant, CafeOrCoffeeShop, Dentist, HairSalon 같은 유형은 LocalBusiness의 하위 유형이라 그 속성을 모두 물려받습니다. 더 맞는 것이 없을 때만 LocalBusiness를 씁니다.
- 상호와 주소를 채웁니다. 필수 속성은 이 둘뿐입니다. 도로명과 건물번호는 streetAddress에, 시·군·구는 addressLocality에, 시·도는 addressRegion에 나눠 넣습니다. 나머지 칸은 결과를 풍부하게 만들 뿐 유효성을 가르지 않습니다.
- 영업시간을 규칙으로, 한 줄에 하나씩 씁니다. 금요일 08:00에 열어 새벽 01:00에 닫는 매장은 두 줄이 아니라 한 줄입니다. 여름휴가 같은 휴무는 날짜 범위와 closed로 씁니다. 각 줄이 OpeningHoursSpecification 하나가 됩니다.
- 복사하기 전에 경고를 읽습니다. 좌표 자릿수, 표시되지 않을 만큼 긴 가격대, 빠진 주소 요소, 두 규칙이 겹치는 요일은 모두 구글이 무시하거나 의도와 다르게 읽는 것들입니다.
- 두 결과물을 붙여넣습니다. JSON-LD는 그 지점 페이지의 head나 body에, 주소 블록과 영업시간 표는 방문자가 읽는 자리에 넣습니다. 영업시간이 바뀔 때마다 둘 다 다시 만드세요.
한국 도로명주소를 PostalAddress에 나눠 넣는 법
로컬 비즈니스 스키마 생성기는 매장 정보를 LocalBusiness 유형의 JSON-LD, 즉 구글 문서가 '구조화된 지역 비즈니스 데이터'라고 부르는, 영업시간·위치·부서를 담는 구조화된 데이터로 바꿔 주는 도구입니다. 구글이 요구하는 필수 속성은 name과 address 두 개이고, 주소는 속성을 가능한 한 많이 포함하라고 합니다. 문제는 구글 문서의 예시가 미국 주소라는 점입니다. 한국 도로명주소를 칸에 나누는 기준은 네이버 서치어드바이저의 주소(Address) 가이드에 있습니다.
| 속성 | 넣을 값 | 예 |
|---|---|---|
addressRegion | 시·도 — 주소 중 가장 큰 지역명 | 서울특별시 |
addressLocality | 시·군·구 — 그 아래 지역 | 성동구 |
streetAddress | 도로명 + 건물번호 + 상세주소 (네이버 가이드에서 유일한 필수 항목) | 성수이로 88, 1층 |
postalCode | 다섯 자리 우편번호, 숫자 또는 하이픈 | 04783 |
addressCountry | ISO 3166-1 두 글자 | KR |
표기에는 행정안전부 주소정보누리집이 정해 둔 규칙이 있습니다. 도로명은 붙여 쓰고(국회대로62길), 도로명과 건물번호 사이는 띄우며(국회대로62길 9), 건물번호와 동·층·호 사이에는 쉼표를 씁니다(삭주로 89, 201동 101호). 법정동이나 공동주택명 같은 참고항목은 맨 뒤 괄호 안에 적는 부분입니다. 우편번호는 우정사업본부가 2015년 8월 1일부터 쓰고 있는, 국가기초구역에 부여된 다섯 자리 번호입니다. 네이버 가이드는 두 가지를 더 당부합니다. 요소마다 알맞은 내용을 중복 없이 넣을 것 — streetAddress에 성동구를 한 번 더 쓰지 않는다는 뜻입니다 — 그리고 사이트 공통 주소를 여러 페이지에 똑같이 쓰지 말 것.
전화번호는 구글 문서가 국가 코드와 지역 번호를 포함하라고 합니다. 국내 표기 02-1234-5678이라면 맨 앞의 0을 빼고 +82-2-1234-5678로 씁니다. 국제전기통신연합(ITU)에 등록된 한국의 번호 계획도 서울 지역 번호를 2로 적습니다. 네이버 식당 가이드 역시 지역 번호를 포함한 전체 번호를 요구합니다.
영업시간: 새벽까지, 24시간, 휴무, 그리고 브레이크 타임
주소보다 어려운 것은 영업시간입니다. 구글 문서는 분명합니다. 자정 이후 몇 시간은 단일 OpeningHoursSpecification 속성을 사용하여 개점/폐점 시간을 정의합니다. 토요일 18:00에 열어 일요일 03:00에 닫는 술집은 dayOfWeek: Saturday, opens: 18:00, closes: 03:00 한 규칙이지, 토요일 23:59에 끝나는 규칙과 일요일 00:00에 시작하는 규칙 두 개가 아닙니다. 둘로 쪼개면 자정에 문을 닫았다가 일요일 새벽에 세 시간만 다시 여는 가게가 됩니다.
이 생성기는 한 줄에 규칙 하나를 받으므로 구글이 문서화한 모양을 모두 적을 수 있습니다. 요일은 월-금처럼 한글로 써도 되고 Mon-Fri처럼 영문으로 써도 됩니다. 하루 종일 쉬는 날은 휴무(또는 closed), 24시간 영업은 24h로 씁니다.
월-목 08:00-22:00
금-토 08:00-01:00 # 자정을 넘김, 한 규칙
일 휴무 # opens, closes 모두 00:00
월-일 24h # opens 00:00, closes 23:59
2027-08-02..2027-08-06 월-일 휴무 # validFrom / validThrough, 여름휴가
마지막 세 가지 표기는 우리가 지어낸 것이 아닙니다. 구글 문서가 24시간 영업은 opens 00:00에 closes 23:59, 하루 종일 휴무는 둘 다 00:00으로 쓰라고 하고, 계절별 휴무는 validFrom과 validThrough(YYYY-MM-DD)로 정의합니다.
한국 식당에 흔한 브레이크 타임은 같은 요일에 겹치지 않는 두 구간을 한 줄씩 적습니다(월-금 11:30-15:00 한 줄, 월-금 17:00-22:00 한 줄). openingHoursSpecification은 배열을 받으므로 형식상 문제가 없고, 이 생성기는 겹치지 않는 두 구간을 경고 없이 규칙 두 개로 내보냅니다. 경고는 같은 요일의 두 규칙이 시간상 겹치거나 한쪽이 휴무일 때, 즉 두 규칙이 서로 모순될 때만 뜹니다. 다만 하루를 둘로 나눈 예시가 구글 문서에는 없다는 점은 알아 두세요. 그리고 네이버의 식당(Restaurant) 가이드는 구글과 다른 속성을 필수로 둡니다. 요일과 시간을 텍스트로 적는 openingHours이고, 여러 개로 나눠 입력할 수 있다고 적혀 있습니다. 이 생성기는 구글이 문서화한 openingHoursSpecification만 쓰므로, 네이버 식당 가이드까지 맞추려면 openingHours 줄을 직접 더해야 합니다.
마크업은 지도 등록이 아닙니다: 스마트플레이스, 카카오맵, 구글 비즈니스 프로필
네이버 지도, 카카오맵, 구글 지도 — 세 곳 모두 가게가 지도에 올라가는 경로는 이 JSON-LD와 별개입니다.
- 네이버. 스마트플레이스 이용약관은 이 서비스를 업체 정보를 등록·관리하거나 네이버 플레이스 서비스 등에 노출할 수 있게 하는 플랫폼으로 정의합니다. 등록 기준에는 국내 업체의 위치와 전화번호 정보가 이용자에게 의미가 있을 때만 등록할 수 있다는 원칙과, 같은 사업장을 여러 전화번호로 중복 등록할 수 없다는 조항이 있습니다.
- 카카오맵. 카카오 고객센터는 지도에 없는 장소를 지도의 신규 장소 등록 메뉴로 제안하게 하고, 제안은 운영자 검수를 거쳐 반영된다고 안내합니다. 전화번호, 영업시간, 홈페이지와 함께 전경 사진을 주면 더 빨리 등록된다고 적혀 있습니다.
- 구글. 구글 비즈니스 프로필 도움말은 프로필을 추가하고 인증하면 고객이 구글 검색과 지도에서 내 비즈니스를 찾을 수 있다고 설명합니다.
그렇다면 JSON-LD는 무엇을 할까요. 내 사이트의 지점 페이지가 어떤 가게의 어느 지점인지를 기계가 읽을 수 있게 합니다. 구글은 이 데이터로 영업시간과 비즈니스 안의 여러 부서 등을 알릴 수 있다고 하고, 네이버는 주소·식당 마크업을 웹문서 분석 등에 보조적으로 쓸 수 있다고 하면서 노출은 보장하지 않는다고 덧붙입니다. 그러니 상호, 주소, 전화번호, 영업시간은 지도 세 곳과 내 페이지에서 같은 값이어야 합니다. 이 생성기가 표시용 블록을 마크업과 같은 값으로 쓰는 이유이기도 합니다.
지점이 여럿이라면 @id, 별점은 넣지 않기
구글의 지역 비즈니스 문서는 @id에 대해 아무 말도 하지 않습니다. 그렇지 않은 척하지 않겠습니다. 다만 사이트에 지점이 둘 이상이 되는 순간 @id는 장식이 아니게 됩니다. 없으면 지점 페이지마다 이름 없는 노드가 하나씩 생기고, 구글 검색 말고 이 그래프를 읽는 다른 쪽 — 수집기, CMS의 스키마 플러그인, 지점 목록을 만들려고 사이트를 도는 에이전트 — 은 그것들을 합쳐 버릴 수 있습니다. https://example.com/stores/seongsu#store처럼 고정된 IRI를 가진 노드는 몇 번을 읽어도 같은 노드입니다.
규칙은 간단합니다. 지점 하나에 페이지 하나, 페이지 하나에 LocalBusiness 노드 하나, 노드 하나에 @id 하나, 그리고 url은 그 페이지입니다. 스무 개 지점을 한 페이지에 모두 마크업하지 마세요. 구글은 LocalBusiness 데이터를 비즈니스 관련 정보가 있는 페이지에 넣는 편이 낫다고 하고, 네이버는 사이트 공통 주소를 여러 페이지에 똑같이 쓰지 말라고 합니다. 지점 목록 페이지는 각 지점 페이지로 링크할 뿐, 그 지점들을 대신 마크업하지 않습니다.
양식 맨 아래의 체크박스는 거절당하려고 있습니다. 구글의 리뷰 스니펫 가이드라인은 리뷰 대상이 자기에 대한 리뷰를 스스로 관리하면 LocalBusiness나 Organization 데이터를 쓰는 페이지에서 별표 리뷰 기능을 쓸 수 없다고 하고, 내 사이트에 삽입한 서드 파티 리뷰 위젯도 포함시킵니다. LocalBusiness의 review와 aggregateRating은 다른 지역 비즈니스에 관한 리뷰를 캡처하는 사이트에만 권장됩니다. 맛집 가이드나 업체 디렉터리라면 해당하고, 내 가게 페이지라면 해당하지 않습니다. 리뷰가 무엇을 주장할 수 있는지는 리뷰 스키마 생성기에서, 마크업이 화면과 같아야 한다는 이 도구 모음 전체의 원칙은 FAQ 스키마 생성기에서 다룹니다.
자주 묻는 질문
로컬 비즈니스 스키마 생성기는 무엇을 만들어 주나요?
로컬 비즈니스 스키마 생성기는 매장 정보를 LocalBusiness 유형의 JSON-LD, 즉 구글 문서가 '구조화된 지역 비즈니스 데이터'라고 부르는, 영업시간·위치·부서를 담는 구조화된 데이터로 바꿔 주는 도구입니다. 주소 블록과 영업시간 표도 같은 값으로 만들어 마크업과 페이지가 어긋나지 않게 합니다.
LocalBusiness 구조화된 데이터의 필수 속성은 무엇인가요?
name과 address 두 가지입니다. 영업시간, 전화번호, 좌표, 가격대, 사진, 부서는 모두 권장 속성입니다. 속성이 많을수록 결과가 풍부해지지만, 상호와 주소만 있어도 유효합니다.
한국 도로명주소는 PostalAddress에 어떻게 나눠 넣나요?
네이버 서치어드바이저 주소 가이드의 기준대로 시·도는 addressRegion, 시·군·구는 addressLocality, 도로명과 건물번호와 상세주소는 streetAddress, 다섯 자리 우편번호는 postalCode에 넣고 addressCountry는 KR로 씁니다. 건물번호와 층·호 사이에는 쉼표를 씁니다.
전화번호는 어떤 형식으로 써야 하나요?
구글 문서는 국가 코드와 지역 번호를 포함하라고 합니다. 서울의 02-1234-5678이라면 맨 앞 0을 빼고 +82-2-1234-5678로 씁니다. 네이버 식당 가이드도 지역 번호를 포함한 전체 번호를 요구합니다.
새벽까지 영업하는 시간이나 브레이크 타임은 어떻게 표시하나요?
자정을 넘기는 영업은 OpeningHoursSpecification 하나로 씁니다. 금요일 08:00부터 새벽 01:00까지라면 dayOfWeek Friday, opens 08:00, closes 01:00입니다. 브레이크 타임은 같은 요일에 겹치지 않는 두 구간을 따로 적습니다. 이 생성기는 그 형태를 경고 없이 받고, 두 구간이 겹칠 때만 모순이라고 알려 줍니다. 구글 문서에는 이 예시가 없습니다.
마크업을 넣으면 네이버 지도나 카카오맵에 가게가 등록되나요?
아닙니다. 네이버 플레이스의 업체 정보는 스마트플레이스에서, 카카오맵은 지도의 신규 장소 등록 제안으로, 구글 지도는 구글 비즈니스 프로필로 등록합니다. JSON-LD는 내 사이트의 지점 페이지를 기계가 읽게 하는 것이고, 세 곳과 같은 상호·주소·전화번호를 쓰는 것이 중요합니다.
우리 가게가 받은 별점도 LocalBusiness에 넣을 수 있나요?
넣을 수 없습니다. 구글 리뷰 가이드라인에 따르면 리뷰 대상이 자기에 대한 리뷰를 스스로 관리하면 LocalBusiness나 Organization 페이지는 별표 리뷰 기능을 쓸 수 없고, 삽입한 리뷰 위젯도 마찬가지입니다. review와 aggregateRating은 다른 지역 비즈니스를 리뷰하는 사이트를 위한 속성입니다.
마크업은 쉬운 절반입니다. 지점 페이지는 검색에 걸렸나요?
자기 도메인 점검에는 비용이 들지 않습니다. Search Console의 노출수와 순위를 직전 기간과 비교하고, 페이지마다 현재 HTTP 상태와 색인 상태를, 유입 경로별 트래픽을 AI 엔진과 나눠 보여 줍니다. 에이전트 안에서 명령 하나면 됩니다.
$ npm i -g @clize/clize && clize install $ clize seo check --domain yourdomain.co.kr[ Clize의 Agent SEO → ]