Khi người dùng tìm kiếm các doanh nghiệp trên Google Tìm kiếm hoặc Maps, kết quả Tìm kiếm có thể hiển thị thẻ Sơ đồ tri thức nổi bật, trong đó có chứa các chi tiết về một doanh nghiệp phù hợp với truy vấn. Khi người dùng tìm kiếm loại doanh nghiệp (ví dụ: "nhà hàng tốt nhất NYC"), họ có thể thấy một băng chuyền về các doanh nghiệp liên quan đến nội dung tìm kiếm. Thông qua dữ liệu có cấu trúc Doanh nghiệp địa phương, bạn có thể cho Google biết về giờ làm việc, các bộ phận khác nhau trong một doanh nghiệp, bài đánh giá cho doanh nghiệp của bạn và các thông tin khác. Nếu muốn giúp người dùng đặt chỗ hoặc đặt hàng trực tiếp trong kết quả Tìm kiếm, thì bạn có thể sử dụng API đặt chỗ trên Maps để cho phép đặt chỗ, thanh toán và thực hiện các thao tác khác.
Cách thêm dữ liệu có cấu trúc
Dữ liệu có cấu trúc là một định dạng chuẩn để cung cấp thông tin về một trang và phân loại nội dung trang. Nếu mới sử dụng dữ liệu có cấu trúc, bạn có thể tìm hiểu thêm về cách hoạt động của dữ liệu có cấu trúc.
Dưới đây là thông tin tổng quan về cách xây dựng, kiểm tra và phát hành dữ liệu có cấu trúc. Để biết hướng dẫn từng bước về cách thêm dữ liệu có cấu trúc vào một trang web, hãy xem lớp học mã về dữ liệu có cấu trúc.
- Thêm thuộc tính bắt buộc. Để biết thông tin về nơi để đặt dữ liệu có cấu trúc trên trang, hãy xem Dữ liệu có cấu trúc JSON-LD: Vị trí chèn dữ liệu vào trang.
- Làm theo các nguyên tắc.
- Xác thực mã của bạn bằng công cụ Kiểm tra kết quả nhiều định dạng.
- Triển khai một vài trang có chứa dữ liệu có cấu trúc và dùng Công cụ kiểm tra URL để kiểm tra xem Google nhìn thấy trang đó như thế nào. Hãy đảm bảo rằng Google có thể truy cập trang của bạn và bạn không chặn trang bằng tệp robots.txt, thẻ
noindex
hoặc yêu cầu đăng nhập. Nếu trang có vẻ không gặp vấn đề nào, bạn có thể yêu cầu Google thu thập lại dữ liệu đối với các URL này. - Để thông báo cho Google về các thay đổi sau này, bạn nên gửi sơ đồ trang web. Bạn có thể tự động hóa quy trình này bằng cách sử dụng API sơ đồ trang web của Search Console.
Ví dụ
Danh sách doanh nghiệp địa phương đơn giản
Sau đây là ví dụ về trang thông tin đơn giản của một doanh nghiệp địa phương đơn giản bằng JSON-LD.
<html> <head> <title>Dave's Steak House</title> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Restaurant", "image": [ "https://example.com/photos/1x1/photo.jpg", "https://example.com/photos/4x3/photo.jpg", "https://example.com/photos/16x9/photo.jpg" ], "@id": "http://davessteakhouse.example.com", "name": "Dave's Steak House", "address": { "@type": "PostalAddress", "streetAddress": "148 W 51st St", "addressLocality": "New York", "addressRegion": "NY", "postalCode": "10019", "addressCountry": "US" }, "review": { "@type": "Review", "reviewRating": { "@type": "Rating", "ratingValue": "4", "bestRating": "5" }, "author": { "@type": "Person", "name": "Lillian Ruiz" } }, "geo": { "@type": "GeoCoordinates", "latitude": 40.761293, "longitude": -73.982294 }, "url": "http://www.example.com/restaurant-locations/manhattan", "telephone": "+12122459600", "servesCuisine": "American", "priceRange": "$$$", "openingHoursSpecification": [ { "@type": "OpeningHoursSpecification", "dayOfWeek": [ "Monday", "Tuesday" ], "opens": "11:30", "closes": "22:00" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": [ "Wednesday", "Thursday", "Friday" ], "opens": "11:30", "closes": "23:00" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": "Saturday", "opens": "16:00", "closes": "23:00" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": "Sunday", "opens": "16:00", "closes": "22:00" } ], "menu": "http://www.example.com/menu", "acceptsReservations": "True" } </script> </head> <body> </body> </html>
Băng chuyền nhà hàng (quyền sử dụng hạn chế)
Đây là một ví dụ về một băng chuyền nhà hàng. Hiện chỉ một nhóm nhỏ giới hạn ở một số nhà cung cấp nhà hàng mới có thể sử dụng Băng chuyền nhà hàng. Nếu bạn muốn sử dụng tính năng này, hãy đăng ký tham gia trong biểu mẫu của chúng tôi.
<html> <head> <title>Trattoria Luigi</title> <script type="application/ld+json"> { "@context": "https://schema.org/", "@type": "Restaurant", "name": "Trattoria Luigi", "image": [ "https://example.com/photos/1x1/photo.jpg", "https://example.com/photos/4x3/photo.jpg", "https://example.com/photos/16x9/photo.jpg" ], "priceRange": "$$$", "servesCuisine": "Italian", "address": { "@type": "PostalAddress", "streetAddress": "148 W 51st St", "addressLocality": "New York", "addressRegion": "NY", "postalCode": "10019", "addressCountry": "US" } } </script> </head> <body> </body> </html>
Giờ làm việc
Các ví dụ sau đây minh họa cách đánh dấu các loại giờ làm việc khác nhau.
Nếu không có thuộc tính validFrom
và validThrough
, điều đó có nghĩa là giờ mở cửa này áp dụng quanh năm.Ví dụ này là về một doanh nghiệp mở cửa các ngày trong tuần từ 9 giờ sáng đến 9 giờ tối, và từ 10 giờ sáng đến 11 giờ tối vào cuối tuần.
"openingHoursSpecification": [ { "@type": "OpeningHoursSpecification", "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" ], "opens": "09:00", "closes": "21:00" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": [ "Saturday", "Sunday" ], "opens": "10:00", "closes": "23:00" } ]
Nếu mở cửa qua nửa đêm, hãy xác định giờ mở và đóng cửa bằng một thuộc tính OpeningHoursSpecification
. Ví dụ này xác định giờ mở cửa từ 6 giờ tối ngày thứ Bảy đến 3 giờ sáng ngày Chủ Nhật.
"openingHoursSpecification": { "@type": "OpeningHoursSpecification", "dayOfWeek": "Saturday", "opens": "18:00", "closes": "03:00" }
Để cho biết một doanh nghiệp mở cửa 24 giờ một ngày, hãy đặt thuộc tính open
thành "00:00" và thuộc tính closes
thành "23:59".Để cho biết một doanh nghiệp đóng cửa cả ngày, hãy đặt cả hai thuộc tính opens
và closes
thành "00:00". Ví dụ sau là về một doanh nghiệp mở cửa cả ngày thứ Bảy và đóng cửa cả ngày Chủ Nhật.
"openingHoursSpecification": [ { "@type": "OpeningHoursSpecification", "dayOfWeek": "Saturday", "opens": "00:00", "closes": "23:59" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": "Sunday", "opens": "00:00", "closes": "00:00" } ]
Sử dụng cả hai thuộc tính validFrom
và validThrough
để xác định giờ mở cửa theo mùa. Ví dụ sau là về một doanh nghiệp đóng cửa trong kỳ nghỉ mùa đông.
"openingHoursSpecification": { "@type": "OpeningHoursSpecification", "opens": "00:00", "closes": "00:00", "validFrom": "2015-12-23", "validThrough": "2016-01-05" }
Nhiều bộ phận
Đối với một doanh nghiệp có nhiều bộ phận, mỗi bộ phận có các thuộc tính riêng như giờ mở cửa hoặc số điện thoại, bạn có thể đánh dấu thuộc tính department
bằng một phần tử cho mỗi bộ phận. Hãy xác định từng thuộc tính khác với cửa hàng chính trong mỗi phần tử tương ứng cho bộ phận đó.
<html> <head> <title>Dave's Department Store</title> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Store", "image": [ "https://example.com/photos/1x1/photo.jpg", "https://example.com/photos/4x3/photo.jpg", "https://example.com/photos/16x9/photo.jpg" ], "@id": "http://davesdeptstore.example.com", "name": "Dave's Department Store", "address": { "@type": "PostalAddress", "streetAddress": "1600 Saratoga Ave", "addressLocality": "San Jose", "addressRegion": "CA", "postalCode": "95129", "addressCountry": "US" }, "geo": { "@type": "GeoCoordinates", "latitude": 37.293058, "longitude": -121.988331 }, "url": "http://www.example.com/store-locator/sl/San-Jose-Westgate-Store/1427", "priceRange": "$$$", "telephone": "+14088717984", "openingHoursSpecification": [ { "@type": "OpeningHoursSpecification", "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], "opens": "08:00", "closes": "23:59" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": "Sunday", "opens": "08:00", "closes": "23:00" } ], "department": [ { "@type": "Pharmacy", "image": [ "https://example.com/photos/1x1/photo.jpg", "https://example.com/photos/4x3/photo.jpg", "https://example.com/photos/16x9/photo.jpg" ], "name": "Dave's Pharmacy", "telephone": "+14088719385", "openingHoursSpecification": [ { "@type": "OpeningHoursSpecification", "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" ], "opens": "09:00", "closes": "19:00" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": "Saturday", "opens": "09:00", "closes": "17:00" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": "Sunday", "opens": "11:00", "closes": "17:00" } ] } ] } </script> </head> <body> </body> </html>
Nguyên tắc
Bạn phải tuân theo các nguyên tắc này để đủ điều kiện xuất hiện trong kết quả nhiều định dạng Doanh nghiệp địa phương.
- Nguyên tắc quản trị trang web
- Nguyên tắc chung về dữ liệu có cấu trúc
- Nguyên tắc về băng chuyền (nếu có). Hiện chỉ một nhóm nhỏ giới hạn ở một số nhà cung cấp nhà hàng mới có thể sử dụng Băng chuyền nhà hàng. Nếu bạn muốn sử dụng tính năng này, hãy đăng ký tham gia trong biểu mẫu của chúng tôi.
Định nghĩa các loại dữ liệu có cấu trúc
Các bảng sau liệt kê các thuộc tính và cách sử dụng các loại hành động với doanh nghiệp và doanh nghiệp địa phương, dựa trên định nghĩa đầy đủ tại shema.org/LocalBusiness.
Bạn phải bao gồm các thuộc tính bắt buộc để nội dung của mình đủ điều kiện hiển thị dưới dạng kết quả nhiều định dạng. Bạn cũng có thể bao gồm các thuộc tính mà chúng tôi khuyên dùng để thêm thông tin về nội dung nhằm mang lại trải nghiệm tốt hơn cho người dùng.
LocalBusiness
Bạn có thể xem định nghĩa đầy đủ về LocalBusiness
tại
schema.org/LocalBusiness. Hãy xác định mỗi địa điểm doanh nghiệp địa phương là một loại LocalBusiness
. Sử dụng loại phụ LocalBusiness
cụ thể nhất có thể; ví dụ: Restaurant
, DaySpa
, HealthClub
, v.v.
Thuộc tính bắt buộc | |
---|---|
@id |
Mã nhận dạng duy nhất trên toàn cầu của địa điểm doanh nghiệp cụ thể dưới dạng URL. Mã này phải là giá trị cố định và không thay đổi theo thời gian. Google Tìm kiếm coi URL là một chuỗi mờ và URL này không cần phải là một đường liên kết hoạt động. Nếu doanh nghiệp có nhiều địa điểm, hãy đảm bảo @id cho mỗi địa điểm là khác nhau. |
address |
Vị trí thực của doanh nghiệp. Hãy cung cấp nhiều thuộc tính nhất có thể. Bạn cung cấp càng nhiều thuộc tính thì kết quả càng có chất lượng cao cho người dùng. Ví dụ: "address": { "@type": "PostalAddress", "streetAddress": "148 W 51st St Suit 42 Unit 7", "addressLocality": "New York", "addressRegion": "NY", "postalCode": "10019", "addressCountry": "US" } |
name |
Tên của doanh nghiệp. |
Thuộc tính nên có | |
---|---|
aggregateRating |
Điểm xếp hạng trung bình của doanh nghiệp địa phương dựa trên nhiều lượt xếp hạng hoặc đánh giá. Tuân theo các nguyên tắc về trích đoạn nội dung đánh giá và danh sách các thuộc tính bắt buộc và nên có của điểm xếp hạng tổng hợp. |
department |
Một mục lồng ghép cho một bộ phận riêng. Bạn có thể xác định bất kỳ thuộc tính nào trong bảng này cho một bộ phận. Nguyên tắc bổ sung:
|
geo |
Tọa độ địa lý của doanh nghiệp. |
geo.latitude |
Vĩ độ của vị trí doanh nghiệp. Giá trị này phải có ít nhất 5 chữ số thập phân. |
geo.longitude |
Kinh độ của vị trí doanh nghiệp. Giá trị này phải có ít nhất 5 chữ số thập phân. |
menu |
Đối với các doanh nghiệp thực phẩm, giá trị này là URL đủ điều kiện của thực đơn. |
openingHoursSpecification |
Mảng hoặc một đối tượng Giờ mở cửa của địa điểm doanh nghiệp. |
openingHoursSpecification.closes |
Thời gian mà địa điểm doanh nghiệp đóng cửa, ở định dạng hh:mm ss. |
openingHoursSpecification.dayOfWeek |
Một hoặc nhiều giá trị sau đây:
|
openingHoursSpecification.opens |
Thời gian mà địa điểm doanh nghiệp mở cửa, ở định dạng hh:mm ss. |
openingHoursSpecification.validFrom |
Ngày bắt đầu mở cửa của một doanh nghiệp theo mùa, ở định dạng YYYY-MM-DD. |
openingHoursSpecification.validThrough |
Ngày bắt đầu đóng cửa của một doanh nghiệp theo mùa, ở định dạng YYYY-MM-DD. |
priceRange |
Mức giá tương đối của một doanh nghiệp, thường được chỉ định bằng một phạm vi dạng số (ví dụ: "$10-15") hoặc ký hiệu đơn vị tiền tệ theo tiêu chuẩn (ví dụ: "$$$") |
review |
Bài đánh giá về doanh nghiệp địa phương. Hãy tuân theo các nguyên tắc về đoạn trích đánh giá và danh sách các thuộc tính đánh giá bắt buộc và nên có. |
servesCuisine |
Các loại món ăn nhà hàng phục vụ. |
telephone |
Số điện thoại doanh nghiệp là phương thức liên lạc chính cho khách hàng. Hãy đảm bảo bao gồm mã quốc gia và mã vùng trong số điện thoại. |
url |
URL đủ điều kiện của địa điểm doanh nghiệp cụ thể. Không giống như thuộc tính @id, thuộc tính URL này phải là một đường dẫn liên kết đang hoạt động. |
Băng chuyền nhà hàng (quyền sử dụng hạn chế)
Nếu bạn có nhiều nhà hàng trên trang web của mình và bạn muốn các nhà hàng này đủ điều kiện cho băng chuyền theo loại nội dung, hãy thêm đối tượng Băng chuyền. Ngoài các thuộc tính Băng chuyền tiêu chuẩn, hãy xác định các thuộc tính sau trong đối tượng Băng chuyền của bạn. Mặc dù các thuộc tính băng chuyền là không bắt buộc, nhưng bạn phải thêm các thuộc tính sau nếu bạn muốn danh sách nhà hàng của mình đủ điều kiện cho băng chuyền chính.
Thuộc tính bắt buộc | |
---|---|
image |
Một hoặc nhiều hình ảnh của nhà hàng. Nguyên tắc bổ sung về hình ảnh:
Ví dụ: "image": [ "https://example.com/photos/1x1/photo.jpg", "https://example.com/photos/4x3/photo.jpg", "https://example.com/photos/16x9/photo.jpg" ] |
name |
Tên nhà hàng |
Thuộc tính nên có | |
---|---|
address |
Vị trí thực của doanh nghiệp. Hãy cung cấp nhiều thuộc tính nhất có thể. Bạn cung cấp càng nhiều thuộc tính thì kết quả càng có chất lượng cao cho người dùng. Ví dụ: "address": { "@type": "PostalAddress", "streetAddress": "148 W 51st St", "addressLocality": "New York", "addressRegion": "NY", "postalCode": "10019", "addressCountry": "US" } |
servesCuisine |
Các loại món ăn nhà hàng phục vụ. |
Khắc phục sự cố
Nếu bạn gặp khó khăn khi triển khai dữ liệu có cấu trúc, thì sau đây là một số tài nguyên có thể giúp bạn.
- Có thể có lỗi trong dữ liệu có cấu trúc của bạn. Hãy xem danh sách các lỗi với dữ liệu có cấu trúc.
- Khắc phục sự cố thiếu kết quả nhiều định dạng/giảm tổng số kết quả nhiều định dạng.
- Đối với các câu hỏi chung về việc thu thập dữ liệu và lập chỉ mục, hãy tham khảo nội dung Câu hỏi thường gặp của quản trị viên trang web.
- Đặt câu hỏi trong Giờ hỗ trợ cho quản trị viên trang web.
- Đăng câu hỏi trong Diễn đàn quản trị trang web.