ฉันสามารถใช้แท็ก <link> ในเนื้อหาของเอกสาร HTML ได้หรือไม่


20

ฉันสามารถใช้<link>แท็กในเนื้อหาของหน้า HTML ได้ไหม? ฉันพยายามค้นหาคำตอบสำหรับคำถามนี้ แต่พบข้อมูลที่ขัดแย้ง

เมื่อเพิ่ม Schema.org microdata มาร์กอัปไปยังหน้า HTML ฉันต้องการเพิ่มข้อมูลที่ยอมรับในแท็กลิงก์เช่นนี้:

<div itemscope itemtype="http://schema.org/Book">
  <span itemprop="name">The Catcher in the Rye</span>
  <link itemprop="url" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye" />
  by <span itemprop="author">J.D. Salinger</span>
</div>

ผมได้รับรหัสตัวอย่างข้างต้นจากSchema.org ตามพวกเขานี่คือวิธีที่จะไปสำหรับคนที่ต้องการเพิ่มการอ้างอิงที่เป็นที่ยอมรับใน itemprop แต่ไม่ต้องการที่จะวางไฮเปอร์ลิงก์บนเว็บไซต์ของพวกเขา

อย่างไรก็ตาม W3 ระบุไว้อย่างชัดเจนว่า<link>ควรวางแท็กไว้ในส่วนหัวเท่านั้นจึงทำให้ตัวอย่าง Schema.org ไม่ถูกต้อง

หากฉันต้องการแก้ไขมาร์กอัปฉันควรปฏิบัติตามคำแนะนำใด


คุณเชื่อมโยงไปw3schools.com (ซึ่งมีอะไรจะทำอย่างไรกับของ W3C) ไม่w3.org
UNOR

ใช่แน่นอนคุณพูดถูก ลบลิงก์ไปยัง W3schools ขอบคุณ
Edward Touw

นี่คือสิ่งที่เกิดขึ้นกับ SEO: webmasters.googleblog.com/2013/04/…
Faiz

คำตอบ:


23

Microdata ขยาย HTML5 ในวิธีการที่linkและmetaองค์ประกอบที่สามารถนำมาใช้ในbody, ถ้าพวกเขามีitempropแอตทริบิวต์

หากitempropแอตทริบิวต์นั้นปรากฏอยู่linkหรือmetaเป็นเนื้อหาการไหลและเนื้อหาที่เป็นวลี linkและmetaองค์ประกอบอาจจะใช้ถ้อยคำที่มีเนื้อหาที่คาดว่าถ้าitempropแอตทริบิวต์ที่มีอยู่

ขณะนี้ส่วนขยายนี้รวมอยู่ใน HTML 5.1 Nightly (ร่างบรรณาธิการ) (ดูlinkองค์ประกอบและmetaองค์ประกอบ ) แต่เมื่อข้อมูลจำเพาะของ Microdata กลายเป็น W3C Noteเมื่อเร็ว ๆ นี้เราจะต้องดูว่าเกิดอะไรขึ้นกับข้อมูลอ้างอิงนี้

RDFa 1.1 ขยาย HTML5 ในลักษณะที่linkและmetaองค์ประกอบสามารถนำมาใช้ในbodyหากพวกเขามีpropertỳคุณลักษณะ

หาก@propertyแอตทริบิวต์ RDFa มีอยู่ในองค์ประกอบlinkหรือmetaจะต้องดูว่าสอดคล้องหากใช้ในbodyเอกสาร โดยเฉพาะอย่างยิ่งเมื่อองค์ประกอบlinkหรือmetaมี@propertyแอตทริบิวต์RDFa และมีการใช้ในbodyเอกสาร HTML5 พวกเขาจะต้องพิจารณาเนื้อหาการไหล


ดังนั้นคุณจะไม่ได้รับอนุญาตให้ใช้องค์ประกอบใด ๆ link (เช่น, <link href="" rel="" />) ในbodyแต่จะมีเพียงองค์ประกอบที่มีitempropคุณสมบัติ (สำหรับ Microdata) propertyแอตทริบิวต์ (สำหรับ RDFa)

ดังนั้นlinkองค์ประกอบของคุณสามารถใช้ในbody:

<body>
<!-- … -->
  <link itemprop="url" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye" />
<!-- … -->
</body>

ขอบคุณ! ดังนั้นหากฉันเข้าใจอย่างถูกต้องฉันได้รับอนุญาตให้ใช้<link>แท็กในเนื้อหาตราบใดที่มีแอตทริบิวต์ itemprop อยู่ และตราบใดที่มีการรวมคุณสมบัติ itemprop ฉันสามารถรวมhrefไว้ในคำถามเดิมได้หรือไม่
Edward Touw

@EdwardTouw: ใช่; คุณต้องให้hrefแอตทริบิวต์ในทุกกรณี ดังนั้นตราบใดที่linkองค์ประกอบที่มีแอตทริบิวต์ที่คุณอาจใช้มันในitemprop bodyจากนั้นจะไม่มีข้อมูลเมตาอีกต่อไปสำหรับเอกสารทั้งหมด (เช่นเดียวกับกรณีของlinkองค์ประกอบปกติในhead) แต่เป็นองค์ประกอบ "ซ่อน" สำหรับ Microdata
Unor

11

W3Schools ไม่ได้ตั้งมาตรฐานอุตสาหกรรมในการเข้ารหัส HTML พวกเขาเป็นเพียงเว็บไซต์อ้างอิงบุคคลที่ 3 ที่ไม่เกี่ยวข้องกับของ W3Cในอยู่แล้ว W3Schools และเว็บไซต์อื่น ๆ มักจะไม่ถูกต้องเมื่อใช้การเข้ารหัสการตัดขอบเทคโนโลยีเช่นSchemaและการออกแบบที่ตอบสนองต่อ เมื่อใช้รหัสใหม่ที่เป็นธรรมร้านค้าครบวงจรของคุณควรเป็นW3Cตามกำหนดมาตรฐานการปฏิบัติตามและอาจเป็นHTML5 Doctorหากคุณต้องการความช่วยเหลือในการทำความเข้าใจ HTML5 ผ่านทางร้านค้าเหล่านั้นไม่ได้เป็นทางการ แต่เป็นที่เคารพนับถืออย่างสูง

ดูรหัสของคุณมันผ่านการตรวจสอบ W3Cโดยไม่มีปัญหากับองค์ประกอบลิงค์ที่มีอยู่ใน<body> </body>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>
<div itemscope itemtype="http://schema.org/Book">
  <span itemprop="name">The Catcher in the Rye</span><link itemprop="url" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye" />
  by <span itemprop="author">J.D. Salinger</span>
</div>
</body>
</html>

คำตอบสั้น ๆ :ใช่คุณสามารถใช้<LINK>ภายใน<body> </body>แต่ตามที่ Unor ได้กล่าวไว้ในคำตอบของเขาจะต้องรวม itemprop


โปรดทราบว่าคุณกำลังเชื่อมโยงไปยังร่าง HTML5 จาก 2009 ในHTML5 CR ปัจจุบันคำจำกัดความที่เกี่ยวข้องจะไม่รวมอยู่
UNOR

0

องค์ประกอบการเชื่อมโยงสามารถเพิ่มลงในเนื้อความของเอกสาร HTML หากมีitempropแอตทริบิวต์ นี่คือการสาธิต

และนี่คือตัวอย่างแอตทริบิวต์link itemprop


2
หากสิ่งเหล่านี้เป็นลิงค์ไปยังเว็บไซต์ของคุณโปรดเพิ่มข้อความปฏิเสธความรับผิดชอบเช่น "ฉันพูดถึงเรื่องนี้ในบล็อกของฉันที่นี่ ... "
แดน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.