وقتی کسی آدرسی را باز می‌کند که وجود ندارد، سرور یک صفحه‌ی سفید با یک خط انگلیسی نشان می‌دهد. با ابزار Error Pages سی‌پنل می‌توانید به‌جای آن صفحه‌ی خودتان را بگذارید: با ظاهر سایت، پیام فارسی و لینک برگشت به صفحه‌ی اصلی. این ابزار برای سایت‌های ساده و HTML مناسب است؛ وردپرس صفحه‌ی ۴۰۴ خودش را از قالب می‌خواند.

کدام خطاها؟

کد معنی صفحه‌ی اختصاصی لازم است؟
400 درخواست نامعتبر کم‌اهمیت
401 نیاز به ورود (پوشه‌ی رمزدار) اگر پوشه‌ی رمزدار دارید
403 دسترسی ممنوع خوب است
404 صفحه پیدا نشد مهم‌ترین
500 خطای داخلی سرور خوب است؛ ساده و بدون وابستگی به PHP

قدم‌به‌قدم

  1. در سی‌پنل، بخش Advanced، روی Error Pages بزنید.
  2. در قدم اول، دامنه را از فهرست انتخاب کنید.
  3. روی خطای موردنظر بزنید، مثلاً 404 (Not found). برای کدهای دیگر، زبانه‌ی Show All HTTP Error Status Codes را باز کنید.
  4. در ویرایشگر، HTML صفحه را بنویسید یا بچسبانید.
  5. Save را بزنید.
ابزار Error Pages سی‌پنل برای ویرایش صفحه خطای 404، 403 و 500
ابزار Error Pages؛ انتخاب دامنه و فهرست خطاهای رایج

سی‌پنل در پوشه‌ی دامنه فایلی به نام 404.shtml می‌سازد. همین فایل را بعداً با File Manager هم می‌توانید ویرایش کنید.

تگ‌های آماده

بالای ویرایشگر دکمه‌هایی هست که مقدارهای زنده را در صفحه می‌گذارند:

دکمه چه چیزی نشان می‌دهد
Requested URL آدرسی که بازدیدکننده خواسته
Referring URL صفحه‌ای که از آن آمده
Visitor’s IP address آی‌پی بازدیدکننده
Redirect Status Code کد خطا
Server Name نام دامنه
Visitor’s Browser مرورگر

یک نمونه‌ی ساده

<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>صفحه پیدا نشد</title>
<style>
body{font-family:tahoma,sans-serif;text-align:center;padding:60px 20px;color:#333}
h1{font-size:64px;margin:0;color:#0f4c75}
a{color:#077ab8}
</style>
</head>
<body>
<h1>404</h1>
<p>صفحه‌ای که دنبالش بودید پیدا نشد.</p>
<p><a href="/">بازگشت به صفحه‌ی اصلی</a></p>
</body>
</html>

استایل را داخل همان فایل بنویسید. صفحه‌ی خطا باید حتی وقتی بقیه‌ی سایت مشکل دارد درست دیده شود.

صفحه‌ی ۴۰۴ خوب چه دارد؟

  • پیام کوتاه و روشن به زبان بازدیدکننده.
  • لینک به صفحه‌ی اصلی و دو سه بخش پربازدید.
  • اگر سایت جستجو دارد، کادر جستجو.
  • ظاهری هماهنگ با سایت، ولی سبک.
  • بدون ریدایرکت خودکار به صفحه‌ی اصلی.

نکته‌های سئو

درست غلط
صفحه‌ی خطا کد ۴۰۴ برگرداند صفحه‌ی «پیدا نشد» با کد ۲۰۰ (گوگل آن را Soft ۴۰۴ می‌نامد)
برای صفحه‌ای که جابه‌جا شده، ریدایرکت ۳۰۱ به آدرس تازه ریدایرکت همه‌ی 404ها به صفحه‌ی اصلی
۴۰۴ برای صفحه‌ای که واقعاً حذف شده نگرانی از وجود چند ۴۰۴؛ طبیعی است

صفحه‌ای که با این ابزار می‌سازید خودش کد درست را برمی‌گرداند. برای آدرس‌هایی که جابه‌جا شده‌اند: ریدایرکت در سی‌پنل.

وردپرس و سایر سیستم‌ها

در وردپرس، همه‌ی آدرس‌ها از طریق htaccess به خود وردپرس داده می‌شوند و صفحه‌ی ۴۰۴ را فایل 404.php قالب می‌سازد. پس صفحه‌ی سی‌پنل برای آدرس‌های معمولی دیده نمی‌شود و باید قالب را ویرایش کنید. صفحه‌ی سی‌پنل فقط برای خطاهایی دیده می‌شود که قبل از رسیدن به وردپرس رخ می‌دهند، مثل ۴۰۳ یا ۵۰۰. برای همین ساختن صفحه‌ی ۵۰۰ و ۴۰۳ حتی روی سایت وردپرسی هم مفید است.

روش دستی با htaccess

اگر می‌خواهید صفحه‌ی خطا فایل دیگری باشد:

ErrorDocument 404 /not-found.html
ErrorDocument 500 /error.html

مسیر را نسبی و با اسلش اول بنویسید. اگر آدرس کامل با http بدهید، سرور به‌جای کد ۴۰۴ یک ریدایرکت می‌فرستد و سئو آسیب می‌بیند. (دستورهای پرکاربرد htaccess)

سوال‌های رایج

صفحه را ساختم ولی همان صفحه‌ی قدیمی دیده می‌شود.

یا سایت وردپرسی است، یا قانون ErrorDocument دیگری در htaccess هست، یا کش مرورگر. در پنجره‌ی ناشناس یک آدرس بی‌معنی را باز کنید.

از کجا بفهمم چه آدرس‌هایی ۴۰۴ می‌دهند؟

بخش Errors سی‌پنل و گزارش Pages در سرچ کنسول. (لاگ خطا)

می‌شود در صفحه‌ی خطا PHP نوشت؟

فایل‌های این ابزار shtml هستند و PHP اجرا نمی‌کنند. برای صفحه‌ی ۵۰۰ این مزیت است: وقتی PHP مشکل دارد، صفحه‌ی خطا هنوز کار می‌کند.