Semantic HTML untuk SEO

Bagaimana semantic HTML elements (artikel, bagian, nav, header, main, aside) help mesin pencari identify sebuah halaman's main konten — mengapa ini adalah tidak sebuah peringkat factor, dan cara gunakan setiap element correctly.

Pertama kali diterbitkan: 2 Jul 2026 · Terakhir diperbarui: 3 Agu 2026 · Lanjutan

Semantic HTML menggunakan elements like <main>, <article>, <section>, <nav>, <header>, dan <aside> untuk deskripsikan apa konten adalah, tidak hanya bagaimana ini looks. ini adalah tidak sebuah peringkat factor — John Mueller panggilan ini 'tidak sebuah magical multiplier' dan says <article> memiliki 'Tidak particular effect' di Penelusuran. Apa ini melakukan adalah help Google terpisah main konten dari boilerplate lebih reliably (Google's centerpiece annotation melakukan ini melalui NLP regardless dari Anda markup, tetapi bersih semantics reduce guesswork), help assistive tech, dan help AI crawler itu jangan render JavaScript. Bing's Fabrice Canel frames ini lebih strongly sebagai 'sebuah advantage di SEO.' yang sama idea extends past landmarks: gunakan <a href> untuk navigation dan <button> untuk tindakan, nyata <table>s untuk tabular data, purpose-based teks alt pada images, dan <details>/<summary> untuk native disclosure widgets — dan jangan rely pada old, tidak pernah-implemented 'document outline algorithm' untuk imply heading tingkat melalui <section> nesting. Correct usage beats presence: satu <main> per halaman, <article> untuk self-berisi konten, <section> untuk sebuah themed group dengan sebuah heading — tidak sebuah <div> replacement. jangan confuse ini dengan Semantic SEO (topical/entity strategy).

TL;DR — Semantic HTML menggunakan elements untuk mereka yang dimaksud structural meaning (<main>, <article>, <section>, <nav>, <header>, <aside>) so markup communicates apa konten adalah, tidak bagaimana ini looks. ini adalah tidak sebuah peringkat factor — Mueller: “tidak a magical multiplier,” (terjemahan) “tidak sebuah magical multiplier,” dan <article> memiliki “Tidak particular effect.” (terjemahan) “Tidak particular effect.” Apa ini melakukan adalah reduce ambiguity: Google’s centerpiece annotation separates main konten dari boilerplate melalui NLP apakah atau tidak Anda markup adalah semantic, tetapi bersih semantics membuat itu job lebih reliable. Bing’s Fabrice Canel frames ini lebih strongly (“an advantage di SEO” (terjemahan) “sebuah advantage di SEO”) — I note itu kesenjangan honestly alih-alih harmonizing ini away. Google’s own Starter Guide says sebagian besar dari web tidak valid HTML, so ini rarely bergantung pada spec semantics. Correct usage beats presence: satu <main>, <article> untuk self-berisi konten, <section> untuk sebuah themed group dengan sebuah heading — tidak sebuah <div> substitute. yang sama test extends untuk <a href> vs. <button> (navigate vs. act), nyata <table>s untuk tabular data, purpose-based image teks alt, dan <details>/<summary> untuk disclosure widgets — dan jangan rely pada <section> nesting untuk imply sebuah heading tingkat; itu “document outline algorithm” (terjemahan) “document outline algorithm” adalah tidak pernah implemented dan spec Tidak lebih lama defines outlines itu cara. jangan confuse semantic HTML dengan Semantic SEO.

Bukti untuk klaim ini Semantic HTML uses elements according to their defined purpose and structural meaning. Cakupan: HTML element semantics. Tingkat keyakinan: tinggi · Diverifikasi: WHATWG HTML: Semantics Bukti untuk klaim ini Native semantic HTML exposes built-in roles and supports accessible structure when elements are used correctly. Cakupan: W3C guidance on semantic HTML and accessibility. Tingkat keyakinan: tinggi · Diverifikasi: W3C WAI: HTML and accessibility

Apa semantic HTML sebenarnya adalah

Semantic HTML adalah practice dari choosing HTML elements untuk structural meaning mereka adalah designed untuk convey, alih-alih reaching untuk <div> dan <span> untuk semuanya. <article>, <section>, <nav>, <header>, <main>, <aside>, dan <footer> setiap declare sebuah role. markup mendeskripsikan apa sebuah chunk dari halaman adalah; CSS decides bagaimana ini looks. Google’s own developer style guide puts aturan sebagai sekadar sebagai ini mendapatkan: “Use HTML elements for the purposes that they were designed for.” (terjemahan) “gunakan HTML elements untuk purposes itu mereka adalah designed untuk.”

Satu hal itu trips orang up: sebuah class name tidak buat semantics. Naming sebuah <div> class="article" atau class="main-nav" tidak memberikan ini <article> element’s konten model atau <nav> element’s implicit navigation role — ini adalah masih sebuah generic <div> sebagai far sebagai sebuah browser, screen reader, atau crawler adalah concerned. Semantics langsung di element Anda choose, tidak di bagaimana Anda style atau label ini.

ini artikel adalah tentang semantic elements secara khusus. lebih luas “bagaimana Google parses Anda HTML, heading hierarchy, validity” (terjemahan) “bagaimana Google parses Anda HTML, heading hierarchy, validity” picture belongs untuk HTML SEO hub ini halaman sits di bawah — I’ll cross-reference ini alih-alih re-litigate ini di sini.

melakukan semantic HTML sebenarnya help SEO?

pendek jawaban: ini helps understanding, ini tidak sebuah peringkat factor, dan dua mesin frame ini sebuah little differently. Di sini’s honest versi.

Apa Google says

Google’s line, repeated oleh John Mueller, adalah itu semantic HTML adalah worth melakukan tetapi tidak sebuah peringkat lever. sebagai mesin pencari Journal reported, Mueller mengatakan “Semantic HTML melakukan help untuk understand a halaman. Namun, ini tidak a magical multiplier untuk membuat a website rank lebih tinggi,” (terjemahan) “Semantic HTML melakukan help untuk memahami sebuah halaman. Namun, ini adalah tidak sebuah magical multiplier untuk membuat sebuah situs web peringkat lebih tinggi,” dan secara terpisah: “Please gunakan semantic HTML. ini tidak a ranking factor, tetapi it dapat help our sistem untuk understand Anda konten better.” (terjemahan) “Please gunakan semantic HTML. ini adalah tidak sebuah peringkat factor, tetapi ini dapat help kami sistem untuk memahami Anda konten better.”

pada <article> element secara khusus — satu everyone menanyakan tentang — Mueller adalah blunt di sebuah Office Hours session: <article> element “melakukan tidak memiliki any particular effect di Google Search,” (terjemahan) “melakukan tidak memiliki apa pun particular effect di Google Search,” dan he ditambahkan alasan untuk gunakan ini anyway: “Sometimes di sana adalah accessibility atau semantic reasons untuk gunakan a specific kind dari markup, so jangan hanya focus pada SEO.” (terjemahan) “Sometimes ada accessibility atau semantic alasan untuk gunakan spesifik jenis dari markup, so jangan hanya focus pada SEO.”

«Google also explicitly says it doesn’t depend on perfect semantics. Its SEO Starter Guide notes that “Having your headings in semantic order is fantastic for screen readers, but from Google Search perspective, it doesn’t matter if you’re using them out of order. The web in general is not valid HTML, so Google Search can rarely depend on semantic meanings hidden in the HTML specification.” That’s an important nuance, not a contradiction: semantic HTML helps at the margins, it doesn’t require perfection, and it isn’t a scored signal. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian tiga puluh dua, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

Bagaimana ini fits Google finding Anda main konten

Di sini’s mechanism itu membuat semantic HTML berguna bahkan though ini tidak sebuah peringkat factor. Google memiliki untuk terpisah main konten dari sebuah halaman dari boilerplate (nav, header, footer, sidebars, ads) sebelum ini dapat decide apa sebuah halaman adalah tentang. Martin Splitt memiliki described machinery: “We memiliki a hal called itu Centerpiece Annotation, untuk instance, dan ada beberapa other annotations itu we memiliki di mana we look di itu semantic konten.” (terjemahan) “kami memiliki sebuah hal called Centerpiece Annotation, misalnya, dan ada sebuah sedikit lainnya annotations itu kami memiliki di mana kami lihat semantic konten.” cara Google figures out topic adalah natural language processing di atas konten, tidak tag names: “Ini looks like dari all itu natural language processing itu we melakukan pada ini entire text konten di sini itu we mendapat, it looks like ini adalah primarily tentang topic A, dog food.” (terjemahan) “ini looks like dari semua natural language processing itu kami melakukan pada ini entire text konten di sini itu kami mendapat, ini looks like ini adalah primarily tentang topic sebuah, dog food.” dan ini down-weights rest: “We figure out apa looks like boilerplate dan lalu, itu mendapatkan weighted differently juga.” (terjemahan) “kami figure out apa looks like boilerplate dan lalu, itu mendapatkan weighted differently sebagai well.”

key poin: itu extraction berfungsi apakah atau tidak Anda markup adalah semantic. Google dapat untangle sebuah halaman dibangun entirely dari <div>s. tetapi ditanyakan secara langsung apakah semantic HTML5 helps, Splitt’s jawaban adalah “It melakukan help us, tetapi ini tidak itu hanya hal itu we look untuk. Ya.” (terjemahan) “ini melakukan help us, tetapi ini adalah tidak satu-satunya hal itu kami cari. Ya.” So semantic HTML tidak score Anda lebih tinggi — ini reduces guesswork di sebuah langkah Google sudah melakukan, yang adalah persis mengapa ini adalah sebuah confidence dan efficiency sinyal rather daripada sebuah peringkat satu. untuk menjadi precise tentang apa ini tidak melakukan: correct semantic markup melakukan tidak jaminan apa pun spesifik penelusuran presentation either — ini adalah sebuah terpisah layer dari eligibility aturan itu govern rich hasil (lebih pada itu di bawah).

Apa Bing says (dan mengapa ini differs)

«Bing frames this more strongly than Google, and I’m going to leave that difference intact rather than paper over it. Microsoft’s Fabrice Canel has said that pages with correctly implemented semantic HTML5 have “an advantage in SEO” over those that don’t. That’s a stronger claim than Google’s “helps us understand” — Bing ties semantic HTML5 directly to an SEO advantage. Both engines converge on “it helps mechanically,” but they don’t use the same words, and you should know that when you read competing guidance. Neither, to be clear, describes it as a scored ranking factor the way links or relevance are. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian tiga puluh tujuh, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

core semantic elements dan cara gunakan them correctly

Presence tidak poin — correct usage adalah. paling umum failure mode adalah sprinkling semantic tags sekitar like decoration, atau swapping <div> untuk <section> dengan Tidak thought tentang apa setiap element berarti.

<header> holds introductory konten dan <footer> holds closing konten — dan keduanya adalah contextual. di document tingkat, <header> adalah Anda situs banner dan <footer> adalah Anda situs footer. tetapi mereka dapat juga nest di dalam sebuah <article> atau <section> untuk mark itu block’s own intro dan outro (sebuah artikel’s judul/byline di sebuah <header>, -nya tags di sebuah <footer>). Anda dapat memiliki banyak dari them; hanya pastikan setiap satu wraps intro atau closing konten untuk -nya context, tidak arbitrary boxes.

<nav> adalah untuk major blocks dari navigation tautan — Anda utama menu, breadcrumb trail, atau di-halaman table dari contents. ini adalah tidak untuk setiap group dari tautan pada halaman (sebuah list dari related posts di body tidak perlu untuk menjadi sebuah <nav>). Wrapping setiap tautan cluster di <nav> dilutes sinyal; reserve ini untuk genuine navigation.

<main>

<main> wraps halaman’s utama, unique konten — bagian itu tidak repeated di seluruh situs. aturan itu trips orang up: di sana seharusnya menjadi persis satu <main> per halaman, dan ini seharusnya tidak menjadi nested di dalam <article>, <aside>, <header>, <footer>, atau <nav>. ini adalah single clearest sinyal Anda dapat memberikan tentang “ini adalah itu konten itu matters di sini.” (terjemahan) “ini adalah konten itu penting di sini.”

<article> vs <section> ( satu everyone mendapatkan wrong)

ini adalah pembedaan untuk mendapatkan right:

  • <article> adalah untuk self-berisi, independently distributable konten — sesuatu itu akan masih membuat sense pulled out dari halaman dan dropped ke sebuah feed. sebuah blog post, sebuah news story, sebuah product card, sebuah forum post, sebuah single pengguna comment. jika ini dapat syndicate pada -nya own, ini adalah sebuah <article>.
  • <section> adalah sebuah thematic grouping dari konten itu seharusnya memiliki -nya own heading. sebuah “Reviews” (terjemahan) “Reviews” block, sebuah “Specifications” (terjemahan) “Specifications” block, sebuah chapter. test: jika konten tidak membuat sense dengan sebuah heading, ini adalah probably tidak sebuah <section> — dan jika Anda’re hanya menggunakan ini untuk hang beberapa CSS pada, ini seharusnya menjadi sebuah <div>.

<section> adalah tidak sebuah generic wrapper. Ketika Anda perlu sebuah styling hook dengan Tidak semantic meaning, gunakan <div> — itu’s persis apa ini adalah untuk. Reaching untuk <section> karena ini “feels more modern” (terjemahan) “feels lebih modern” adalah single sebagian besar umum misuse.

<aside>

<aside> marks konten itu’s tangential untuk sekitarnya konten — sebuah sidebar, sebuah pull quote, sebuah related-tautan box, sebuah set dari ads. ini sinyal “this is related but not the main thread,” (terjemahan) “ini adalah related tetapi tidak main utas,” yang adalah precisely boilerplate-vs-main-konten pembedaan Google adalah trying untuk draw anyway. jangan gunakan ini hanya karena sesuatu sits visually untuk side; gunakan ini ketika konten adalah genuinely sekunder.

Getting landmark peran right (dan outline myth)

setiap landmark element maps untuk sebuah spesifik implicit ARIA role itu assistive tech membaca secara langsung — ini adalah yang sama computed structure sebuah non-visual pengguna navigates oleh, dan ini adalah worth knowing sebenarnya mapping alih-alih assuming:

ElementImplicit roleNote
<header> (document tingkat)bannerhanya di top tingkat — nested di dalam <article>/<aside>/<main>/<nav>/<section>, ini memiliki Tidak landmark role.
<footer> (document tingkat)contentinfosama caveat — nested, ini adalah tidak sebuah landmark.
<nav>navigation
<main>main
<aside>complementary
<article>article (tidak sebuah landmark)sebuah document-structure role, tidak satu dari navigable landmarks.
<section>region — tetapi hanya dengan sebuah accessible name (e.g. melalui sebuah heading)sebuah unnamed <section> memiliki Tidak implicit role di semua, yang adalah lainnya alasan tidak untuk gunakan ini sebagai sebuah <div> substitute.

Satu piece dari folklore worth retiring: nesting sebuah <section> melakukan tidak memberikan -nya heading sebuah implicit lebih rendah peringkat. Early HTML5 didefinisikan sebuah document outline algorithm itu akan memiliki computed sebuah heading’s effective tingkat dari bagaimana deeply ini adalah nested di dalam sectioning elements — so sebuah nested <h1> dapat theoretically “act like” (terjemahan) “act like” sebuah <h2>. Tidak browser atau screen reader ever implemented itu algorithm, dan WHATWG spec memiliki since dropped ini di favor dari sebuah banyak simpler definition: outline adalah hanya semua heading di document, di tree order. Tulis Anda <h1>–<h6> tingkat explicitly dan di order Anda sebenarnya ingin baca — nesting depth tidak melakukan itu berfungsi untuk Anda.

tautan vs. buttons — tindakan-versus-navigation test

ini satu tidak sebuah landmark element, tetapi ini adalah paling umum semantic mistake pada web: menggunakan sebuah styled <div> atau <span> (atau sebuah <button>) di mana sebuah <a href> belongs, atau vice versa. WHATWG spec adalah spesifik — <a> dengan sebuah href attribute adalah native hyperlink mechanism, dan <button> element adalah sebuah labeled interactive control untuk triggering sebuah tindakan. test adalah sederhana: melakukan ini take pengguna untuk sesuatu (sebuah baru URL, sebuah baru halaman, sebuah fragment)? gunakan <a href>. melakukan ini melakukan sesuatu pada saat ini halaman (submit sebuah form, open sebuah modal, toggle sebuah setting)? gunakan <button>. Styling satu untuk look like lainnya tidak perubahan apa ini natively adalah — sebuah <div> dengan sebuah click handler mendapatkan neither native keyboard activation nor correct accessible role unless Anda rebuild semua dari itu yourself dengan role, tabindex, dan key handlers. hanya gunakan right element.

Tables adalah untuk tabular data, tidak layout

jika konten genuinely memiliki rows dan columns — sebuah perbandingan table, sebuah pricing grid, sebuah data set — gunakan sebenarnya <table>, tidak sebuah grid dari styled <div>s. WHATWG tables spec defines sebuah nyata data model: <caption> names table, dan <th> header cells (dengan scope) establish baris/column relationships itu let assistive tech announce “price, $49” (terjemahan) “price, 49 USD” alih-alih hanya sebuah wall dari angka. sebuah visually table-like grid dibangun dari <div>s tidak carry apa pun dari itu hubungan data — ini looks right, ini tidak baca right. jangan gunakan <table> untuk halaman layout, either; itu’s older misuse ini practice replaced.

teks alt bergantung pada apa image adalah untuk

<img> perlu sebuah alt attribute, tetapi WHATWG spec’s requirements adalah purpose-dependent, tidak satu-size-fits-semua: sebuah product photo perlu sebuah deskripsi dari apa ditampilkan; sebuah image itu’s purely decorative seharusnya mendapatkan alt="" (empty, tidak missing) so assistive tech skips ini alih-alih announcing sebuah filename; sebuah image itu’s juga sebuah tautan perlu teks alt describing tautan’s destination atau tindakan, tidak hanya picture. jangan default untuk keyword-stuffed teks alt pada setiap image “untuk SEO” (terjemahan) “untuk SEO” — itu’s wrong test. right test adalah: apa melakukan sebuah screen reader pengguna perlu untuk know itu mereka’d jika tidak miss?

Native disclosure widgets: <details> dan <summary>

untuk “click untuk expand” (terjemahan) “click untuk expand” konten — FAQs, spec sheets, spoiler text — <details>/<summary> pair adalah sebuah native disclosure widget: <summary> adalah selalu-terlihat label, dan konten di dalam <details> menampilkan atau hides berdasarkan element’s open state, tanpa apa pun JavaScript. ini muncul dengan dibangun-di keyboard mendukung dan right accessible semantics untuk free — reaching untuk sebuah custom <div>-plus-JavaScript accordion berarti re-implementing perilaku browser sudah memberikan Anda. Test ini di Anda sebenarnya target browser dan screen readers sebelum shipping, though — rendering dan accessibility-tree exposure untuk <details>/<summary> memiliki secara historis varied oleh browser dan assistive-tech combination, so jangan assume parity Anda haven’t diperiksa.

umum myths tentang semantic HTML dan SEO

  1. “Wrapping konten di <article> boosts rankings.” (terjemahan) “Wrapping konten di tidak terdefinisi boosts rankings.” Tidak — Mueller: <article> element “melakukan tidak memiliki any particular effect di Google Search.” (terjemahan) “melakukan tidak memiliki apa pun particular effect di Google Search.”
  2. “Semantic HTML adalah a ranking factor.” (terjemahan) “Semantic HTML adalah sebuah peringkat factor.” Tidak — “not a magical multiplier” (terjemahan) “tidak sebuah magical multiplier” dan “It’s not a ranking factor, but it can help our systems to understand your content better.” (terjemahan) “ini adalah tidak sebuah peringkat factor, tetapi ini dapat help kami sistem untuk memahami Anda konten better.”
  3. “Google requires valid/strict semantic HTML.” (terjemahan) “Google memerlukan valid/strict semantic HTML.” Tidak — per Starter Guide, sebagian besar dari web tidak valid HTML dan Google “can rarely depend on semantic meanings hidden in the HTML specification.” (terjemahan) “dapat rarely bergantung pada semantic meanings hidden di HTML specification.”
  4. “Heading order has to be perfect for SEO.” (terjemahan) “heading order memiliki untuk menjadi perfect untuk SEO.” Screen readers care; Google peringkat tidak (sama Starter Guide line). deeper heading-hierarchy treatment belongs untuk HTML SEO hub — ini adalah hanya brief versi.
  5. “Semantic HTML and Semantic SEO are the same thing.” (terjemahan) “Semantic HTML dan Semantic SEO adalah yang sama hal.” Tidak — satu adalah markup structure, lainnya adalah topical/entity konten strategy. Conflating them adalah mengapa so banyak penelusuran hasil untuk “semantic” (terjemahan) “semantic” kueri adalah tentang wrong topic.
  6. “Structured data membuat semantic HTML unnecessary.” (terjemahan) “data terstruktur membuat semantic HTML unnecessary.” Tidak — mereka’re complementary. Semantic HTML memberikan Anda data terstruktur sebuah lebih trustworthy foundation; ini tidak replace ini, dan JSON-LD tidak perbaiki div soup. dan neither satu jaminan sebuah outcome: Google’s own structured-data intro adalah jelas itu menggunakan didukung markup tidak jaminan sebuah rich hasil — eligibility untuk sebuah spesifik penelusuran fitur adalah sebuah terpisah set dari aturan dari apakah Anda markup (semantic HTML atau JSON-LD) adalah technically valid.
  7. “Nesting a <section> memberikan its headings an implicit lebih rendah rank — Anda jangan perlu untuk drop dari <h1> untuk <h2> di dalam a nested section.” (terjemahan) “Nesting sebuah tidak terdefinisi memberikan -nya heading sebuah implicit lebih rendah peringkat — Anda tidak perlu untuk drop dari tidak terdefinisi untuk tidak terdefinisi di dalam sebuah nested bagian.” Tidak — ini adalah sebuah leftover dari HTML5’s old document outline algorithm, yang akan memiliki computed sebuah implicit heading peringkat dari sectioning-element nesting. Tidak browser atau screen reader ever implemented ini, dan WHATWG HTML spec Tidak lebih lama defines outline computation itu cara — outline hari ini adalah hanya “all headings di itu document, di tree order.” (terjemahan) “semua heading di document, di tree order.” gunakan jelas, correctly-ordered <h1>–<h6> regardless dari bagaimana deep Anda <section>/<article> nesting goes; jangan rely pada nesting untuk melakukan heading-tingkat berfungsi untuk Anda.

Semantic HTML vs. Semantic SEO — jangan confuse them

Karena mereka share sebuah kata, ini mendapatkan mixed up constantly, dan ini pollutes penelusuran hasil untuk keduanya:

  • Semantic HTML = markup — yang elements Anda gunakan untuk structure sebuah halaman.
  • Semantic SEO = sebuah konten strategy — membangun topical authority sekitar entities dan related concepts ( jenis dari hal itu lives di bawah AI Penelusuran dan konten pillars, tidak di sini).

jika Anda landed di sini dari sebuah “semantic SEO” (terjemahan) “semantic SEO” kueri expecting topic modeling, itu’s sebuah berbeda artikel. ini satu adalah strictly tentang elements.

Semantic HTML dan AI/LLM crawler

ini adalah di mana semantic HTML adalah diam-diam getting lebih relevant, dan I’ll flag ini sebagai industry opinion alih-alih sebuah mesin statement. banyak LLM crawler dan AI jawaban mesin jangan render JavaScript — mereka parse HTML mereka’re disajikan. Bersih semantic markup adalah far easier untuk them untuk berfungsi dengan daripada deeply nested <div> soup. sebagai Barry Adams puts ini, “ini banyak simpler untuk ChatGPT untuk parse beberapa dozen semantic HTML tags rather daripada several hundred (atau even thousand) nested <div> tags,” (terjemahan) “ini adalah banyak simpler untuk ChatGPT untuk parse sebuah sedikit dozen semantic HTML tags alih-alih several hundred (atau bahkan thousand) nested tidak terdefinisi tags,” dan lebih broadly, “Semantic HTML markup pada Anda webpages dapat help machine sistem better understand Anda konten dan its value.” (terjemahan) “Semantic HTML markup pada Anda webpages dapat help machine sistem better memahami Anda konten dan -nya nilai.” Jono Alderson membuat yang sama forward-looking case — itu sebuah situs adalah “an interface. An API. A dataset,” (terjemahan) “sebuah interface. sebuah API. sebuah dataset,” tidak hanya sebuah visual experience — dan his satu-liner adalah seluruh argument untuk correct usage: “Jika semuanya adalah a <div> atau a <span>, lalu tidak ada apa pun adalah bermakna.” (terjemahan) “jika semuanya adalah sebuah tidak terdefinisi atau sebuah tidak terdefinisi, lalu tidak ada apa pun adalah bermakna.” Treat semua dari ini sebagai sebuah baik directional alasan untuk pertahankan markup bersih, tidak sebagai sebuah promise dari Google atau Bing.

cara audit dan retrofit existing halaman

sebagian besar nyata situs adalah sudah div soup, dan Anda tidak rebuild them overnight. sebuah pragmatis retrofit order:

  • Establish landmarks pertama. pastikan ada persis satu <main>, sebuah document <header>, <footer>, dan sebuah <nav> untuk utama menu. ini landmark elements melakukan paling berfungsi untuk keduanya main-konten extraction dan accessibility.
  • Convert self-berisi blocks untuk <article>. Blog posts, product cards, comments — apa pun itu dapat stand alone di sebuah feed.
  • Convert genuine themed groups untuk <section> — tetapi hanya di mana ada sebuah nyata heading. jika di sana tidak satu, leave ini sebuah <div>.
  • Move sidebars dan related-konten boxes ke <aside>.
  • Perbaiki fake tautan dan fake buttons. sebuah styled <div> dengan sebuah click handler seharusnya become sebuah <a href> (jika ini navigates) atau sebuah <button> (jika ini acts pada halaman) — ini adalah biasanya highest-nilai single perbaiki untuk keyboard dan screen reader pengguna.
  • Convert table-like grids dari <div>s untuk nyata <table>s di mana konten adalah genuinely tabular, dengan <caption> dan <th> untuk header cells.
  • jangan di atas-convert. sebuah <div> digunakan purely sebagai sebuah styling/layout hook adalah correct. Tidak semuanya perlu sebuah semantic element; forcing satu adalah -nya own mistake.
  • Verify, jangan assume. periksa accessibility tree di Anda browser’s DevTools — ini exposes landmark peran Anda markup produces, yang adalah yang sama structure machines baca.

Bagaimana ini fits ke HTML SEO hub

ini artikel adalah satu deep dive di bawah parent HTML SEO hub, yang covers wider pertanyaan dari bagaimana mesin pencari parse dan gunakan Anda HTML — heading hierarchy, HTML validity, dan bagaimana forgiving parsers tangani messy markup. I’ve dengan sengaja dipertahankan ini halaman scoped untuk semantic elements themselves dan left itu topics untuk hub dan -nya sibling artikel. Semantic HTML juga pairs secara langsung dengan data terstruktur: markup memberikan Anda schema sebuah trustworthy foundation, dan dua melakukan complementary jobs.

FAQs

melakukan semantic HTML help SEO atau adalah ini hanya untuk accessibility? Keduanya — ini helps penelusuran mesin identify Anda main konten dan ini adalah essential untuk accessibility. tetapi ini adalah tidak sebuah peringkat factor.

melakukan menggunakan <article> tag meningkatkan rankings? Tidak. Mueller: ini “melakukan tidak memiliki any particular effect di Google Search.” (terjemahan) “melakukan tidak memiliki apa pun particular effect di Google Search.”

apa perbedaan antara <article> dan <section>? <article> adalah self-berisi konten itu dapat stand alone di sebuah feed; <section> adalah sebuah themed grouping dengan -nya own heading. Neither adalah sebuah <div> replacement.

dapat I memiliki lebih daripada satu <main> element pada sebuah halaman? Tidak — satu <main> per halaman.

melakukan Google memerlukan valid HTML untuk peringkat sebuah halaman? Tidak — sebagian besar dari web tidak valid HTML, dan Google “can rarely depend on semantic meanings hidden in the HTML specification.” (terjemahan) “dapat rarely bergantung pada semantic meanings hidden di HTML specification.”

adalah semantic HTML yang sama sebagai semantic SEO? Tidak — satu adalah markup, lainnya adalah topical/entity konten strategy.

seharusnya I gunakan <a> atau <button> untuk sebuah clickable element? Bergantung apa ini melakukan. jika ini navigates untuk sebuah URL atau fragment, gunakan <a href>. jika ini performs sebuah tindakan pada saat ini halaman (submit, toggle, open sebuah modal), gunakan <button>. jangan fake satu dengan sebuah styled <div> dan sebuah click handler.

melakukan nesting <section> perubahan apa heading tingkat I seharusnya gunakan? Tidak. HTML5’s old document outline algorithm — yang akan memiliki computed sebuah implicit heading peringkat dari sectioning nesting — adalah tidak pernah implemented oleh apa pun browser atau screen reader, dan saat ini spec tidak define outlines itu cara. gunakan jelas, correctly-ordered <h1>–<h6> regardless dari nesting depth.

melakukan correct semantic HTML atau data terstruktur jaminan sebuah rich hasil? Tidak. Google’s own structured-data documentation says didukung markup tidak jaminan sebuah spesifik penelusuran presentation — eligibility untuk sebuah fitur adalah terpisah dari apakah Anda markup adalah technically valid.

Bukti untuk klaim ini Semantic HTML and search structured data are distinct layers: native elements describe document content and controls, while supported structured-data markup supplies feature-specific machine-readable properties; valid markup does not guarantee a rich result or ranking gain. Cakupan: supported structured-data features Tingkat keyakinan: tinggi · Diverifikasi: Introduction to structured data markup in Google Search

Tambahkan catatan pakar

Sematkan kutipan pakar

Orang baru? Buat profilnya yang belum diklaim di /admin/experts/ → Sematkan kutipan pakar terlebih dahulu.