ทำไมเราควรใช้แท็กเช่น p, span, hx tags เมื่อเราสามารถใช้ CSS แทนได้


43

ทำไมเราควรใช้แท็กเช่น p, span, hx tags เมื่อเราสามารถใช้ CSS แทนได้ มันสำคัญจากมุมมอง SEO หรือไม่


2
ฉันเห็นว่าคุณสามารถใช้ CSS ที่มีแท็ก span หรือ p เพื่อแกล้งทำเป็น hx tags ได้อย่างไร แต่คุณจะใช้ CSS เพื่อจัดรูปแบบข้อความโดยไม่ต้องใช้ p หรือ span แท็กได้อย่างไร
joshuahedlund

การตอบโต้ที่น่ารังเกียจและจริงจังครึ่งหนึ่งคือ: ลองทำโดยไม่มีพวกเขา ใช้<span>สำหรับทุกสิ่งและดูว่าคุณสามารถทำสิ่งที่คุณต้องการด้วย CSS เพียงอย่างเดียวได้หรือไม่ คุณจะได้เรียนรู้มากมายจากการพยายามกำหนดเป้าหมายช่วงที่ถูกต้องและทำให้มันทำงานเหมือนองค์ประกอบอื่น ๆ (แม้ว่าบทเรียนที่เป็นที่ชื่นชอบที่สุดคือ "อย่าทำอย่างนั้น")
นาธานลอง

คำตอบ:


67

เวอร์ชันย่อคือแท็กและ CSS ต่างๆมีวัตถุประสงค์ที่แตกต่างกัน

<h1>Whatever</h1>ตัวอย่างเช่นมีความหมายจำนวนหนึ่งพร้อมกับการใช้งาน: "นี่คือส่วนหัวหนึ่งระดับที่สำคัญระดับแรก" และอื่น ๆ ตัวแยกวิเคราะห์บางตัวยังใช้แท็ก hx (และอื่น ๆ ) เพื่อสร้างโครงร่างของโครงสร้างของเอกสารซึ่งสามารถใช้สำหรับทุกอย่างตั้งแต่การประมวลผลข้อมูลไปจนถึงการช่วยในการเข้าถึง (เช่นตัวอ่านหน้าจอกระโดดไปที่คำถามถัดไปในหน้าแรกของเว็บมาสเตอร์ .

คุณไม่สามารถยกเลิกแท็กความหมายตามสิ่งที่คุณสามารถทำได้กับ CSS และในทางกลับกัน
คุณสามารถใช้ CSS กับแท็กอื่นเพื่อให้ดูเหมือนกับ h1 เช่น: <span style="font-weight:bold;font-size:2em">Whatever</span>แต่ก็ยังไม่ได้ทำให้แท็ก span นั้นเป็นส่วนหัวจริงในแง่ของฟังก์ชั่นและซีแมนทิกส์ ในกรณีนี้โครงร่างที่ฉันเชื่อมโยงไปด้านบนนั้นเป็นไปไม่ได้มากนักเพราะช่วงนั้นไม่ใช่ส่วนหัว แต่เป็นเพียงข้อความบางส่วนที่คุณสร้างขึ้นให้ใหญ่และหนาโดยพลการ


41

มาร์กอัปและการนำเสนอนั้นแตกต่างกัน

มันเหมือนกับถามว่า "ทำไมเราต้องมีกำแพงเมื่อเราทาสี?" :)

แท็ก HTML แสดงว่าเนื้อหาของคุณคืออะไรนี่คือข้อความพาดหัวนี่คือรายการ ฯลฯ

CSS แสดงว่าเนื้อหาของคุณควรมีหน้าตาเป็นอย่างไร - พาดหัวควรเป็นสีน้ำเงินรายการควรมีการเยื้องมาก ๆ เมนูควรอยู่ทางซ้ายมือ ฯลฯ

Javsascript บอกว่าหน้าเว็บของคุณควรมีพฤติกรรมอย่างไรเช่นภาพเคลื่อนไหว ฯลฯ

ดังนั้นหากไม่มีเนื้อหา HTML, CSS และ Javascript จริงๆไม่มีอะไรจะทำงาน

หมวดหมู่เหล่านี้ไม่ใช่ขาวดำ 100% - ตัวอย่างเช่น CSS สามารถระบุ "ช่วงการเปลี่ยนภาพ" ตอนนี้ซึ่งเป็นภาพเคลื่อนไหว - แต่เป็นแนวคิดพื้นฐาน

โปรดดูการอภิปรายก่อนหน้านี้เกี่ยวกับหัวข้อนี้ใน StackOverflow ที่นี่และที่นี่

มาร์คอัปที่ดีจะช่วยประหยัดความพยายามและทำงานได้ดีขึ้น

หากคุณต้องการให้บางสิ่งบางอย่างทำงานเหมือนลิงก์คุณสามารถใช้<span class="mylink">และใช้ CSS และ JS เป็นจำนวนมากเพื่อทำให้มันดูและรู้สึกถูกต้อง หรือคุณสามารถใช้<a>องค์ประกอบและรับสิ่งเหล่านั้นได้ฟรีโดยไม่ต้องมีรหัสเพิ่มเติมให้ดาวน์โหลดเพราะเบราว์เซอร์รู้อยู่แล้วว่าจะต้องทำอะไรและมีการนำตรรกะมาใช้ในโค้ดที่รวดเร็วและเนทีฟ นอกจากนี้ยังมีแนวโน้มที่จะทำงานได้อย่างถูกต้องสำหรับโปรแกรมอ่านหน้าจอเบราว์เซอร์มือถือเครื่องมือค้นหาตัวรวบรวมและกรณีการใช้งานอื่น ๆ ที่คุณไม่ได้คิด

นี่คือเหตุผลที่คุณควรใช้<button>สำหรับการกระทำที่คลิกได้<label>เพื่อa ป้ายกำกับ<input>และ<main>สำหรับส่วนหลักของหน้าของคุณ

มาร์กอัปที่ดีมีผลต่อ SEO อย่างไร

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

ดังนั้นเพื่อให้เครื่องมือค้นหาทราบว่าเนื้อหาของคุณคืออะไรโปรแกรมจะต้องทำการวิเคราะห์คำ

และเฮ้ดูสิ! เรามีภาษาทั้งหมดนี้เรียกว่า HTML ซึ่งมีวัตถุประสงค์เพื่อติดป้ายกำกับเนื้อหาของคุณในแบบที่เครื่องสามารถเข้าใจได้! :)

ใช่มาร์กอัปที่ชัดเจนจะช่วยให้เครื่องมือค้นหาจัดทำดัชนีหน้าเว็บของคุณได้ดีขึ้น

เพื่อใช้เป็นตัวอย่างมากหากพาดหัวของหน้าของคุณเป็นรูปถ่ายที่คุณเอามาพาดหัวในหนังสือพิมพ์มันอาจดูน่าสนใจและผู้คนสามารถอ่านได้ดี แต่สำหรับเครื่องมือค้นหามันจะเป็นภาพที่ไม่มีความหมาย . ในขณะที่<h1>Turtle Groomer 5000</h1>บอกเครื่องมือค้นหาอย่างชัดเจนว่าคุณมีผลิตภัณฑ์ที่อำนวยความสะดวกด้านสุขอนามัยเป็นหลักฐาน


2
"ทำไมเราต้องมีกำแพงเมื่อเราทาสี?" ~ นั่นเป็นคำถามที่ยอดเยี่ยม? ขอบคุณ!
Evik James

ฉันคิดว่าชื่อแท็กเป็นส่วนที่สับสนของ markup - H1, H2 และอื่น ๆ สามารถใช้งานได้โดยโปรแกรมอ่านหน้าจอเช่นเดียวกับคนที่ดู ต้องบอกว่า 99% ของโลกจะเห็นหน้าเว็บและดังนั้นเท่าที่มันทำให้คนรัก SEO ผิดหวังแท็ก H คือเครื่องหมายภาพเช่นเดียวกับ<b>ความกล้าหาญ
Chris S

@ChrisS - ฉันไม่คิดว่ามันสับสน แท็กมักจะถูกอ่านโดยเครื่องเสมอ ซึ่งรวมถึงเบราว์เซอร์เช่นเดียวกับโปรแกรมอ่านหน้าจอ และไม่<h1>มันไม่ใช่เครื่องหมายที่มองเห็นได้จริงๆ เบราว์เซอร์ส่วนใหญ่จะแสดงให้ใหญ่และหนาหากไม่ได้รับการแจ้งเป็นอย่างอื่น แต่สไตล์ของหน้าเว็บหรือการตั้งค่าของผู้ใช้เองสามารถแทนที่ได้ <h1>เป็นตัวบ่งชี้ความหมาย: 'นี่คือหัวข้อหลักของฉัน' หากไซต์หรือผู้ใช้ต้องการพาดหัวหลักที่มีขนาดเล็กและสีส้มนั่นคือสิ่งที่พวกเขาจะเห็น
นาธานลอง

1
"เหมือน <b> หมายถึงกล้าหาญครั้งเดียว" - มีคนเปลี่ยนความหมาย<b>โดยไม่บอกฉันหรือไม่ มันยังหมายถึงตัวหนาใช่มั้ย แน่นอนฉันชอบแท็กความหมาย<em>และ<strong>
ghoppe

13

โปรดคิดถึงคนที่มีความบกพร่องบางอย่างซึ่ง (เป็นตัวอย่าง) ต้องใช้เครื่องอ่านอักษรเบรลล์ ในกรณีเช่นนี้แท็ก html นั้นมีความสำคัญยิ่งกว่า visual css stylings


10

ซูตอบส่วนที่มีความหมาย เกี่ยวกับ SEO คุณจะพบว่าองค์ประกอบ h1 นั้นให้น้ำหนักกับเครื่องมือค้นหามากกว่าแท็กอื่น ๆ แท็ก h2 / b / strong จะได้รับน้ำหนักมากกว่าข้อความปกติเล็กน้อย

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


สิ่งนี้น่าสนใจ คุณมีแหล่งที่มาสำหรับสิ่งนี้หรือไม่?
user606723

3
@ user606723 ส่วนใด ย่อหน้าแรกคือความรู้พื้นฐานเกี่ยวกับ SEO และกล่าวถึงในคู่มือ SEO ของ Google (PDF) ฉันไม่ทราบว่าสิ่งที่ตารางมีการบันทึกไว้ที่ใด ๆ หรือไม่ แต่ฉันเห็นมันสองสามครั้งในผลการค้นหา - พวกเขาแสดงรายการ 2-4 แถวจากตารางบนหน้าเป้าหมาย
DisgruntledGoat

1
อัปเดต: นี่คือหนึ่งโพสต์ที่กล่าวถึงตารางใน SERPs: googlesystem.blogspot.com/2011/11/…
DisgruntledGoat

1

สำหรับ HTML5 ตรวจสอบหนาและตัวเอียงใน HTML5

สรุป:

ใช้<b>เมื่อคุณต้องการให้ข้อความมีสไตล์ที่แตกต่างโดยไม่มีความสำคัญตามบริบท แต่ใช้<strong>เมื่อคุณต้องการให้ข้อความมีความสำคัญเป็นพิเศษจากเนื้อหาหรือมุมมอง SEO

ใช้<i>เพื่อชดเชยอารมณ์ของข้อความ แต่ใช้<em>เพื่อทำให้ข้อความเน้น


3
ไม่ได้ <b> และ <i> เลิกใช้แล้ว ถ้าคุณต้องการให้ข้อความของคุณดูเป็นสายฟ้า / ตัวเอียงใช้ CSS หากคุณต้องการสื่อความหมายของข้อความที่เป็นตัวหนา / ตัวเอียงให้ใช้ <strong> และ <em>
Mircea Chirea

4
@iconiK เลิกใช้โดยใคร ความเข้าใจของฉันก็คือว่า "ยกเลิกการคัดค้าน" ในมาตรฐาน HTML5 และด้วยเหตุผลที่ดี - มีการใช้ตัวเอียงแบบดั้งเดิมมากมายนอกเหนือจากการเน้น [ตัวอย่างเช่นชื่อหนังสือหรือคำต่างประเทศ] - การมีแท็กสำหรับ "ตัวเอียง" อย่างชัดเจน [แทนที่จะเป็นแท็กความหมาย] ไม่แตกต่างจากการใส่เมืองหลวงโดยตรง และเครื่องหมายวรรคตอน ถ้าคุณต้องการที่จะใช้<span class="proper-name"> <span class="question-sentence">...
Random832

1
มันเลิกเนื่องจาก HTML ไม่ควรกำหนดรูปแบบการนำเสนอใด ๆ เลย เหตุผลที่เราเขียน css ลงในไฟล์ css (ไม่ใช่อินไลน์) ดังนั้นเราจึงมีรูปแบบที่แตกต่างกันไปสำหรับมนุษย์, เครื่องพิมพ์, โปรแกรมอ่านหน้าจอ, มือถือ, เครื่องอ่าน ebook ฯลฯ , โปรแกรมอ่านซาฟารีเป็นต้น
sod

3
@sod ฉันไม่ได้ถามว่าทำไมมันเลิกฉันก็ท้าทายการยืนยันว่ามันเลิกใช้แล้ว และยังไม่ชัดเจนว่าทำไมตัวเอียงคืออะไรดังนั้น "การจัดรูปแบบงานนำเสนอ" มากกว่าตัวอักษรพิมพ์ใหญ่และเครื่องหมายวรรคตอน มันเป็นส่วนหนึ่งของเนื้อหา
Random832

2
@iconiK, "เลิกใช้งานจริง" ไม่มีผลต่อคำสั่งว่ามีบางสิ่งที่คัดค้านหรือไม่ เนื่องจากมีการระบุไว้ในข้อมูลจำเพาะ HTML5และไม่ได้ระบุว่าเลิกใช้แล้วฉันจะ <strong> กล่าวว่าเป็นเพราะไม่ได้คัดค้าน
zzzzBov

1

นอกจากนี้อย่าลืมความสำคัญของความหมายสำหรับผู้ใช้ที่มีความพิการ ซอฟต์แวร์ Screenreader ขึ้นอยู่กับความหมายเหล่านี้เพื่อนำเสนอคนตาบอดถึงบริบทที่พวกเขาขาดหายไปเนื่องจากความพิการ


1

ประการแรก<hx>เป็นแท็กที่ค่อนข้างสำคัญเนื่องจากเป็นตัวกำหนดส่วนหัวตามที่คนอื่น ๆ ได้กล่าวถึง ส่วนหัวมีประโยชน์มากไม่เพียง แต่สำหรับลุค แต่เป็นเพราะพวกเขาแยกส่วนต่าง ๆ ในลักษณะที่ไม่เหมือนกัน เพียงแค่ดูที่ Wikipedia เช่น บางโปรแกรมขึ้นอยู่กับแท็กประเภทนี้เพื่อ "แยก" เอกสารออกจากกันหรือแม้กระทั่งสร้างสารบัญอัตโนมัติ เครื่องมือค้นหาจะสันนิษฐานว่าข้อความใน<h1>แท็กจะมีความสำคัญมากกว่าเนื่องจากเป็นหัวเรื่อง - หัวเรื่อง

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

<span>ในทางกลับกันส่วนใหญ่จะเป็น<div>แท็กเวอร์ชันอินไลน์และถ้ามีอะไรก็สามารถช่วยให้คุณไม่ต้องพิมพ์คลาสพิเศษใน (ด้วยการที่ถูกกล่าวว่าคุณต้องการที่จะใช้<span class="italic">แทน<i>สำหรับทุกกรณีตัวเอียง คุณมี? มันทำให้การอ่านโค้ดยากขึ้น, เป็นมาตรฐานน้อยกว่า (ภายใต้สมมติฐานกว้าง ๆ ที่ว่าคนส่วนใหญ่จะใช้อันหลังในอดีต) และไม่ปรับปรุงเอกสาร

<p>มีประโยชน์สำหรับผู้ที่มีความพิการเนื่องจากช่วยให้มั่นใจได้ว่าข้อความสามารถแบ่งออกเป็นย่อหน้าที่สามารถจัดการได้ในวิธีที่<br />ไม่สามารถทำได้

แน่นอนว่าเราสามารถพูดได้ว่า HTML ไม่ได้มีไว้สำหรับการออกแบบ แต่มีเส้นสายที่ละเอียดอ่อนระหว่างการออกแบบและสไตล์ และตรงไปตรงมาฉันจะบอกว่าเป็นความชอบของผู้ใช้ ไม่ว่าคุณจะใช้<i>หรือ<span class="italic">มันก็ขึ้นอยู่กับคุณและจะไม่สร้างความแตกต่างให้กับ SEO ท้ายที่สุดทำไม จำกัด เราให้ทำสิ่งเดียว (เช่นวิธีที่เราสามารถเลือกได้ว่าจะใช้เครื่องหมายอัฒภาคที่ปลายบรรทัดใน JavaScript หรือไม่ - ฉันใช้พวกเขาเสมอในขณะที่คนอื่นไม่เคยใช้และจะไม่ทำให้การทำงานแตกต่างกัน)

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