رفع خطای 404 وردپرس - رفع خطای 404 در وردپرس؛ آموزش و انجام

رفع خطای 404 در وردپرس؛ آموزش و انجام

باز شدن صفحه‌ای با پیام «صفحه پیدا نشد» فقط یک خطای ساده نیست؛ این اتفاق می‌تواند کاربر را از ادامه بازدید منصرف کند، اعتبار سایت را پایین بیاورد و حتی روی رتبه صفحات دیگر اثر منفی بگذارد. بسیاری از مدیران...

Picture of هانیه مجللی
هانیه مجللی

باز شدن صفحه‌ای با پیام «صفحه پیدا نشد» فقط یک خطای ساده نیست؛ این اتفاق می‌تواند کاربر را از ادامه بازدید منصرف کند، اعتبار سایت را پایین بیاورد و حتی روی رتبه صفحات دیگر اثر منفی بگذارد. بسیاری از مدیران سایت، بعد از تغییر پیوند یکتا، حذف یک نوشته یا جابه‌جایی محصولات، با این مشکل روبه‌رو می‌شوند و نمی‌دانند باید از کجا شروع کنند. خبر خوب این است که در بیشتر مواقع، دلیل خطا قابل شناسایی و برطرف‌کردن است.

در این راهنما، مراحل رفع خطای 404 وردپرس را از روش‌های سریع و کم‌خطر تا بررسی‌های تخصصی‌تر توضیح می‌دهیم. ابتدا مشخص می‌کنیم خطا برای یک URL خاص رخ داده یا تعداد زیادی از صفحات را درگیر کرده است. سپس سراغ بازسازی پیوندهای یکتا، ساخت ریدایرکت 301، بررسی افزونه‌ها، کنترل فایل .htaccess، خطاهای قالب و مشکلات سرور می‌رویم. در پایان هم یاد می‌گیرید چطور با ابزارهایی مثل Google Search Console از تکرار این مشکل جلوگیری کنید.

یک نکته مهم: قبل از نصب افزونه‌های متعدد یا تغییر تنظیمات اصلی سایت، از وردپرس و پایگاه داده نسخه پشتیبان بگیرید. در تجربه عملی، بسیاری از خطاهای 404 با یک تنظیم ساده در بخش پیوندهای یکتا حل می‌شوند؛ اما اگر مشکل از ساختار سایت، کدنویسی قالب یا تداخل افزونه باشد، دستکاری عجولانه ممکن است وضعیت را پیچیده‌تر کند.

فهرست مطالب

رفع خطای 404 وردپرس؛ خطای 404 چیست و چرا رخ می‌دهد؟

کد وضعیت 404 یعنی سرور پاسخ می‌دهد، اما منبعی که کاربر درخواست کرده در آدرس موردنظر پیدا نمی‌شود. این موضوع با خاموش بودن سایت یا قطع کامل سرور تفاوت دارد. برای نمونه، اگر آدرس یک نوشته از /wordpress-seo به /wordpress-seo-guide تغییر کرده باشد و برای آدرس قبلی ریدایرکت تعریف نشده باشد، کاربر URL قدیمی را باز می‌کند و با خطای 404 روبه‌رو می‌شود.

در وردپرس، ساختار آدرس‌ها به پیوندهای یکتا، قوانین بازنویسی سرور، قالب، افزونه‌ها و گاهی تنظیمات شبکه وابسته است. به همین دلیل، یک تغییر کوچک مثل انتخاب ساختار جدید برای پیوند یکتا می‌تواند باعث شود صفحات سایت دیگر با آدرس قبلی در دسترس نباشند.

مهم‌ترین دلایل ایجاد خطای 404

    • حذف نوشته، برگه، محصول یا دسته‌بندی بدون جایگزین مناسب
    • تغییر نامک یا Slug یک صفحه
    • تغییر ساختار پیوندهای یکتا
    • خرابی یا بازنویسی نادرست قوانین فایل .htaccess
    • تداخل افزونه‌های سئو، کش، امنیتی یا فروشگاهی
    • وجود لینک داخلی اشتباه در نوشته‌ها و منوها
    • انتقال سایت از یک دامنه یا سرور به سرور دیگر
    • مشکل در تنظیمات DNS، هاست یا پیکربندی Nginx

خطای 404 در چه بخش‌هایی دیده می‌شود؟

این خطا ممکن است فقط برای یک نوشته دیده شود یا تمام صفحات سایت را درگیر کند. اگر صفحه اصلی باز می‌شود اما نوشته‌ها، دسته‌بندی‌ها یا محصولات خطای 404 دارند، احتمال مشکل در پیوندهای یکتا یا قوانین بازنویسی بیشتر است. اگر حتی صفحه اصلی نیز باز نمی‌شود، باید وضعیت دامنه، هاست، DNS و تنظیمات سرور را هم بررسی کنید.

بررسی‌های اولیه قبل از رفع خطای 404

قبل از تغییر تنظیمات، باید دامنه مشکل را مشخص کنید. این کار زمان عیب‌یابی را کاهش می‌دهد و اجازه نمی‌دهد بدون دلیل سراغ تغییرات پرریسک بروید. بررسی را با یک URL مشخص شروع کنید و سپس چند صفحه دیگر را آزمایش کنید.

۱. آدرس را دستی بررسی کنید

گاهی مشکل فقط یک اشتباه تایپی است. وجود فاصله، حروف بزرگ و کوچک، اسلش اضافی یا پسوند نادرست می‌تواند باعث باز شدن صفحه 404 شود. URL را از نوار مرورگر کپی کنید و در بخش ویرایش نوشته، مقدار نامک را با آن مقایسه کنید.

۲. در حالت ناشناس مرورگر تست کنید

کش مرورگر و افزونه‌های نصب‌شده روی مرورگر ممکن است نتیجه واقعی را نشان ندهند. صفحه را در حالت Incognito باز کنید یا با یک مرورگر دیگر امتحان کنید. اگر صفحه در حالت ناشناس باز شد، کش یا افزونه مرورگر عامل مشکل بوده است.

۳. وضعیت صفحه را در پیشخوان ببینید

به بخش «نوشته‌ها» یا «برگه‌ها» بروید و بررسی کنید صفحه واقعاً منتشر شده باشد. نوشته‌های منتقل‌شده، حذف‌شده یا قرارگرفته در سطل زباله برای بازدیدکننده در دسترس نیستند. در سایت‌های فروشگاهی، وضعیت محصول، موجودی و تنظیمات افزونه فروشگاه نیز باید بررسی شود.

اگر پس از این بررسی‌ها متوجه شدید مشکل گسترده‌تر از یک URL است، بهتر است از یک متخصص برای پشتیبانی وردپرس کمک بگیرید؛ مخصوصاً زمانی که سایت درآمدزا است و هر تغییر اشتباه می‌تواند فروش یا ثبت سفارش را مختل کند.

بازسازی تنظیمات پیوند یکتا، یکی از سریع‌ترین روش‌ها برای اصلاح خطای 404 در وردپرس است. این روش معمولاً محتوای سایت را حذف نمی‌کند و فقط قوانین مربوط به تولید و بازنویسی URLها را دوباره ذخیره می‌کند.

  قرار دادن فاوآیکون در وردپرس با استفاده از کد

مراحل بازسازی پیوندهای یکتا

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

وردپرس هنگام ذخیره این بخش، قوانین بازنویسی را دوباره ثبت می‌کند. در بسیاری از پروژه‌هایی که بعد از انتقال هاست، همه نوشته‌ها 404 شده‌اند، همین کار مشکل را برطرف کرده است. اگر سایت روی Apache باشد، معمولاً قوانین در فایل .htaccess به‌روزرسانی می‌شوند؛ در سرورهای Nginx، این تنظیمات در سطح سرور انجام می‌شوند و ذخیره پیوندهای یکتا به‌تنهایی همیشه کافی نیست.

اگر گزینه «ذخیره تغییرات» مشکل را حل نکرد

در این حالت، افزونه‌های کش و امنیتی را موقتاً غیرفعال کنید و دوباره آزمایش بگیرید. اگر مشکل برطرف شد، افزونه‌ها را یکی‌یکی فعال کنید تا عامل تداخل مشخص شود. همچنین بررسی کنید سایت در حالت چندسایتی وردپرس یا Multisite قرار نداشته باشد؛ زیرا ساختار URL در این حالت قوانین جداگانه‌ای دارد.

تغییر ساختار پیوند یکتا بدون برنامه‌ریزی، برای سئو مناسب نیست. اگر مجبور به تغییر آدرس‌ها هستید، برای هر URL قدیمی نزدیک‌ترین صفحه جدید را تعیین کنید و ریدایرکت 301 بسازید.

ساخت ریدایرکت 301 برای URLهای حذف‌شده

ریدایرکت 301 به مرورگر و موتور جست‌وجو اعلام می‌کند که یک صفحه برای همیشه به آدرس دیگری منتقل شده است. این روش با نمایش یک صفحه 404 تفاوت دارد؛ زیرا کاربر را به مقصد مرتبط هدایت می‌کند و بخشی از اعتبار URL قبلی را منتقل نگه می‌دارد.

چه زمانی ریدایرکت 301 مناسب است؟

    • تغییر نامک یک نوشته یا برگه
    • ادغام دو مقاله مشابه در یک صفحه کامل‌تر
    • تغییر دامنه سایت
    • تغییر ساختار محصولات یا دسته‌بندی‌ها
    • حذف صفحه‌ای که جایگزین موضوعی مشخص دارد

ریدایرکت نباید همه URLهای قدیمی را به صفحه اصلی بفرستد. این کار از نظر تجربه کاربری ضعیف است و ممکن است موتور جست‌وجو آن را ریدایرکت نامرتبط در نظر بگیرد. مقصد باید تا حد امکان همان موضوع، محصول یا نیت جست‌وجوی صفحه قبلی را پوشش دهد.

روش ساخت ریدایرکت در وردپرس

افزونه‌های مدیریت ریدایرکت امکان ثبت آدرس قدیمی و مقصد جدید را از داخل پیشخوان فراهم می‌کنند. در زمان تنظیم، فقط مسیر URL را وارد کنید و از ایجاد زنجیره ریدایرکت خودداری کنید. برای نمونه، اگر آدرس A به B و B به C منتقل شده است، بهتر است A مستقیماً به C هدایت شود.

وضعیتاقدام پیشنهادیدلیل
صفحه حذف شده و جایگزین مرتبط داردریدایرکت 301 به صفحه جایگزینحفظ مسیر کاربر و ارزش URL
صفحه موقتاً در دسترس نیستبررسی سرور و رفع مشکل بدون ریدایرکت دائمیجلوگیری از تغییر اشتباه سیگنال صفحه
هیچ جایگزین مرتبطی وجود نداردنمایش صفحه 404 کاربردی یا پاسخ 410اعلام حذف واقعی محتوا به موتور جست‌وجو
چند URL مشابه به یک صفحه ختم می‌شوندانتخاب URL اصلی و ریدایرکت بقیهکاهش محتوای تکراری و پراکندگی اعتبار

بررسی افزونه، قالب و فایل .htaccess

اگر بازسازی پیوندهای یکتا نتیجه نداد، باید عوامل فنی سایت بررسی شوند. افزونه‌های سئو، کش، امنیت، چندزبانه و فروشگاهی بیشتر از سایر افزونه‌ها با URLها و قوانین بازنویسی درگیر هستند.

تست تداخل افزونه‌ها

از سایت نسخه پشتیبان بگیرید و افزونه‌ها را موقتاً غیرفعال کنید. اگر خطا از بین رفت، افزونه‌ها را یکی‌یکی فعال کنید و بعد از هر فعال‌سازی URL مشکل‌دار را بررسی کنید. این روش از حدس‌زدن جلوگیری می‌کند. در سایت‌های حساس می‌توان این آزمایش را در محیط Staging انجام داد تا کاربران واقعی با اختلال مواجه نشوند.

گاهی مشکل از یک افزونه نیست، بلکه از ترکیب دو افزونه ایجاد می‌شود؛ برای مثال، یک افزونه امنیتی URL خاصی را مسدود می‌کند و افزونه کش نسخه قدیمی پاسخ 404 را نگه می‌دارد.

بررسی قالب وردپرس

قالب می‌تواند با ثبت نادرست Custom Post Type یا تغییر قوانین بازنویسی، آدرس برخی محتواها را خراب کند. اگر خطا بعد از تغییر قالب ایجاد شده است، قالب را روی یک قالب پیش‌فرض وردپرس آزمایش کنید. اصلاح ساختار قالب یا ایجاد یک طراحی قالب وردپرس اصولی، در پروژه‌هایی که URLهای اختصاصی زیادی دارند، از ایجاد خطاهای تکرارشونده جلوگیری می‌کند.

بررسی فایل .htaccess

در وردپرس نصب‌شده روی Apache، فایل .htaccess نقش مهمی در بازنویسی URL دارد. حذف کامل محتوای این فایل یا قرار دادن کد ناسازگار می‌تواند باعث 404 شدن همه نوشته‌ها شود. محتوای استاندارد رایج وردپرس معمولاً مشابه نمونه زیر است:

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

END WordPress

این کد را بدون داشتن نسخه پشتیبان و شناخت تنظیمات هاست تغییر ندهید. ممکن است سایت شما در پوشه‌ای غیر از ریشه نصب شده باشد یا سرور از Nginx استفاده کند. در چنین شرایطی، کد بالا باید متناسب با محیط میزبانی بررسی شود.

تفاوت خطای 404 با خطاهای سرور و وردپرس

تشخیص کد خطا اهمیت زیادی دارد. خطای 404 یعنی منبع پیدا نشده، اما خطای 403 معمولاً به مجوز دسترسی مربوط است، خطای 500 به مشکل داخلی سرور یا کد PHP اشاره می‌کند و خطای 502 یا 503 اغلب با سرویس‌های سرور، پراکسی یا منابع هاست ارتباط دارد.

چه زمانی مشکل از هاست است؟

اگر URLها به‌صورت تصادفی باز و بسته می‌شوند، پاسخ سرور در چند موقعیت متفاوت است یا بعد از تغییر تنظیمات هاست مشکل شروع شده، لاگ‌های سرور را بررسی کنید. کمبود منابع، پیکربندی اشتباه PHP، محدودیت دسترسی فایل‌ها و تنظیمات CDN می‌توانند ظاهر متفاوتی از خطای صفحه را ایجاد کنند.

نقش CDN و کش در نمایش 404

گاهی صفحه در وردپرس اصلاح شده، اما CDN همچنان پاسخ 404 قبلی را به کاربر نمایش می‌دهد. پس از اصلاح URL، کش افزونه، کش سرور، CDN و مرورگر را پاک کنید. در Cloudflare یا سرویس مشابه، Purge Cache برای URL مشخص معمولاً بهتر از پاک کردن کل کش است؛ چون فشار کمتری به سرور وارد می‌کند.

در سایت‌های پرترافیک، تغییرات را در ساعت کم‌ترافیک انجام دهید و چند موقعیت جغرافیایی را بررسی کنید. ممکن است یک نود CDN هنوز نسخه قبلی صفحه را نگه داشته باشد.

تأثیر خطای 404 بر سئو و روش پیشگیری

وجود چند صفحه 404 به‌تنهایی باعث جریمه سایت نمی‌شود. موتورهای جست‌وجو می‌دانند که بعضی محتواها حذف یا جابه‌جا می‌شوند. مشکل زمانی جدی‌تر می‌شود که تعداد زیادی URL مهم بدون ریدایرکت خراب شوند، لینک‌های داخلی به صفحات ناموجود اشاره کنند یا کاربران مکرراً به بن‌بست برسند.

در Google Search Console، گزارش Pages و بخش Not indexed می‌تواند URLهای دارای خطا را نشان دهد. همه URLهای گزارش‌شده نیاز به ریدایرکت ندارند؛ ابتدا بررسی کنید آیا صفحه ارزشمند بوده، لینک خارجی دارد یا جایگزین مرتبطی برای آن وجود دارد.

چک‌لیست پیشگیری از خطای 404

    • قبل از تغییر نامک، URL قدیمی و جدید را ثبت کنید.
    • برای صفحات حذف‌شده، مقصد مرتبط یا صفحه 404 کاربردی داشته باشید.
    • بعد از تغییر ساختار URL، نقشه سایت XML را بازسازی و ارسال کنید.
    • لینک‌های داخلی را به‌صورت دوره‌ای با ابزارهای خزنده بررسی کنید.
    • از تغییر هم‌زمان قالب، افزونه و ساختار پیوند یکتا خودداری کنید.
    • قبل از به‌روزرسانی‌های مهم، نسخه پشتیبان و محیط آزمایشی داشته باشید.
    • در صورت افزایش حجم سایت، موضوع افزایش سرعت وردپرس را هم جدی بگیرید؛ کش نادرست و فشار زیاد سرور گاهی تشخیص خطا را دشوار می‌کند.

چه زمانی به توسعه اختصاصی نیاز است؟

اگر سایت شما محصولات، فیلترها، زبان‌های مختلف یا نوع محتوای سفارشی دارد، ریدایرکت‌های دستی همیشه کافی نیستند. در چنین پروژه‌ای، ساختار URL باید در سطح کدنویسی بررسی شود. یک طراحی پلاگین وردپرس استاندارد می‌تواند قوانین بازنویسی را کنترل کند و از تولید URLهای نادرست جلوگیری کند.

در پروژه‌های دیگر، مشکل از یک قابلیت ناقص یا افزونه قدیمی است و توسعه یا اصلاح آن با طراحی افزونه وردپرس اختصاصی، راه‌حل پایدارتری نسبت به نصب چند افزونه عمومی خواهد بود.

بهترین راه برای حل خطای 404، حذف همه خطاها به هر قیمت نیست؛ باید مشخص کنید کدام URL واقعاً ارزش حفظ دارد، کدام صفحه باید منتقل شود و کدام محتوا بهتر است برای همیشه حذف شود.

سؤالات متداول درباره رفع خطای 404 وردپرس

آیا ذخیره دوباره پیوندهای یکتا اطلاعات سایت را حذف می‌کند؟

خیر. ذخیره پیوندهای یکتا فقط قوانین مربوط به ساختار آدرس‌ها را بازسازی می‌کند و نوشته‌ها، برگه‌ها یا محصولات را حذف نمی‌کند. با این حال، پیش از هر تغییر مهم داشتن نسخه پشتیبان توصیه می‌شود.

چرا بعد از تغییر نامک، صفحه قبلی 404 می‌شود؟

چون URL قبلی دیگر به محتوای موجود اشاره نمی‌کند. برای حفظ دسترسی کاربران و ارزش سئو، از آدرس قدیمی به URL جدید ریدایرکت 301 بسازید.

آیا همه خطاهای 404 باید به صفحه اصلی ریدایرکت شوند؟

خیر. ریدایرکت به صفحه اصلی زمانی که ارتباطی با محتوای قبلی ندارد، تجربه کاربری ضعیفی ایجاد می‌کند. صفحه 404 مرتبط یا ریدایرکت به نزدیک‌ترین محتوای موضوعی معمولاً انتخاب بهتری است.

چطور بفهمیم خطا از افزونه است یا قالب؟

افزونه‌ها را موقتاً غیرفعال و قالب را روی یک قالب پیش‌فرض آزمایش کنید. اگر خطا با غیرفعال کردن افزونه‌ها برطرف شد، افزونه‌ها را یکی‌یکی فعال کنید. اگر فقط با تغییر قالب مشکل حل شد، کدها و نوع محتوای سفارشی قالب باید بررسی شوند.

آیا صفحه 404 برای سئو بد است؟

تعداد محدودی صفحه 404 طبیعی است و به‌تنهایی باعث افت رتبه نمی‌شود. مشکل اصلی زمانی ایجاد می‌شود که صفحات مهم، لینک‌دار یا پرترافیک بدون جایگزین رها شوند و کاربران زیادی به URLهای ناموجود برسند.

بعد از اصلاح خطا، چرا هنوز 404 نمایش داده می‌شود؟

احتمالاً یکی از لایه‌های کش، CDN یا مرورگر هنوز پاسخ قبلی را نگه داشته است. کش‌ها را پاک کنید، URL را در حالت ناشناس باز کنید و با ابزارهای بررسی هدر HTTP، کد پاسخ واقعی را کنترل کنید.

جمع‌بندی

رفع خطای 404 وردپرس معمولاً با تشخیص درست علت آغاز می‌شود، نه با نصب تصادفی افزونه‌ها. ابتدا URL و وضعیت انتشار صفحه را بررسی کنید، سپس پیوندهای یکتا را دوباره ذخیره کنید. اگر آدرس تغییر کرده است، ریدایرکت 301 مرتبط بسازید و در ادامه تداخل افزونه‌ها، قالب، فایل .htaccess، کش و تنظیمات سرور را بررسی کنید.

برای حفظ سئو، همه URLهای خراب را کورکورانه به صفحه اصلی نفرستید. صفحات ارزشمند را به مقصد مناسب منتقل کنید، صفحات بدون جایگزین را با یک صفحه 404 کاربردی مدیریت کنید و گزارش‌های Google Search Console را به‌صورت منظم بررسی کنید. با همین رویکرد مرحله‌ای، هم تجربه کاربر بهتر می‌شود و هم ساختار فنی سایت در برابر خطاهای آینده پایدارتر خواهد بود.

امتیاز دادن

نظرات با ارزش کاربران

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فهرست مطالب