404 最佳实践

Avatar of Chris Coyier
Chris Coyier 发布

DigitalOcean 为您的旅程各个阶段提供云产品。立即开始使用 $200 免费积分!

404 错误 是 web 服务器在被要求提供无法找到的资源时返回的响应。

1. 它应该看起来仍然像您的网站

如果您没有专门告诉您的 web 服务器如何处理 404 错误,它将提供一个非常简单且通用的错误页面。页面上只写着类似于“未找到 - 服务器上没有找到请求的 URL.”的文字,背景是纯白色。这对用户来说是毫无帮助的,并且会造成非常糟糕的体验。404 页面应该看起来像一个错误页面,但它仍然应该像您的网站。如果您使用的是 CMS,那么这可能已经为您处理好了。如果您有一个静态网站,您可以通过您的 .htaccess 文件指定一个 404 模板

2. 道歉

没有人会故意访问您的 404 页面。大多数情况下,他们是从您自己网站或其他地方的错误链接进入的。他们可能不太高兴,因此这是一个向他们道歉并希望能扭转他们糟糕心情的绝佳机会。

3. 搜索

他们要查找的页面可能仍然存在,只是 URL 发生了更改,或者是在某个地方被错误输入了。由于您的网站应该已经拥有搜索功能,因此这是一个将搜索框放在显眼位置的好机会。这为用户提供了搜索他们尝试链接到的内容并为自己找到正确 URL 的机会。

4. 为读者提供有用的链接

他们链接到的页面可能没有损坏,只是不再存在了。除了搜索功能,您可能还想提供一些他们会觉得有用的链接。例如,链接到主页、存档页面或您已知的网站上经常访问的页面或热门页面?

5. 联系方式 / 错误报告

访问 404 页面的用户可能会产生强烈的情绪。他们可能会非常担心,或者感到担忧,或者他们可能非常生气。为他们提供一个发泄情绪的方式是个好主意,而您无法为他们提供一个沙袋,所以一个联系表格可能会有帮助。这当然不仅对他们有利,对您也有利,因为您可以了解问题所在,以便修复问题或阻止问题再次发生。

6. 自动报告

让用户通过联系表格帮助您报告错误非常棒,但只有少部分用户会这样做。另一种方法是让您的 404 页面自动向您报告错误。您可以通过多种方法来实现这一点。一个快速而肮脏的方法是将您的 404 页面设为 PHP 文件,并使用邮件函数发送访问的 URL 的电子邮件。

<?php
  mail("[email protected]", "404 report", $_SERVER['REQUEST_URI'], "From: [email protected]\n")
?>

注意:以上代码对于小型网站可能没问题,但对于高流量网站来说并不实用。在这种情况下,将错误写入数据库可能更实用。

7. 幽默

即使是严肃的网站也可以在 404 页面上添加一点幽默。这绝对是一个放轻松一点,做一些有趣事情的好机会。

8. 重定向?

我对这一点持保留意见,但可以自动将 404 错误重定向到另一个页面。例如,主页上显示一条关于错误的提示?或者是一个包含从 URL 解析出的关键词的搜索页面?

9. 文件大小

你可能会惊讶于你的 Web 服务器必须处理多少恶意活动。有一件事让我在一段时间前感到惊讶,那就是有多少请求是针对“奇怪”文件的。例如,请求奇怪子文件夹中的 favicon 或寻找不存在的随机图像。当这些东西没有出现时,服务器会加载你的 404 页面。不用说,为所有这些请求提供完整的网页会增加大量的带宽。你最好的办法是抵制这些恶意请求,但你也要注意考虑你的 404 页面的总页面大小,并在带宽成为主要问题时减少它。