Doanh nghiệp địa phương

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 trên trang. Nếu mới làm quen với dữ liệu có cấu trúc, bạn có thể tìm hiểu thêm về cách thức hoạt động của dữ liệu có cấu trúc.

Sau đâ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. Để xem 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 tham khảo lớp học lập trình về dữ liệu có cấu trúc.

  1. Thêm các thuộc tính bắt buộc. Tùy theo định dạng bạn đang sử dụng, hãy tìm hiểu nơi chèn dữ liệu có cấu trúc trên trang.
  2. Tuân theo các nguyên tắc.
  3. 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.
  4. 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.
  5. Để thông báo cho Google về các thay đổi sau này, bạn nên gửi một 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"
       ],
      "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>

Đâ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.

Giờ mở cửa thông thường

Nếu không có thuộc tính validFromvalidThrough, đ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"
  }
]
Giờ khuya

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"
}
Cả ngày

Để 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 openscloses 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"
  }
]
Giờ theo mùa

Sử dụng cả hai thuộc tính validFromvalidThrough để 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"
       ],
      "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.

Đị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

URL

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

PostalAddress

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

Text

Tên của doanh nghiệp.

Thuộc tính nên có
aggregateRating

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

LocalBusiness

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:

  • Bao gồm tên cửa hàng với tên bộ phận ở định dạng sau: {store name} {department name}. Ví dụ: gMartgMart Pharmacy.
  • Nếu tên bộ phận có thương hiệu rõ ràng, hãy ghi rõ tên bộ phận. Ví dụ: Best BuyGeek Squad.
geo

GeoCoordinates

Tọa độ địa lý của doanh nghiệp.

geo.latitude

Number

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

Number

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

URL

Đố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 OpeningHoursSpecification đơn lẻ (cả hai đều được hỗ trợ)

Giờ mở cửa của địa điểm doanh nghiệp.

openingHoursSpecification.closes

Time

Thời gian mà địa điểm doanh nghiệp đóng cửa, ở định dạng hh:mm ss.

openingHoursSpecification.dayOfWeek

Text

Một hoặc nhiều giá trị sau đây:

  • Monday (Thứ Hai)
  • Thứ Ba
  • Thứ Tư
  • Thứ Năm
  • Friday (Thứ Sáu)
  • Saturday (Thứ Bảy)
  • Chủ Nhật
openingHoursSpecification.opens

Time

Thời gian mà địa điểm doanh nghiệp mở cửa, ở định dạng hh:mm ss.

openingHoursSpecification.validFrom

Date

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

Date

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

Text

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á

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

servesCuisine

Các loại món ăn nhà hàng phục vụ.

telephone

Text

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

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.

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

URL hoặc ImageObject trùng lặp

Một hoặc nhiều hình ảnh của nhà hàng.

Nguyên tắc bổ sung về hình ảnh:

  • Mỗi trang phải chứa ít nhất một hình ảnh (cho dù bạn có đánh dấu hình ảnh đó hay không). Google sẽ chọn hình ảnh tốt nhất để hiển thị trong kết quả tìm kiếm trên Google dựa trên tỷ lệ khung hình và độ phân giải.
  • URL của hình ảnh phải cho phép Google thu thập dữ liệu và lập chỉ mục. Để kiểm tra xem Google truy cập được URL của bạn hay không, hãy dùng Công cụ kiểm tra URL.
  • Hình ảnh phải mang tính đại diện cho nội dung được đánh dấu.
  • Tệp hình ảnh phải thuộc một định dạng mà Google Hình ảnh hỗ trợ.
  • Để có kết quả tốt nhất, hãy cung cấp nhiều hình ảnh có độ phân giải cao (tối thiểu 50.000 pixel khi nhân chiều rộng và chiều cao) với các tỷ lệ khung hình sau: 16x9, 4x3 và 1x1.

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

Text

Tên nhà hàng

Thuộc tính nên có
address

PostalAddress

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

servesCuisine

Các loại món ăn nhà hàng phục vụ.

Khắc phục sự cố

Nếu gặp sự cố khi triển khai hoặc gỡ lỗi dữ liệu có cấu trúc, thì bạn có thể tham khảo một số tài nguyên trợ giúp sau đây.