وبلاگ نت‌آرامآموزش، تجربه و راهکارهای زیرساخت

بعد از تغییر پیوند یکتا، نوشته‌های وردپرس 404 می‌شوند؟

صفحهٔ اصلی باز می‌شود اما نوشته‌های وردپرس 404 هستند؟ پیوند یکتا، بازنویسی Apache یا Nginx و کش را قدم‌به‌قدم عیب‌یابی کنید.

انتشار:
توسط تیم فنی نت‌آرام
۵ دقیقه زمان مطالعه
۰ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله بعد از تغییر پیوند یکتا، نوشته‌های وردپرس 404 می‌شوند؟ در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
گاهی صفحهٔ اصلی وردپرس باز می‌شود، اما با کلیک روی نوشته‌ها پیام 404 Not Found می‌بینید. این اتفاق ممکن است بعد از تغییر پیوند یکتا، انتقال سایت یا ویرایش فایل تنظیمات رخ دهد. صفحهٔ اصلی مسیر ساده‌ای دارد؛ اما نشانی‌هایی مثل /blog/sample-post/ باید به وردپرس برسند تا آن را پیدا کند. اگر قانون این مسیر درست کار نکند، نوشته وجود دارد ولی وب‌سرور آن را پیدا نمی‌کند.

اول بفهمیم همهٔ نوشته‌ها خراب‌اند یا فقط یکی

دو نوشتهٔ قدیمی و یک نوشتهٔ تازه را جدا باز کنید. اگر همهٔ نشانی‌های کوتاه 404 هستند ولی صفحهٔ اصلی باز می‌شود، مشکل بیشتر به پیوند یکتا یا بازنویسی مسیر مربوط است. اگر فقط یک نوشته خطا دارد، از پیشخوان نوشته‌ها → همهٔ نوشته‌ها را باز کنید و مطمئن شوید نوشته منتشر شده، در زباله‌دان نیست و نشانی پایانی آن تغییر نکرده است. نام انتهای URL را «نامک» می‌گویند.
در مرورگر نشانی را دقیق کپی کنید. فاصله، حرف فارسی متفاوت، خط تیره یا اسلش اضافه می‌تواند نتیجه را تغییر دهد. اگر اخیراً نامک نوشته را عوض کرده‌اید، نشانی قبلی به‌طور خودکار همیشه به نشانی تازه نمی‌رود؛ برای نشانی قدیمی باید ریدایرکت 301 بسازید تا لینک‌های قدیمی و بازدیدکنندگان حفظ شوند.

پیوند یکتا را از پیشخوان دوباره ذخیره کنید

در پیشخوان به تنظیمات → پیوندهای یکتا بروید. ساختار فعلی را یادداشت یا از صفحه عکس بگیرید تا بتوانید برگردانید. سپس همان ساختار را بدون تغییر انتخاب کنید و ذخیرهٔ تغییرات را بزنید. این کار قانون‌های مسیر را دوباره ثبت می‌کند و اغلب مشکل پس از انتقال یا تغییر تنظیم را حل می‌کند. لازم نیست برای امتحان، ساختار URL همهٔ نوشته‌ها را عوض کنید؛ تغییر ساختار می‌تواند پیوندهای قدیمی و جایگاه صفحات در جست‌وجو را تحت تأثیر قرار دهد.
اکنون یک نوشته را در پنجرهٔ خصوصی باز کنید. اگر درست شد، سه صفحهٔ دیگر، دسته‌بندی‌ها و برگهٔ تماس را هم امتحان کنید. راهنمای پیوندهای یکتای وردپرس توضیح می‌دهد این نشانی‌ها چگونه ساخته می‌شوند و چرا باید ثابت بمانند.

اگر ذخیره‌کردن کمکی نکرد، وب‌سرور را تشخیص دهید

روی بسیاری از هاست‌های Apache، وردپرس برای مسیرهای کوتاه از فایل .htaccess استفاده می‌کند. در File Manager وارد پوشهٔ اصلی وردپرس شوید؛ همان جایی که wp-admin و wp-content دیده می‌شوند. فایل مخفی .htaccess را نمایش دهید و پیش از تغییر، یک نسخه با نامی مانند .htaccess-backup دانلود کنید. اگر این فایل وجود ندارد یا محتوایش عوض شده، دوباره ذخیره‌کردن پیوند یکتا معمولاً قانون استاندارد وردپرس را می‌سازد.
اگر از قبل قانون سفارشی دارید، کل فایل را با نسخهٔ آمادهٔ وب جایگزین نکنید. ممکن است قانون‌ها برای HTTPS، کش یا پوشهٔ دیگری لازم باشند. خطا در همین فایل می‌تواند تمام سایت را 500 کند. اگر بعد از ذخیره، صفحهٔ اصلی هم از کار افتاد، نسخهٔ پشتیبان را برگردانید و از میزبان بخواهید خطای وب‌سرور را ببیند.
در Nginx معمولاً .htaccess خوانده نمی‌شود. بنابراین تغییر آن برای سروری که Nginx خالص دارد اثری ندارد. پشتیبانی باید قانون مسیرهای وردپرس را در پیکربندی Nginx بررسی کند. اگر پشت Nginx یک پراکسی و سپس Apache دارید، ممکن است هر دو لایه در مسیر دخیل باشند؛ از میزبان بپرسید درخواست عمومی به کدام وب‌سرور می‌رسد تا فایل اشتباه را تغییر ندهید.

کش و افزونه را فقط بعد از مسیر بررسی کنید

پس از تغییر پیوندها، کش وردپرس، افزونهٔ کش یا CDN می‌تواند پاسخ 404 قبلی را نگه دارد. ابتدا کش همان صفحه را پاک کنید و دوباره در پنجرهٔ خصوصی باز کنید. اگر خطا فقط وقتی افزونهٔ امنیت یا تغییر مسیر روشن است رخ می‌دهد، برای یک آزمون، همان افزونه را موقتاً و جداگانه خاموش کنید. چند افزونه را هم‌زمان خاموش نکنید؛ در غیر این صورت معلوم نمی‌شود کدام تغییر مؤثر بوده است.
برای دیدن پاسخ خام، این فرمان را در ترمینال اجرا کنید:
کد / دستورcurl -sSI https://example.com/sample-post/
به‌جای دامنه و نامک نمونه، آدرس خودتان را بگذارید. پاسخ 404 از وب‌سرور، با صفحهٔ 404 طراحی‌شده توسط قالب یکسان نیست، اما هر دو می‌توانند در مرورگر شبیه هم دیده شوند. زمان آزمون و کد پاسخ را نگه دارید تا اگر نیاز به پشتیبانی بود، گزارش دقیق داشته باشید.

اگر ساختار URL را عوض کرده‌اید، نشانی قبلی را حفظ کنید

اگر از ساختار تاریخ‌دار به نام نوشته رفته‌اید، همهٔ لینک‌های قبلی ممکن است دیگر به نوشته نرسند. اول چند URL قدیمی پربازدید را فهرست کنید. برای هرکدام یک ریدایرکت 301 از نشانی قدیمی به نشانی جدید بسازید و سپس همان URL قدیمی را آزمایش کنید. زنجیرهٔ طولانی از ریدایرکت‌ها نسازید؛ بهتر است نشانی قدیمی مستقیم به مقصد نهایی برسد.
تا وقتی همهٔ مسیرها آزمایش نشده‌اند، تنظیم پیوند یکتا را بارها عوض نکنید. ساختار را ثابت نگه دارید، قانون وب‌سرور را در یک لایه اصلاح کنید و ریدایرکت‌های مهم را جدا بسازید. اگر بعد از انتقال هم نوشته‌ها خطا می‌دهند، انتقال هاست با کمترین اختلال را ببینید؛ نام دامنه، مسیر پوشه و تنظیم وب‌سرور باید با هم هماهنگ باشند.
همچنین مطمئن شوید دامنه به همان پوشه‌ای می‌رود که این وردپرس در آن نصب است. گاهی پس از انتقال، صفحهٔ اصلی از یک کپی سایت می‌آید ولی مسیرهای نوشته به پوشهٔ دیگری می‌رسند. اگر نشانی وردپرس و نشانی سایت در تنظیمات متفاوت‌اند، بدون شناخت ساختار آن‌ها را یکی نکنید؛ ممکن است وردپرس عمداً در زیرپوشه باشد. نام دامنه، پوشهٔ ریشه و مسیر فایل .htaccess را با پشتیبانی تطبیق دهید.
اشتراک‌گذاری:
لینکدینتلگرامایکس
مقاله قبلی
مقاله قبلی وجود ندارد.

دیدگاه‌ها (۰)

دیدگاه‌های تاییدشده و پاسخ‌های تیم نت‌آرام