如何为 Wordpress 中的每个网站页面添加单独的分析
How to add a separate Analytics for each website page in Wordpress
我们有一个 WordPress 安装,其位置作为单独的页面。
例如:mysite.com/colorado 和 mysite.com/alabama
我们需要对其中每一个进行单独的 google 分析,对所有 mysite.com 进行 1 个分析。
有没有办法用 WordPress 插件做到这一点,或者我们需要手动编写一些代码吗?
提前致谢!
如果我没记错的话,Google Analytics 可以让您以这样的细分方式查看您的分析。也就是说,如果您 do 需要单独的脚本,那么编写程序会相对容易。可能有一些插件可以执行此操作,但我不知道有什么特别的,不过粗略地浏览一下 Header and Footer Scripts 之类的插件,它允许您逐页添加脚本。
某些主题还允许您根据 page/post 添加 SEO/Script 设置。如果是这种情况,您可以打开每个页面并将每个脚本标记转储到 "header scripts" 或类似部分,然后称其为好。 (创世纪是执行此操作的主题示例)。
如果没有,编程这将是相对简单的。我会这样做:
add_action( 'wp_head', 'display_analytics_by_page', 1 );
function display_analytics_by_page(){
// Default Script Code with individual UA codes replaced
$script = '<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=[UA-CODE]"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(\'js\', new Date());
gtag(\'config\', \'[UA-CODE]\');
</script>';
// Array of UA codes by state
$codes = array(
'Alabama' => 'UA-123456789-1',
'Oregon' => 'UA-987654542-3',
'Vermont' => 'UA-000000000-0'
);
// Get title of this page
$title = get_the_title();
// If this page title exists in the codes array, swap placeholder and echo it.
if( isset($codes[$title]) ){
echo str_replace( '[UA-CODE]', $codes[$title], $script );
}
}
一路评论,大意是把"default"脚本放进去,却把UA代码拉出来。仅当您在每个脚本中都需要完全相同的脚本代码时,这才有效,否则您必须将每个脚本添加到 $codes
数组。
然后创建一个 UA 代码数组(如果需要,也可以创建完整的脚本),以页面标题为键。
然后检查页面标题,如果存在,拉入该代码并回显。这是 wp_head
挂钩上的 运行,因此您只需将此代码放入 functions.php
(或类似)文件中即可。
如果您想轻松进行无编码,请使用插件。跳转到插件 > 添加新插件 并在搜索框中搜索 Google Analytics。安装名为 Google Analytics for WordPress(以前称为 GADWP) 的插件。激活插件并将其与您的 Google Analytics 属性 连接。全部完成后,您将看到 new tab beside your post's title. See a screenshot here.
如果您想要整个网站的网络分析,请前往您的管理仪表板。一个新的小部件将与分析一起出现。
可以找到插件的文档 here。
希望对您有所帮助。
我很好奇为什么所有地点都需要一个单独的 GA 帐户?这种情况下的常见做法是:
- 使用 1 个帐户
- 为整个域创建 1 个 GA 视图
- 通过根据 URL
过滤流量,为每个位置创建 +1 视图
如果不同的帐户与限制用户访问有关,请知道您可以根据每个 属性 视图授予用户访问权限。
我们有一个 WordPress 安装,其位置作为单独的页面。
例如:mysite.com/colorado 和 mysite.com/alabama
我们需要对其中每一个进行单独的 google 分析,对所有 mysite.com 进行 1 个分析。
有没有办法用 WordPress 插件做到这一点,或者我们需要手动编写一些代码吗?
提前致谢!
如果我没记错的话,Google Analytics 可以让您以这样的细分方式查看您的分析。也就是说,如果您 do 需要单独的脚本,那么编写程序会相对容易。可能有一些插件可以执行此操作,但我不知道有什么特别的,不过粗略地浏览一下 Header and Footer Scripts 之类的插件,它允许您逐页添加脚本。
某些主题还允许您根据 page/post 添加 SEO/Script 设置。如果是这种情况,您可以打开每个页面并将每个脚本标记转储到 "header scripts" 或类似部分,然后称其为好。 (创世纪是执行此操作的主题示例)。
如果没有,编程这将是相对简单的。我会这样做:
add_action( 'wp_head', 'display_analytics_by_page', 1 );
function display_analytics_by_page(){
// Default Script Code with individual UA codes replaced
$script = '<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=[UA-CODE]"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(\'js\', new Date());
gtag(\'config\', \'[UA-CODE]\');
</script>';
// Array of UA codes by state
$codes = array(
'Alabama' => 'UA-123456789-1',
'Oregon' => 'UA-987654542-3',
'Vermont' => 'UA-000000000-0'
);
// Get title of this page
$title = get_the_title();
// If this page title exists in the codes array, swap placeholder and echo it.
if( isset($codes[$title]) ){
echo str_replace( '[UA-CODE]', $codes[$title], $script );
}
}
一路评论,大意是把"default"脚本放进去,却把UA代码拉出来。仅当您在每个脚本中都需要完全相同的脚本代码时,这才有效,否则您必须将每个脚本添加到 $codes
数组。
然后创建一个 UA 代码数组(如果需要,也可以创建完整的脚本),以页面标题为键。
然后检查页面标题,如果存在,拉入该代码并回显。这是 wp_head
挂钩上的 运行,因此您只需将此代码放入 functions.php
(或类似)文件中即可。
如果您想轻松进行无编码,请使用插件。跳转到插件 > 添加新插件 并在搜索框中搜索 Google Analytics。安装名为 Google Analytics for WordPress(以前称为 GADWP) 的插件。激活插件并将其与您的 Google Analytics 属性 连接。全部完成后,您将看到 new tab beside your post's title. See a screenshot here.
如果您想要整个网站的网络分析,请前往您的管理仪表板。一个新的小部件将与分析一起出现。
可以找到插件的文档 here。
希望对您有所帮助。
我很好奇为什么所有地点都需要一个单独的 GA 帐户?这种情况下的常见做法是:
- 使用 1 个帐户
- 为整个域创建 1 个 GA 视图
- 通过根据 URL 过滤流量,为每个位置创建 +1 视图
如果不同的帐户与限制用户访问有关,请知道您可以根据每个 属性 视图授予用户访问权限。