هنگام مدیریت یک سایت وردپرس، مواجهشدن با خطاهایی مانند «Publishing Failed» و «Updating Failed» میتواند گردش کار شما را مختل کند. در این مطلب از سری مطالب آموزشی وبلاگ پارس وی دی اس به چگونه خطاهای Publishing Failed و Updating Failed را در وردپرس را برطرف کنیم میپردازیم.
این مسائل نهتنها مانع تلاشهای مدیریت محتوای شما میشود، بلکه میتواند مانع از دسترسی مخاطبان به اطلاعات جدید و بهروز شود. هدف این راهنما روشنکردن چالشهای رایج وردپرس و ارائه راهحلهای عملی است.
درک خطاهای “Updating Failed” و “Publishing Failed”:
سیستم وردپرس دائماً در حال تکامل است و معرفی Block Editor به طور قابلتوجهی نحوه تولید محتوا را توسط کاربران تغییر داده است. درحالیکه این رویکرد نوآورانه برای مدیریت محتوا مزایای بسیاری را ارائه میدهد، اما همچنین میتواند منجر به ناامیدی در هنگام بروز خطاهایی مانند «Publishing Failed» و «Updating Failed».
این پیامها معمولاً زمانی ظاهر میشوند که میخواهید محتوای جدید منتشر کنید یا صفحات یا پستهای موجود را بهروزرسانی کنید.
ریشه این خطاها اغلب در اتکای Block Editor به REST API برای ایجاد، ذخیره و انتشار پستها نهفته است. اگر به هر دلیلی REST API با مشکلاتی مواجه شود، چه مسدود یا غیرفعال شود، ارتباط بین Block Editor و WordPress قطع میشود. این وقفه همان چیزی است که منجر به این خطاها میشود.
REST API اساساً پلی است که به Block Editor اجازه میدهد تا با بقیه وردپرس ارتباط برقرار کند. اگر این پل ازکارافتاده باشد، توانایی شما برای انتشار یا بهروزرسانی محتوا به خطر میافتد.
دلایل بروز خطا:
عوامل متعددی میتوانند در ایجاد این خطاها نقش داشته باشند، از جمله:
- مشکلات REST API: همانطور که قبلاً ذکر شد، مشکلات REST API میتواند عملکرد Block Editor را مختل کند.
- مشکلات اتصال: گاهی اوقات، یک مشکل جزئی اتصال به اینترنت میتواند منجر به این خطاها شود.
- تضاد پلاگین: گاهی اوقات، یک پلاگین ممکن است با عملیات ویرایشگر بلوک تداخل داشته باشد.
- مشکلات مجوز: مجوزهای نادرست فایل در سرور شما میتواند مانع از عملکرد صحیح ویرایشگر Block شود.
رفع خطاهای «Publishing Failed» و «Updating Failed»:
رفع خطاهای «Publishing Failed» و «Updating Failed» شامل چند استراتژی مختلف است. بیایید آنها را بررسی کنیم:
REST API را با استفاده از Site Health Tool تست کنید:
یک نقطه شروع خوب استفاده از ابزار Site Health در وردپرس برای بررسی وضعیت REST API است. در اینجا نحوه دسترسی به این ابزار و تفسیر یافتههای آن آمده است:
پیمایش داشبورد وردپرس برای رسیدگی به مشکلات REST API:
- به داشبورد خود دسترسی پیدا کنید
- به داشبورد وردپرس خود بروید.
- به Tools > Site Health بروید.
- برای بررسی هرگونه مشکل در نصب وردپرس، تب Status را انتخاب کنید.
شناسایی مشکلات REST API:
اگر REST API مسدود شود، ابزار Site Health پیامی با این مضمون نشان میدهد که «The REST API encountered an unexpected result». این نشاندهنده یک مشکل ارتباطی بین وردپرس و سرور شما است که میتواند بر عملکردهایی مانند ویرایشگر بلوک تأثیر بگذارد.
- درک خطای خاص:
این ابزار یک پیام خطای خاص را ارائه میدهد که منجر به نتیجه غیرمنتظره میشود. پیامهای رایج عبارتاند از:
401 Not Authorized: مشکلات احراز هویت را نشان میدهد.
403 Cookie Nonce Is Invalid: مشکلاتی را در مورد کوکیها یا اعتبارسنجی nonce پیشنهاد میکند.
- رسیدگی به خطاهای رایج:
۴۰۱ خطای مجاز نیست:
این خطا به این معنی است که احراز هویت ناموفق بوده یا وجود ندارد. بررسی کنید که آیا افزونههای امنیتی به طور ناخواسته REST API را مسدود میکنند یا پیکربندیهای اشتباهی در فایل htaccess. شما وجود دارد که میتواند دسترسی را محدود کند.
403 Cookie Nonce نامعتبر است:
nonce یک نشانه امنیتی است که تأیید میکند درخواستهای سرور از یک منبع قانونی منشأ میگیرند. این خطا نشان میدهد که رمز نامعتبر است یا منقضی شده است.
کش و کوکیهای مرورگر خود را پاک کنید. اگر مشکل ادامه داشت، به طور موقت افزونهها را غیرفعال کنید تا مشخص شود که آیا تداخلی وجود دارد یا خیر.
- مهلت زمانی عملیات:
این نشان میدهد که سرور برای پاسخگویی خیلی طولانی طول کشیده است، احتمالاً به دلیل بار سنگین یا محدودیت منابع.
محدودیت زمانی اجرای PHP را در فایل php.ini خود افزایش دهید یا برای کمک در مدیریت منابع سرور با ارائهدهندههاست خود تماس بگیرید.
- سایر خطاها:
اگر خطا در دستههای بالا قرار نمیگیرد، ممکن است به دلیل تداخل پلاگین یا تم، مشکلات پیکربندی سرور، یا مجوزهای فایل نادرست باشد.
- راهحلهای عمومی:
برای ردکردن مشکلات مربوط به موضوع، به یک قالب پیشفرض وردپرس بروید.
آدرسهای وردپرس و سایت خود را در Settings > General
بررسی کنید تا مطمئن شوید که درست هستند.
برای رفع خطاها REST API را در وردپرس دوباره فعال کنید:
عیبیابی این خطاها اغلب به REST API منجر میشود. چه توسط کلودفلیر مسدود شده باشد، چه توسط یک افزونه غیرفعال شود یا با مشکلات احراز هویت مواجه شود، چندین مسیر وجود دارد که میتوانید برای حل این مشکل انتخاب کنید. بیایید برخی از مؤثرترین راهحلها را برای فعالکردن مجدد REST API و بازگرداندن سایت وردپرس خود به مسیر درست مرور کنیم.
تنظیمات کلودفلیر را بررسی کنید:
اگر از کلودفلیر استفاده میکنید، ممکن است فایروال آن درخواستهای قانونی REST API را مسدود کند و آنها را با تهدیدات احتمالی اشتباه بگیرد. در اینجا نحوه مقابله با این موضوع آمده است:
- برای بررسی تنظیمات امنیتی خود به داشبورد کلودفلیر خود بروید.
- به دنبال هر قانونی باشید که ممکن است دسترسی به REST API را مسدود کند. این را میتوان با مسیرهایی که شامل «/wp-json/» است، که بخشی از ساختار URL REST API است، شناسایی کرد.
- اگر قانونی پیدا کردید که REST API را مسدود میکند، سعی کنید تنظیمات آن را تنظیم کنید یا آن را موقتاً غیرفعال کنید تا ببینید آیا با این کار مشکل حل میشود یا خیر.
- پلاگینها را بهصورت متوالی غیرفعال کنید
- پلاگینها، بهویژه آنهایی که به امنیت و بهینهسازی مربوط میشوند، گاهی اوقات میتوانند REST API را مسدود کنند. در اینجا یک رویکرد سیستماتیک برای شناسایی مقصر بودن یک افزونه وجود دارد:
- از داشبورد وردپرس به قسمت افزونهها رفته و تمامی افزونههای خود را غیرفعال کنید.
- پس از غیرفعالکردن، بررسی کنید که آیا مشکل REST API همچنان وجود دارد یا خیر. اگر حل شد، احتمالاً یکی از افزونهها باعث ایجاد مشکل شده است.
- پلاگینهای خود را یکبهیک دوباره فعال کنید و بعد از هر فعالسازی عملکرد REST API را بررسی کنید. پس از ظاهرشدن مجدد خطا، افزونه مشکلساز را پیدا کردهاید.
- پس از شناسایی، تنظیمات افزونه را برای اجازهدادن به درخواستهای REST API تنظیم کنید، به دنبال یک افزونه جایگزین باشید یا برای راهنمایی با پشتیبانی افزونه تماس بگیرید.
احراز هویت از طریق فایل htaccess:
برای سایتهایی که با احراز هویت REST API مشکل دارند، ممکن است تغییری در فایل htaccess. لازم باشد. در اینجا یک راه دقیق برای ادامه وجود دارد:
قبل از هر گونه تغییر، مطمئن شوید که از فایل htaccess. خود یک نسخه پشتیبان تهیه کردهاید.
خط زیر را به فایل htaccess. خود اضافه کنید تا احراز هویت REST API تسهیل شود:
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
این خط هدر Authorization را به وردپرس منتقل میکند.
پس از ذخیره تغییرات، بررسی کنید که آیا REST API بهدرستی کار میکند یا خیر.
مشکلات سرور ویندوز را برطرف کنید:
اجرای وردپرس بر روی سرور ویندوز میتواند چالشهای منحصربهفردی ایجاد کند. اگر این تنظیمات شماست و با مشکلات REST API مواجه هستید، ویرایش فایل web.config ممکن است راهحل باشد:
این فایل باید در پوشه اصلی نصب وردپرس شما باشد. اگر وجود ندارد، باید یکی را ایجاد کنید.
اطمینان حاصل کنید که فایل امکان مدیریت پیوندهای دائمی زیبای وردپرس و REST API را فراهم میکند. مایکروسافت راهنماییهایی را در مورد تنظیمات web.config برای قوانین بازنویسی URL ارائه میدهد.
از حالت اشکالزدایی وردپرس استفاده کنید
زمانی که به نظر نمیرسد که اصلاحات معمول، REST API را در وردپرس دوباره فعال میکنند، روشنکردن حالت اشکالزدایی وردپرس میتواند مسائل غیرقابلدرک را روشن کند.
این ابزار قدرتمند برای توسعهدهندگان و مدیران طراحی شده است تا با ارائه نگاهی از پشتصحنه به آنچه که در نصب وردپرس شما اتفاق میافتد، مشکلات را تشخیص داده و حل کنند. بیایید نحوه فعالسازی حالت اشکالزدایی و استفاده مؤثر از آن برای شناسایی دقیق و رفع مشکلاتی که مانع از اتصال شما به REST API میشوند را بررسی کنیم.
فعالکردن حالت اشکالزدایی وردپرس
حالت اشکالزدایی، پیامهای خطای دقیق و هشدارهای PHP را در یک فایل ثبت میکند و بینشهایی را در مورد آنچه ممکن است باعث ایجاد خطاهای «انتشار انجام نشد» یا «بهروزرسانی انجام نشد» ارائه دهد. در اینجا نحوه فعالکردن آن آمده است:
- فایل wp-config.php در فهرست اصلی سایت وردپرس شما قرار دارد. با استفاده از یک سرویسگیرنده FTP یا از طریق فایل منیجر ارائهدهندههاست خود به آن دسترسی داشته باشید.
- فایل را با استفاده از ویرایشگر متنباز کنید.
- خطی را پیدا کنید که میخواند: /* That’s it, stop editing! Happy blogging */
- درست قبل از این خط، کد زیر را وارد کنید:
// Enable WP_DEBUG mode define( 'WP_DEBUG', true ); // Enable Debug logging to the /wp-content/debug.log file define( 'WP_DEBUG_LOG', true );
پس از افزودن کد، تغییرات خود را ذخیره کنید و اگر از یک سرویسگیرنده FTP استفاده میکنید، فایل را دوباره در سرور خود آپلود کنید.
از حالت اشکالزدایی برای شناسایی مشکلات استفاده کنید:
با فعالشدن حالت اشکالزدایی، وردپرس شروع به ثبت خطاها در فایلی به نام debug.log در دایرکتوری wp-content میکند. در اینجا نحوه استفاده از این فایل برای عیبیابی آمده است:
- به دایرکتوری wp-content روی سرور خود بروید. فایل debug.log را اینجا پیدا خواهید کرد.
- debug.log را باز کنید و به دنبال خطاهای مربوط به REST API یا هر مشکل دیگری باشید که میتواند در انتشار یا بهروزرسانی پستها اختلال ایجاد کند.
- بر اساس خطاهای ثبت شده، اقدامات لازم را برای رفع مشکلات اساسی انجام دهید. این ممکن است شامل بهروزرسانی پلاگینها، تمها یا ایجاد سایر تغییرات پیکربندی باشد.
- هنگامی که مشکل را حل کردید، مهم است که حالت اشکالزدایی را غیرفعال کنید تا از بزرگشدن بیش از حد فایل گزارش و به طور بالقوه افشای اطلاعات حساس جلوگیری شود.
- به فایل wp-config.php خود برگردید و WP_DEBUG و WP_DEBUG_LOG را روی false تنظیم کنید یا خطوطی را که اضافه کردید حذف کنید.
با ارائهدهندههاست خود تماس بگیرید:
اغلب، ریشه مشکلات وردپرس در پیکربندی یا محدودیتهای سرور نهفته است. اگر مشکوک هستید که ممکن است این مورد باشد یا اگر ارائهدهندههاست شما پشتیبانی ویژه وردپرس را ارائه میدهد، باید اولین تماس شما باشد.
با ارائهدهندگان پلاگین یا فایروال مشورت کنید:
اگر از ابزارهایی مانند کلودفلیر یا پلاگینهای خاص وردپرس استفاده میکنید که ممکن است با REST API تداخل داشته باشند، تماس با تیمهای پشتیبانی آنها میتواند بسیار ارزشمند باشد. در اینجا چگونه است:
- ابزار را شناسایی کنید: مشخص کنید که کدام ابزار یا سرویسی که فکر میکنید باعث ایجاد مشکل شده است.
- به دنبال مستندات باشید: قبل از تماس با پشتیبانی، اسناد راهنمای ارائهدهنده را بررسی کنید. راهحل ممکن است از قبل وجود داشته باشد.
- با پشتیبانی تماس بگیرید: اگر مستندات مشکل شما را حل نکرد، با تیم پشتیبانی ابزار با اطلاعات دقیق در مورد مشکل و تنظیمات خود تماس بگیرید.
از انجمنهای پشتیبانی وردپرس استفاده کنید:
برای مسائلی که به خدمات شخص ثالث یا میزبانی مربوط نمیشود، تالارهای گفتمان پشتیبانی وردپرس گنجینهای از دانش و تخصص است. خواه این یک افزونه رایگان باشد که باعث مشکل میشود یا یک رفتار عجیبوغریب وردپرس، جامعه ممکن است پاسخهایی داشته باشد:
بسیاری از سؤالات قبلاً پاسخ داده شده است، بنابراین مشکل خود را در انجمن جستجو کنید.
اگر راهحلی پیدا نکردید، سؤال خود را مطرح کنید. تاحدامکان دقیق باشید و خطا، نسخه فعلی وردپرس خود و هر مرحله عیبیابی که قبلاً انجام دادهاید را ذکر کنید.
راهحل موقت: افزونه Classic Editor را نصب کنید:
درحالیکه در حال مرتبکردن خطای «Publishing Failed» هستید، نصب افزونه ویرایشگر کلاسیک را بهعنوان یک راهحل موقت در نظر بگیرید.
این افزونه از ویرایشگر TinyMCE استفاده میکند که برای انتشار یا بهروزرسانی پستها به REST API متکی نیست و به شما امکان میدهد تا به طور موقت مشکل را دور بزنید. در اینجا نحوه نصب آن آمده است:
در داشبورد وردپرس خود، به بخش افزونهها بروید. روی «New addition» کلیک کنید و افزونه Classic Editor را جستجو کنید. هنگامی که افزونه را در نتایج جستجو پیدا کردید، روی «Install Now» کلیک کنید، سپس آن را فعال کنید.
بهخاطر داشته باشید که اگرچه ویرایشگر کلاسیک میتواند در کوتاهمدت به شما در بهروزرسانی محتوا کمک کند، رسیدگی به مشکلات اساسی که بر ویرایشگر بلوک تأثیر میگذارد بسیار مهم است. این به شما این امکان را میدهد که پس از رفع مشکل از قابلیتهای ویرایش مدرن وردپرس به طور کامل استفاده کنید.
جمع بندی :
در این وبلاگ به خطاهای «Publishing Failed» و «Updating Failed» در وردپرس پرداختهایم و راهبردهای مختلفی را برای تشخیص و حل این مشکلات بررسی کردهایم. ما با بررسی عملکرد REST API، تنظیم تنظیمات در کلودفلیر، غیرفعالکردن افزونههای متضاد، و تغییر تنظیمات سرور یا وردپرس شروع کردیم. این مراحل جامع علل بالقوه خطاها را پوشش میدهد.
هنگامی که این اقدامات به نتیجه نمیرسد، جستجوی پشتیبانی از ارائهدهندگان هاست، خدمات افزونه یا فایروال یا جامعه وردپرس میتواند یک بازگشت قابلاعتماد باشد. بهعنوان یک راهحل موقت، افزونه ویرایشگر کلاسیک یک راهحل فوری، هرچند کوتاهمدت، ارائه میدهد.
این سفر اهمیت عیبیابی روشمند و استفاده از منابع موجود برای حفظ تجربه انتشار وردپرس را نشان میدهد.
سؤالات متداول:
چند دلیل رایج برای خرابی بهروزرسانی وردپرس چیست؟
دلایل رایج خرابی بهروزرسانی وردپرس شامل محدودیتهای حافظه ناکافی (محدودیت حافظه PHP)، نداشتن مجوزهای مناسب برای فایلها و پوشهها، مشکلات مهلت زمانی سرور، تداخل با افزونهها یا تمها و مشکلات با پایگاهداده وردپرس است. علاوه بر این، اتصال ضعیف به اینترنت یا دانلود ناقص نیز میتواند باعث خرابی بهروزرسانیها شود.
چگونه میتوانم خرابی بهروزرسانی وردپرس را به دلیل تداخل افزونه برطرف کنم؟
برای رفع مشکل بهروزرسانی وردپرس به دلیل تداخل افزونه، میتوانید این مراحل را دنبال کنید:
- غیرفعالکردن همه افزونهها: به داشبورد وردپرس خود دسترسی پیدا کنید، به بخش افزونهها بروید و همه افزونهها را غیرفعال کنید.
- بهروزرسانی را انجام دهید: دوباره وردپرس را بهروز کنید.
- افزونهها را یکبهیک دوباره فعال کنید: پس از بهروزرسانی، هر افزونه را یکی یکی دوباره فعال کنید تا مشخص شود کدام یک باعث تضاد میشود.
- جایگزینی یا گزارش افزونه مشکلساز: اگر متوجه شدید که افزونهای مشکل ایجاد میکند، آن را جایگزین کنید یا آن را به توسعه توسعهدهنده دهید.
اگر پس از بهروزرسانی ناموفق با خطای “maintenance mode” مواجه شدم، چه کاری باید انجام دهم؟
اگر با خطای «حالت نگهداری» مواجه شدید، معمولاً به این معنی است که فرایند بهروزرسانی قطع شده است. برای حل این مشکل، مراحل زیر را دنبال کنید:
از طریق FTP یا File Manager به سایت خود دسترسی پیدا کنید: از یک سرویسگیرنده FTP یا مدیر فایل ارائهدهندههاست خود استفاده کنید.
پیداکردن فایل .maintenance: به دایرکتوری اصلی نصب وردپرس خود بروید و به دنبال فایلی به نام Maintenance بگردید.
حذف فایل .maintenance: این فایل را حذف کنید تا سایت شما از حالت نگهداری خارج شود.
بهروزرسانی را دوباره امتحان کنید: پس از حذف فایل، دوباره سعی کنید وردپرس را بهروز کنید.