แท็ก Anchor ภายใน <h1> หรือ <h1> ภายในแท็ก Anchor: ไหนดีกว่ากัน


52

ฉันกำลังพยายามใช้<h1>แท็กในบล็อกของฉันสำหรับชื่อโพสต์และพบปัญหาเดียว หัวเรื่องเชื่อมโยงหลายมิติ

กรณีที่ 1:

<h1> <a href=""> xyz </a> </h1>

กรณีที่ 2:

<a href=""> <h1> xyz</h1> </a> 

อันไหนดีกว่าในแง่ของ SEO?

คำตอบ:


57

หากคุณใช้ HTML5เพียงแค่เลือกหนึ่งอัน พวกมันเท่ากัน
HTML5 อนุญาตการเชื่อมโยงระดับบล็อกแต่ในกรณีของคุณไม่มีเหตุผลที่จะทำเนื่องจากมีองค์ประกอบระดับบล็อกเพียงหนึ่งรายการ โดยส่วนตัวฉันจะไม่ทำที่นี่เพราะการ<h1>ติดแท็กด้านนอกจะทำให้การสแกนในซอร์สโค้ดง่ายขึ้น

สิ่งอื่นใด (XHTML, HTML4 ฯลฯ ) และอันที่สองนั้นผิดปกติ มันจะไม่เป็นรหัสที่ถูกต้องและในบางระดับที่ไม่ดีสำหรับการเพิ่มประสิทธิภาพการค้นหาของคุณ [แทรกข้อจำกัดความรับผิดชอบมาตรฐานเกี่ยวกับความผิดใด ๆ ที่มีผลกระทบต่อสิ่งใด ฯลฯ )


ฉันมีคำถาม: <h1> สวัสดี <h1> // 5 ตัวอักษร <h1> <a> สวัสดี </a> </h1> // 5 ตัวอักษรหรือ google อ่านมันเป็น 12 ตัวอักษร?
hfarazm

11

พวกเขาเป็นเช่นเดียวกับ SEO ที่เกี่ยวข้อง (โดยปกติแล้วองค์ประกอบของระดับบล็อกจะมีองค์ประกอบแบบอินไลน์และไม่ใช่ในทางกลับกันดังนั้นคุณควรใช้ตัวอย่างแรก แต่จะไม่ส่งผลต่อ SEO)


3
องค์ประกอบแบบอินไลน์ที่จริงจะต้องไม่มีองค์ประกอบของบล็อกตามข้อกำหนด HTML
DisgruntledGoat

3
@DisgruntledGoat ไม่มาก ต้องคำนึงถึงประเภท Doctype ด้วย
Su '

@Su 'หลักคำสอนใดที่อนุญาตให้มีองค์ประกอบบล็อกในองค์ประกอบแบบอินไลน์
DisgruntledGoat

4
@DisgruntledGoat HTML5 อนุญาตให้ลิงก์ (ก่อนหน้านี้เป็นเพียงองค์ประกอบแบบอินไลน์) ล้อมรอบองค์ประกอบบล็อกเช่นส่วนหัวและแท็กย่อหน้า นี่คือสิ่งที่สำคัญ doctype หากคุณใช้ HTML5 หมายถึงใช้รูปแบบ<a><h1></h1></a>ทั้งหมด <h1><a></a></h1>มิฉะนั้นจะใช้รูปแบบดั้งเดิมของ Google จะให้ความสนใจกับทั้งสองวิธีเท่า ๆ กัน แต่เบราว์เซอร์บางตัวอาจไม่เล่นพร้อมกับรูปแบบที่ไม่ได้มาตรฐานเว้นแต่คุณจะมีประเภทเอกสารที่ถูกต้อง (HTML5)
Tina Bell Vance

ดังนั้นด้านบนจะใช้กับแท็ก anchor ที่ระบุชื่อด้วย ไม่ใช่เหรอ มันเป็นการดีที่จะมี <h1> <a name='intro'> บทนำ </a> </h1> นอกเหนือจาก <a name='intro'> <h1> บทนำ </h1> </a>
Jayapal Chandran

6

ทั้งสองอย่างถูกต้องใน html5 , html ช่วยให้องค์ประกอบบล็อกในองค์ประกอบแบบอินไลน์ สิ่งนี้ยังไม่มีผลกับ SEO ทั้งสองกรณีข้อความถูกพันไว้ในหัวเรื่องดังนั้นจึงยังคงมีค่าเท่าเดิม

มันไม่ใช่ตัวเลือกของความถูกต้อง แต่เป็นการเลือกในส่วนต่อประสานผู้ใช้:

  • หากคุณล้อมรอบส่วนหัวของจุดยึดคุณสร้างจุดยึดขนาดใหญ่เฉพาะข้อความที่สามารถคลิกได้
  • เมื่อคุณพันจุดยึดรอบส่วนหัวทั้งบรรทัดจะสามารถคลิกได้

ฉันทำตัวอย่างให้คุณที่ jsFiddle.net


4

ฉันพบว่าด้วยกรณีที่ 2 hrefแทรกมักจะไม่สอดคล้องกับส่วนที่เหลือของหน้า .cssแต่นั่นอาจจะเป็นวิธีที่ผมตั้งค่าระยะขอบของฉันในของฉัน ดังนั้นฉันจะชอบกรณีที่ 1


1

สิ่งที่บอกว่านี่คือข้อมูลเชิงลึกขอบคุณทุกคน ลองเพิ่มอีกหนึ่งรอย: เพิ่ม microdata และเช่นนั้นลงในสมการ

สมมติว่าเรามี

<h1 itemprop="name"><a href="http://goldenage.com/maths.html"
itemprop="url">Mathematics in The Muslim Golden Age</a></h1>

แข่งขันกับ

<a href="http://goldenage.com/maths.html" itemprop="url"><h1
itemprop="name">Mathematics in The Muslim Golden Age</h1></a>

สำหรับฉัน 'โดยไม่คำนึงถึงประสิทธิภาพ' ตัวอย่างที่ 2 เหมาะสมกว่า เพราะลิงค์ไม่เคยเป็นส่วนหนึ่งของชื่อ ความแตกต่างจะเพิ่มความแตกต่างระหว่าง innerHTML และ textContent, DOMwise มองผ่าน InnerHTML จุดยึดจะเข้าทาง หาก textContent เป็นวิธีแท็กจะถูกปล้น ดังนั้นนั่นทำให้คำถาม: innerHTML หรือ textContent

ดังนั้นฉันจะบอกว่าการพิจารณาไมโครดาต้าการยึดสมอด้านนอกนั้นบริสุทธิ์กว่ามาก

อิงตาม: http://thenewcode.com/617/How-To-Add-Microdata-To-Your-Blog



0

ควรหลีกเลี่ยงการเชื่อมโยงระดับบล็อกเพื่อวัตถุประสงค์ SEO - จากปากม้า: https://www.seroundtable.com/block-level-links-google-seo-16369.html

อัปเดต: ของสมนาคุณจากลิงก์ ...

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

John Mueller (นักวิเคราะห์แนวโน้มเว็บมาสเตอร์ของ Google) กล่าวต่อไป ...

การใช้งานนั้นจะใช้ได้กับเรา (Google) - เรายังคงรับลิงค์และจะสามารถเชื่อมโยงข้อความของคุณเป็นจุดยึดกับสิ่งนั้นได้ เรามีความยืดหยุ่นในการแยกวิเคราะห์ HTML ดังนั้นคุณอาจใช้ HTML4 นี้ได้ ที่กล่าวมาชัดเจนยิ่งขึ้นคุณทำให้ข้อความของคุณสมอง่ายขึ้นสำหรับเราที่จะเข้าใจบริบทของการเชื่อมโยงดังนั้นฉันจึงไม่จำเป็นต้องใช้ทั้งย่อหน้าเป็นจุดยึดสำหรับลิงก์ภายในทั้งหมดของคุณ

TL; DR สำหรับ SEO อย่าใช้ลิงก์ระดับบล็อก


ด้วยความหวังว่าคุณจะอัปเดตคำตอบของคุณก็แสดงบางส่วนทำไมทั้งสองตัวอย่างไม่เท่ากันอย่างที่คนอื่น ๆ พูด
Rob

-1

หากวัตถุประสงค์คือเพื่อให้มีองค์ประกอบที่สามารถคลิกได้เพิ่มเติมภายในลิงค์ (เช่นรูปภาพ ฯลฯ ) และยังคงตรวจสอบกับ html <5 คุณสามารถมีทั้งสองวิธีด้วย javascript:

<div onclick="if (this.getElementsByTagName('a')[0]) location=this.getElementsByTagName('a')[0].href;">
<img src="/foo" alt="" />
<h1>
<a href="#">
linked-heading
</a>
</h1>
</div>

อื่นเพียง:

<h1 onclick="if (this.getElementsByTagName('a')[0]) location=this.getElementsByTagName('a')[0].href;">
<a href="#">
linked-heading
</a>
</h1>

เพิ่มลงcursor:pointerใน css ขององค์ประกอบหลักเพื่อให้เคล็ดลับสมบูรณ์


1
จาวาสคริปต์แบบอินไลน์? เรากลับมาในปี 1999 หรือไม่ ;)
Martijn

ทำไมคุณถึงทำเช่นนี้? เพียงแค่ห่อส่วนหัวในสมอ นี่เป็นเพียงการปฏิบัติที่ไม่ดี
Martijn

อ่านความคิดเห็นอย่างถี่ถ้วนคุณจะพบคำตอบของคุณตรงนั้น;) Html 4.01 จริง ๆ แล้วเก่าเท่าปี 1999 เมื่อคุณพยายามที่จะตรวจสอบคำแนะนำของคุณภายใต้ Doctype นั้นคุณจะได้รับข้อผิดพลาดดังต่อไปนี้: "[D] ไม่อนุญาตองค์ประกอบ "H1" ที่นี่ (... ) สาเหตุที่เป็นไปได้หนึ่งข้อสำหรับข้อความนี้คือคุณพยายามใส่องค์ประกอบระดับบล็อก (เช่น "<p>" หรือ "<table>") ภายในองค์ประกอบอินไลน์ ( เช่น "<a>", "<span>" หรือ "<font>") " แน่นอนว่าเราไม่จำเป็นต้องใส่ใจในสิ่งที่ผู้ตรวจสอบความถูกต้องพูดดังนั้น "ถ้า" ที่จุดเริ่มต้นของความคิดเห็น
Lucian Davidescu
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.