Cấu trúc Schema.org WebPage cho trang web đơn


7

Tôi đang xây dựng một trang web danh mục đầu tư duy nhất với WordPress cho một khách hàng được chia thành các phần mà theo truyền thống sẽ là các trang riêng biệt như - về, danh mục đầu tư, liên hệ.

Tôi có thể lồng nhiều lược đồ Web.org trong một toàn cầu WebPagenhư đánh dấu sau không:

<body>
    <main itemscope itemtype="https://schema.org/WebPage">

        <article itemscope itemtype="https://schema.org/AboutPage">
        </article>

        <article itemscope itemtype="https://schema.org/CollectionPage">
        </article>

        <article itemscope itemtype="https://schema.org/ContactPage">
        </article>

    </main>
</body>

Câu trả lời:


4

Schema hỗ trợ những đứa trẻ và cha mẹ lồng nhau khi chúng được liên kết với nhau, và trong trường hợp này AboutPage, CollectionPageContactPagetất cả đều là con của WebPage hợp lệ. Nhưng vì trang AboutPage, CollectionPage và Contact được ghép nối với CreativeWork, bạn thấy nhiều đứa trẻ không được hỗ trợ nghĩa là bạn cần sử dụng cha mẹ của chúng trong đó và để tăng số lượng mã bạn cần sử dụng.

Ví dụ: ContactPagekhông hỗ trợ con của telephonehoặc addressvà bạn sẽ cần sử dụng cha mẹ trong ContactPage, chẳng hạn như LocalBusiness. Ngoài ra, tôi muốn chỉ ra rằng đơn giản là không sử dụng thẻ HTML5 vì bạn muốn trang web của mình vượt trội. 90% thời gian bạn vẫn nên chọn sử dụng DIV qua phần, bài viết, sang một bên và vv. Vì nhiều lý do và tôi khuyên bạn nên kiểm tra HTML5 Doctor .

Dưới đây là một số mã với một vài thay đổi và với các yếu tố để giúp bạn hiểu những gì cha mẹ bạn cần sử dụng khi không có con cái được hỗ trợ.

<!doctype html>
<html>
<head>
<title>Untitled Document</title>
</head>
<body itemscope itemtype="https://schema.org/WebPage">
    <div itemscope itemtype="https://schema.org/AboutPage">About</div>
    <div itemscope itemtype="https://schema.org/CollectionPage">Collection</div>
    <div itemscope itemtype="https://schema.org/ContactPage">
        <div itemscope itemtype="http://schema.org/LocalBusiness">
            <h1><span itemprop="name">Beachwalk Beachwear & Giftware</span></h1>
            <span itemprop="description"> A superb collection of fine gifts and clothing to accent your stay in Mexico Beach.</span>
            <div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
                <span itemprop="streetAddress">3102 Highway 98</span>
                <span itemprop="addressLocality">Mexico Beach</span>,
                <span itemprop="addressRegion">FL</span>
            </div>
        Phone: <span itemprop="telephone">850-648-4200</span>
        </div>
        <span itemprop="description">This is an example description.</span>
    </div> 
</body>
</html>

Nhấp vào đây để xem mã này trên Trình kiểm tra công cụ Rich Snippets của Google , vì bạn có thể thấy Google đọc chi tiết địa chỉ một cách riêng biệt và không được liên kết trực tiếp với ContactPage. Schema vẫn còn khá nhiều trong quá trình phát triển và mọi thứ còn lâu mới kết thúc và không được thêm vào. Đừng cảm thấy như bạn phải sử dụng Schema cho mọi yếu tố trên trang của mình.


Microdata trong ví dụ của OP không được lồng nhau; ba hạng mục AboutPage, CollectionPageContactPagekhông có liên quan đến các WebPagemục, như không có tài sản dùng để liên hệ chúng. (HTML được lồng nhau, nhưng điều đó không quan trọng để phân tích Microdata.)
unor

Họ thực sự là con của sự vật và công việc sáng tạo, đi đến: lược đồ.org / Giới thiệu vềThing > CreativeWork > WebPage > AboutPageWeb page type: About page.
Simon Hayter

Ngoài ra, tôi đã đề cập đến các loại vật phẩm lồng nhau nhưng nhiều hơn vì vậy itemprop yêu cầu cha mẹ thích hợp.
Simon Hayter

1
Đây là hệ thống phân cấp của từ vựng Schema.org. Nó có nghĩa là khi bạn sử dụng AboutPage, mặt hàng này là cũng một WebPagecũng một CreativeWorkcũng một Thing. Nhưng điều này không ảnh hưởng đến loại bạn có thể lồng trên trang của bạn. Bạn chỉ lồng nhau thông qua các thuộc tính và nếu một thuộc tính nhất định được xác định, ví dụ accountablePerson, một Personcó thể là con của AboutPage.
unor

Đây không phải là một vị trí thích hợp của khai báo lược đồ. Đúng?
Ronnie Royston

1

Việc làm tổ này không có tác dụng.

Đối với Microdata, hai tài liệu này sẽ tương đương nhau:

<div itemscope itemtype="http://schema.org/WebPage">
  <div itemscope itemtype="http://schema.org/WebPage">
  </div>
</div>
<div itemscope itemtype="http://schema.org/WebPage">
</div>

<div itemscope itemtype="http://schema.org/WebPage">
</div>

Sẽ không có vấn đề gì nếu một trong những yếu tố này là con của một yếu tố khác, trừ khi bạn đang sử dụng itempropthuộc tính để liên kết các mục.


Một trang web một trang vẫn là một trang web , phải không (Giả sử rằng mỗi "trang" có URL riêng)? Vì vậy, bạn có thể đi với WebSitevà một số WebPage(và loại phụ). Để liên kết các mục này với WebSite, bạn có thể sử dụng hasParttài sản.

Ví dụ:

<body itemscope itemtype="http://schema.org/WebSite">

  <article itemprop="hasPart" itemscope itemtype="http://schema.org/WebPage"></article>

  <article itemprop="hasPart" itemscope itemtype="http://schema.org/AboutPage"></article>

</body>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.