Laravel站点如何确认Google Tag Manager全页部署及查找所有页面
Laravel 站点全页面排查与GTM全局部署校验逻辑梳理
1. Laravel 可访问页面的核心来源
Laravel所有对外可访问的web页面都基于路由注册生成,你可以通过以下方式拿到全量页面路由:
- 路由文件默认存放在
routes/目录,仅需关注web.php文件,该文件下注册的路由都会自动加载web中间件组,对应前端可访问的页面;api.php、console.php分别对应接口、命令行路由,无需部署GTM - 若项目做了路由拆分,可查看
app/Providers/RouteServiceProvider.php文件,所有被引入的web类路由文件都会在该文件中注册 - 执行命令
php artisan route:list --middleware=web可直接导出所有web端可访问的路由列表,过滤掉无关路由条目
2. Blade模板全局加载逻辑
GTM代码一般部署在全局公共布局模板中,只要确认公共布局的继承覆盖范围,即可确认GTM的部署覆盖范围:
- 公共布局模板默认存放在
resources/views/layouts/目录,常见命名为app.blade.php、master.blade.php - 常规业务页面都会通过
@extends('layouts.xxx')语法继承公共布局,只要公共布局中已加入GTM代码,所有继承该布局的页面都会自动加载GTM - 全局搜索项目中所有
.blade.php文件的@extends关键词,即可排查出未继承公共布局的独立页面,对这些页面单独校验GTM部署情况即可
3. 批量校验全页面GTM部署的方法
你可以基于路由列表做快速批量校验:
- 先执行
php artisan route:list --middleware=web --columns=uri导出所有web页面的URI列表 - 写简单的遍历脚本批量请求每个URI,匹配返回的HTML内容中是否包含你的GTM ID字符串,即可快速确认全量部署情况
注意:站点内动态生成的页面(比如商品详情页、CMS后台生成的自定义单页等),只要其渲染模板继承了已加GTM的公共布局,就会自动加载GTM,不需要单独校验每个动态生成的具体页面地址
内容的提问来源于stack exchange,提问作者Mher
相关产品推荐
相关产品推荐

