# SEO

Heading Structure untuk SEO dan Accessibility: Panduan Praktikal

Heading Structure untuk SEO dan Accessibility: Panduan Praktikal

Heading menamakan section dan menunjukkan hubungan idea. Ia membantu reader scan, assistive technology navigate, table of contents dan search system memahami page. Nilainya datang daripada outline yang jujur—bukan keyword berulang atau setiap bold line dijadikan heading.

Gunakan satu H1 jelas sebagai default praktikal

Browser dan Google boleh memproses markup yang tidak sempurna; multiple H1 bukan automatic penalty. Namun panduan MDN semasa mengesyorkan satu H1 yang menerangkan page, diikuti H2–H6 yang nested secara logik. Ini memberi satu main title yang reliable untuk design, accessibility dan QA.

Jawapan ringkas: satu tugas untuk setiap level

LevelTugasUse biasa
H1Nama main topic atau taskSatu page title jelas
H2Major section di bawah page topicScope, process, price, evidence, FAQ
H3Subsection berkaitan dalam H2Step group, option atau sub-question
H4Subsection sebenar dalam H3Detailed method/example
H5–H6Dokumen luar biasa mendalamTechnical specification/standard
CSS classVisual treatment sahajaSize, weight, colour, spacing

Heading menerangkan struktur, bukan saiz font

Pilih level berdasarkan hubungan section. Gunakan CSS untuk jadikan H2 kecil atau paragraph besar. Bold sentence bukan automatik heading.

W3C mengesyorkan nesting mengikut rank dan elak skipped level semasa membuka subsection. Kembali dari H4 ke H2 adalah betul apabila subsection tamat; membuka H4 terus bawah H2 biasanya mengelirukan.

IntentGunakanJangan
Nama pageH1Large styled paragraph
Major sectionH2H3 kerana nampak kecil
SubsectionH3 bawah H2Bold text tanpa semantic
Short labelp/span + CSSHeading untuk typography
Navigation groupLandmark + optional headingLevel ikut article depth secara tidak sengaja

Kenapa satu H1 ialah operating convention terbaik

Satu H1 menjadikan primary title jelas untuk CMS, design system, screen-reader heading list dan automated check. Ia convention untuk clarity dan maintainability, bukan ranking secret.

Jika page mempunyai multiple H1, inspect punca dahulu. Logo, modal, embedded article atau reusable component mungkin menghasilkannya. Baiki model, bukan tukar semua kepada H2 secara buta.

FindingMaksud mungkinResponse
Satu descriptive H1Primary topic jelasKeep dan verify unique
Tiada H1Visual title salah element/data tiadaTambah visible page title
Dua competing H1Main title ambiguousPilih satu, restructure satu lagi
Logo/site name H1 setiap pageGlobal header ambil document titleBrand link bukan heading; content own H1
Multiple H1 dalam widgetComponent semantics tidak coordinatedLevel ikut containing page

Selaraskan title element, visual title dan H1

<title> menamakan document dalam browser/search; H1 menamakan visible page. Wording boleh berbeza tetapi promise topic dan task mesti sama.

Google boleh menggunakan title, heading dan prominent text untuk title link. Jika beberapa large heading bersaing, yang pertama mungkin dipilih. Rujuk workflow title tag.

ElemenSurfaceHubungan baik
<title>Browser/search sourcePage identity + optional brand
H1Visible main titlePurpose sama, readable
Hero eyebrowCategory/contextShort label, bukan competing title
Hero subheadingAudience/outcomeSupport H1
og:titleSocial previewSame destination promise

Bina outline sebelum menulis section

Mulakan dengan page job, kemudian list question atau decision user. Group related item sebagai H2 dan tambah H3 hanya apabila H2 benar-benar ada subsection.

Seven-step outline test
  1. Tulis single page purpose sebagai draft H1.
  2. List primary question, decision atau stage.
  3. Group overlap dan buang section yang tidak support job.
  4. Jadikan major group descriptive H2.
  5. Tambah H3 hanya untuk real subsection.
  6. Baca H1–H3 sahaja seperti table of contents.
  7. Pastikan order ikut user journey, bukan keyword list.

Tulis heading yang jelas tanpa context

Screen-reader user boleh membuka heading list atau jump antara heading. “Why it matters” yang berulang tidak jelas. Namakan topic, result atau decision sebenar.

WCAG 2.2 menetapkan heading dan label yang digunakan mesti menerangkan topic atau purpose. Ia tidak perlu panjang.

LemahLebih jelasSebab
Why it mattersWhy internal links improve discoveryNama subject
Our solutionSEO Teknikal audit and implementationExplain work
More informationWebsite maintenance response timesPredict section
Step 3Validate redirects before launchTambah task
Amazing resultsOrganic leads after the migrationEvidence, bukan hype
FAQFAQ about backlink servicesUseful jika banyak group

Map heading mengikut page type

PageH1 jobH2 pattern
Laman UtamapagePrimary offer/valuePerkhidmatan, proof, work, insights, contact
ServiceService outcome + audienceBest fit, scope, process, deliverables, pricing, FAQ
ArtikelAnswer query / promise taskDefinition, decision, workflow, example, mistake, FAQ
Hub/categoryCollection + learning purposeStart here, subtopics, resources, updates
Product/toolProduct + primary useUse case, feature, setup, limit, price, support
Case studyProject + relevant outcomeContext, challenge, approach, work, result, lesson
HubungiHubungi/enquiry taskWays, preparation, response expectation
FAQ pageSupport scopeTopic groups + questions

Card perlukan heading hanya jika real section

Card title boleh menjadi heading jika card ialah meaningful subsection seperti service, article atau project. Statistic, badge, button dan small label biasanya bukan heading.

Repeated card ikut level container. Grid bawah H2 biasanya menggunakan H3. Reusable component mungkin perlukan configurable level, bukan hard-coded H2.

ComponentDecisionCheck
Service cardHeading jika ada own contentLevel ikut grid
Blog cardArtikel title sebagai headingLinked heading describe destination
Image-only portfolioAccessible link label mungkin cukupTiada hidden keyword heading
StatisticPlain textValue/label associated
Pricing packageHeading jika distinct optionFeatures dalam section package
CTA panelHeading jika real sectionButton bukan heading

Urus accordion, tabs, modal dan menu

Interactive control perlukan accessible name, role dan state. Accordion question boleh menjadi heading jika ia juga section title, tetapi button masih perlukan expanded state dan keyboard behaviour.

Tab content mesti connected kepada control. Dialog heading melabel dialog, bukan second page H1.

ComponentStructureAccessibility
AccordionQuestion mungkin H3 bawah FAQ H2Button name + aria-expanded
TabsPanel title ikut hierarchyTab/panel relationship
ModalDescriptive dialog titleLabel + focus management
Mega menuNavigation group/labelTidak distort article outline
CarouselHeading hanya untuk real sectionHidden slides tidak confuse
TooltipBukan document sectionControl description

Fixed region mesti konsisten antara template

Navigation, sidebar dan footer boleh ada heading serta landmark sendiri. W3C menyatakan fixed region patut kekalkan rank konsisten dan tidak berubah mengikut heading terdalam dalam article.

Gunakan <nav>, <main>, <aside> dan <footer> dengan tepat.

Global template checks
  • Main content ada satu H1.
  • Header logo bukan H1 setiap route.
  • Navigation label konsisten.
  • Sidebar tidak copy H1.
  • Footer heading untuk real group.
  • Mobile/desktop nav duplicate tidak exposed.
  • Popup/cookie banner tiada H1.
  • Combined outline masih logik.

Stable heading ID untuk table of contents

Long page boleh menggunakan TOC. Generate unique stable ID daripada controlled slug atau stored identifier supaya wording change tidak semestinya memecahkan shared deep link.

Jika sticky header menutup target, gunakan scroll-margin-top. Test focus, history, translation dan duplicate heading.

RisikoContohControl
Duplicate IDDua “Examples”Unique stored ID
Broken deep linkHeading wording berubahPreserve ID jika purpose sama
Covered targetSticky headerTatal offset + focus test
Non-Latin slugEncoded fragment susah shareStable readable convention
Collapsed sectionAnchor dalam accordion tutupReveal target state
Empty TOCScript terlalu awalGenerate daripada final headings

Localize meaning, bukan heading text sahaja

Setiap language page perlukan natural outline. Jangan tinggalkan English heading dalam Malay/Chinese content dan jangan paksa word order sama. Hierarchy dan page job perlu equivalent.

Google mengesyorkan prominent text sepadan dengan language dan writing system page.

Multilingual heading QA
  • H1 localized dan unique.
  • Title/H1 describe purpose sama.
  • Tiada mixed-language fallback.
  • Equivalent translation kekalkan level.
  • Heading describe following section.
  • TOC/fragment work setiap language.
  • Text expansion tidak break mobile.
  • Hreflang/canonical aligned.

Cegah CMS dan page-builder noise

Template sering menyebabkan lebih banyak masalah daripada writer. Logo widget, reusable block, card, hidden responsive copy dan empty field boleh menghasilkan headings di banyak URL.

Fix source component dahulu. Sample beberapa page type kerana level card boleh berubah ikut placement.

PatternSourceFix
H1 sama setiap pageGlobal template/logoBind page title; tukar brand markup
Empty H2/H3Optional field render tagRender jika content wujud
H2 terus H4Visual-size dropdownPisah semantic/style
Terlalu banyak H2 cardsHard-coded componentContextual level/plain text
Duplicate mobile headingDua layouts exposedOne semantic source/hide correctly
Icon-only headingDecorative widgetRemove/proper accessible label
Semua FAQ H2Component ignore hierarchyH3 bawah FAQ H2

Gabung crawl dengan manual outline review

Crawler boleh cari missing, empty, duplicate, multiple H1 dan rank jump. Ia tidak boleh menentukan sama ada “Overview” jelas atau mobile order bercerita dengan betul.

Gunakan automated finding sebagai review queue dan fix shared causes dahulu.

FindingApa dibuktikanManual question
Missing H1Tiada H1 parsedAdakah visual title salah element?
Multiple H1Lebih satu H1Competing atau separate context?
Duplicate H1Text repeatDuplicate page atau valid name?
Skipped rankNumeric jumpOpen subsection atau close previous?
Long headingLebih thresholdTidak jelas atau specific?
Empty headingTiada accessible textIcon/CSS sembunyikan isu?

Audit daripada page ke template

12-step heading workflow
  1. Export indexable URL dengan title, H1 dan counts.
  2. Group ikut template dan business importance.
  3. Check desktop/mobile setiap core template.
  4. Identify visible main title sebagai satu H1.
  5. Banding title, H1 dan opening answer.
  6. Baca outline H1–H6 tanpa paragraph.
  7. Mark vague, empty, decorative, duplicate dan wrong rank.
  8. Test cards, accordion, tabs, dialog, menu dan hidden content.
  9. Test keyboard/screen-reader heading navigation.
  10. Review semua language.
  11. Fix reusable component dahulu.
  12. Re-crawl dan record QA.

Ukur clarity tanpa ranking claim palsu

Heading cleanup boleh bantu navigation dan comprehension, tetapi ranking change tidak boleh dikaitkan dengan heading order sahaja. Intent, content, links, competition dan eligibility juga terlibat.

Ukur page task: guide melalui TOC/section engagement/next step; service page melalui qualified enquiry, bukan scroll depth sahaja.

ObjectiveEvidenceGuardrail
Cari sectionTOC use, navigation test, observationMore click bukan automatik baik
Faham promiseTask test, kurang confusionTitle/H1/content align
AccessibilityScreen-reader + WCAGAutomation incomplete
Kurang template defectMissing/empty/competing H1 turunClean report bukan proof wording
Cari understandingStable relevance/performanceTiada heading-only promise
Conversion pathCTA progress/qualified enquiryAccount simultaneous changes

Kesilapan heading

  • Level untuk font size.
  • Setiap bold/card label jadi heading.
  • Exact keyword dalam semua heading.
  • Logo sebagai H1 setiap page.
  • Dua equally prominent title.
  • H2 terus H4 untuk subsection.
  • Fix multiple H1 tanpa context.
  • Hard-coded card heading.
  • Repeated vague “Learn more”.
  • Empty heading daripada optional field.
  • Duplicate exposed mobile/desktop heading.
  • Anggap perfect outline boleh rank weak content.

Soalan lazim

Semua page perlu H1?

Most meaningful indexable page patut ada satu visible H1. Utility interface masih perlukan accessible title/label.

Boleh multiple H1?

Browser dan Google boleh proses, jadi bukan automatic penalty. Satu descriptive H1 tetap convention paling reliable.

Title dan H1 mesti sama?

Tidak. Wording boleh berbeza tetapi page purpose mesti sama.

Boleh H2 terus H4?

Elak semasa membuka subsection. Kembali H4 ke new H2 betul apabila nested section tamat.

Perlu exact-match keyword?

Tidak. Gunakan wording yang reader perlukan.

Berapa banyak H2?

Tiada fixed number; ikut major section yang page task perlukan.

Semua card title heading?

Hanya meaningful section. Label/stat/button biasanya bukan heading.

FAQ H2 atau H3?

Ikut container; jika FAQ group H2, questions biasanya H3.

Heading effect ranking?

Ia bantu structure, tetapi tiada guaranteed lift daripada level change.

Tool boleh fix automatik?

Tool cari pattern; manusia perlu judge relationship, wording dan component context.

Rujukan rasmi

Perlukan langkah seterusnya?Pastikan page boleh difahami daripada outline sahaja.

Kongsikan representative templates atau crawl export. Jack boleh map H1–H6, buang page-builder noise dan utamakan reusable fixes.

Bincang audit heading structure

Jack Lee

Jack Lee

Building Cari Visibility with SEO, GEO & Laman Web Dibantu AI melalui projek dan eksperimen praktikal.