‘shippingDetails’ 입력란 누락: 선택 사항이지만 넣는 방법
Google의 판매자 등록정보 문서는 shippingDetails를 필수가 아니라 권장 항목으로 둡니다. 대개 ‘hasMerchantReturnPolicy’ 누락과 함께 나옵니다. 상품 마크업에 배송과 반품 정보가 없다는 같은 빈틈에서 오기 때문입니다.
Google이 배송 정보를 가져오는 곳 고르기
Google은 여러 곳에서 배송 정보를 읽습니다. 서로 다르면 강한 순서대로 씁니다. Merchant Center의 상품 피드, Content API for Shopping, Merchant Center나 Search Console 설정, 상품 마크업, 마지막으로 Organization 마크업입니다.
- Search Console, 코드 없이: 설정 > 쇼핑 > 배송 및 반품을 여세요. 배송 탭에서 배송 정책 추가를 누르고 국가, 최소와 최대 배송 일수, 배송비를 고르세요. 속성의 소유자이거나 전체 권한 사용자여야 합니다.
- Organization 마크업, 스토어 전체에 한 번:
Organization아래hasShippingService로ShippingService를 넣습니다. 표준 정책에는 Google이 이 방법을 권합니다. - Offer 마크업, 상품마다:
offers안에shippingDetails를 넣습니다. 배송 방식이 다른 상품이나 이 경고를 없애고 싶을 때 쓰세요.
Google은 Search Console이나 Organization 수준 정책이 이 경고를 없애는지 말하지 않습니다. Shopify 포럼의 스토어 운영자들은 경고가 남을 수 있다고 전합니다. 없애고 싶다면 offer에 shippingDetails를 넣으세요.
JSON-LD로 고치기
offer에 OfferShippingDetails 하나를 넣으세요. 그 안에 shippingRate, shippingDestination, deliveryTime 세 가지가 필요합니다. 아래 예시는 미국 배송비 4.95달러, 포장 1일, 배송 2~5일입니다.
"offers": {
"@type": "Offer",
"price": 89,
"priceCurrency": "USD",
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingRate": { "@type": "MonetaryAmount", "value": 4.95, "currency": "USD" },
"shippingDestination": { "@type": "DefinedRegion", "addressCountry": "US" },
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 1, "unitCode": "DAY" },
"transitTime": { "@type": "QuantitativeValue", "minValue": 2, "maxValue": 5, "unitCode": "DAY" }
}
}
}shippingRate.currency는 offer의priceCurrency와 같아야 합니다.- 무료 배송이면
shippingRate.value를0으로 하세요. handlingTime은 주문부터 발송까지,transitTime은 발송부터 도착까지입니다. 각각minValue,maxValue,unitCodeDAY가 필요합니다.OfferShippingDetails하나에 요금 하나입니다. 일반과 특급이 있으면shippingDetails를 두 개 넣으세요.addressCountry는US,KR같은 두 글자 코드입니다.
다른 페이지의 Organization 마크업에 배송 정책을 이미 한 번 적었다면, offer에서 그 @id만 가리켜도 됩니다. 예: "shippingDetails": { "@type": "OfferShippingDetails", "hasShippingService": { "@id": "https://example.com/shipping#policy" } }
플랫폼별로 고치는 곳
- Shopify: Dawn은
sections/main-product.liquid끝부분에서{{ product | structured_data }}로, Horizon은sections/product-information.liquid맨 위에서 상품 마크업을 출력합니다. 이 필터는 상품, 브랜드, offer를 쓰지만 배송은 없습니다. Liquid는 배송 지역을 읽을 수 없으니 요금을 직접 넣어야 합니다. 그 줄을 직접 만든 JSON-LD로 바꾸거나 구조화된 데이터 앱을 쓰세요. 코드 없는 방법은 Search Console의 배송 및 반품 설정입니다. - WooCommerce: 자체 상품 마크업에 배송 정보가 없습니다. Rank Math는 테마의
rank-math.php에서 각 offer에shippingDetails를 넣는rank_math/snippet/rich_snippet_product_entity필터를 안내합니다. - Wix: SEO 설정의 상품(Products)에서 구조화된 데이터 마크업 옆 편집을 누르고, Product 프리셋을 맞춤 마크업으로 바꾼 뒤 offer에
shippingDetails를 넣으세요. 페이지 유형당 프리셋 포함 5개 마크업까지 허용됩니다. - Squarespace: Product 마크업을 자동으로 쓰며 도움말은 편집하거나 지울 수 없다고 말합니다. Search Console의 배송 및 반품 설정을 쓰세요.
- BigCommerce: Cornerstone 테마의 상품 마크업은
templates/components/products/schema.html에 있고offers에 배송이 없습니다. 거기에shippingDetails를 넣고 테마를 올리세요.
확인하기
- 상품 주소를 리치 결과 테스트에 넣으세요. 판매자 등록정보에서 배송 경고가 사라져야 합니다.
- Search Console의 쇼핑 > 판매자 등록정보에서 이 문제를 클릭하고 수정 결과 확인을 누르세요.
CrawlCoach와 함께
CrawlCoach는 배송 입력란을 확인하지 않습니다. 대신 JSON-LD를 손으로 고치다 쉼표 하나가 빠져 블록 전체가 파싱되지 않으면, 유료 요금제에서 그 페이지를 수정 목록에 올려 드립니다.
자주 묻는 질문
‘shippingDetails’ 누락은 선택 사항인가요?
네. Google은 shippingDetails를 권장 항목으로 두고, Search Console은 심각하지 않은 문제로 보여 줍니다. 없어도 상품은 판매자 등록정보로 나올 수 있습니다.
Merchant Center에 배송을 설정했는데 왜 경고가 남나요?
판매자 등록정보 보고서는 페이지의 마크업을 확인합니다. Google 문서는 Merchant Center나 Search Console 정책이 경고를 없앤다고 말하지 않습니다. 그래도 Google은 그 설정을 등록정보에 쓰고, 페이지 마크업보다 우선합니다.
모든 상품에 shippingDetails가 필요한가요?
아닙니다. 스토어 전체 정책 하나라면 Google은 Organization 마크업이나 Search Console 설정을 권합니다. 배송이 다른 상품이나 경고를 없애고 싶은 곳에만 shippingDetails를 넣으세요.
출처
2026년 10월 8일에 확인했습니다. Google은 Search Console과 도움말을 가끔 바꿉니다. 화면이 다르게 보이면 출처를 확인하세요.
- Google 검색 센터: 구조화된 판매자 등록정보(Product, Offer) 데이터
- Google 검색 센터: 구조화된 판매자 배송 정책 데이터(ShippingService)
- Search Console 도움말: 배송 및 반품 설정
- Search Console 도움말: 리치 결과 보고서 개요
- Shopify Liquid 문서: structured_data 필터(영어)
- Shopify Dawn 테마 소스: main-product 섹션(영어)
- Rank Math: How to add merchant return and shipping policy in WooCommerce(영어)
- Wix 도움말: Customizing your SEO settings(영어)
- Squarespace 도움말: How does Squarespace optimize my site for search results?(영어)
Google에 없는 내 사이트 페이지를 확인하세요
Google 계정으로 로그인하세요. CrawlCoach가 최대 500개 페이지를 무료로 확인하고, 문제마다 해결 방법을 알려 드립니다.
무료 보고서 받기최대 500개 페이지까지 무료입니다. 신용카드는 필요 없습니다. Search Console에서 쓰는 Google 계정으로 로그인하세요.
CrawlCoach 앱과 보고서는 영어로 제공됩니다.
관련 구조화된 데이터 가이드
- ‘hasMerchantReturnPolicy’ 입력란이 누락되었습니다.(경로: 'offers')Google이 반품 정책을 원하는데 상품 마크업에 없습니다. 심각하지 않은 문제이며, 넣으면 반품 기간과 비용이 보입니다.
- ‘price’ 입력란이 누락되었습니다.(경로: 'offers')name, image, offers의 price가 없으면 심각한 문제입니다. description, 배송, 반품, GTIN 누락은 미뤄도 됩니다.
- 전역 식별자(예: gtin, mpn, isbn)를 제공하지 않음Google은 어디서 팔리든 같은 상품 ID를 원합니다. 심각하지 않은 문제이니 GTIN이 있으면 넣고, 없으면 경고를 두세요.