آموزش رفع مشکل خطای 404 در وردپرس؛ راهنمای کامل برای رفع 404 و بهبود سئو
اگر هنگام باز کردن یکی از صفحات سایت با پیام 404 Not Found مواجه شدهاید، یعنی سرور نتوانسته صفحهای را که برای آن URL درخواست شده پیدا کند. این خطا یکی از خطاهای رایج در سایتهای وردپرسی است و معمولاً بعد از تغییر آدرس صفحات، حذف محتوا، تغییر ساختار پیوندهای یکتا یا جابهجایی سایت دیده میشود.
نکته مهم این است که وجود خطای 404 بهخودیخود به معنی خراب بودن سئو سایت نیست. حتی گوگل هم تأکید میکند که 404 برای صفحاتی که واقعاً وجود ندارند، یک پاسخ طبیعی و درست است. مشکل زمانی ایجاد میشود که صفحهای که باید در دسترس باشد، اشتباهاً 404 شود یا URLهای مهم سایت بدون بررسی حذف و رها شوند.
در این مقاله قدمبهقدم بررسی میکنیم که خطای 404 چیست، چرا در وردپرس ایجاد میشود و چگونه میتوان آن را به شکل صحیح برطرف کرد.
خطای 404 چیست؟
کد وضعیت HTTP 404 Not Found یعنی سرور درخواست دریافتشده را پردازش کرده، اما منبع یا صفحه موردنظر را پیدا نکرده است.
برای مثال فرض کنید آدرس زیر قبلاً وجود داشته است:
example.com/services/web-design
بعداً آدرس صفحه تغییر کرده و به این شکل درآمده است:
example.com/services/website-design
اگر کاربر یا گوگل هنوز URL قبلی را باز کند، ممکن است با خطای 404 مواجه شود.
در چنین شرایطی، اولین سؤال این نیست که «چطور همه 404ها را حذف کنیم؟»
سؤال درست این است:
آیا این URL واقعاً باید وجود داشته باشد یا نه؟
پاسخ به همین سؤال مشخص میکند که باید 404 را نگه دارید، صفحه را برگردانید یا یک ریدایرکت 301 ایجاد کنید.
آیا خطای 404 برای سئو سایت ضرر دارد؟
نه، هر خطای 404 الزاماً برای سئو مشکل ایجاد نمیکند.
اگر صفحهای واقعاً حذف شده و جایگزین مناسبی برای آن وجود ندارد، استفاده از پاسخ 404 یا 410 کاملاً منطقی است. گوگل نیز برای محتوایی که دیگر وجود ندارد، استفاده از وضعیت مناسب 404 یا 410 را توصیه میکند.
اما شرایط زیر میتواند نیاز به بررسی داشته باشد:
- یک صفحه مهم سایت به اشتباه 404 شده باشد.
- لینکهای داخلی به صفحات 404 اشاره کنند.
- صفحات قدیمی ارزشمند بدون ریدایرکت حذف شده باشند.
- URL محصولات حذفشده هنوز از صفحات مختلف سایت لینک شده باشد.
- تعداد زیادی URL اشتباه در Sitemap قرار گرفته باشد.
- یک صفحه موجود به دلیل مشکل Permalink یا تنظیمات سرور 404 شود.
بنابراین هدف سئو این نیست که عدد 404 را به صفر برسانیم؛ هدف این است که URLهای 404 را درست مدیریت کنیم.
چرا خطای 404 در وردپرس ایجاد میشود؟
دلایل مختلفی وجود دارد، اما چند مورد بیشتر از بقیه دیده میشوند.
1. تغییر آدرس صفحه
مثلاً:
example.com/about-us
به:
example.com/about
تغییر کرده است.
اگر برای URL قبلی ریدایرکت ایجاد نشود، کاربران و موتورهای جستجو ممکن است با 404 مواجه شوند.
2. حذف صفحه یا نوشته
وقتی یک نوشته، برگه یا محصول را حذف میکنید، URL آن دیگر وجود ندارد.
اگر این URL قبلاً در گوگل ایندکس شده، در سایتهای دیگر لینک شده یا بکلینک داشته باشد، ممکن است همچنان درخواستهایی برای آن دریافت کنید.
3. تغییر ساختار پیوندهای یکتا
در وردپرس، تنظیمات Permalinks مشخص میکند URL نوشتهها و صفحات چگونه ساخته شوند.
اگر این ساختار تغییر کند، ممکن است برخی URLهای قبلی دیگر کار نکنند.
4. مشکل Rewrite Rules
گاهی صفحه واقعاً وجود دارد، اما وردپرس نمیتواند URL آن را به محتوای صحیح متصل کند.
این حالت معمولاً بعد از نصب یا تغییر بعضی افزونهها، تغییر Post Type یا تغییر تنظیمات URL دیده میشود.
خود وردپرس امکان بازسازی Rewrite Rules را دارد و باز کردن صفحه تنظیمات Permalinks باعث Refresh شدن این قوانین میشود.
5. اشتباه در لینک داخلی
ممکن است صفحه وجود داشته باشد اما لینکی که در سایت قرار دادهاید اشتباه باشد.
مثلاً صفحه واقعی:
example.com/wordpress-training
اما لینک داخلی به:
example.com/wordpress-trainning
اشاره کند.
نتیجه، 404 است.
6. تغییر نامک یا Slug
در وردپرس اگر Slug یک صفحه را تغییر دهید، URL آن نیز تغییر میکند.
برای مثال:
/seo-training/
به:
/seo-course/
تبدیل میشود.
اگر URL قبلی را بدون ریدایرکت رها کنید، کاربران قدیمی همچنان به آدرس اشتباه هدایت خواهند شد.
روش اول رفع خطای 404 در وردپرس؛ بازسازی Permalink
اگر صفحه وجود دارد ولی هنگام باز کردن آن با 404 مواجه میشوید، این روش را اول امتحان کنید.
وارد پیشخوان وردپرس شوید:
Settings → Permalinks
در نسخه فارسی معمولاً:
تنظیمات → پیوندهای یکتا
صفحه را باز کنید و بدون اینکه ساختار URL را تغییر دهید، روی Save Changes کلیک کنید.
این کار باعث میشود قوانین Rewrite وردپرس دوباره ساخته شوند. وردپرس نیز تأیید میکند که ورود به صفحه Permalinks باعث Flush شدن Rewrite Rules میشود.
حالا URL صفحهای که قبلاً 404 میداد را دوباره بررسی کنید.
در بسیاری از موارد مشکل همینجا برطرف میشود.
روش دوم؛ بررسی URL و Slug صفحه
وارد صفحهای شوید که 404 میدهد.
در وردپرس بررسی کنید:
- صفحه واقعاً وجود دارد؟
- منتشر شده است؟
- وضعیت آن روی Draft نیست؟
- Slug صحیح است؟
- آدرس نهایی با URL موردنظر مطابقت دارد؟
- آیا صفحه به آدرس دیگری منتقل شده است؟
مثلاً اگر صفحه شما باید این URL را داشته باشد:
example.com/services/seo
اما وردپرس آن را با این آدرس ساخته:
example.com/service/seo
باید علت تفاوت را پیدا کنید.
روش سوم؛ بررسی لینکهای داخلی
گاهی خود صفحه هیچ مشکلی ندارد و مشکل از لینکهایی است که به آن اشاره میکنند.
فرض کنید در ۲۰ مقاله سایت، لینک زیر قرار گرفته است:
example.com/seo-course
اما صفحه به:
example.com/seo-training
منتقل شده است.
در این حالت باید لینکهای داخلی قدیمی اصلاح شوند.
این کار از نظر تجربه کاربری و ساختار داخلی سایت اهمیت زیادی دارد.
روش چهارم؛ استفاده از Redirect 301
اگر صفحهای به URL جدید منتقل شده است، معمولاً بهترین راه این است که URL قدیمی را به URL جدید 301 Redirect کنید.
مثلاً:
example.com/old-page
به:
example.com/new-page
ریدایرکت شود.
ریدایرکت 301 به موتورهای جستجو اعلام میکند که محتوای موردنظر به آدرس دیگری منتقل شده است. گوگل نیز برای صفحاتی که به مکان جدیدی منتقل شدهاند، استفاده از 301 را توصیه میکند.
یک اشتباه رایج
تمام URLهای 404 را به صفحه اصلی سایت ریدایرکت نکنید.
مثلاً اگر این صفحه حذف شده:
example.com/laptop-repair
نباید بدون دلیل آن را به:
example.com/
هدایت کنید.
اگر صفحه جایگزین مرتبطی وجود ندارد، بهتر است URL واقعاً 404 یا 410 باقی بماند. ریدایرکتهای نامرتبط و گسترده میتوانند برای کاربران و موتورهای جستجو گمراهکننده باشند و حتی در برخی شرایط به شکل Soft 404 تشخیص داده شوند.
روش پنجم؛ بررسی خطاهای 404 در Google Search Console
اگر سایت شما در Google Search Console ثبت شده است، یکی از بهترین مکانها برای پیدا کردن URLهای مشکلدار همین بخش است.
در Search Console وارد بخش:
Indexing → Pages
شوید و گزارش URLهای ایندکسنشده و خطاهای مرتبط را بررسی کنید.
در این گزارش ممکن است URLهایی ببینید که:
- قبلاً وجود داشتهاند.
- حذف شدهاند.
- اشتباه تایپ شدهاند.
- توسط لینک داخلی ایجاد شدهاند.
- هنوز در Sitemap قرار دارند.
- به دلیل تغییر ساختار سایت دیگر قابل دسترسی نیستند.
اما هر URLی که در گزارش 404 میبینید الزاماً نیاز به Redirect ندارد.
قبل از هر اقدامی مشخص کنید URL مربوط به چه محتوایی بوده و آیا جایگزین مناسبی دارد یا خیر.
Soft 404 چیست؟
یکی از مواردی که گاهی باعث سردرگمی مدیران سایت میشود، Soft 404 است.
در Soft 404، صفحه از نظر ظاهری میگوید:
این صفحه پیدا نشد.
اما سرور به جای ارسال کد HTTP 404، مثلاً کد 200 OK برمیگرداند.
گوگل این حالت را Soft 404 مینامد.
یک مثال رایج:
کاربر وارد URL ناموجودی میشود و سایت او را به صفحه اصلی میبرد، اما URL همچنان در شرایطی پاسخ موفق دریافت میکند.
این کار راهحل مناسبی برای مدیریت 404 نیست.
اگر صفحه واقعاً وجود ندارد و جایگزین مرتبطی هم ندارد، بهتر است پاسخ واقعی 404 یا 410 ارسال شود.
تفاوت 404 و 410 چیست؟
هر دو نشان میدهند محتوای موردنظر در دسترس نیست.
404 Not Found یعنی صفحه پیدا نشد.
410 Gone بیشتر برای زمانی استفاده میشود که محتوای موردنظر عمداً حذف شده و دیگر قرار نیست برگردد.
برای اکثر سایتهای وردپرسی، لازم نیست برای تکتک URLهای حذفشده وارد جزئیات فنی پیچیده شوید.
اصل مهم این است:
صفحهای که واقعاً وجود ندارد را به یک صفحه نامرتبط تبدیل نکنید.
ساخت یک صفحه 404 حرفهای در وردپرس
اگر قرار است یک URL واقعاً 404 باشد، بهتر است صفحه خطای سایت تجربه کاربری مناسبی داشته باشد.
یک صفحه 404 خوب میتواند شامل موارد زیر باشد:
- پیام واضح درباره پیدا نشدن صفحه
- لینک صفحه اصلی
- لینک دستهبندیهای مهم
- جستجوی سایت
- لینک مقالات محبوب
- لینک خدمات اصلی
- طراحی هماهنگ با سایت
مثلاً به جای نمایش ساده:
404 – Page Not Found
میتوانید بنویسید:
صفحهای که دنبالش هستید پیدا نشد.
و بلافاصله گزینههایی مثل:
بازگشت به صفحه اصلی | جستجو در سایت | مشاهده خدمات
را در اختیار کاربر قرار دهید.
گوگل نیز توصیه میکند صفحه 404 سفارشی به کاربر کمک کند مسیر دیگری برای پیدا کردن محتوای موردنظرش پیدا کند؛ در عین حال، پاسخ HTTP صفحه باید همچنان 404 باشد.
اگر از Elementor استفاده میکنید
در سایتهای وردپرسی که با Elementor ساخته شدهاند، میتوانید یک قالب اختصاصی برای صفحه 404 طراحی کنید.
برای مثال میتوانید ساختاری شامل این موارد داشته باشید:
404
صفحه موردنظر پیدا نشد
ممکن است آدرس صفحه تغییر کرده باشد یا این محتوا دیگر در سایت وجود نداشته باشد.
[بازگشت به صفحه اصلی]
[جستجو در سایت]
[مشاهده آخرین مطالب]
طراحی صفحه 404 با هویت بصری سایت باعث میشود کاربر احساس نکند از سایت خارج شده است.
اگر بعد از تغییر Permalink همه صفحات 404 شدند چه کنیم؟
این حالت جدیتر است.
اگر صفحه اصلی باز میشود اما نوشتهها، برگهها یا محصولات 404 شدهاند، ابتدا دوباره:
Settings → Permalinks → Save Changes
را انجام دهید.
اگر مشکل ادامه داشت، موارد زیر را بررسی کنید:
- تنظیمات Permalink
- فایل
.htaccessدر سرورهای Apache - تنظیمات Rewrite
- افزونههای مرتبط با URL
- افزونههای Cache
- افزونههای امنیتی
- تنظیمات سرور
- تغییرات اخیر قالب یا افزونهها
وردپرس برای Rewrite Rules سازوکار داخلی دارد و تغییرات مربوط به قوانین Rewrite معمولاً نیازمند Refresh شدن این قوانین است.
اگر از WP-CLI استفاده میکنید نیز امکان Flush کردن Rewrite Rules با دستور wp rewrite flush وجود دارد.
اگر فقط بعضی صفحات 404 هستند چه؟
در این حالت معمولاً مشکل عمومی Permalink نیست.
باید همان URLهای خاص را بررسی کنید.
مثلاً اگر:
- صفحه اصلی باز میشود.
- سایر صفحات باز میشوند.
- فقط
/services/web-designخطای 404 دارد.
احتمالاً باید مواردی مانند Slug، وضعیت انتشار، Redirect، لینک داخلی یا وجود واقعی صفحه را بررسی کنید.
آیا باید همه 404های Google Search Console را Redirect کنیم؟
خیر.
این یکی از اشتباهات رایج در سئو است.
برای هر URL این سؤال را بپرسید:
آیا محتوای مشابه یا جایگزین مناسبی وجود دارد؟
اگر بله:
→ 301 به صفحه مرتبط
اگر خیر:
→ 404 یا 410
اگر صفحه هنوز باید وجود داشته باشد ولی به اشتباه 404 شده:
→ مشکل فنی را برطرف کنید.
این تصمیم از تلاش برای صفر کردن تعداد 404ها مهمتر است.
چکلیست رفع خطای 404 در وردپرس
برای اینکه سریعتر مشکل را پیدا کنید، این مراحل را به ترتیب انجام دهید:
- URL را دقیق بررسی کنید.
- مطمئن شوید صفحه واقعاً وجود دارد.
- وضعیت انتشار صفحه را بررسی کنید.
- Slug صفحه را بررسی کنید.
- Settings → Permalinks را باز کنید.
- روی Save Changes کلیک کنید.
- لینکهای داخلی سایت را بررسی کنید.
- Redirectهای موجود را بررسی کنید.
- Google Search Console را بررسی کنید.
- Sitemap را برای URLهای اشتباه بررسی کنید.
- در صورت انتقال محتوا، 301 ایجاد کنید.
- برای صفحات حذفشده بدون جایگزین، 404/410 را حفظ کنید.
- صفحه 404 سایت را برای کاربران بهینه کنید.
جمعبندی
خطای 404 همیشه یک مشکل سئو نیست.
اگر صفحهای واقعاً حذف شده و جایگزین مناسبی ندارد، 404 یک پاسخ طبیعی و صحیح است. چیزی که باید از آن جلوگیری کنید، URLهای مهمی است که به اشتباه 404 شدهاند، لینکهای داخلی خراب و ریدایرکتهای نامرتبط.
در سایت وردپرسی، اگر یک صفحه موجود ناگهان 404 شده، اولین اقدام ساده این است که از مسیر تنظیمات → پیوندهای یکتا وارد تنظیمات Permalink شوید و بدون تغییر ساختار، تنظیمات را ذخیره کنید. این کار Rewrite Rules وردپرس را Refresh میکند.
برای صفحات حذفشده نیز تصمیم درست را بر اساس وضعیت محتوا بگیرید:
محتوا منتقل شده → 301
محتوا واقعاً حذف شده و جایگزین ندارد → 404 یا 410
صفحه باید وجود داشته باشد → رفع مشکل فنی
همین تفکیک ساده باعث میشود به جای جنگیدن با تمام خطاهای 404، روی URLهایی تمرکز کنید که واقعاً برای کاربران و سئوی سایت اهمیت دارند.

