耕读君有两个静态网站 CNELECAR 和 theWindows12,最开始跑在 WordPress 上,后来转换到 Hugo,迁移过程中改变了链接形式。
静态站点托管在 CloudFlare Pages 上,考虑到链接变了,原来的地址会导致 404,很长一段时间我都用 CloudFlare Pages 的 _redirects 文件实现 301 跳转。
之前 Analytics 的报告都挺正常,最近发现有大量 404 的记录。于是打算找出来是哪些 URL 导致了 404——到底是我站点上有大量死链,还是说有人用程序爬我的网站,因为链接构造错误,导致返回了大量的 404。搞清原因对 SEO 很重要,如果是死链就及时修复,如果是后者则不用太担心。
所幸很快在网上找到了方法:How to Find 404 Errors & Broken Links in GA4 | GA4.com ,只不过内容是英文的,对中文小伙伴不是很友好。因此这里我们用中文界面截图说明,方便大家操作。
第一步,在 Google Analytics 中点击左侧菜单栏的“报告”,然后展开“互动度”,再点击“网页和屏幕”进入报告页面。

第二步,点击报告第一列的下拉箭头,改成“网页标题和屏幕名称”,以便显示访问页面的标题。

第三步,点击“网页标题和屏幕名称”右边的+号,我们加一个查询功能,选择“网页/屏幕” – “着陆页 + 查询字符串”。

第四步,在上方的搜索框里输入 404 或者你网站的 404 页面标题,按回车,就可以筛选出导致 404 的链接了。

在右侧可以看到不同页面的访问次数、停留时间等信息,可以排序,以便确认哪些链接频繁导致 404.
找不到资源对 SEO 来说是很严重的错误,如果发现大量 404 是由于网站死链导致的,那么务必要及时去修复。如果是外部频繁访问不存在的路径,那么有两种情况:
- AI 爬虫或其他自动化爬虫的链接拼接错误;
- 外部网站引用了某个页面,但链接是错误的。
针对以上情况,可以 301/302 跳转到某个页面,不浪费一点流量;或者搜索找到引用来源,通知对方更新链接。总之确认好原因,解决方案也就清晰了。




