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

بعضی گزینه‌های منوی وردپرس بعد از ذخیره ناپدید می‌شوند؛ چه کنیم؟

عیب‌یابی حذف آیتم‌های فهرست وردپرس پس از ذخیره، بررسی محدودیت PHP و آزمایش امن تنظیمات.

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

قدم اول: کدام منو را ویرایش می‌کنید؟

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

قدم دوم: نتیجه درخواست ذخیره را بخوانید

در مرورگر رایانه، هنگام باز بودن صفحه مدیریت F12 را بزنید و زبانه Network را باز کنید. سپس فقط یک بار تغییر آزمایشی را ذخیره کنید. درخواست ناموفق را پیدا کنید و کد وضعیت و پیام عمومی آن را یادداشت کنید:
  • پاسخ 403 می‌تواند به مجوز حساب یا قانون امنیتی مرتبط باشد.
  • پاسخ 413 می‌تواند به محدودیت اندازه درخواست اشاره کند.
  • پاسخ 500 نیازمند بررسی گزارش خطای سرور در همان زمان است.
  • پاسخ ظاهراً موفق همراه با حذف بخشی از ورودی‌ها می‌تواند ناشی از محدودیت یا مشکل پردازش داده باشد؛ کد ۲۰۰ به‌تنهایی سلامت منو را ثابت نمی‌کند.
کوکی، nonce، رمز و محتوای خصوصی را از گزارش حذف کنید. اگر تغییر آزمایشی اصلاً ارسال نشده، خطای JavaScript یا تداخل افزونه در مرورگر نیز قابل بررسی است. برای ذخیره‌نشدن نوشته‌ها، راهنمای ذخیره نوشته وردپرس مسیر جداگانه‌ای دارد.

max_input_vars چیست و چه زمانی اهمیت دارد؟

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

قدم سوم: مقدار مؤثر PHP وب و گزارش را بررسی کنید

در وردپرس به ابزارها ← سلامت سایت ← اطلاعات بروید و بخش اطلاعات سرور یا PHP را ببینید. بسته به نسخه و سطح دسترسی، ممکن است مقدار محدودیت ورودی یا اطلاعات مفید دیگر نمایش داده شود. در بعضی پنل‌های هاست بخش انتخاب نسخه PHP یا MultiPHP INI Editor تنظیم مؤثر را نشان می‌دهد. اگر آن را پیدا نمی‌کنید، از میزبان مقدار مؤثر PHP برای همان دامنه وب را بخواهید.
نسخه و تنظیم PHP خط فرمان ممکن است با PHP سایت فرق داشته باشد؛ دیدن یک مقدار در ترمینال به‌تنهایی اثبات نمی‌کند وب‌سرور هم همان را استفاده می‌کند. گزارش خطای خصوصی PHP را در زمان ذخیره ببینید و دنبال هشدار مربوط به تعداد ورودی‌ها بگردید. اگر گزارش حاوی اطلاعات حساس است، آن را عمومی نکنید و فایل تشخیصی phpinfo() در دسترس عموم قرار ندهید.
اگر هشدار یا اندازه فرم نشان می‌دهد سقف واقعاً کم است، مدیر می‌تواند مقدار را در تنظیم مناسب همان دامنه و به اندازه معقول افزایش دهد. محل تنظیم به نوع هاست و پردازشگر PHP بستگی دارد؛ قرار دادن خط تصادفی در .htaccess همه‌جا کار نمی‌کند. مقدار قبلی و روش بازگشت را نگه دارید. سقف بسیار بزرگ بدون توجه به منابع و امنیت مناسب نیست.

اگر تغییر سقف جواب نداد

در نسخه آزمایشی افزونه‌های مرتبط با منو یا امنیت را یکی‌یکی و با ثبت نتیجه بررسی کنید. اگر درخواست 403 یا 404 از دیواره امنیتی دریافت می‌کند، شناسه رخداد، زمان و مسیر درخواست را به میزبان بدهید تا قانون مشخص را بررسی کند؛ خاموش‌کردن کامل محافظ سایت لازم نیست. اگر پاسخ 413 است، حجم درخواست و سقف مربوط به وب‌سرور یا PHP را با مدیر مقایسه کنید؛ این مشکل الزاماً max_input_vars نیست.
همچنین بررسی کنید قالب واقعاً همان منوی ذخیره‌شده را نمایش می‌دهد و لایه کش عمومی نسخه قبلی را نشان نمی‌دهد. پاک‌کردن کش ممکن است نمایش را تازه کند، ولی آیتمی را که از پایگاه داده حذف شده برنمی‌گرداند.

نتیجه را چطور آزمایش کنیم؟

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

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

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