
您现在的位置是:首页 > WordPress教程WordPress教程
WordPress用户行为跟踪
WP集市
2025-09-08
【WordPress教程】
1664人已围观
-
WordPress这玩意儿吧,做网站确实方便,但你想知道用户在你站上瞎点啥吗?用户行为跟踪说白了就是偷看用户在你网站里搞什么鬼——点了哪个按钮、看了哪篇文章、从哪儿跳进来的。别慌,这不犯法,只要你提前弹个cookie同意框就行(GDPR什么的得应付下)。来,我教你几招接地气的实现法子,不用买昂贵工具,代码撸起来就完事。
-
首先,装个免费插件是最省事的。比如「Google Analytics for WordPress by MonsterInsights」,这名字长的跟绕口令似的,但好用。装好后绑上Google Analytics账号,它自动帮你跟踪页面浏览量、用户会话时长这些基础数据。不过如果你想自定义事件(比如用户点了某个特定链接),就得稍微折腾点——在functions.php里加段代码钩子:
add_action('wp_footer', 'track_special_button_click');
function track_special_button_click() {
if (is_page('pricing')) { // 只在定价页触发
echo "<script>
document.getElementById('buy-now-button').addEventListener('click', function() {
gtag('event', 'click', {
'event_category': 'Button',
'event_label': 'Pricing Page Buy Now'
});
});
</script>";
}
}
这代码的意思就是:在定价页的「立即购买」按钮被点时,往Google Analytics发个自定义事件。注意啊,按钮的ID得和你HTML里的对上号,不然白忙活。
- 要是你嫌Google Analytics太重,想自己存数据到数据库,那得用WordPress的埋点方案。先创建个自定义表存用户行为记录(用dbDelta函数,免得插件卸载时留垃圾数据),然后在页面模板里插PHP监听代码。比方说跟踪文章阅读深度,可以这样搞:
// 创建表(放在插件激活钩子里)
function create_behavior_table() {
global $wpdb;
$table_name = $wpdb->prefix . 'user_actions';
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE $table_name (
id mediumint(9) NOT NULL AUTO_INCREMENT,
user_id mediumint(9) DEFAULT 0,
action_type varchar(100) NOT NULL,
post_id mediumint(9) DEFAULT 0,
created_at datetime DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) $charset_collate;";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
register_activation_hook(__FILE__, 'create_behavior_table');
// 在文章页脚插入跟踪代码
add_filter('the_content', 'track_article_scroll');
function track_article_scroll($content) {
if (is_single()) {
$post_id = get_the_ID();
$content .= "<script>
window.addEventListener('scroll', function() {
let scrollPercent = (window.scrollY / (document.body.scrollHeight - window.innerHeight)) * 100;
if (scrollPercent > 70) {
// 用AJAX把记录推送到服务器
fetch('/wp-admin/admin-ajax.php?action=log_scroll&post_id=$post_id&percent=' + Math.round(scrollPercent));
}
});
</script>";
}
return $content;
}
// 处理AJAX请求
add_action('wp_ajax_log_scroll', 'log_scroll_depth');
add_action('wp_ajax_nopriv_log_scroll', 'log_scroll_depth');
function log_scroll_depth() {
global $wpdb;
$table_name = $wpdb->prefix . 'user_actions';
$wpdb->insert($table_name, array(
'action_type' => 'scroll_depth',
'post_id' => intval($_GET['post_id']),
'user_id' => get_current_user_id()
));
wp_die();
}
这段代码干的事:当用户滚动到文章70%深度时,悄咪咪往数据库插一条记录。注意别频繁发请求,不然服务器被你搞崩了。
- 还有种骚操作是用Heatmap(热力图)。这东西直观,能看到用户鼠标在哪儿飘、点哪儿最多。推荐用「Hotjar」服务,它提供嵌入代码,你只要扔到header.php或者用插件插入就行。不过免费版有限制,流量大的站得付费。代码长这样:
<script>
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid:1234567,hjsv:6};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
</script>
把1234567换成你的实际ID就行。热力图会显示页面上哪些区域被点击最多次,比如你可能发现用户老误点那个不能点的Logo图片——那就得改设计呗。
- 最后提醒个伦理问题:用户跟踪别太过火。别记录密码、银行卡这些敏感信息,而且最好在隐私政策里写明白你收集啥数据。WordPress有个函数wp_get_current_user()能获取登录用户信息,但别滥用。代码要有道德,就像咖啡里不能加酱油一样——虽然都能喝但味儿不对啊。
总之呢,WordPress跟踪用户行为就像给网站装摄像头,你得知道哪儿该放、哪儿不该放。从插件到自定义代码,从数据库埋点到第三方工具,玩法多但核心就一句:理解用户才能留住用户。数据是金子,但别挖穿地心。
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。
上一篇:WordPress网站性能测量
下一篇:WordPress再营销代码设置

热门文章
