Local SEO

Local schema markup

Đoạn mã JSON-LD được chèn vào HTML trang web để giúp công cụ tìm kiếm hiểu rõ thông tin địa phương như địa chỉ, giờ mở cửa, đánh giá.

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

Local schema markup là gì?

Local schema markup là đoạn mã JSON-LD được chèn vào phần <head> hoặc cuối <body> của trang web, nhằm cung cấp thông tin địa phương có cấu trúc cho công cụ tìm kiếm — như tên doanh nghiệp, địa chỉ, số điện thoại, giờ mở cửa, đánh giá, và ảnh đại diện. Đây là một dạng structured data tuân theo chuẩn schema.org, giúp Google và các công cụ tìm kiếm hiểu rõ hơn về doanh nghiệp thực tế tại một vị trí cụ thể.

Tại sao quan trọng trong SEO?

Local schema markup không trực tiếp nâng thứ hạng từ khóa, nhưng nó hỗ trợ mạnh mẽ cho Local SEO bằng cách:

  • Tăng khả năng xuất hiện trong Kết quả tìm kiếm địa phương (như Google Local Pack, Knowledge Panel, hoặc bản đồ tích hợp);
  • Cải thiện độ chính xác khi hiển thị thông tin trên thiết bị di động và trợ lý giọng nói (Google Assistant, Siri);
  • Hỗ trợ lập chỉ mục nhanh hơn cho doanh nghiệp mới hoặc vừa cập nhật thông tin;
  • Tăng tỷ lệ nhấp (CTR) nhờ hiển thị thêm dữ liệu phong phú (rich snippets) như sao đánh giá, khoảng cách, trạng thái hoạt động (đang mở/đóng).

Theo báo cáo của Moz và BrightLocal (2023), 78% doanh nghiệp có schema địa phương đầy đủ xuất hiện trong top 3 kết quả bản đồ — cao hơn 2,3 lần so với nhóm không dùng.

Cách hoạt động

Google đọc mã JSON-LD khi thu thập trang (crawling). Khi phát hiện schema loại LocalBusiness hoặc các loại con như Restaurant, Dentist, Store, hệ thống sẽ trích xuất và xác minh thông tin — sau đó liên kết với hồ sơ Google Business Profile (trước đây là Google My Business) nếu có. Việc khớp dữ liệu giữa schema và hồ sơ GMB giúp tăng độ tin cậy (trust signal), từ đó cải thiện khả năng hiển thị trong tìm kiếm địa phương.

Lưu ý: Schema không thay thế việc đăng ký và xác minh hồ sơ GMB — hai yếu tố này bổ trợ lẫn nhau.

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

  1. Xác định loại doanh nghiệp phù hợp: Dùng loại schema chính xác như Restaurant, AutoRepair, RealEstateAgent… Thay vì dùng chung chung LocalBusiness nếu có loại chuyên biệt.
  2. Thu thập đầy đủ thuộc tính bắt buộc: Tối thiểu gồm @context, @type, name, address (dạng đối tượng), telephone, url. Một số thuộc tính khuyến khích: openingHoursSpecification, priceRange, sameAs (liên kết mạng xã hội), image.
  3. Tạo mã JSON-LD: Dùng công cụ kiểm tra như Rich Results Test hoặc Schema Markup Validator để sinh mã chuẩn.
  4. Chèn vào trang web: Đặt trong thẻ <script type=\"application/ld+json\"> ở phần <head> hoặc trước thẻ </body>. Không chèn nhiều lần trên cùng một trang.
  5. Kiểm tra & theo dõi: Dùng Google Search Console → báo cáo Enhancements > Rich results để xem trạng thái xử lý và cảnh báo lỗi.

Lỗi thường gặp

Lỗi Hệ quả Cách khắc phục
Địa chỉ không đúng định dạng (ví dụ: ghi toàn bộ chuỗi trong address thay vì phân tách thành streetAddress, addressLocality, postalCode) Google không trích xuất được vị trí chính xác → không hiển thị bản đồ Dùng cấu trúc PostalAddress đầy đủ; kiểm tra bằng Schema Validator
Sai loại schema (ví dụ: dùng Organization thay vì Restaurant cho nhà hàng) Mất cơ hội hiển thị rich snippet đặc thù (menu, giá, sao đánh giá) Chọn loại schema sát nhất với ngành nghề — tra cứu tại schema.org/LocalBusiness
Thông tin mâu thuẫn giữa schema và Google Business Profile Giảm độ tin cậy; có thể gây chậm hiển thị hoặc loại khỏi Local Pack Cập nhật đồng bộ: tên, địa chỉ, SĐT, giờ mở cửa — cả trên website và GMB

Ví dụ thực tế

Dưới đây là mã JSON-LD chuẩn cho một tiệm cà phê tại Quận 1, TP.HCM:

{
  "@context": "https://schema.org",
  "@type": "CafeOrCoffeeShop",
  "name": "Cà Phê Mộc",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Nguyễn Đình Chiểu",
    "addressLocality": "Quận 1",
    "addressRegion": "TP.HCM",
    "postalCode": "700000",
    "addressCountry": "VN"
  },
  "telephone": "+842839301234",
  "url": "https://cafe-moc.vn/",
  "sameAs": [
    "https://facebook.com/cafermoc",
    "https://instagram.com/cafermoc"
  ],
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"
    ],
    "opens": "07:00",
    "closes": "22:00"
  }],
  "priceRange": "$$",
  "image": "https://cafe-moc.vn/images/logo.jpg"
}

Mã này đáp ứng tất cả yêu cầu bắt buộc và khuyến khích theo hướng dẫn mới nhất của Google (cập nhật tháng 6/2024). Lưu ý: CafeOrCoffeeShop là loại con của FoodEstablishment, ưu tiên hơn LocalBusiness cho tiệm cà phê.

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

Local schema markup có cần thiết với mọi doanh nghiệp địa phương?

Có — đặc biệt với doanh nghiệp có mặt bằng thực, nhận khách trực tiếp (quán ăn, phòng khám, tiệm sửa xe…). Với doanh nghiệp kinh doanh online 100% (không có địa chỉ giao dịch công khai), schema loại Organization hoặc WebSite thường phù hợp hơn.

Một trang web có thể có nhiều local schema không?

Không — mỗi trang nên chỉ có một khối schema mô tả doanh nghiệp chính trên trang đó. Nếu website có nhiều chi nhánh, mỗi chi nhánh cần có trang riêng (ví dụ: /chi-nhanh-quan-1/, /chi-nhanh-quan-3/) và mỗi trang chứa schema riêng tương ứng.

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

Không đáng kể — mã JSON-LD rất nhẹ (thường dưới 5 KB), không chặn render và không yêu cầu gọi tài nguyên ngoài. Tuy nhiên, nếu chèn sai vị trí (ví dụ: trong <body> mà không dùng defer hoặc đặt sai thẻ script), có thể gây cảnh báo trong Lighthouse — tùy trường hợp cần kiểm tra kỹ.