در پی محدودیت های اخیر در شبکه اینترنت، اختلالاتی در بعضی سایتها به خصوص سایتهای وردپرسی که سرورهای ایران دارند ایجاد شده است. در این مطلب سعی کردهایم به مشکلات ایجاد شده در این وبسایتها و روش حل آن تا زمان برطرف شدن این محدودیتها بپردازیم.
مشکل ایجاد شده در زمان محدودیت ها
با اعمال محدودیت ها بر روی اینترنت یکی از مشکلات اساسی که برای بیشتر سایتهای وردپرسی که در هاستهای سرور ایران قرار دارند پیش میآید، کند شدن شدید پنل کاربری است. علت اصلی این امر برقرار نشدن ارتباط بین پلاگینها و قالبهای وبسایت با سرور است و به دلیل اینکه صفحات پنل کاربری مداوم در حال بروزرسانی هستند، درخواست هایی از سمت سرور برای این پلاگین ها فرستاده میشود و با عدم پاسخ مواجه میشوند که این امر به طولانی شدن لود شدن صفحات میانجامد.
راه حل
بهترین روش برای کارکردن با پنل کاربری بدون مشکل کندی شدید که میتوان در این مدت زمان به کار گرفت بستن درخواست ها یا ریکوئست هایی است که از سمت پلاگین ها و یا قالب برای سایت های مبدا فرستاده میشود که راه حلی بسیار ساده دارد. ابتدا یک افزونه ( افزونه query monitor) برای تست درخواست ها و زمان لودینگ صفحات بر روی پنل کاربری وبسایت خود نصب میکنیم. اگر در مخزن وردپرس به این پلاگین دسترسی نداشتیم (به علت محدودیت ها مخزن وردپرس) از سایت وردپرس (www.wordpress.org) پلاگین را دانلود کرده و در هاست وبسایت و پوشه پلاگین قرار میدهیم. سپس با تست گرفتن صفحه لود پنل کاربری میتوانیم درخواست های http که جواب نمیدهند را به همراه مدت لودینگ هر یک، ببینیم. سپس وارد پنل هاست خود میشویم و فایل wp-config.php را ویرایش کرده و دو خط کد زیر را در فایل اضافه مینماییم.
define( ‘WP_HTTP_BLOCK_EXTERNAL’, TRUE );
define( ‘WP_ACCESSIBLE_HOSTS’, ‘example.com, wordpress.org’ );
خط اول این کد تمام درخواست های http خارجی را مسدود میکند، در خط دوم میتوانیم به صورت دستی بعضی از درخواست های http را برای وبسایت باز کنیم. فقط کافی است در اینجا آدرس وبسایت های مورد نظر را در انتهای کد (example.com) وارد نماییم.
با ذخیره تغییرات، حال اگر مدت زمان لودینگ پیشخوان وردپرس و سایر صفحات پنل کاربری را بررسی نماییم با بسته شدن درخواست های خارجی http سرعت لود ما بسیار بهتر خواهد شد.
اگر سوالی در خصوص این آموزش داشتید در قسمت نظرات و پیشنهادات با تمام وجودمان پاسخگوی شما هستیم
امیدواریم این آموزش به شما کمک کند تا مشکل کندی کنترل پنل وردپرس خود را رفع کنید. اگر سوالی برای حل مشکل کندی پنل وردپرس دارید در کامنت از ما بپرسید.
مفید بود،ممنون
خوب بود ولی به نظرتون مشکل Yoast منو رفع میکنه اخه خیلی کند شده اینم ربطی به اینترنت داره ؟
سلام. وقتتون بخیر. بله با این روش تا حدود زیادی این مشکل رفع میشه.
خیلی مفید بود واقعا استفاده کردم
چه جالب خیلی دنبال یه روشی بودم واسه اینکار چند تا ویدیو هم دیده بودم اینم انجام میدم امیدوارم درست بشه
خیلی اذیت میشم برای هر تغییر 🙁
تمام تلاشمون این هست که مشکلات کاربرامون به حداقل برسه با این روش تا حدود زیادی مشکلاتتون رفع میشه، موفق باشید
وقتی کد و تو فایل wp-config میذارم سایت بالا نمیاد. مشکل از کجاست؟
به صورت دقیق و قبل از بررسی نمیتوان به این سوال پاسخ داد. به احتمال زیاد شما باید ارتباط صفحه ساز خود را با هاست از طریق وارد کردن آدرس صفحه ساز در کد دوم برقرار نمیایید. یا کد را در بین کدها wp-config اضافه کردید لطفا توجه کنید که کد را حتما در انتهای wp-config اضافه کنید.
در خط دوم این کد، کدوم وبسایت ها رو غیر از سایت خودمون و وردپرس وارد کنیم؟
سایتهایی که در بعضی از پلاگین ها استفاده میکنید. برای مثال اگر از پلاگین میهن پنل استفاده میکنید در این قسمت ادرس سایت mihanwp .com را وارد کنید. به صورت کلی سایت هایی که میخواهید با هاست شما ارتباط داشته باشند در این قسمت وارد کنید.
برای خود سایت و حالت یوزر چه کنیم؟🙁
کند بودن سایت دلایل زیادی دارد که یکی از آنها نوع مدیرت محتوای، نوع هاستی و میزان ورودی سایتتون بستگی داره. در بیشتر مواقع ارتقاء پلن هاست میتونه خیلی کمک کنه.
سلام من برای سایت captcha قرار دادم . وقتی این کد را در فایل کانفیگ قرار دادم کپچا پیام خطا میدهد و لاگین نمیشه کرد
وقتی دوباره حذفش کردم کپچا بدرستی کار می کند .
در قسمت سایت های قابل دسترس سایت گوگل را هم اضافه کردم ولی فایده ای نداشت
درود
برای پرستاشاپ چیکار کنیم
ممنون از توضیحاتتون. با این کار محدودیتی در استفاده از افزونه ها پیش نمیاد؟
در آپدیت برخی از افزونه ها و یا ارتباط مستقیم افزونه با وبسایت شما ممکن است مشکلی پیش بیاید که میتوانید با وارد کردن آدرس اون افزونه در قسمت دوم کد ارتباط اون افزونه را باز کنید.
define( ‘WP_ACCESSIBLE_HOSTS’, ‘example.com, wordpress.org’ );
کد فوق بسیار عالی عمل میکنه ولی با wpml اختلال ایجاد میکنه و برای وب سایت های دو زبانه نمیشه استفاده کرد. اگه راهکاری دارید ممنون میشم اطلاع رسانی کنید.
سلام . در خط دوم کد وبسایتی که افزونه wpml شما با آن در ارتباط است را وارد کنید که درخواست های این افزونه مسدود نشود.
define( ‘WP_ACCESSIBLE_HOSTS’, ‘example.com, wordpress.org’ );
جای example.com آدرس افزونه wpml را قرار دهید.