SEO E-Commerce

Local Business Schema

Schema khai báo thông tin cửa hàng thực tế (địa chỉ, giờ mở cửa, số điện thoại) cho website có kênh offline.

4 lượt xem Cập nhật: 26/05/2026

Local Business Schema là gì?

Local Business Schema là đoạn mã cấu trúc (structured data) dạng JSON-LD hoặc Microdata, giúp Google và các công cụ tìm kiếm hiểu rõ thông tin thực tế về một doanh nghiệp có địa điểm vật lý — như cửa hàng bán lẻ, quán cà phê, tiệm sửa xe, phòng khám hay siêu thị. Đây không phải là thẻ HTML hiển thị cho người dùng, mà là dữ liệu ẩn được chèn vào phần <head> hoặc cuối <body> của trang web, nhằm mô tả chính xác: tên doanh nghiệp, địa chỉ, số điện thoại, giờ mở cửa, đánh giá, hình ảnh, và cả loại hình kinh doanh (ví dụ: Restaurant, HardwareStore, BeautySalon).

Google sử dụng dữ liệu này để tạo Rich Result trên kết quả tìm kiếm — như hộp thông tin bên phải (Knowledge Panel), snippet mở rộng với sao đánh giá, nút gọi điện hoặc bản đồ nhúng — từ đó tăng khả năng hiển thị và độ tin cậy với người tìm kiếm.

Tại sao quan trọng trong SEO?

Local Business Schema không trực tiếp nâng thứ hạng từ khóa, nhưng tác động mạnh đến hiệu quả SEO cục bộ (local SEO) và trải nghiệm người dùng:

  • Tăng tỷ lệ nhấp (CTR): Rich result chiếm diện tích lớn hơn trên trang kết quả, giúp trang web nổi bật hơn đối thủ không dùng schema — CTR tăng trung bình 15–30% theo báo cáo của nhiều A/B test độc lập (tùy ngành và khu vực).
  • Cải thiện độ tin cậy: Thông tin nhất quán giữa website, Google Business Profile và schema giúp Google xác minh tính xác thực của doanh nghiệp — yếu tố hỗ trợ xếp hạng trong bản đồ tìm kiếm (Map Pack).
  • Hỗ trợ tìm kiếm bằng giọng nói: Trợ lý ảo (Google Assistant, Siri) ưu tiên trả lời từ dữ liệu cấu trúc — ví dụ khi người dùng hỏi "gần nhất tiệm thuốc mở lúc mấy giờ?".
  • Giảm tỷ lệ thoát: Người dùng thấy ngay giờ mở cửa, số điện thoại, khoảng cách — họ ít phải rời trang để tìm thông tin khác.

Cách hoạt động

Local Business Schema hoạt động như một "bản dịch" cho máy tìm kiếm: thay vì đọc nội dung văn bản (có thể mơ hồ hoặc thiếu cấu trúc), Google đọc dữ liệu đã được định nghĩa rõ ràng theo chuẩn Schema.org. Ví dụ: thay vì đoán "123 Nguyễn Văn Cừ, Q.1" là địa chỉ, schema khai báo rõ @type: "PostalAddress", streetAddress: "123 Nguyễn Văn Cừ", addressLocality: "Quận 1".

Dữ liệu này được Google thu thập qua quá trình thu thập (crawling), phân tích (parsing), sau đó liên kết với cơ sở dữ liệu doanh nghiệp địa phương — đặc biệt khi trùng khớp với thông tin trên Google Business Profile.

Hướng dẫn thực hiện

  1. Xác định loại schema phù hợp: Chọn lớp con chính xác từ Schema.org — ví dụ LocalBusiness (tổng quát), Restaurant, Store, AutomotiveBusiness. Không dùng Organization thay thế — vì thiếu thuộc tính địa phương bắt buộc.
  2. Thu thập đầy đủ thông tin bắt buộc: Tối thiểu gồm name, address (dạng đối tượng PostalAddress), telephone, url. Nếu thiếu một trong các trường này, Google có thể bỏ qua schema hoặc cảnh báo trong Search Console.
  3. Chèn mã JSON-LD: Đặt trong thẻ <script type=\"application/ld+json\"> ở phần <head> hoặc cuối <body>. Không chèn nhiều lần trên cùng một trang.
  4. Kiểm tra và xác minh: Dùng Google Search Console → Công cụ kiểm tra URL → tab “Xem kết quả được cải thiện”. Đồng thời kiểm tra bằng Schema Markup Validator của Schema.org.
  5. Duy trì đồng bộ: Cập nhật schema khi thay đổi giờ mở cửa, địa chỉ hoặc số điện thoại — đảm bảo trùng khớp với Google Business Profile và danh bạ nội bộ.

Lỗi thường gặp

Lỗi Hệ quả Cách khắc phục
Sử dụng address dạng chuỗi thay vì đối tượng PostalAddress Google không trích xuất được thành phần quận/huyện, tỉnh/thành — dẫn đến không hiển thị bản đồ hoặc sai vị trí Viết đúng định dạng: {\"@type\": \"PostalAddress\", \"streetAddress\": \"...\", \"addressLocality\": \"...\", \"addressRegion\": \"...\"}
Thiếu thuộc tính priceRange hoặc openingHoursSpecification dù có thông tin trên trang Mất cơ hội hiển thị giá và giờ mở cửa trong Rich Result Thêm priceRange (ví dụ: \"$$$\") và openingHoursSpecification theo chuẩn ngày/thứ (xem ví dụ bên dưới)
Đặt schema trên trang chủ nhưng không phản ánh đúng chi nhánh cụ thể Google hiển thị sai địa chỉ nếu website có nhiều chi nhánh Mỗi chi nhánh cần trang riêng + schema riêng. Không dùng một schema chung cho toàn hệ thống

Ví dụ thực tế

Dưới đây là đoạn JSON-LD mẫu cho một tiệm bánh mì tại TP.HCM — tuân thủ đầy đủ yêu cầu kỹ thuật:

{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Bánh Mì Ông Tèo",
  "image": "https://example.com/images/banhmi.jpg",
  "url": "https://example.com/",
  "telephone": "+842838381234",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "45 Lê Thánh Tôn",
    "addressLocality": "Quận 1",
    "addressRegion": "TP. Hồ Chí Minh",
    "postalCode": "700000",
    "addressCountry": "VN"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 10.7756,
    "longitude": 106.7033
  },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"
    ],
    "opens": "06:00",
    "closes": "22:00"
  }],
  "priceRange": "$",
  "servesCuisine": "Bánh mì Việt Nam"
}

Câu hỏi thường gặp

Local Business Schema có cần thiết với website thương mại điện tử không?

Có — nếu website có ít nhất một điểm giao dịch thực tế (showroom, kho lấy hàng, văn phòng nhận đơn). Ngay cả sàn TMĐT như Shopee hay Lazada cũng áp dụng schema cho các trung tâm xử lý đơn hàng. Với doanh nghiệp vừa bán online vừa có cửa hàng, schema giúp Google phân biệt rõ kênh offline — từ đó ưu tiên hiển thị trong tìm kiếm địa phương như "mua laptop gần tôi".

Có thể dùng nhiều schema trên một trang không?

Có thể, nhưng chỉ nên dùng **một schema LocalBusiness** trên mỗi trang. Có thể bổ sung thêm schema khác như WebSite, BreadcrumbList hoặc Product nếu trang phù hợp — miễn là không mâu thuẫn về ngữ nghĩa (ví dụ: không khai báo hai địa chỉ khác nhau trong cùng một trang).

Schema có ảnh hưởng đến tốc độ tải trang không?

Không đáng kể. Đoạn JSON-LD thường dưới 5 KB, không chặn render và không yêu cầu tải tài nguyên ngoài. Nếu chèn đúng vị trí (trong <head> hoặc cuối <body>), nó không làm chậm trang — miễn là không kèm script phụ trợ không cần thiết.