2025.12.29
2026 HTML 架構教學|從草稿到語意化版型:一步步組出一頁完整網頁
一、為什麼要特別學「HTML 架構」,而不是再多背幾個標籤?
很多人學 HTML 的順序是:標籤是什麼 → 怎麼用 → 能不能顯示出來
但做到這裡,你頂多是「會打字的人」,還不是「會設計結構的人」。
一個好的 HTML 架構,至少要做到:
- 一眼看出:頁面有哪些區塊?哪裡是主內容?
- 標題階層清楚:H1 是什麼?H2、H3 如何對應內容大綱?
- 語意化標籤用得合理:header / main / section / article / aside / footer 有分工
- 後續換版型、改設計、做 RWD 時,不需要大改 HTML
內容大綱 → 手繪草稿 → 區塊命名 → 選標籤 → 寫出語意化 HTML 架構
二、在寫 HTML 之前:先畫出你的頁面架構
新手最常見的錯誤:一打開編輯器就開始敲 <div>。在實務上,我們通常會先做兩件事:
- 列出這一頁要放哪些內容
- 大致畫出區塊位置(Wireframe)
2-1 用「大綱」的方式拆內容
以一個服務介紹頁為例,你可能會列出:頁首:Logo、主選單、聯絡按鈕
Hero 區:主標、簡介、行動呼籲(CTA 按鈕)
服務介紹:三~四個服務卡片
案例/客戶見證
常見問題(FAQ)
頁腳:聯絡資訊、版權、社群連結
這個大綱稍微整理一下,其實就已經很接近 HTML 的架構:
- <header>:Logo + 導覽列
- <main>:主要內容
- <section> Hero
- <section> 服務介紹
- <section> 案例/見證
- <section> FAQ
- <footer>:聯絡資訊與版權
2-2 用「由外而內」的思維拆版型
一頁網頁可以想像成:- 最外層:整個頁面 <html> → <body>
- 第一層區塊:header / main / footer /(有時)aside
- 第二層區塊:每個 section、article
- 第三層內容:標題、段落、清單、圖片、表格…
- 先想:這一塊內容在整頁中扮演什麼角色?
- 再決定:適合用哪一個語意標籤包起來?
三、HTML 頁面骨架快速複習
在實務開發中,比起一開始就看 <head>,更推薦先理解「畫面是怎麼被組成的」。因為對使用者與搜尋引擎來說,真正有意義的內容,其實都在 <body> 裡。
以下我們會用「從外到內」的方式,快速理解 HTML 頁面結構。
(一)HTML 最外層結構(先看全貌)
<!DOCTYPE html>
<html lang="zh-Hant">
<head>
<!-- 給瀏覽器與搜尋引擎看的資訊 -->
</head>
<body>
<!-- 使用者實際看到的畫面 -->
</body>
</html>
你可以把整個網頁想成一個人:
- <html>:整個人
- <head>:大腦(設定、理解、判斷用)
- <body>:身體(使用者真正看到與互動的內容)
(二)先從 body 看起:畫面是怎麼組成的?
<body> 裡面放的,才是真正呈現在畫面上的內容,例如:- 導覽列(header)
- 主要內容(main)
- 文章區塊(article)
- 區段內容(section)
- 側欄(aside)
- 頁尾(footer)
一個標準、好理解的結構通常長這樣:
<body>
<header>
網站標題與導覽列
</header>
<main>
<section>
<h1>主標題</h1>
<p>主要內容說明</p>
</section>
<section>
<h2>次標題</h2>
<p>補充說明內容</p>
</section>
</main>
<footer>
版權資訊、聯絡方式
</footer>
</body>
為什麼這樣切很重要?
- 搜尋引擎能快速理解內容結構
- 輔助科技(如螢幕閱讀器)能正確導覽
- CSS 與 RWD 排版更好維護
- SEO 權重更清楚地集中在重要內容
四、語意化布局:六個常用結構標籤如何分工?
這六個是 HTML 架構的主角,你前一篇有介紹,這裡用「分工表」再整理一次:- <header>:頁首;常放 Logo、主選單、搜尋框。
- <nav>:導覽區;放主要導覽連結(不一定要在 header 裡,但很常在)。
- <main>:一頁中最重要、唯一的主內容。
- <section>:一個主題區塊(像是「最新消息」、「服務介紹」)。
- <article>:一篇可以獨立存在的內容,例如一篇部落格文章、一則新聞。
- <aside>:側欄、補充資訊、相關連結。
- <footer>:頁腳;常放版權、聯絡方式、次要連結。
4-1 一頁網頁的通用骨架範例
<body>
<header>
<!-- Logo、主選單、可能的聯絡按鈕 -->
</header>
<main>
<!-- 一塊一塊的主內容 section -->
</main>
<aside>
<!-- 側欄:熱門文章、下載區、聯絡資訊、小工具 -->
</aside>
<footer>
<!-- 版權資訊、社群連結、次要選單 -->
</footer>
</body>
你可以把這個視為「所有頁面都可以套用的基本框架」,接下來只要決定:
main 裡要放幾個 section?有沒有需要 article?側欄要不要出現?
五、實戰 1:品牌官網首頁的 HTML 架構
先定義首頁常見區塊:- Hero 區(主視覺 + Slogan + CTA)
- 服務項目總覽
- 精選案例
- 最新消息 / 部落格摘要
- 行動呼籲區(再次 CTA)
- 頁腳
5-1 架構示範(不含細節樣式)
<body>
<header>
<div class="logo">Brand Logo</div>
<nav>
<ul>
<li><a href="#services">服務項目</a></li>
<li><a href="#cases">成功案例</a></li>
<li><a href="#blog">最新文章</a></li>
<li><a href="#contact">聯絡我們</a></li>
</ul>
</nav>
</header>
<main>
<!-- Hero 區 -->
<section id="hero">
<h1>用 HTML5 打造現代網站</h1>
<p>一句話說明你的品牌或服務價值。</p>
<a href="#contact">立即聯絡我們</a>
</section>
<!-- 服務項目 -->
<section id="services">
<h2>我們的服務</h2>
<!-- 三~四個服務卡片 -->
</section>
<!-- 精選案例 -->
<section id="cases">
<h2>成功案例</h2>
<!-- 案例列表或卡片 -->
</section>
<!-- 最新文章 -->
<section id="blog">
<h2>最新文章</h2>
<!-- 多個 <article>,每篇有標題與摘要 -->
<article>
<h3>HTML 基礎知識介紹</h3>
<p>簡短摘要內容…</p>
</article>
<article>
<h3>HTML5 常用標籤與語法教學</h3>
<p>簡短摘要內容…</p>
</article>
</section>
<!-- 行動呼籲區 -->
<section id="contact">
<h2>準備好開始你的網站了嗎?</h2>
<p>留下資訊,我們會在 1~2 個工作天內與你聯繫。</p>
<!-- 這裡未來可以放表單 -->
</section>
</main>
<footer>
<p>© 2026 某某公司.保留所有權利</p>
</footer>
</body>
這裡的重點不在 CSS,而是:
- 使用 id 讓導覽列可以跳到對應區塊
- 每個主要區塊用 <section>,並搭配一個 <h2>
- 文章列表用 <article> 包起來,之後可以單獨連到每篇文章頁
六、實戰 2:服務介紹頁(單欄內容+側欄)的 HTML 架構
這類頁面常見在 B2B 官網、服務型網站。內容大綱:
- 主標題:這個服務是什麼
- 服務簡介 & 優點
- 服務流程
- 價格區間或方案(不一定要寫死)
- FAQ
- 側欄:聯絡資訊、下載 DM、其他服務連結
6-1 架構示範
<body>
<header>
<!-- 共用 header -->
</header>
<main>
<article>
<header>
<h1>企業網站設計服務</h1>
<p>專為中小企業打造的客製化網站方案。</p>
</header>
<section>
<h2>服務特色</h2>
<!-- 列點或卡片 -->
</section>
<section>
<h2>合作流程</h2>
<!-- 步驟清單 -->
</section>
<section>
<h2>方案說明</h2>
<!-- 價格區間、方案比較表 -->
</section>
<section>
<h2>常見問題(FAQ)</h2>
<!-- 問答列表,可用 <dl> 或 <details> -->
</section>
<footer>
<p>想了解更多細節,歡迎直接與我們聯絡。</p>
</footer>
</article>
</main>
<aside>
<section>
<h2>聯絡與諮詢</h2>
<!-- 聯絡資訊或按鈕 -->
</section>
<section>
<h2>下載服務簡章</h2>
<!-- 檔案下載連結 -->
</section>
<section>
<h2>其他服務</h2>
<!-- 站內其他服務連結 -->
</section>
</aside>
<footer>
<!-- 共用 footer -->
</footer>
</body>
關鍵概念:
- 整頁主體用 <article>,因為「服務介紹頁」本身就是一個獨立內容。
- <aside> 放的是輔助資訊,即使拿掉,主內容也說得通。
- <article> 裡仍然可以有 <header>、<footer>,這不是只留給整個網站用的。
七、實戰 3:部落格文章頁 HTML 架構
文章頁是最能展現「標題階層+語意化」威力的地方,也直接關係到 SEO。常見內容:
- 文章標題、作者、日期
- 文章主內容(多個小節)
- 相關文章、標籤
- 作者簡介
- 留言區
7-1 架構示範
<body>
<header>
<!-- 網站共用 header -->
</header>
<main>
<article>
<header>
<h1>HTML 架構教學:從草稿到語意化版型</h1>
<p>作者:Luna|更新日期:2026/01/05</p>
</header>
<section>
<h2>為什麼要學 HTML 架構?</h2>
<p>說明文章目的與閱讀收穫……</p>
</section>
<section>
<h2>先從內容大綱開始拆頁面</h2>
<h3>列出這一頁要出現的資訊</h3>
<p>……</p>
<h3>畫出簡單區塊草圖</h3>
<p>……</p>
</section>
<section>
<h2>用語意化標籤組出骨架</h2>
<p>……</p>
</section>
<footer>
<section aria-label="文章標籤">
<h2>標籤</h2>
<ul>
<li><a href="/tags/html">HTML</a></li>
<li><a href="/tags/frontend">前端</a></li>
</ul>
</section>
<section aria-label="作者介紹">
<h2>作者介紹</h2>
<p>簡單介紹作者背景……</p>
</section>
</footer>
</article>
<aside>
<section>
<h2>相關文章</h2>
<ul>
<li><a href="/html-basic">HTML 基礎知識介紹</a></li>
<li><a href="/html5-tags">HTML5 常用標籤與語法教學</a></li>
</ul>
</section>
</aside>
</main>
<footer>
<!-- 網站共用 footer -->
</footer>
</body>
八、讓 HTML 架構「更好維護」的實務小技巧
8-1 命名規則一致
雖然這篇不主講 CSS,但在寫 HTML 架構時就可以有點預想,會讓未來的HTML和CSS更好維護:- id 用來對應頁面內錨點(#services、#faq)
- class 用來描述區塊角色(hero-section、service-card)
建議:
- 全部用小寫
- 多個字用連字號 -(main-banner、site-header)
- 命名讓人看到就知道目的(避免 box1、box2 這種)
8-2 避免「巢狀地獄」
如果你發現 HTML 變成這樣:
<div>
<div>
<div>
<div>
<div>內容</div>
</div>
</div>
</div>
</div>
代表你可能:
- 過度依賴 <div>,沒有善用 <section>、<article>、<header>…
- 一層一層都是為了排版,而不是為了結構
可以嘗試重構成:
<section class="hero">
<div class="hero-inner">
<h1>主標題</h1>
<p>文字說明</p>
</div>
</section>
8-3 一頁只用一個 <h1>,其餘依內容層級往下排
前面文章我們已經提過 H1 的重要性,而實際架構上的落點如下:- <h1>:整頁主題(通常在 article 或 main 開頭)
- <h2>:主段落標題(對應 section)
- <h3>:小節標題(對應 section 裡的小主題)
只要照著內容大綱 → H1 / H2 / H3 的邏輯去排,架構自然就清楚。
8-4 用註解標示大區塊
在實務專案中,頁面可能變得很長,適度加上註解可以幫未來的自己節省很多時間:
<!-- ===== Hero 區開始 ===== -->
<section id="hero">
...
</section>
<!-- ===== Hero 區結束 ===== -->
九、常見「HTML 架構」錯誤 vs 改寫示範
錯誤 1:全部用 <div>,完全沒有語意
很多初學者在排版時,會習慣所有區塊都用 <div> 包起來,例如:
<div>
<div>
<h1>公司介紹</h1>
</div>
<div>
<h2>服務內容</h2>
</div>
<div>
<h2>聯絡我們</h2>
</div>
</div>
畫面雖然能正常顯示,但從語意上來看:
- 搜尋引擎不知道哪一塊是主要內容
- 無法判斷各區塊之間的關係
- 對輔助閱讀工具(如螢幕閱讀器)也不友善
這樣的結構,本質上只是「一堆盒子疊在一起」。
改寫後:加入語意化結構
<main>
<section id="about">
<h1>公司介紹</h1>
<!-- 內容 -->
</section>
<section id="services">
<h2>服務內容</h2>
<!-- 內容 -->
</section>
<section id="contact">
<h2>聯絡我們</h2>
<!-- 內容 -->
</section>
</main>
這樣寫的好處是什麼?
- 搜尋引擎更容易理解頁面重點
- 結構一眼就看懂
- 未來擴充更方便
- 對 SEO 與可維護性都更友善
錯誤 2:為了視覺排版,犧牲語意結構
很多人會為了方便套 CSS,這樣寫:
<div class="title">最新消息</div>
<div class="content">
<div class="item">文章一</div>
<div class="item">文章二</div>
</div>
視覺上沒問題,但對搜尋引擎與輔助工具來說,完全不知道這是一個「區塊主題」。
改寫後(保留結構語意):
<section class="news">
<h2>最新消息</h2>
<article class="news-item">
<h3>文章一</h3>
</article>
<article class="news-item">
<h3>文章二</h3>
</article>
</section>
好處:
- 搜尋引擎能理解「這是一個主題區塊」
- 每一篇內容都能被視為獨立單元
- 未來要做文章列表、結構化資料都更容易
錯誤 3:標題層級跳太多(H1 → H4)
<h1>服務介紹</h1>
<h4>網站設計</h4>
這會讓搜尋引擎與輔助閱讀工具「迷路」。
正確邏輯應該是:
<h1>服務介紹</h1>
<h2>網站設計</h2>
<h3>品牌形象網站</h3>
原則很簡單:
標題是「內容階層」,不是「字體大小」。
錯誤 4:把所有內容都塞進 <main>
<main> 是「頁面唯一主內容」,但不代表所有東西都要塞進去。常見錯誤:
- footer 裡的公司資訊也放進 main
- 側欄廣告或推薦內容放進 main
正確結構應該是:
<main>
<!-- 主要內容 -->
</main>
<aside>
<!-- 輔助資訊 -->
</aside>
<footer>
<!-- 全站共用資訊 -->
</footer>
這樣不只語意正確,也更利於未來做無障礙與 SEO 優化。
十、結語:從內容大綱開始,你已經在做「前端架構設計」
很多人以為「前端架構」一定要很會寫 JavaScript 或框架,但其實——
只要你能清楚地拆解內容結構,你就已經在做架構設計了。
HTML 架構的價值,不在於炫技,而在於:
- 讓搜尋引擎「讀得懂」
- 讓使用者「看得舒服」
- 讓未來的你(或同事)「好維護、不崩潰」
當你能在下筆前先想清楚:
- 這一塊是什麼?
- 它在頁面中扮演什麼角色?
- 需不需要被獨立理解?
你寫出來的 HTML,自然就會乾淨、有層次、有彈性。
這也是為什麼——
好的 HTML 架構,其實是設計思維,而不只是語法。
常見問題 FAQ
Q1:一定要每頁都用 <header>、<main>、<footer> 嗎?
不一定,但「大多數情況下建議使用」。只要是完整頁面,就應該有這三個角色;
如果是元件(例如卡片、區塊),才不需要硬套。
Q2:<section> 跟 <article> 到底怎麼分?
可以用一個簡單判斷方式:- article:內容能不能「單獨存在」?(文章、貼文、卡片)
- section:是不是某個主題底下的一個區塊?
- 能獨立分享到別頁 → 用 article
- 只是輔助主內容 → 用 section
Q3:一頁真的只能有一個 <h1> 嗎?
在實務與 SEO 上,「一頁一個 <h1>」仍是最穩定、最推薦的做法。特別是:
- 企業官網
- 內容型網站
- 部落格文章頁
Q4:我現在只會用 <div>,要全部重寫嗎?
不用一次改完。你可以從這三步開始:
- 先加上 <main>、<header>、<footer>
- 把最大的區塊改成 <section>
- 慢慢把重複結構改為 <article>
Q5:學好 HTML 架構,對 SEO 真的有幫助嗎?
有,而且是長期效益。它可以幫助:
- 搜尋引擎更快理解內容重點
- 結構化資料更好發揮
- 未來做 AI 搜尋、語意理解時更有優勢
