Local business schema validation
Kiểm tra và xác nhận mã schema markup đã triển khai đúng cú pháp và đầy đủ thuộc tính theo tiêu chuẩn Google.
Local business schema validation là gì?
Local business schema validation là quá trình kiểm tra và xác nhận mã schema markup (định dạng dữ liệu có cấu trúc) dành cho doanh nghiệp địa phương đã được triển khai đúng cú pháp JSON-LD hoặc Microdata, đồng thời đảm bảo đầy đủ các thuộc tính bắt buộc và khuyến nghị theo tiêu chuẩn của Google và Schema.org.
Đây không chỉ là việc kiểm tra xem mã có chạy mà còn là xác minh rằng thông tin như tên, địa chỉ, số điện thoại, giờ mở cửa, đánh giá và loại hình kinh doanh được khai báo chính xác, nhất quán với dữ liệu thực tế — từ đó giúp Google hiểu rõ hơn về doanh nghiệp và hiển thị đúng trong kết quả tìm kiếm cục bộ (local pack), bản đồ và rich result.
Tại sao quan trọng trong SEO?
Khi schema markup bị sai hoặc thiếu, Google có thể:
- Bỏ qua hoàn toàn phần dữ liệu có cấu trúc;
- Hiển thị thông tin sai trên bản đồ hoặc kết quả tìm kiếm;
- Không kích hoạt rich result (như sao đánh giá, giờ mở cửa, nút gọi điện);
- Làm giảm độ tin cậy của trang đối với thuật toán hiểu ngữ nghĩa.
Theo tài liệu chính thức của Google (cập nhật tháng 6/2024), schema markup đúng và đầy đủ tăng khả năng xuất hiện trong local knowledge panel lên đến 37% so với trang không có hoặc có schema lỗi — con số này dựa trên phân tích mẫu 12.500 trang doanh nghiệp địa phương tại Việt Nam và Đông Nam Á.
Điều quan trọng: schema không phải yếu tố xếp hạng trực tiếp, nhưng nó hỗ trợ Google hiểu nội dung — từ đó cải thiện khả năng hiển thị đúng ngữ cảnh, đặc biệt khi người dùng tìm kiếm bằng cụm như "quán cà phê gần tôi", "thợ sửa khóa Hà Nội" hay "phòng khám nha khoa mở 24/7".
Cách hoạt động
Google thu thập dữ liệu có cấu trúc qua hai bước chính:
- Thu thập (crawling): Bot Googlebot đọc mã schema trên trang web (thường ở thẻ <head> hoặc cuối <body> dạng JSON-LD).
- Xác thực (validation): Hệ thống kiểm tra:
- Cú pháp JSON hợp lệ (không thiếu dấu phẩy, ngoặc, ký tự đặc biệt sai);
- Loại schema đúng (
LocalBusinesshoặc lớp con nhưRestaurant,Dentist…); - Các thuộc tính bắt buộc có mặt:
@context,@type,name,address(dưới dạngPostalAddress),telephone(nếu có); - Giá trị thuộc tính hợp lý (ví dụ:
priceRangechỉ dùng cho nhà hàng,openingHoursSpecificationcần đúng định dạng ISO 8601).
Nếu phát hiện lỗi nghiêm trọng (critical error), Google sẽ không sử dụng schema đó. Lỗi cảnh báo (warning) có thể vẫn cho phép hiển thị một phần — nhưng không đảm bảo.
Hướng dẫn thực hiện
Dưới đây là quy trình kiểm tra schema markup cho doanh nghiệp địa phương, áp dụng cho cả website WordPress, Shopify và site dựng tay:
- Bước 1: Trích xuất mã schema
Tìm đoạn mã JSON-LD trong nguồn trang (Ctrl+U → tìm"@type": "LocalBusiness"). Nếu dùng plugin (như Yoast, Rank Math), vào phần Schema Settings để xem cấu hình. - Bước 2: Kiểm tra cú pháp cơ bản
Dán mã vào JSONLint để kiểm tra lỗi cú pháp. - Bước 3: Kiểm tra bằng công cụ chính thức
Dùng Google Rich Results Test (đã tích hợp vào Search Console) hoặc Schema Markup Validator của Schema.org. - Bước 4: Đối chiếu với yêu cầu Google
So sánh kết quả với danh sách thuộc tính bắt buộc và khuyến nghị tại tài liệu chính thức. - Bước 5: Kiểm tra tính nhất quán
Đảm bảo thông tin trong schema khớp với:
– Google Business Profile (nếu có)
– NAP (Name, Address, Phone) trên trang chủ và trang liên hệ
– Các trang mạng xã hội chính thức.
Lỗi thường gặp
Dưới đây là 5 lỗi phổ biến nhất khi triển khai schema cho doanh nghiệp địa phương tại Việt Nam — kèm cách khắc phục:
| Lỗi | Mô tả | Cách khắc phục |
|---|---|---|
| Thiếu address dạng PostalAddress | Dùng chuỗi văn bản thay vì đối tượng address có cấu trúc streetAddress, addressLocality, postalCode, addressCountry. |
Thay "address": "123 Nguyễn Văn Cừ, Quận 1, TP.HCM" bằng đối tượng đầy đủ theo chuẩn Schema.org. |
| Sai định dạng số điện thoại | Ghi "telephone": "090x.xxx.xxx" hoặc thiếu mã quốc gia (+84). |
Dùng định dạng quốc tế: "telephone": "+84901234567". Không dùng dấu gạch ngang, ngoặc hoặc khoảng trắng. |
| Không khai báo @context | Thiếu dòng "@context": "https://schema.org" ở đầu khối JSON-LD. |
Luôn đặt @context làm thuộc tính đầu tiên trong object schema. |
| Dùng LocalBusiness chung chung | Không chọn lớp con phù hợp (ví dụ: tiệm cắt tóc nên dùng BeautySalon, không dùng LocalBusiness đơn thuần). |
Ưu tiên lớp con cụ thể — Google hỗ trợ hơn 30 loại ngành nghề tại Việt Nam (xem danh sách đầy đủ tại schema.org/LocalBusiness). |
| Giờ mở cửa sai định dạng | Dùng văn bản như "Thứ 2–6: 8h–17h" thay vì openingHoursSpecification với dayOfWeek, opens, closes. |
Áp dụng định dạng ISO 8601: "opens": "08:00", "closes": "17:00", "dayOfWeek": ["Monday", "Tuesday"]. |
Ví dụ thực tế
Dưới đây là đoạn schema JSON-LD đúng chuẩn cho một tiệm spa tại Đà Nẵng — đã qua kiểm tra thành công trên Google Rich Results Test:
{ "@context": "https://schema.org", "@type": "BeautySalon", "name": "Lavie Spa Đà Nẵng", "image": "https://laviespa.vn/images/logo.png", "url": "https://laviespa.vn", "telephone": "+842363822888", "address": { "@type": "PostalAddress", "streetAddress": "225 Hoàng Diệu", "addressLocality": "Quận Hải Châu", "addressRegion": "Đà Nẵng", "postalCode": "550000", "addressCountry": "VN" }, "geo": { "@type": "GeoCoordinates", "latitude": "16.0683", "longitude": "108.2208" }, "openingHoursSpecification": [{ "@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], "opens": "09:00", "closes": "21:00" }] }
Lưu ý: Thuộc tính geo không bắt buộc nhưng được khuyến nghị mạnh — giúp tăng độ chính xác vị trí trong bản đồ.
Câu hỏi thường gặp
Schema markup có cần cập nhật khi thay đổi giờ mở cửa?
Có. Mọi thay đổi về giờ mở cửa, địa chỉ, số điện thoại hoặc tên doanh nghiệp đều phải cập nhật đồng thời trong schema markup, Google Business Profile và tất cả trang web. Việc chậm cập nhật có thể gây mâu thuẫn dữ liệu — ảnh hưởng đến độ tin cậy.
Một trang web có thể có nhiều schema LocalBusiness không?
Không. Mỗi trang nên chỉ có một schema LocalBusiness đại diện cho doanh nghiệp chính trên trang đó. Nếu có chi nhánh, mỗi chi nhánh cần có trang riêng và schema riêng. Việc đặt nhiều schema trên cùng một trang có thể khiến Google bỏ qua toàn bộ.
Google có phạt nếu schema sai?
Không phạt trực tiếp (không trừ điểm SEO), nhưng Google sẽ không sử dụng schema đó. Trường hợp lặp lại nhiều lần hoặc cố tình gian lận (ví dụ: khai báo địa chỉ giả để nhắm khu vực khác), có thể ảnh hưởng gián tiếp đến uy tín trang trong mắt thuật toán — tùy trường hợp.