在進行 WordPress SEO 優化時,常見問題之一是同一個頁面出現兩個 H1 標題,多半來自主題將「網站名稱」與「頁面內容主標」同時設為 H1。
這會讓搜尋引擎難以判斷頁面主題,也可能影響無障礙檢測結果。
正確做法是:每個頁面僅保留一個 H1 作為內容主標,其餘如 Logo 或網站名稱應改用 div 或 p 標籤。
修正 H1 結構有助於提升 WordPress SEO 表現與網站整體品質。
為什麼網頁有兩個 H1 會對 SEO 不利?
很多 WordPress 主題(特別是商業電商主題)會把「網站名稱(site-title)」當作頁面最重要的標題,直接輸出成 <h1 class="site-title">。
但首頁/頁面內容通常也有自己的 <h1>(例如主視覺大標、文章標題),就會變成同一頁兩個 H1。
常見錯誤狀態:
<h1 class="site-title">網站名稱</h1>
<h1>頁面內容主標</h1>
這會造成:SEO 結構混亂、無障礙檢測失敗、H 標籤階層跳級更容易被抓。
正確原則:網站頁面只留一個 H1
唯一原則:H1 只留給「頁面內容主標」。網站名稱/Logo 不要用 H1。
你可以保留:
- SEO 外掛的 Title(這是
<title>,不是 H1) - 網站標題(Site Title) 作為系統/外掛變數(不需要砍掉)
你需要處理的是:
- 畫面上輸出的
h1.site-title(改成div或p)
實作步驟(照做就能修好)
Step 1:確認是否真的有兩個 H1
- 打開你要檢查的頁面(通常是首頁)
- 右鍵 →「檢查」(Inspect)
- 在 Elements 面板按
Ctrl + F搜尋<h1
判讀:如果你看到 class="site-title" 的 H1,通常就是主題在 Header 產生的,該改掉。
Step 2:找到主題輸出 site-title 的檔案位置
常見位置(依主題而異):
/wp-content/themes/你的主題/template-parts/logo.php/wp-content/themes/你的主題/template-parts/logo.php(或 logo 相關檔)/wp-content/themes/你的主題/template-parts/headers/layout-*.php- 如果主題用 hook:通常會由
get_template_part()引入上述檔案
在主題檔案中用「搜尋」找這些關鍵字:
site-title
bloginfo('name')
<h1
Step 3:把 h1.site-title 改成 div 或 p
常見錯誤寫法(要改):
<h1 class="site-title">
<a href="/" rel="home">網站名稱</a>
</h1>
正確寫法(推薦):
<div class="site-title">
<a href="/" rel="home">網站名稱</a>
</div>
Step 4:site-description 空值時不要輸出(避免空 H 標籤)
如果你的主題有這種輸出:
<h2 class="site-description"></h2>
建議改成「有內容才輸出」,且不要用 H2 當副標(用 p 即可)。
Step 5:給你一段「不會 syntax error」的 PHP 寫法
如果你在 WordPress 內建編輯器改檔案,最怕貼 HTML 貼到 PHP 區塊導致 unexpected '<'。這段做法全部用 PHP echo,最穩。
<?php
// Site title(永遠不要 h1)
echo '<div class="site-title"><a href="' . esc_url( home_url( '/' ) ) . '" rel="home">'
. esc_html( get_bloginfo( 'name' ) ) .
'</a></div>';
// Site description(有內容才輸出)
$desc = get_bloginfo( 'description' );
if ( ! empty( $desc ) ) {
echo '<p class="site-description">' . esc_html( $desc ) . '</p>';
}
?>
Step 6:改完立刻驗證
- 回到首頁 → 右鍵檢查 → 搜
<h1 - 確認只剩 1 個 H1(內容主標)
- 重跑你的無障礙/SEO 檢測工具,確認「H1 重複」已消失
Wordpress 常見狀況與排雷
我找不到「網站識別(Site Identity)」怎麼辦?
不少商用主題不走 WordPress 預設的網站識別設定,所以你後台看不到是正常的。
這種情況就直接改主題模板檔(通常是 template-parts/logo.php 或 header layout 檔)。
改完沒生效?
- 清除快取:外掛快取 / 主機快取 / CDN(Cloudflare)
- 確認改的是「正在使用的主題」
- 主題可能有多個 header layout:檢查
layout-1.php、layout-2.php…
提醒:直接修改主題檔案,主題更新可能會覆蓋。長期建議用子主題(Child Theme)做同路徑覆寫。
問與答(FAQ)
WordPress 為什麼會出現兩個 H1?
通常是主題把網站名稱(site-title)輸出成 H1,同時頁面內容也有 H1(例如首頁大標、文章標題),因此同一頁出現兩個 H1,導致 SEO 與無障礙檢測問題。
哪一個 H1 要保留?
只保留「頁面內容主標」那一個 H1。
網站名稱或 Logo 所使用的 h1.site-title,應改成 div 或 p。
SEO 外掛(AIO SEO / Rank Math)的「頁面 Title」跟 H1 有衝突嗎?
不衝突。
SEO 外掛控制的是 <title> 與 meta 資訊,H1 是頁面內容的語意結構,兩者角色不同。
改掉 h1.site-title 會不會影響 Google 搜尋結果標題?
不會。
Google 搜尋結果標題主要來源是 <title>,而不是 H1。
修正 H1 結構反而有助搜尋引擎理解頁面主題。
改主題檔案會被更新覆蓋,怎麼辦?
會。
正式做法是建立子主題(Child Theme)並覆寫對應檔案;若先求快速修復,可先直接改主題檔,再補子主題。
改完還是看到兩個 H1?
請先清除快取,並用瀏覽器檢查工具搜尋 <h1>。
若仍有兩個,通常是其他區塊(如首頁主視覺或頁面建構器)也額外輸出 H1。