0%

正威網路行銷工作室,專注於基隆、台北與全台客製化網頁設計,提供專業 RWD 響應式、SEO 搜尋引擎優化、品牌形象設計與網站維護託管服務。

搜尋文章
聯絡資訊
地址基隆市仁二路 220 號 5 樓
追蹤我們

WordPress 內部連結怎麼做?SEO 觀念與自動關鍵字連結的正確寫法

寫著關鍵字、內容、部落格等便利貼的 SEO 心智圖

內部連結就是網站裡的頁面互相連結:文章裡提到另一篇文章、選單、分類頁、文章最後的相關文章,都算。它是 SEO 裡最容易自己動手、成本也最低的一環。

這篇會說明內部連結為什麼重要、怎麼做才對,也會提供「自動替關鍵字加連結」的程式碼,以及使用時要注意的地方。

(原本另一篇〈wordpress 的 seo 優化,用代碼讓 wordpress 特定關鍵字有連結〉的內容,已經整合到這裡。)

內部連結對 SEO 有什麼幫助?

  • 幫搜尋引擎找到你的文章:搜尋引擎是順著連結發現網頁的。沒有任何連結指向的文章(常被稱為「孤立頁面」),比較不容易被找到與收錄。
  • 告訴搜尋引擎這一頁在講什麼:連結文字(anchor text)就是線索,連結文字寫「WordPress 網站地圖教學」,搜尋引擎就知道目標頁大概在講這件事。
  • 讓讀者看更多:讀者看完一篇,順著連結看下一篇相關的內容,對網站的印象也會更完整。
  • 凸顯重要的頁面:被很多頁面連到的頁面,搜尋引擎比較容易判斷它在網站裡是重要的。

手動加內部連結:效果最好的方法

  • 區塊編輯器直接搜尋:選取文字,按連結按鈕(或 Ctrl+K,Mac 是 ⌘+K),直接輸入文章標題裡的字,就會列出網站上的文章讓你選,不用另外複製網址。
  • 連結文字寫清楚:寫「WordPress 網站地圖怎麼做」,比寫「點這裡」好得多,讀者和搜尋引擎都知道點下去會看到什麼。
  • 只連真正相關的:在讀者會想「那這個怎麼做?」的地方放連結,一篇文章裡幾個相關連結就夠了,不需要每一段都加。
  • 回頭更新舊文章:發佈新文章後,記得回到相關的舊文章裡,加上連到新文章的連結。這一步最常被忽略,卻是新文章最快被找到的方法之一。

讓網站結構幫你做內部連結

  • 分類與標籤整理好:分類頁、標籤頁本身就是一組內部連結,分類不要太多太雜,每篇文章放在最適合的分類。
  • 相關文章區塊:在每篇文章最後自動列出同主題的文章,做法請看WordPress 顯示相關文章。
  • 麵包屑(Breadcrumb):頁面上方的「首頁 › 分類 › 文章」路徑,讓讀者知道自己在哪裡,也讓搜尋引擎理解網站層級。Yoast SEO、Rank Math 等 SEO 外掛都有這個功能。
  • 網站地圖:提交給搜尋引擎的 XML 網站地圖,做法請看WordPress 網站地圖怎麼做。

舊版做法:把外部連結改成站內跳轉,不要再用

這篇文章舊版的程式碼,會把文章裡所有外部連結改成「你的網址/link?url=編碼過的網址」,再用一個頁面顯示「正在載入中」後跳轉過去,理由是「外部連結會流失權重」。這個做法有幾個問題:

  • 觀念不正確:連到有用的外部資料是正常的網頁行為,不會讓你的網站被扣分,也不是做內部連結的方法。
  • 開放式重新導向漏洞:任何人都能做出「你的網址/link?url=詐騙網站」的連結,借用你的網域去騙人,網域信譽會受損。
  • 讀者體驗變差:點連結要先等一個「正在載入中」的畫面,也看不到真正要去的網址,不好判斷安不安全。

外部連結正常連就好;廣告、業配這類連結,加上對應的 rel 屬性標示,做法請看nofollow、ugc、sponsored 差在哪。

自動替關鍵字加上內部連結

如果你有幾個經常出現在文章裡的重要主題,例如每次提到「網站地圖」都想連到那篇教學,可以用程式碼自動加連結。

先提醒:不要過度

  • 同一個關鍵字整篇只連一次,第一次出現時連就好。
  • 每篇文章設上限,兩三個就夠了。滿篇都是藍色連結,讀起來很累,也會讓人覺得是在刻意操作排名。
  • 只連真的相關的頁面,關鍵字清單寧可少、不要多。

舊程式碼的問題

原本的程式碼用 str_replace(),會把文章裡每一個出現的關鍵字都換成連結,連圖片的替代文字、標題、已經有連結的文字、甚至網址裡面都會被換掉,造成版面壞掉或「連結裡面又有連結」。

改良後的程式碼

下面的寫法只處理一般文字,會跳過標題、既有的連結、程式碼、按鈕與圖片說明,同一個關鍵字只連一次,每篇有數量上限,也不會連到文章自己。加到子主題的 functions.php,或用 Code Snippets 外掛新增:

PHP
function ahwei_auto_internal_links( $content ) {
    // 只在單篇文章頁作用,不影響列表、RSS
    if ( ! is_singular( 'post' ) || get_the_ID() !== get_queried_object_id() ) {
        return $content;
    }

    // 關鍵字 => 要連過去的網址(比較長的關鍵字放前面)
    $keywords = array(
        '網站地圖'  => home_url( '/map' ),
        '.htaccess' => home_url( '/htaccess' ),
    );
    $max_links = 3; // 每篇文章最多自動加幾個連結

    $current = untrailingslashit( get_permalink() );
    $parts   = preg_split( '/(<[^>]+>)/', $content, -1, PREG_SPLIT_DELIM_CAPTURE );
    $skip    = 0; // 大於 0 代表目前在不該加連結的標籤裡
    $added   = 0;

    foreach ( $parts as $i => $part ) {
        if ( $added >= $max_links ) {
            break;
        }
        if ( '' === $part ) {
            continue;
        }

        // HTML 標籤:進入 a、h1~h6、code、pre、button、figcaption 時暫停加連結
        if ( '<' === $part[0] ) {
            if ( preg_match( '#^<(/?)(a|h[1-6]|code|pre|button|figcaption|script|style)\b#i', $part, $m ) ) {
                $skip = ( '/' === $m[1] ) ? max( 0, $skip - 1 ) : $skip + 1;
            }
            continue;
        }
        if ( $skip > 0 ) {
            continue;
        }

        // 一般文字:找第一個還沒用過的關鍵字
        foreach ( $keywords as $word => $url ) {
            if ( untrailingslashit( $url ) === $current ) {
                continue; // 不要連到文章自己
            }
            $pos = strpos( $part, $word );
            if ( false === $pos ) {
                continue;
            }
            $link        = '<a href="' . esc_url( $url ) . '">' . esc_html( $word ) . '</a>';
            $parts[ $i ] = substr_replace( $part, $link, $pos, strlen( $word ) );
            unset( $keywords[ $word ] ); // 同一個關鍵字只連一次
            $added++;
            break; // 同一段文字只加一個連結
        }
    }

    return implode( '', $parts );
}
add_filter( 'the_content', 'ahwei_auto_internal_links', 20 );

使用說明:

  • $keywords 改成你自己的關鍵字與網址,一行一組,格式是 '關鍵字' => home_url( '/網址' )。比較長的關鍵字放前面,例如「網站地圖」要放在「網站」前面,不然短的會先被連走。
  • $max_links 是每篇文章最多自動加幾個連結。
  • 英文關鍵字有分大小寫,WordPress 和 wordpress 會被當成不同的字。
  • 文章刪除或網址改變時,記得同步修改清單,不然會產生連不到的連結。
  • 自動連結只是輔助,最有價值的內部連結,還是你在寫文章時,依照內容親手加上的那幾個。

延伸閱讀

內部連結要做得好,得從網站架構和內容規劃一起想。正威網路行銷是基隆在地、25 年經驗的基隆網頁設計工作室,提供 SEO 搜尋引擎優化與客製化網頁設計,歡迎來聊聊。

分享這篇文章

返回文章列表更多「Wordpress代碼教學」文章

發表留言

還沒有人留言,歡迎第一個分享你的想法或問題。留言經審核後才會顯示,Email 不會公開。

讓我們一起打造
您的專屬網站!