متاسفانه این روزها به دلیل قطع سراسری اینترنت ایران بیشتر سایتهای وردپرسی دچار کندی در سرعت و عملکرد شدند.
مشکل چیه؟
در مرحله اول باید ببینیم چرا این مشکل ایجاد میشه، برای روشن شدن این موضوع چند مثال رو پایین میارم
1- افزونه WP Statistics برای دریافت اطلاعات جغرافیایی IP کاربر از GeoIP Collection که توی سایت MAXMind هست استفاده میکنه.
2- افزونه Jetpack به طور مستمر با سایت wordpress در حال تبادل هست.
3- افزونه Wordfence برای بررسی کلید نصب با wordfence.com در اتباط هست.
4- افزونههای آپدیت راستچین و ژاکت با سایتهاشون در حال تبادل اطلاعات برای بروزرسانی پلاگینهای خریداری شده هستند.
5- خود وردپرس برای بررسی آپدیتهای قالب و افزونه با سایت wordpress در ارتباط هست.
و این لیست بسیار میتونه ادامه دار باشه؛ دلیل این کار هم مشخصه، لزوما اطلاعات خاصی از شما برای وبسایتهای مذکور ارسال نمیشه.
بیشتر به جهت بررسی لایسنس، بالا بردن عملکرد و در نهایت برای بررسی بروزرسانی هست (حالا این وسط کسی سواستفاده کرد دیگه پای خودش)
راهکار
برای رفع این مشکل میتونید از کد زیر در فایل wp-config.php استفاده کنید
define('WP_HTTP_BLOCK_EXTERNAL', true);
نکته اول پیشنهاد میشه این فایل رو بعد از define( ‘WP_DEBUG’, false ) اضافه کنید.
نکته دوم اینکه الان لینکهای خارجی که بهشون نیاز داریم رو باید چیکار کنیم؟
برای این منظور هم میتونید از قطعه کد زیر استفاده کنید
define('WP_ACCESSIBLE_HOSTS', '*.misterbr.ir,*.zarinpal.com,*.wordpress.org');
این خط رو هم دقیقا بعد از کد define(‘WP_HTTP_BLOCK_EXTERNAL’, true) وارد کنید مثل تصویر زیر
اگر دقت کنید من سایت وردپرس، زرینپال و آدرس خودم رو با تمام زیر دامنهها مستثنا کردم.
جمعبندی
پیشنهاد میکنم در مرحله اول فقط از قطعه کد اول استفاده کنید اگر دچار مشکل شدید از قطعه کد دوم برای مستثنا کردن استفاده کنید (عموما قطعه کد اول کافیه)
اگر سایت شما از سرور دانلود استفاده میکنه میتونید با قطعه کد دوم مستثناش کنید تا سایتتون دچار مشکل نشه.
قطعا پیشنهادات دیگری هم وجود دارند به جهت بهینهسازی بهتر در این شرایط ماننده:
1- انتقال از CDN های خارجی به داخلی (به غیر از ابر آروان) میتونید NS رو مستقیم به هاست یا سرورتون تنظیم کنید.
2- عدم استفاده از میل سرورهای خارجی.
3- انتقال وبسایت به داخل کشور (به شخصه اصلا و ابدا پیشنهاد نمیکنم).
4- قطع ارتباط اکوسیستم گوگل مثل (تگ منیجر، آنالیتیکس و….).
5- حذف کدهای اینماد، ساماندهی، یکتانت و امثالهم.
6- برداشتن زمانبندی بکاپ اگر به سرویسهای خارجی متصل هستید مثل گوگل درایو یا FTP بیرون کشور.
خیلی خیلی مهم: اگر تگهای ماننده Google Tag Manager یا Google Analytics رو برمیدارید به این نکته توجه کنید که بعد از حذف یا غیرفعال کردن این کد، اطلاعات شما به این سرویسها ارسال نمیشه و ممکنه در ادامه دیتای آماری شما دچار نقص بشه پس با آگاهی به این موضوع تصمیم بگیرید یا با برداشتن کد یکتانت دیگه این سرویس برای شما غیرفعال میشه
همچنین اگر در بخش زمان ثبت سفارشات در همین زمان دچار مشکل شدید، در بخش تنظیمات عمومی وردپرس زمان محلی رو از تهران برداشته و روی +3:30 تنظیم کنید.
البته قطعه کدهای دیگری هم وجود داره که میتونید با تست و بررسی خودتون استفاده کنید مانند:
define( 'AUTOMATIC_UPDATER_DISABLED', true );
define( 'WP_AUTO_UPDATE_CORE', false );
define( 'SHORTINIT', false )
;
فقط پیشنهاد میکنم دونه دونه تست کنید، مثلا قطعه کد define( 'SHORTINIT', false )
باعث میشه سایت وردپرسی شما به صورت مینیمال بالا بیاد
این خودش ممکنه باعث بروز مشکلاتی در ظاهر یا عملکرد بخشهای مختلف سایت بشه پس با احتیاط استفاده کنید و حتما قبل از هر تغییر از فایل wp-config.php یک پشتیبان تهیه کنید.
نکته پایانی؛ حتما بعد از پایدار شدن وضعیت اینترنت این تنظیمات رو به حالت اول برگردونید؛ امیدوارم با این چند ترفند سایتتون با سرعت مناسب لود بشه.
لطفا اگر نکاتی این چنین در ذهن دارید برای ما کامنت کنید.
سپاس بیکران.