別讓專業醫療知識石沉大海!打造終極 WordPress SEO 模板,搶佔 Google 搜尋第一頁

2025/08/15 | WP 開發技巧

別讓專業醫療知識石沉大海!打造終極 WordPress SEO 模板,搶佔 Google 搜尋第一頁

嗨,我是浪花科技的資深工程師 Eric。在我們經手的眾多 WordPress 專案中,醫療產業的網站絕對是挑戰性最高的一種類型。很多醫師、診所行銷人員常常會問我:「Eric,我的文章內容明明比別人專業,為什麼 Google 排名就是上不去?」

老實說,這問題問得很好。在醫療領域,光有專業知識是不夠的,你還得「讓 Google 看得懂」你的專業。醫療內容被 Google 歸類為「Your Money or Your Life」(YMYL) 內容,審核標準極度嚴苛。如果你的網站結構、內容呈現方式不符合 Google 的 E-E-A-T (經驗、專業、權威、信譽) 原則,寫得再好都可能石沉大海。今天,我就要以一個資深工程師的龜毛角度,帶你從零到一,打造一個專為醫療文章設計的 WordPress SEO 終極模板。

為什麼醫療 SEO 這麼難搞?先搞懂 Google 的遊戲規則

在我們動手寫任何一行程式碼或安裝任何外掛之前,你必須先理解為什麼醫療內容的 SEO 這麼特別。Google 對於可能會影響使用者健康、財富、安全的資訊,審查標準堪稱「龜毛等級」。這就是 YMYL 的核心概念。

為了評估這些 YMYL 內容的品質,Google 提出了一套名為 E-E-A-T 的指導方針:

  • Experience (經驗):內容創作者是否對該主題有第一手的實際經驗?例如,一位癌症康復者分享心路歷程。
  • Expertise (專業):內容創作者是否具備該領域的專業知識?這對醫療內容至關重要,作者必須是合格的醫療專業人員。
  • Authoritativeness (權威):網站或作者在該領域是否被公認為權威來源?例如,大型教學醫院發布的研究報告。
  • Trustworthiness (信譽):網站的資訊是否準確、誠實、安全?這包含了引用來源、數據的真實性等。

簡單來說,你的每一篇醫療文章,都必須清楚地向 Google 和使用者展示這四個面向。而一個好的「WordPress 醫療文章 SEO 模板」,就是要透過結構化的方式,將這些 E-E-A-T 訊號做到極致。

WordPress 醫療文章 SEO 模板的黃金結構

好了,理論課上完了,接下來是實作。一個完美的醫療文章模板,應該包含以下幾個關鍵元素,而且這些元素都應該在 WordPress 後台可以輕鬆編輯,而不是讓編輯人員在文章裡手動敲程式碼。身為一個工程師,最討厭的就是看到沒有結構化的資料,維護起來簡直是場災難。

核心構成元素:

  • 清晰的作者與審閱者資訊: 誰寫的?誰審閱過?他們的專業資格是什麼?這是建立 Expertise 和 Trustworthiness 的第一步。
  • 明確的發布與更新日期: 醫療資訊有時效性,清楚標示「最後更新日期」能讓使用者和 Google 知道這份資訊是最新的。
  • 結構化資料 (Schema Markup): 這是給 Google 看的「小抄」。透過它,你可以明確告訴 Google 這是一篇醫療文章、作者是誰、被誰審閱過等等,是 SEO 的大絕招。
  • 可信的引用來源: 文章中提到的任何數據、研究,都應該附上權威來源的連結(例如:國健署、PubMed、知名醫學期刊)。
  • 免責聲明: 法律上的必要之惡,提醒讀者內容僅供參考,不能取代專業醫療建議。

實戰教學:用 CPT 和 ACF 打造你的終極模板

接下來,我們就來動手把這個理想的模板在 WordPress 上實現。我會建議使用 Custom Post Type (CPT) 來建立一個獨立的「醫療文章」內容類型,再搭配 Advanced Custom Fields (ACF) 來建立結構化的輸入欄位。

第一步:建立「醫療文章」專屬的 Custom Post Type (CPT)

為什麼不用內建的「文章」就好?因為 CPT 可以幫我們把醫療文章跟一般的部落格文章、最新消息分開管理,不僅後台更整潔,未來要針對這個內容類型做特殊的功能或樣式也更有彈性。你可以把以下程式碼加到你的佈景主題的 `functions.php` 檔案中。

身為工程師的小囉嗦:直接改 `functions.php` 有風險,更新佈景主題時可能會被覆蓋。最專業的做法是建立一個「子佈景主題」或自訂外掛來放這些程式碼。想了解更多?可以參考我們的「子佈景主題」安全客製化 WordPress 教學


// 註冊一個名為「醫療文章」的 Custom Post Type
function register_medical_article_cpt() {

    $labels = array(
        'name'                  => _x( '醫療文章', 'Post type general name', 'textdomain' ),
        'singular_name'         => _x( '醫療文章', 'Post type singular name', 'textdomain' ),
        'menu_name'             => _x( '醫療文章', 'Admin Menu text', 'textdomain' ),
        'name_admin_bar'        => _x( '醫療文章', 'Add New on Toolbar', 'textdomain' ),
        'add_new'               => __( '新增文章', 'textdomain' ),
        'add_new_item'          => __( '新增醫療文章', 'textdomain' ),
        'new_item'              => __( '新醫療文章', 'textdomain' ),
        'edit_item'             => __( '編輯醫療文章', 'textdomain' ),
        'view_item'             => __( '檢視醫療文章', 'textdomain' ),
        'all_items'             => __( '所有醫療文章', 'textdomain' ),
        'search_items'          => __( '搜尋醫療文章', 'textdomain' ),
        'parent_item_colon'     => __( '上層醫療文章:', 'textdomain' ),
        'not_found'             => __( '找不到醫療文章。', 'textdomain' ),
        'not_found_in_trash'    => __( '在垃圾桶中找不到醫療文章。', 'textdomain' ),
    );

    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'publicly_queryable' => true,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'query_var'          => true,
        'rewrite'            => array( 'slug' => 'medical-info' ),
        'capability_type'    => 'post',
        'has_archive'        => true,
        'hierarchical'       => false,
        'menu_position'      => 5, // 在「文章」下面
        'supports'           => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' ),
        'menu_icon'          => 'dashicons-health',
    );

    register_post_type( 'medical_article', $args );
}
add_action( 'init', 'register_medical_article_cpt' );

第二步:使用 ACF Pro 建立結構化欄位

裝了 ACF Pro 外掛後,我們可以建立一個欄位群組,並設定它只出現在「醫療文章」這個 Post Type 的編輯頁面。這能確保你的編輯團隊或客戶,在新增文章時,不會忘記填寫任何重要資訊。

你需要建立以下欄位:

  • 醫療審閱者 (medical_reviewer): 欄位類型為「文字」,用來填寫審閱醫師的姓名與職稱。
  • 最後審閱日期 (last_reviewed_date): 欄位類型為「日期選擇器」,讓編輯可以輕鬆點選。
  • 引用來源 (references): 這是精華所在!使用「中繼器 (Repeater)」欄位,裡面包含兩個子欄位:「來源標題 (source_title)」(文字) 和「來源網址 (source_url)」(URL)。這樣就可以無限新增引用來源,而且結構非常乾淨。

有了 ACF,後台編輯頁面看起來就會非常清爽,編輯人員只需要做「填空題」,而不是在複雜的編輯器裡跟格式奮戰。這才是優雅的工程師作法!

第三步:在前台顯示資料並嵌入 JSON-LD 結構化資料

資料存進去了,再來就是要把它顯示在文章頁面,並同時在 HTML 的 `` 區塊中,放入最重要的 JSON-LD 結構化資料。你需要修改你的文章範本檔案(通常是 `single-medical_article.php`)。

在文章頂部顯示作者、審閱者和日期:


<?php
$reviewer_name = get_field('medical_reviewer');
$last_reviewed_date = get_field('last_reviewed_date');
?>

<div class="article-meta">
    <p>作者: <?php echo get_the_author(); ?></p>
    <?php if ($reviewer_name): ?>
        <p>醫療審閱: <?php echo esc_html($reviewer_name); ?></p>
    <?php endif; ?>
    <p>發布日期: <?php echo get_the_date('Y-m-d'); ?></p>
    <?php if ($last_reviewed_date): ?>
        <p>最後更新: <?php echo esc_html($last_reviewed_date); ?></p>
    <?php endif; ?>
</div>

在文章底部顯示引用來源列表:


<?php if( have_rows('references') ): ?>
    <div class="references-section">
        <h3>參考資料</h3>
        <ul>
        <?php while( have_rows('references') ): the_row(); 
            $source_title = get_sub_field('source_title');
            $source_url = get_sub_field('source_url');
        ?>
            <li><a href="<?php echo esc_url($source_url); ?>" target="_blank" rel="noopener noreferrer"><?php echo esc_html($source_title); ?></a></li>
        <?php endwhile; ?>
        </ul>
    </div>
<?php endif; ?>

最重要的 JSON-LD!將這段程式碼透過 `wp_head` action hook 加到 `` 裡:


add_action('wp_head', 'add_medical_article_schema');
function add_medical_article_schema() {
    if (is_singular('medical_article')) {
        global $post;
        $schema = array(
            '@context' => 'https://schema.org',
            '@type' => 'MedicalWebPage',
            'headline' => get_the_title(),
            'url' => get_permalink(),
            'datePublished' => get_the_date('c'),
            'dateModified' => get_the_modified_date('c'),
            'author' => array(
                '@type' => 'Person',
                'name' => get_the_author(),
            ),
            'publisher' => array(
                '@type' => 'Organization',
                'name' => get_bloginfo('name'),
                'logo' => array(
                    '@type' => 'ImageObject',
                    'url' => '你的網站LOGO網址',
                ),
            ),
        );

        $reviewer_name = get_field('medical_reviewer', $post->ID);
        if ($reviewer_name) {
            $schema['reviewedBy'] = array(
                '@type' => 'Person',
                'name' => $reviewer_name,
            );
        }

        echo '<script type="application/ld+json">' . json_encode($schema, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) . '</script>';
    }
}

透過這套組合拳,我們不僅讓前端使用者能清楚看到文章的專業背景,更重要的是,我們用 Google 最喜歡的「結構化語言」跟它溝通,告訴它:「嘿!這是一篇由專家撰寫、專家審閱過的高品質醫療文章!」這對於提升 E-E-A-T 分數有著決定性的幫助。

結論:結構化是醫療內容 SEO 的致勝關鍵

總結一下,要在競爭激烈的醫療領域中脫穎而出,內容的專業度只是基本門檻。真正的勝負關鍵在於「如何呈現你的專業」。

透過建立一個專屬的 WordPress 醫療文章 SEO 模板,利用 Custom Post Type 進行內容分類、ACF 進行資料結構化,並搭配精準的 JSON-LD Schema,你就能將無形的 E-E-A-T 信號,轉化為 Google 看得懂的具體數據。這不僅能大幅提升你的搜尋排名,更能鞏固你在使用者心中的專業與信賴感。

這套方法論聽起來可能有點硬核,但這就是專業網站與一般部落格的差別所在。打好地基,才能蓋出穩固的高樓。

延伸閱讀

如果你覺得以上的技術細節讓你頭昏腦脹,或是希望有專業團隊為你的醫療網站量身打造最符合 SEO 規範的內容架構,歡迎隨時聯繫浪花科技。我們很樂意協助你將專業知識轉化為實際的網站流量與品牌影響力。

常見問題 (FAQ)

Q1: 為什麼不能直接用 WordPress 內建的「文章」功能來發布醫療文章?

A: 當然可以,但這不是最佳實踐。使用自訂內容類型 (Custom Post Type) 能將專業的醫療文章與一般部落格文章、最新消息等內容完全分開管理,讓網站後台更清晰。更重要的是,它允許你針對醫療文章建立專屬的分類法 (Taxonomies) 和自訂欄位 (Custom Fields),從而實現本文提到的結構化資料管理,這對於 SEO 和長期維護至關重要。

Q2: 什麼是 Schema Markup (結構化資料),它對醫療 SEO 真的那麼重要嗎?

A: Schema Markup 是一種標準化的詞彙標記,你可以將它加入網站 HTML 中,幫助搜尋引擎更精確地理解頁面內容。對於醫療文章,你可以用它來標記作者、醫療審閱者、發布日期、文章類型等。這極度重要,因為它直接向 Google 提供了 E-E-A-T 的強力信號,幫助 Google 確認你內容的專業性與可信度,是提升排名的關鍵技術之一。

Q3: 我不是工程師,有辦法自己完成這套模板的設定嗎?

A: 有一些工具可以簡化流程。例如,你可以使用「CPT UI」外掛來透過圖形介面建立 Custom Post Type,並搭配「ACF」外掛設定欄位。然而,要將這些欄位資料完美地整合到你的佈景主題範本,並正確生成 JSON-LD 結構化資料,通常還是需要一些 PHP 和 WordPress 範本開發的知識。如果對程式碼不熟悉,建議尋求專業開發者協助,以確保所有設定都正確無誤,避免產生反效果。

 
立即諮詢,索取免費1年網站保固