數位行銷

【SEO 教學】WordPress 出現兩個 H1 該怎麼修改?(實戰完整解法)

在進行 WordPress SEO 優化時,常見問題之一是同一個頁面出現兩個 H1 標題,多半來自主題將「網站名稱」與「頁面內容主標」同時設為 H1。

這會讓搜尋引擎難以判斷頁面主題,也可能影響無障礙檢測結果。

正確做法是:每個頁面僅保留一個 H1 作為內容主標,其餘如 Logo 或網站名稱應改用 div 或 p 標籤。

修正 H1 結構有助於提升 WordPress SEO 表現與網站整體品質。

  wp seo2

 

為什麼網頁有兩個 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(改成 divp

 

實作步驟(照做就能修好)

Step 1:確認是否真的有兩個 H1

  1. 打開你要檢查的頁面(通常是首頁)
  2. 右鍵 →「檢查」(Inspect)
  3. 在 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:改完立刻驗證

  1. 回到首頁 → 右鍵檢查 → 搜 <h1
  2. 確認只剩 1 個 H1(內容主標)
  3. 重跑你的無障礙/SEO 檢測工具,確認「H1 重複」已消失

 

Wordpress 常見狀況與排雷

我找不到「網站識別(Site Identity)」怎麼辦?

不少商用主題不走 WordPress 預設的網站識別設定,所以你後台看不到是正常的。

這種情況就直接改主題模板檔(通常是 template-parts/logo.php 或 header layout 檔)。

 

改完沒生效?

  • 清除快取:外掛快取 / 主機快取 / CDN(Cloudflare)
  • 確認改的是「正在使用的主題」
  • 主題可能有多個 header layout:檢查 layout-1.phplayout-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。

提示:本文重點是「修 H1 結構」,不是刪 SEO Title。

H1 是語意結構,Title 是搜尋結果標題;兩者角色不同,請別互砍。

 

案例紀錄一:Wordpress 外觀主題輸出結構錯誤

本次 WordPress SEO 問題一開始從「無障礙檢測與 SEO 工具提示頁面有兩個 H1」開始。

直覺第一反應通常是 AIO SEO 或 Rank Math 設定錯誤,因此先檢查 AIO SEO 的首頁 Title、頁面標題與 Schema 設定,確認外掛僅影響 <title>,並未實際輸出額外的 <h1>
透過瀏覽器檢查工具搜尋 <h1> 後,發現其中一個 H1 來自 site-title,顯示為「精品家具…」,而非頁面內容主標。

這一步確認了:問題不在 SEO 外掛,而在主題本身的 HTML 結構。

 

案例紀錄二:Unero 主題使用 hook 與 template 拆檔,H1 被藏在多層結構中

本網站使用的 WordPress 主題為 Unero(商業電商主題)。

Wordpress 佈景主題 Unero

初步檢查 header.php 時,並未直接看到 <h1 class="site-title">,因為 Unero 並非在 header 內寫死 HTML,而是透過 do_action('unero_header') 掛載。
進一步追查 functions.php 後,確認 Header 是由 /inc/frontend/header.php 管理,並透過 get_template_part( 'template-parts/headers/layout-X' ) 載入實際版型。

最終在 layout-1.php 中定位到 get_template_part('template-parts/logo'),再深入 template-parts/logo.php,才發現主題在此使用條件判斷:

首頁用 <h1> 輸出 site-title,內頁則改為 <p>

這種舊式寫法正是造成首頁 H1 重複的根本原因。

 

案例紀錄三:直接修改 logo.php,移除條件式 H1,根治問題

確認來源後,實際解法並非關閉「網站標題」或調整後台設定,而是直接修改主題模板檔案

wp-content/themes/unero/template-parts/logo.php 中,將原本以 printf() 輸出、依條件切換 <h1> / <p> 的程式碼移除,改為固定使用 <div class="site-title">

同時補上「site description 有內容才輸出」的判斷,避免產生空的 H2 標籤。

修改完成後重新檢查 DOM,首頁僅剩內容區塊的一個 H1,無障礙檢測與 WordPress SEO 工具中的 H1 重複警告同步消失,確認此為結構層級問題而非設定問題,

也證實:真正有效的 SEO 修正,往往需要理解主題結構,而不是只調外掛。

 

實務總結

這次案例說明,在進行 WordPress SEO 優化時,若遇到 H1 重複問題,應優先檢查主題是否將 site-title 誤用為 H1。

即使使用成熟的 SEO 外掛,主題本身的模板結構仍可能成為 SEO 與無障礙的隱性地雷。

 

想快速確認你的 WordPress 是否也有「兩個 H1」問題?

如果你也遇到:SEO 工具提示 H1 重複、無障礙檢測不過、或主題把 site-title 當 H1,建議先做一次結構健檢,避免你一直在外掛裡面亂找。

👉 預約 WordPress SEO 結構健檢(H1/H2/Title/無障礙一次查清楚)

提醒:若你直接改主題檔案,建議後續用子主題覆寫,避免主題更新覆蓋。

 

最新文章

原創、翻譯及轉貼的資訊都在這裡。

網站是實現夢想的工具! 開始準備建置您的網站了嗎? 加Line好友
OMO電商 社群整合,輕鬆提升5倍轉換率,追蹤客戶行為,自動化行銷!想了解,快與我們聯絡! ×
點此加我們LINE 連結line帳號
Our website is protected by DMC Firewall!