【免外掛】如何在 WordPress 設定 Noindex 的 Meta Tag?

當網站內容品質不均或存在過多重複內容時,可能會對整體 SEO 表現產生負面的影響。

本篇文章將詳細介紹如何在 WordPress 網站中設定 noindex 標記,提供三種不需使用外掛的設定方法,避免劣質內容影響網站 SEO 表現。此外,還會說明 noindex 的作用、原因以及哪些頁面適合設定
noindex,並提供檢查 noindex 標籤是否生效的方法。

為什麼要設定 noindex 標記?

網站某些部分中的劣質內容,會對整個網站的排名造成影響,因此移除劣質網頁、將個別膚淺網頁的內容合併或改為更實用的網頁,或是將品質低劣的網頁移到其他網域,最終都有助於提升優質內容的排名。

資料來源: 優質網站建立方式的額外說明 – Google 搜尋中心網誌

Google 對於「內容簡短、不切實際或缺乏實用細節」的頁面評價較低。具體來說,以下類型的頁面可能被 Google 視為劣質內容:

  • 內容簡短: 只有幾句話或一段文字的頁面。
  • 不切實際: 內容空洞、缺乏實質資訊,無法回答使用者的問題或提供價值。
  • 缺乏實用細節: 內容過於籠統,沒有提供具體的細節或案例。

在 WordPress 網站中,分類、標籤、作者、分頁、日期或特定頁面可能包含上述的問題存在,因此,為這些頁面設置 noindex 標籤,可以避免它們被 Google 索引,集中資源提升高品質內容的曝光度。

WordPress noindex 設定教學:三種免外掛方法

雖然許多 SEO 外掛(如 AIOSEO 或 Yoast SEO)提供 noindex 功能,但可能影響網站載入速度。為了兼顧效率與效能,這裡有三種直接透過修改網站程式碼的方法,讓您不需安裝外掛也能輕鬆管理索引頁面:

  • 在 <head>區段加入程式碼
  • 在 function.php 檔案中加入程式碼
  • 在 function.php 檔案中為特定頁面和文章加入 noindex 勾選功能

這些方法操作簡單,只需基礎的程式碼知識,即可有效管理網站索引頁面。注意: 在修改 function.php 檔案前,請務必進行備份,以免操作失誤造成網站錯誤。

【方法一】在 <head>區段加入程式碼

  1. 在您的 WordPress 主題的 header.php 檔案中,找到 <head> 標籤。
  2. 在 <head> 標籤內加入以下程式碼:
<?php
      if ( is_author() || is_date() || is_paged() || is_search() || is_category() || is_tag() ){
        echo '<meta name="robots" content="noindex,follow"/>';
      }
    ?>
    

這段 PHP 程式碼會自動判斷目前頁面是否為作者、日期、分頁、搜尋結果、分類或標籤頁面,並在這些頁面上加入 <meta name=”robots” content=”noindex,follow”/>
標籤,告訴搜尋引擎不要將這些頁面編入索引。

【方法二】在 function.php 檔案中加入程式碼

  1. 打開您 WordPress 主題資料夾中的 function.php 檔案。注意: function.php 是 WordPress 主題的重要檔案,修改前請務必備份,以免操作失誤導致網站錯誤。
  2. 在檔案中加入以下 PHP 程式碼:
function add_noindex() {
      if( is_author() || is_date() || is_paged() || is_search() || is_category() || is_tag() ){
        echo '<meta name="robots" content="noindex,follow"/>';
      }
    }
    add_action('wp_head', 'add_noindex');
    

add_noindex() 這個函式會檢查目前頁面是否為作者頁面 (is_author())、日期頁面 (is_date())、分頁頁面 (is_paged())、搜尋結果頁面 (is_search())、分類頁面
(is_category()) 或標籤頁面 (is_tag())。

如果是以上任何一種頁面,就會在頁面的 <head> 區段中加入 <meta name=”robots” content=”noindex,follow”/> 標籤,告訴搜尋引擎不要將這些頁面編入索引。

add_action(‘wp_head’, ‘add_noindex’); 這行程式碼的作用是將 add_noindex() 這個函式掛載到 WordPress 的 wp_head 動作鉤子上,讓它在網頁頭部載入時執行。

【方法三】在 function.php 檔案中為特定頁面和文章加入 noindex 勾選功能

這個方法可以讓您在編輯文章或頁面時,直接透過勾選的方式來決定是否要對該頁面設定 noindex,更方便管理個別頁面的索引狀態。

  1. 打開您 WordPress 主題資料夾中的 function.php 檔案。注意: function.php 是 WordPress 主題的重要檔案,修改前請務必備份,以免操作失誤導致網站錯誤。
  2. 在檔案中加入以下 PHP 程式碼:
function add_noindex_meta_box() {
          add_meta_box(
            'noindex_meta_box',       
            'Noindex Pages',     
            'custom_noindex_setting', 
            ['page', 'post'],
            'side',
            'high'
          );
        }
        add_action('add_meta_boxes', 'add_noindex_meta_box');
        
        function custom_noindex_setting($post) {
          $value = get_post_meta($post->ID, '_noindex_meta_key', true);
          wp_nonce_field('save_noindex_nonce', 'noindex_nonce');
          ?>
            <p>
              <label>
                <input type="checkbox" name="noindex_meta_checkbox" <?php checked($value, 'yes'); ?> />
                noindex
              </label>
            </p>
          <?php
        }
        
        function save_noindex_meta_box($post_id) {
          if (!isset($_POST['noindex_nonce']) || !wp_verify_nonce($_POST['noindex_nonce'], 'save_noindex_nonce'))
            return;
             
          if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
            return;
             
          if (!current_user_can('edit_post', $post_id))
            return;
             
          $chk = isset($_POST['noindex_meta_checkbox']) && $_POST['noindex_meta_checkbox'] ? 'yes' : 'no';
            update_post_meta($post_id, '_noindex_meta_key', $chk);
        }
             
        add_action('save_post', 'save_noindex_meta_box');
             
        function add_noindex_if_checked(){
          if (is_singular(['page', 'post'])) {
            $noindex = get_post_meta(get_the_ID(), '_noindex_meta_key', true);
            if ($noindex === 'yes') {
              echo '<meta name="robots" content="noindex,follow">';
            }
          }
        }
        add_action('wp_head', 'add_noindex_if_checked');
        

add_noindex_meta_box(): 這個函式會在文章和頁面的編輯頁面中新增一個名為 “Noindex 設定” 的 Meta Box。

custom_noindex_setting($post): 這個函式會在 Meta Box 中顯示一個 checkbox,讓使用者可以勾選是否要對該頁面設定 noindex。

save_noindex_meta_box($post_id): 這個函式會在儲存文章或頁面時,將 checkbox 的值儲存到資料庫中。

add_noindex_if_checked(): 這個函式會在頁面載入時,檢查資料庫中是否設定了 noindex,如果是,就在頁面的 <head> 區段中加入 noindex 標籤。

哪些 WordPress 頁面應該加入 noindex 標記?

在 WordPress 網站中,並不是所有頁面都需要被搜尋引擎索引。為特定頁面設定 noindex 標記,可以避免劣質內容影響網站 SEO 表現,同時也能讓搜尋引擎更專注於抓取高品質的內容。以下是建議加入 noindex 的頁面:

  • 作者頁面: 除非作者頁面有豐富的個人介紹、作品集或其他獨特內容,否則通常建議加入 noindex。因為作者頁面內容通常較少,且可能與網站其他內容重複,對 SEO 沒有太大幫助。
  • 日期頁面: 日期頁面通常只是根據日期對文章進行分類,缺乏實質內容,對 SEO 沒有太大幫助,建議加入 noindex。
  • 分頁頁面: 分頁頁面通常包含大量重複的內容,對 SEO 不利,建議加入 noindex。
  • 搜尋結果頁面: 搜尋結果頁面通常是動態生成的,內容重複性高,且對使用者體驗不佳,建議加入 noindex。
  • 感謝頁面: 感謝頁面通常在使用者完成特定動作後出現,例如提交表單或購買商品。這些頁面通常不需要被索引,因為它們不提供有價值的內容給搜尋引擎使用者。
  • 管理員登入頁面: 為了安全起見,管理員登入頁面不應該被索引。
  • 隱私政策、服務條款等頁面: 這些頁面雖然很重要,但對 SEO 沒有直接幫助,可以考慮加入 noindex,避免分散網站權重。

不過,有些需要視情況加入 noindex,例如:

  • 分類頁面: 如果分類頁面僅僅是文章列表,沒有提供額外的介紹或獨特內容,建議加入 noindex。但如果分類頁面有豐富的描述、相關資訊或其他有價值的內容,則可以考慮保留索引。
  • 標籤頁面: 如果標籤頁面內容較少,且與其他頁面主題重疊,建議加入 noindex。但如果標籤頁面有足夠的內容,且能提供使用者有價值的資訊,則可以考慮保留索引。

在決定是否為某個頁面設置 noindex 標籤時,除了 SEO 因素,也要考慮使用者體驗。如果頁面對使用者有價值,即使內容較少,也應該保留索引。

如何檢查 noindex 是否生效?

設定完 noindex 標籤後,確認是否生效是非常重要的。以下提供幾種簡單的方法,讓您快速檢查 noindex 標籤是否已成功設置:

查看網頁原始碼

  1. 在您想要檢查的網頁上,滑鼠右鍵點擊,選擇「檢視網頁原始碼」。
  2. 在原始碼中搜尋 <meta name=”robots” content=”noindex,follow”/>。
  3. 若找到這段程式碼,表示 noindex 標籤已經成功設置。

使用 Google Search Console

  1. 登入您的 Google Search Console 帳戶。
  2. 在左側選單中,點擊「網址檢查」工具。
  3. 輸入您想要檢查的網址,然後點擊「測試即時網址」。
  4. 在檢查結果中,查看「索引涵蓋範圍」部分。
  5. 如果顯示「已排除」,且原因是「robots meta 標籤中的 noindex」,表示 noindex 標籤已經生效。

使用線上 SEO 工具

許多線上 SEO 工具 (例如 Ahrefs、Semrush) 可以幫助您檢查網頁的 meta robots 標籤。

這些工具通常會掃描您的整個網站,並提供詳細的報告,列出所有頁面的索引狀態和 meta robots 標籤。

使用瀏覽器擴充功能

有一些瀏覽器擴充功能 (例如 Ahrefs SEO Toolbar) 可以讓您更方便地查看網頁的 meta robots 標籤。

安裝擴充功能後,通常會在瀏覽器工具列顯示一個圖示,點擊後即可快速查看網頁的索引狀態和 meta robots 標籤。

需要注意的是,在檢查 noindex 是否生效時,搜尋引擎可能需要一些時間來重新抓取您的網頁,因此設定 noindex 後,可能不會立即生效。如果您使用的是 Google Search Console,您也可以提交網址檢查請求,要求
Google 重新抓取您的網頁,以加快 noindex 生效的速度。

robots meta 標籤 noindex 和 nofollow 有什麼差異?應用時機為何?

noindex 和 nofollow 都是 robots meta 標籤的屬性值,用於控制搜尋引擎如何處理網頁和連結。雖然兩者都是為了管理網站內容在搜尋引擎中的呈現方式,但它們的作用和應用時機有所不同。

nonidex

noindex 主要的功用是告訴搜尋引擎不要將該網頁編入索引,因此該網頁不會出現在搜尋引擎的結果頁面中。

noindex 最常應用於內容重複性高、品質較低,或是您不希望被公開索引的頁面,例如分類、標籤、分頁、搜尋結果頁面、感謝頁面、管理員登入頁面、隱私政策和服務條款頁面等。這些頁面通常對使用者來說價值不高,或是不想被公開瀏覽。

nofollow

nofollow 主要的功用是告訴搜尋引擎不要追蹤該網頁上的連結,因此搜尋引擎不會透過這些連結來發現新的網頁,也不會將權重傳遞給這些連結。

nofollow 經常用於不信任的外部連結、付費連結,以及不想傳遞權重的內部連結,例如指向登入頁面或隱私政策的連結。

關於 noindex 的常見問題 FAQ

設定 noindex 後,我的網站流量會下降嗎?

不一定。noindex 主要影響來自搜尋引擎的流量,如果您的網站流量主要來自其他管道,例如社群媒體或直接流量,則影響可能不大。

我可以在 robots.txt 中設定 noindex 嗎?

可以,但建議使用 meta robots 標籤,因為 robots.txt 的效果較不穩定,有些搜尋引擎可能不支援。

設定 noindex 後,我可以刪除頁面嗎?

可以,但建議先確認頁面沒有被其他頁面或網站連結,以免造成死鏈。

我應該為所有低品質頁面設定 noindex 嗎?

不一定。如果低品質頁面對使用者有價值,可以考慮保留索引,並著手提升頁面品質。

結論

WordPress noindex 設定是提升網站 SEO 表現的重要一環,但正確的觀念和操作方式是成功的關鍵。首先,設定 noindex 並不代表頁面會完全隱藏,使用者仍可透過其他方式訪問。此外,noindex 的效果並非立即性的,搜尋引擎需要時間重新抓取網頁才能生效。

雖然 noindex 能有效避免劣質內容影響網站排名,但它並非萬能的 SEO 解藥。網站管理者仍需持續優化內容品質、關鍵字策略和外部連結,才能全面提升網站的搜尋引擎表現。同時,在決定是否設定 noindex 時,也應考量頁面對使用者的價值,而非一味追求 SEO 效果。