WordPress 使用者行為自動標籤系統實戰:用程式碼讀懂每一位訪客
☰ 目錄 table-of-contents.md
站長花大錢買流量,使用者進來晃一圈就走,轉換率低得可憐——問題常常不在流量品質,而在網站根本不認識眼前這位訪客。對使用者來說,一個不懂他的網站只是沒有溫度的資訊看板。這篇用程式碼在 WordPress 打造使用者行為自動標籤系統,讓網站讀懂每一位訪客在看什麼、想要什麼。
你可能嘗試過用問卷、用 UTM 參數追蹤來源,但這些方法都太被動了。使用者真正的興趣,其實藏在他們的每一次點擊、每一次瀏覽、每一次購買行為中。如果我們能捕捉到這些訊號,並自動為他們貼上「興趣標籤」,那會發生什麼事?這就是我們今天要談的—社群標籤自動化:依據使用者行為自動貼上興趣標籤。這不是什麼黑魔法,而是一套可以透過程式碼實現的『讀心術』,讓你的 WordPress 網站學會看人下菜碟。
為什麼你需要「使用者行為自動化標籤」?
先囉嗦幾句,講講為什麼這件事這麼重要。在 AI 滿天飛的時代,「個人化」已經不是加分題,而是必考題。想像一下兩種情境:
- 情境A(傳統網站):使用者 A 對「區塊鏈」有興趣,使用者 B 喜歡「前端開發」。他們來到你的科技部落格,看到的都是同樣的熱門文章列表。使用者 A 可能要翻好幾頁才找到自己想看的,使用者 B 可能覺得內容太雜,直接關掉分頁。
- 情境B(智慧網站):系統偵測到使用者 A 經常瀏覽「區塊鏈」分類的文章,自動幫他貼上 `blockchain-enthusiast` 的標籤。下次他登入時,首頁的推薦文章區塊就優先顯示最新的區塊鏈技術分析。這就是天壤之別。
手動去幫使用者貼標籤?別開玩笑了,當你有成千上萬個使用者時,這根本是天方夜譚。所以,我們需要一個自動化的系統,像個不知疲倦的智慧管家,默默觀察並記錄一切。這套系統的核心價值在於:
- 提升使用者體驗 (UX):讓使用者感覺這個網站是「為我而生」的,大幅增加黏著度。
- 精準行銷:你可以根據標籤,推送高度相關的產品、課程或電子報,轉換率自然飆升。
- 建立社群連結:在論壇或社群功能中,可以推薦有相同興趣標籤的使用者互相認識,活化社群。
- 數據驅動決策:透過分析標籤分佈,你可以清楚知道哪類內容最受歡迎,作為未來內容策略的依據。
好了,理論講完了。身為工程師,我們還是得來點實在的。接下來,我會一步步帶你用程式碼,在你的 WordPress 網站裡,打造這套自動化標籤引擎。
實戰開始:追蹤使用者行為的三大關鍵場景
我們要追蹤的行為有很多種,但我們先從最常見、也最有效的三個場景下手:文章瀏覽、發表評論、商品購買 (WooCommerce)。我們的武器庫很簡單:WordPress 的 Action Hooks 和幾個核心函數 `update_user_meta()`、`get_user_meta()`。
所有的程式碼都可以放在你的子佈景主題的 `functions.php` 檔案中。拜託,千萬不要直接改核心檔案或父主題,不然更新一下你就全白忙了,這是基本功!
場景一:追蹤文章瀏覽行為
這是最基本的追蹤。當一個登入的使用者瀏覽了一篇文章,我們就把該文章的「分類」當成他的興趣標籤加進去。例如,使用者看了三篇「網站效能優化」分類的文章,我們就更有把握他對這個主題感興趣。
我們會使用 `wp` 這個 action hook,它在 WordPress 核心查詢都準備好之後執行,而且我們能拿到所有關於當前頁面的資訊。
<?php
/**
* 根據使用者瀏覽的文章分類,自動添加興趣標籤
* Hook: wp
*/
add_action('wp', 'roamer_track_post_view_for_tags');
function roamer_track_post_view_for_tags() {
// 1. 確認是單一文章頁面,且使用者已登入
if (!is_single() || !is_user_logged_in()) {
return;
}
// 2. 獲取當前使用者 ID 和文章 ID
$user_id = get_current_user_id();
$post_id = get_the_ID();
// 3. 獲取文章的所有分類 (category)
$categories = get_the_category($post_id);
if (empty($categories)) {
return;
}
// 4. 獲取使用者現有的興趣標籤
$current_tags = get_user_meta($user_id, 'interest_tags', true);
if (!is_array($current_tags)) {
$current_tags = [];
}
// 5. 處理標籤:我們用分類的 slug 當作標籤,並加上權重
foreach ($categories as $category) {
$tag = $category->slug;
if (isset($current_tags[$tag])) {
$current_tags[$tag]++; // 如果標籤已存在,權重+1
} else {
$current_tags[$tag] = 1; // 新增標籤,初始權重為1
}
}
// 6. 更新使用者 meta 資料
update_user_meta($user_id, 'interest_tags', $current_tags);
}
?>
工程師的小囉嗦:這裡我沒有直接存一個陣列 `['tag1', 'tag2']`,而是用了一個關聯陣列 `['tag1' => 3, 'tag2' => 5]` 來記錄「權重」。使用者看越多次同類文章,權重就越高,這能讓我們的判斷更精準。不過要注意,`wp` 這個 hook 在每個頁面都會觸發,頻繁寫入資料庫可能會有效能問題。對於高流量網站,可以考慮用 Transients API 做暫存,或寫入 Redis,再用 WP-Cron 定期批次更新回 user meta。
場景二:追蹤發表評論行為
發表評論是一個比單純瀏覽更強烈的「興趣訊號」。使用者願意花時間打字互動,代表他對這個主題有相當程度的投入。我們可以使用 `comment_post` 這個 hook。
<?php
/**
* 根據使用者發表評論的文章分類,自動添加興趣標籤(更高權重)
* Hook: comment_post
*/
add_action('comment_post', 'roamer_track_comment_for_tags', 10, 2);
function roamer_track_comment_for_tags($comment_ID, $comment_approved) {
// 1. 確認評論是通過審核的,且使用者已登入
if ($comment_approved != 1) {
return;
}
$comment = get_comment($comment_ID);
$user_id = $comment->user_id;
if (empty($user_id)) { // 排除未登入的訪客留言
return;
}
// 2. 獲取文章 ID 和分類
$post_id = $comment->comment_post_ID;
$categories = get_the_category($post_id);
if (empty($categories)) {
return;
}
// 3. 獲取使用者現有的興趣標籤
$current_tags = get_user_meta($user_id, 'interest_tags', true);
if (!is_array($current_tags)) {
$current_tags = [];
}
// 4. 處理標籤:給予評論行為更高的權重,例如一次+5
foreach ($categories as $category) {
$tag = $category->slug;
if (isset($current_tags[$tag])) {
$current_tags[$tag] += 5;
} else {
$current_tags[$tag] = 5;
}
}
// 5. 更新使用者 meta 資料
update_user_meta($user_id, 'interest_tags', $current_tags);
}
?>
場景三:追蹤 WooCommerce 購買行為
「用錢投票」是最強烈的興趣指標,沒有之一。當使用者在你的電商網站購買了某個「商品分類」的東西,這個標籤的權重應該是最高的。我們可以用 `woocommerce_order_status_completed` 這個 hook,確保是在訂單完成後才觸發。
<?php
/**
* 根據使用者購買的 WooCommerce 商品分類,自動添加興趣標籤(最高權重)
* Hook: woocommerce_order_status_completed
*/
add_action('woocommerce_order_status_completed', 'roamer_track_purchase_for_tags');
function roamer_track_purchase_for_tags($order_id) {
$order = wc_get_order($order_id);
$user_id = $order->get_user_id();
// 1. 確認是已登入的使用者
if (empty($user_id)) {
return;
}
// 2. 獲取使用者現有的興趣標籤
$current_tags = get_user_meta($user_id, 'interest_tags', true);
if (!is_array($current_tags)) {
$current_tags = [];
}
// 3. 遍歷訂單中的所有商品
foreach ($order->get_items() as $item) {
$product_id = $item->get_product_id();
$terms = get_the_terms($product_id, 'product_cat'); // 獲取商品的分類
if (!empty($terms)) {
foreach ($terms as $term) {
$tag = $term->slug;
// 4. 處理標籤:給予購買行為最高權重,例如一次+20
if (isset($current_tags[$tag])) {
$current_tags[$tag] += 20;
} else {
$current_tags[$tag] = 20;
}
}
}
}
// 5. 更新使用者 meta 資料
update_user_meta($user_id, 'interest_tags', $current_tags);
}
?>
標籤到手,然後呢?發揮數據的真正價值!
收集標籤只是第一步,真正的魔法在於「應用」。當每個使用者身上都掛著一堆帶有權重的興趣標籤時,你能做的事情就多了:
1. 打造個人化內容推薦區塊
你可以在首頁或側邊欄,建立一個「為您推薦」的區塊。背後的邏輯很簡單:
- 獲取當前登入使用者的 `interest_tags`。
- 將標籤按照權重排序,找出使用者最感興趣的 1-3 個分類。
- 使用 WP_Query,抓取這些分類下的最新文章,並排除使用者已經看過的文章。
- 呈現給使用者,讓他驚嘆:「這網站也太懂我了!」
2. 整合 CRM 系統,實現精準再行銷
如果你有使用像 HubSpot 這類的 CRM 系統,你可以透過 API 將這些標籤同步過去。想像一下,你可以篩選出所有對 `seo-optimization` 標籤權重 > 50 的使用者,然後只對這群人發送最新的 SEO 課程優惠 EDM。這比對所有人狂發垃圾信的成效,絕對是天差地別。
3. 動態內容與廣告投放
你可以根據使用者的標籤,在網站上顯示不同的內容。例如,對 `web-design` 標籤感興趣的使用者,就顯示設計課程的廣告 Banner;對 `laravel-developer` 感興趣的,就顯示後端職缺的資訊。這種「千人千面」的體驗,正是現代網站追求的目標。
結語:從數據到智慧,讓你的網站活起來
今天我們從概念到實作,一步步打造了一個基於使用者行為的自動化標籤系統。這套系統看似簡單,背後卻蘊含著從「流量思維」轉向「使用者思維」的核心轉變。它讓你的網站不再是一個冰冷的資訊發布平台,而是一個能夠學習、能夠適應、能夠與使用者共同成長的智慧生命體。
當然,這只是一個起點。你還可以追蹤更多行為,比如影片觀看時長、特定按鈕點擊、表單提交等等。你也可以引入更複雜的演算法,比如標籤權重隨時間衰減,或者整合 AI 來分析標籤之間的關聯性。可能性是無窮的。
重點是,開始行動。把這些程式碼放到你的網站上,開始收集數據,開始嘗試應用。你會發現,當你越了解你的使用者,你的網站就能為你創造越大的價值。
延伸閱讀
- 企業官網該用 WordPress 嗎?2026 企業級開發完整指南
- 別再用「貴賓」稱呼每個人!WordPress + CRM 終極聯動,打造看人下菜碟的『智慧文案』系統
- Action and Filter 你真的懂了嗎?資深工程師揭秘 WordPress Hooks 的『架構思維』,不只是執行與修改!
- 你的 WordPress 網站是「真 AI」還是「裝 AI」?資深工程師手把手教你串接 OpenAI API,打造會思考的智慧大腦!
需要更進階的客製化系統嗎?
覺得今天的內容對你有幫助,但又擔心自己改壞網站,或是需要更複雜的商業邏輯整合,例如與企業內部 ERP、CRM 系統深度串接?浪花科技專注於打造高穩定性、高擴展性的 WordPress 企業級解決方案。我們不只寫程式,我們更協助你打造能賺錢的數位引擎。歡迎點擊這裡填寫表單,與我們的技術顧問聊聊你的想法!
常見問題
WordPress 要怎麼依使用者行為自動貼興趣標籤?
用什麼 Hook 來追蹤文章瀏覽、評論與購買行為?
為什麼興趣標籤要用權重而不是單純記錄標籤?
在每個頁面都觸發的 wp hook 寫入 user meta 會有效能問題嗎?
訂閱免費電子報
把 AI 自動化、企業系統設計與 WordPress / Laravel 開發的真實案例和可直接照做的技巧,整理成電子報寄給你。只寄精選內容、不灌垃圾信,一鍵就能退訂。