Structured Data สําหรับการสมัครใช้บริการและเนื้อหาเพย์วอลล์ (CreativeWork)

หน้านี้จะอธิบายวิธีใช้ JSON-LD ของ schema.org เพื่อระบุเนื้อหาเพย์วอลล์ในเว็บไซต์โดยใช้พร็อพเพอร์ตี้ CreativeWork Structured Data นี้ช่วยให้ Google ทราบว่านี่คือเนื้อหาเพย์วอลล์ ไม่ใช่การปิดบังหน้าเว็บจริงซึ่งเป็นแนวทางปฏิบัติที่ละเมิดนโยบายสแปม ดูข้อมูลเพิ่มเติมเกี่ยวกับการสมัครรับข้อมูลและเนื้อหาเพย์วอลล์

ตัวอย่าง

ด้านล่างนี้เป็นตัวอย่างของข้อมูลที่มีโครงสร้าง NewsArticle ที่มีเนื้อหาเพย์วอลล์

<html>
  <head>
    <title>Article headline</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "NewsArticle",
      "headline": "Article headline",
      "image": "https://example.org/thumbnail1.jpg",
      "datePublished": "2025-02-05T08:00:00+08:00",
      "dateModified": "2025-02-05T09:20:00+08:00",
      "author": {
        "@type": "Person",
        "name": "John Doe"
      },
      "description": "A most wonderful article",
      "isAccessibleForFree": "False",
      "hasPart":
        {
        "@type": "WebPageElement",
        "isAccessibleForFree": "False",
        "cssSelector" : ".paywall"
        }
    }
    </script>
  </head>
  <body>
    <div class="non-paywall">
      Non-Paywalled Content
    </div>
    <div class="paywall">
      Paywalled Content
    </div>
  </body>
</html>

หลักเกณฑ์

คุณต้องทำตามหลักเกณฑ์ทั่วไปเกี่ยวกับข้อมูลที่มีโครงสร้างและหลักเกณฑ์ทางเทคนิคเพื่อให้หน้าเว็บของคุณมีสิทธิ์แสดงในผลการค้นหา นอกจากนี้เนื้อหาเพย์วอลล์จะต้องเป็นไปตามหลักเกณฑ์ต่อไปนี้ด้วย

  • รูปแบบ JSON-LD และ Microdata เป็นวิธีที่ยอมรับในการใช้ระบุข้อมูลที่มีโครงสร้างสำหรับเนื้อหาเพย์วอลล์
  • อย่าฝังส่วนต่างๆ ของเนื้อหา
  • ใช้เครื่องมือเลือก .class สำหรับพร็อพเพอร์ตี้ cssSelector เท่านั้น

เพิ่มมาร์กอัปไปยังเนื้อหาเพย์วอลล์

หากต้องมีการสมัครรับข้อมูลเพื่อเข้าถึงเนื้อหาในเว็บไซต์ หรือผู้ใช้ต้องลงทะเบียนเพื่อเข้าถึงเนื้อหาที่คุณต้องการให้จัดทำดัชนี โปรดทำตามขั้นตอนเหล่านี้ ตัวอย่างต่อไปนี้ใช้กับข้อมูลที่มีโครงสร้าง NewsArticle ตรวจสอบว่าคุณได้ทำตามขั้นตอนเหล่านี้กับหน้าเว็บทุกเวอร์ชัน (รวมถึง AMP และที่ไม่ใช่ AMP)

  1. เพิ่มชื่อคลาสคร่อมส่วนเนื้อหาเพย์วอลล์แต่ละส่วนของหน้า ตัวอย่างเช่น
    <body>
    <p>This content is outside a paywall and is visible to all.</p>
    <div class="paywall">This content is inside a paywall, and requires a subscription or registration.</div>
    </body>
  2. เพิ่มข้อมูลที่มีโครงสร้าง NewsArticle
  3. เพิ่มข้อมูลที่มีโครงสร้าง JSON-LD ที่ไฮไลต์ไว้ไปยังข้อมูลที่มีโครงสร้าง NewsArticle
    {
      "@context": "https://schema.org",
      "@type": "NewsArticle",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://example.org/article"
      },
      (...)
      "isAccessibleForFree": "False",
      "hasPart": {
        "@type": "WebPageElement",
        "isAccessibleForFree": "False",
        "cssSelector": ".paywall"
      }
    }

ส่วนเพย์วอลล์หลายส่วน

หากคุณมีเพย์วอลล์หลายส่วนในหน้าหนึ่งๆ ให้เพิ่มชื่อคลาสเป็นอาร์เรย์

นี่คือตัวอย่างของส่วนเพย์วอลล์ใน 1 หน้า

<body>
<div class="section1">This content is inside a paywall, and requires a subscription or registration.</div>
<p>This content is outside a paywall and is visible to all.</p>
<div class="section2">This is another section that's inside a paywall, and requires a subscription or registration.</div>
</body>

นี่คือตัวอย่างของข้อมูลที่มีโครงสร้าง NewsArticle ที่มีส่วนเพย์วอลล์หลายส่วน

{
  "@context": "https://schema.org",
  "@type": "NewsArticle",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://example.org/article"
  },
  (...)
  "isAccessibleForFree": "False",
  "hasPart": [
    {
      "@type": "WebPageElement",
      "isAccessibleForFree": "False",
      "cssSelector": ".section1"
    }, {
      "@type": "WebPageElement",
      "isAccessibleForFree": "False",
      "cssSelector": ".section2"
    }
  ]
}

ประเภทที่รองรับ

มาร์กอัปนี้ใช้ได้สำหรับประเภท CreativeWork หรือประเภท CreativeWork ที่เจาะจงมากขึ้นอย่างใดอย่างหนึ่งดังต่อไปนี้

คุณใช้ schema.org ได้หลายประเภท ดังตัวอย่างต่อไปนี้

"@type": ["Article", "LearningResource"]

ข้อควรพิจารณาเกี่ยวกับ AMP

ต่อไปนี้เป็นข้อควรพิจารณาหากคุณใช้หน้า AMP

  • หากคุณมีหน้า AMP ที่มีเนื้อหาเพย์วอลล์ ให้ใช้ amp-subscriptions ตามความเหมาะสม
  • ตรวจสอบว่าปลายทางของการให้สิทธิ์ได้อนุญาตการเข้าถึงเนื้อหาแก่บ็อตที่ถูกต้องจาก Google และโปรแกรมรวบรวมข้อมูลของเครื่องมือค้นหาอื่นๆ ซึ่งจะแตกต่างกันไปตามผู้เผยแพร่เนื้อหาแต่ละราย
  • ตรวจสอบว่านโยบายการเข้าถึงของบ็อตที่คุณใช้กับหน้า AMP และหน้าที่ไม่ใช่ AMP เหมือนกัน มิเช่นนั้นจะทำให้ข้อผิดพลาดเกี่ยวกับเนื้อหาที่ไม่ตรงกันปรากฏใน Search Console ได้

ตรวจสอบว่า Google รวบรวมข้อมูลและจัดทำดัชนีหน้าเว็บได้

หากต้องการให้ Google รวบรวมข้อมูลและจัดทำดัชนีเนื้อหา ซึ่งรวมถึงส่วนที่มีเพย์วอลล์ โปรดตรวจสอบว่า Googlebot และ Googlebot-News (หากมี) เข้าถึงหน้าเว็บได้

ใช้เครื่องมือตรวจสอบ URL เพื่อทดสอบว่า Google รวบรวมข้อมูลและแสดงผล URL ในเว็บไซต์ได้

ควบคุมข้อมูลที่จะแสดงในผลการค้นหา

หากไม่ต้องการให้ Google แสดงลิงก์ที่แคชไว้สำหรับหน้าเว็บ ให้ใช้แท็ก meta noarchive ของ robots

หากไม่ต้องการให้เนื้อหาบางส่วนแสดงรวมอยู่ในตัวอย่างผลการค้นหา ให้ใช้แอตทริบิวต์ data-nosnippet ของ HTML นอกจากนี้คุณยังจำกัดจำนวนอักขระของตัวอย่างผลการค้นหาได้โดยใช้แท็ก meta max-snippet ของ robots

การแก้ปัญหา

หากประสบปัญหาในการใช้หรือแก้ไขข้อบกพร่องของ Structured Data โปรดดูแหล่งข้อมูลต่อไปนี้ซึ่งอาจช่วยคุณได้