404页面必须包含“404”字样并返回HTTP 404状态码;title需含“404”,加noindex meta,h1用纯文本,main包裹内容,链接用绝对路径且指向真实页面。

404页面的必须包含“404”字样
搜索引擎靠
-
<title>404 - 页面未找到</title>是最低合规写法;加品牌名也行,如<title>404 - 页面未找到 | MySite</title> - 别用 JS 动态改
document.title—— 爬虫不执行 JS,看到的仍是原始 title - 避免纯图标、SVG 文本或图片替代“404”文字,屏幕阅读器和爬虫都读不到
要加 meta name="robots" content="noindex"
404 页面本质是“不存在的资源”,不该被索引。不加这个标签,Google 可能把它当成一个正常页面缓存并展示在搜索结果里,用户点进去看到的却是错误页,体验崩坏。
- 放在
<head>里,紧挨<title>后即可 - 别写
noindex, follow—— follow 没意义,404 页上链接本就不该传递权重 - 静态托管(如 GitHub Pages、Vercel)自动返回 404 状态码时,这个
meta仍需手动加,平台不管它
HTML结构里 <h1> 和 <main> 不可省略
语义化不是为了好看,而是让爬虫和辅助技术快速定位核心信息。没有 <h1> 或它不含“404”,Google 可能降权识别;没 <main>,屏幕阅读器可能跳过错误内容直接读导航。
-
<h1>404 Not Found</h1>或<h1>页面未找到(404)</h1>—— 必须是纯文本,不能藏在 CSS 里 -
<main>包住整个错误说明区,不要用<div>模拟 - 避免把“404”写在
<span>或<p>里当副标题,<h1>是唯一且强制的层级锚点
链接必须用绝对路径,且只链向真实存在的页面
404 页面本身处于异常 URL 下(比如 /blog/post-missing/),所有相对路径都会错位。更关键的是:任何指向 404 的链接,都会让搜索引擎认为你在故意制造死链。
立即学习“前端免费学习笔记(深入)”;
- 首页链接写
<a href="/">首页</a>,不是<a href="../"> - 别放“热门文章”列表——那些链接若已下线,会形成二级 404,加重爬虫负担
- 搜索框的
action必须指向真实可用的搜索接口,比如<form action="/search">,而不是/search.php或空 action
真正难的不是写 HTML,是确保服务器返回的响应头里有 HTTP/1.1 404 Not Found —— 如果这一步错了,上面所有 SEO 设置都白搭。



















