Top Layout Campaign banner

تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

چرا وردپرس در نت ملی کند میشود؟ + معرفی راهکارها


۱۶ اردیبهشت ۱۴۰۵

خلاصه کنید:

openaigeminiperplexity

هنگامی که اینترنت ملی میشود؛ وردپرس به دلیل اینکه به طور پیش فرض به یک سری سرویس‌های خارجی وصل هست؛ اینترنت ملی توانایی پاسخ‌گویی سریع را ندارد درواقع ممکن است درخواست به این سرویس ها یا تایم اوت بشود یا با تاخیر خیلی بالا پاسخ بدهد.

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

برای حل مشکل کندی وردپرس در مواقع قطعی اینترنت بین‌الملل با لیارا در این مقاله همراه باشد تا به بررسی کامل و معرفی راهکار های مؤثر بپردازیم.

در ادامه، می‌خوانید:

  • علت‌های کند شدن وردپرس در شبکه ملی کدام‌اند؟
  • درخواست‌های خارجی پیش‌فرض وردپرس
    • درخواست‌های سطح سرور (Server-Side)
    • درخواست‌های سطح مرورگر (Client-Side)
  • تأثیر افزونه‌ها بر سرعت در شبکه داخلی
  • راهکارهای فنی
    • جلوگیری از ارسال درخواست‌های خارجی وردپرس
    • Local کردن Google Fonts
    • غیرفعال کردن Gravatar
    • جایگزینی Google reCAPTCHA
    • غیرفعال کردن XML-RPC
    • غیرفعال کردن Emoji Scripts
  • نتیجه‌گیری

علت‌ های کند شدن وردپرس در شبکه ملی کدام اند؟

با هر بار رِفْرِش صفحه مرورگر تعداد خیلی زیادی درخواست HTTP به سرویس‌های خارجی ارسال می‌کند که وقتی اینترنت ملی ایران فعال میشود این درخواست ها کاملا بلاک می‌شوند یا با تاخیر بیشتر از ۵۰۰ میلی ثانیه پاسخ می‌دهند.

حال سوال اینجاست که وردپرس به چه منابعی درخواست می‎‌‌فرستد که با اعمل نت ملی، این درخواست‌ها بلاک می‌شوند؟

اصلی‌ترین منابع این درخواست‌ها عبارتند از:

  • Google Fonts به دلیل بارگذاری فونت از سرورهای گوگل
  • WordPress.org API به دلیل درخواست‌های پیش‌فرض وردپرس برای بررسی آپدیت و سرویس‌های جانبی
  • Google reCAPTCHA به دلیل سرویس احراز هویت گوگل
  • External CDN Scripts به دلیل اسکریپت‌های analytics و tracking خارجی

جلوگیری از ارسال درخواست‌های خارجی وردپرس

وردپرس به صورت پیش‌فرض و بدون نیاز به هیچ افزونه‌ای، چند درخواست خارجی ارسال می‌کند.

این درخواست‌ها در دو سطح اتفاق می‌افتند:

سطح سرور (Server-Side):

  • درخواست WordPress.org API برای بررسی آپدیت هسته، افزونه‌ها و قالب‌ها
  • درخواست Pingback و Trackback برای ارسال اطلاعیه به سایت‌های خارجی هنگام انتشار پست
  • DNS Prefetch برای درخواست‌های پیش‌فرض به s.w.org و fonts.googleapis.com

سطح مرورگر (Client-Side):

  • Google Fonts برای بارگذاری فونت‌های پیش‌فرض قالب
  • Gravatar برای دریافت آواتار کاربران در بخش نظرات
  • Emoji Scripts، اسکریپت پیش‌فرض وردپرس برای نمایش ایموجی که از s.w.org بارگذاری می‌شود

نکته مهم اینجاست که درخواست‌های Client-Side مستقیماً رندر صفحه را بلاک می‌کنند، در حالی که درخواست‌های Server-Side روی TTFB (Time To First Byte زمانی که سرور اولین بایت پاسخ را به مرورگر ارسال می‌کند؛ هرچه این عدد بالاتر باشد، کاربر دیرتر محتوای سایت را می‌بیند.) تأثیر می‌گذارند.

تأثیر افزونه‌ها بر سرعت در شبکه داخلی

یکی از اصلی‌ترین منابع درخواست‌های خارجیِ وردپرس افزونه‌ها هستند. بسیاری از افزونه‌های محبوب به سرویس‌های خارجی وابسته‌اند که در شبکه ملی یا بلاک هستند یا تاخیر بالایی دارند که پیشنهاد می‌شود برای این افزونه ها جایگزینی پیدا کنید که این مشکل را نداشته باشد.

افزونه‌های فرم‌ساز:

افزونه‌هایی مثل Contact Form 7 و WPForms به صورت پیش‌فرض از Google reCAPTCHA استفاده می‌کنند. هر بار که فرمی در صفحه بارگذاری می‌شود، یک درخواست به سرورهای گوگل ارسال می‌شود که در شبکه ملی تایم اوت می‌شود.

افزونه‌های SEO:

افزونه‌هایی مثل Yoast SEO و Rank Math اسکریپت‌های Schema و tracking را از CDNهای خارجی بارگذاری می‌کنند.

CDN یا شبکه توزیع محتوا چیست؟
CDN چیست؟

افزونه‌های امنیتی:

افزونه‌هایی مثل Wordfence به صورت مداوم با سرورهای خارجی برای بررسی threat intelligence در ارتباط هستند. این درخواست‌ها در پس‌زمینه اتفاق می‌افتند و مستقیما روی TTFB تأثیر می‌گذارند.

افزونه‌های کَش:

برخی افزونه‌های کَش مثل W3 Total Cache به صورت پیش‌فرض از CDNهای خارجی مثل MaxCDN استفاده می‌کنند که در شبکه ملی قابل دسترس نیستند.

https://liara.ir/blog/cdn-%da%86%db%8c%d8%b3%d8%aa/

راهکارهای فنی

۱. جلوگیری از ارسال درخواست‌های خارجی وردپرس

ساده‌ترین و سریع‌ترین راهکار برای جلوگیری از ارسال درخواست‌های خارجی، استفاده از کد WP_HTTP_BLOCK_EXTERNAL در فایل wp-config.php است.

برای اینکار:

۱. وارد هاست خود شوید.
۲. وارد File Manager شوید.
۳. فایل wp-config.php رو پیدا و باز کنید.
cPanle

بعد از باز کردن فایل، کد زیر را اضافه کنید:

define('WP_HTTP_BLOCK_EXTERNAL', true);

بعد از انجام این کار، درصورت نیاز شما می‌توانید به برخی دامنه ها اجازه دسترسی بدهید تا آنها از این محدودیت استثنا باشند.
برای مثال کد زیر را نیز بعد از define('WP_HTTP_BLOCK_EXTERNAL', true); اضافه کنید.

define('WP_ACCESSIBLE_HOSTS', 'دامنه بدون محدودیت');

رفع مشکل درگاه‌ها و سامانه‌های SMS

درگاه‌های پرداخت و سامانه‌های SMS ایرانی روی زیرساخت داخلی کار می‌کنند و معمولا مشکل بلاک شدن ندارند. اما وقتی WP_HTTP_BLOCK_EXTERNAL فعال است، این سرویس‌ها هم بلاک می‌شوند.

راهکار اینه که دامنه‌های این سرویس‌ها را در WP_ACCESSIBLE_HOSTS استثنا کنید:

define('WP_HTTP_BLOCK_EXTERNAL', true);
define('WP_ACCESSIBLE_HOSTS', '*.zarinpal.com,*.idpay.ir,*.zibal.ir,*.kavenegar.com,*.farazsms.com');

نکات مهم:

  • از wildcard (*) استفاده کنید تا تمام زیردامنه‌های سرویس مورد نظر در دسترس باشند
  • دامنه‌های سرویس‌هایی که استفاده می‌کنید را از مستندات رسمی آن سرویس پیدا کنید
  • بعد از اضافه کردن دامنه‌ها، حتما تست کنید که سرویس به درستی کار می‌کند

لوکال کردن Google Fonts

پس از ملی شدن اینترنت وردپرس برای جلوگیری از بلاک یا تایم‌اوت شدن باید فونت‌های لازم را دانلود کرده و روی سرور خود هاست کنیم.

سوال اینجاست که چگونه این کار را باید انجام دهیم؟

مرحله ۱: فونت مورد نظر را دانلود کنید.

مرحله ۲: فایل‌های فونت را در مسیر زیر آپلود کنید:

wp-content/themes/your-theme/fonts/

مرحله ۳: در فایل functions.php قالب خود، کد زیر را اضافه کنید:

add_action('wp_enqueue_scripts', function() {
    wp_dequeue_style('google-fonts');
});

مرحله ۴: فونت را از طریق style.css قالب خود لود کنید:

@font-face {
    font-family: 'Roboto';
    src: url('/wp-content/themes/your-theme/fonts/roboto.woff2') format('woff2');
    font-display: swap;
}

غیرفعال کردن Gravatar

Gravatar یک سرویس خارجی برای نمایش آواتار کاربران در بخش نظرات است. در شبکه ملی، درخواست به سرورهای Gravatar یا block می‌شود یا با تاخیر بالا پاسخ می‌دهد.

برای غیرفعال کردن Gravatar دو روش وجود دارد:

روش اول: از طریق پیشخوان وردپرس

  • وارد پیشخوان وردپرس شوید
  • بروید به تنظیمات > گفتگو
  • گزینه نمایش آواتار را پیدا کنید و غیرفعال کنید

روش دوم: از طریق کد

اگه می‌خواید Gravatar را کاملا غیرفعال کنید و از آواتار پیش‌فرض استفاده کنید، کد زیر را در فایل functions.php اضافه کنید:

add_filter('option_show_avatars', '__return_false');

جایگزینی Google reCAPTCHA

Google reCAPTCHA یک سرویس گوگل است که برای تشخیص ربات از انسان در فرم‌ها استفاده می‌شود. در شبکه ملی، سرورهای گوگل block هستند و این باعث می‌شود فرم‌های سایت یا کار نکنند یا با تأخیر زیاد لود شوند.

بهترین جایگزین استفاده از hCaptcha است که:

  • روی زیرساخت خارج از گوگل کار می‌کند
  • در شبکه ملی قابل دسترس است
  • رابط کاربری مشابه reCAPTCHA دارد

برای جایگزینی، افزونه hCaptcha for WordPress را نصب کنید و در تنظیمات افزونه فرم‌های خود را از reCAPTCHA به hCaptcha تغییر دهید.

غیرفعال کردن XML-RPC

XML-RPC یک endpoint پیش‌فرض وردپرس است که برای ارتباط با سرویس‌های خارجی استفاده می‌شود. در شبکه ملی این endpoint می‌تواند منبع درخواست‌های خارجی غیرضروری باشد. برای غیرفعال کردن آن کد زیر را در فایل functions.php اضافه کنید:

add_filter('xmlrpc_enabled', '__return_false');

غیرفعال کردن Emoji Scripts

وردپرس به صورت پیش‌فرض یک اسکریپت برای نمایش ایموجی از سرور s.w.org بارگذاری می‌کند. در شبکه ملی این درخواست block می‌شود. برای غیرفعال کردن آن کد زیر را در فایل functions.php اضافه کنید:

remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');

استفاده از سرور دهنده معتبر ایرانی

یکی از مهم‌ترین عوامل تأثیرگذار بر سرعت وردپرس در شبکه ملی، انتخاب سرور دهنده مناسب است. سرور دهنده‌ای که زیرساخت آن روی شبکه داخلی ایران باشد، تاخیر بسیار کمتری نسبت به سرورهای خارجی دارد.

لیارا یکی از سرور دهنده‌های ایرانی است که زیرساخت آن روی شبکه داخلی ایران قرار دارد و امکان استقرار وردپرس را با چند کلیک فراهم می‌کند.

برخی مزایای لیارا برای میزبانی وردپرس:

  • زیرساخت داخلی: سرورها روی شبکه ملی ایران هستند
  • استقرار آسان: نصب وردپرس با چند کلیک
  • پشتیبانی فارسی: تیم پشتیبانی فارسی‌زبان
  • مستندات کامل: داکیومنتیشن فارسی و جامع
با هاست WordPress لیارا، سایت خود را با سرعت، امنیت و پایداری بالا راه‌اندازی کنید.
✅ سرعت بالا ✅ بهینه‌سازی‌ شده ✅ پشتیبانی تخصصی
خرید هاست WordPress

نتیجه‌ گیری

کند شدن وردپرس در شبکه ملی یک مشکل زیرساختی است، نه یک باگ یا خطای کدنویسی. تا زمانی که وردپرس به سرویس‌های خارجی وابسته باشد، این مشکل پابرجاست. راهکارهایی که در این مقاله بررسی کردیم در واقع یک رویکرد کلی دارند: کاهش وابستگی به سرویس‌های خارجی و جایگزینی آن‌ها با نمونه‌های داخلی یا لوکال (local).

انتخاب یک سرور دهنده با زیرساخت داخلی، بلاک کردن درخواست‌های خارجی غیرضروری و لوکال کردن سرویس‌هایی مثل فونت و آواتار، در کنار هم می‌توانند تأثیر قابل توجهی بر سرعت سایت داشته باشند.

به اشتراک بگذارید

Blog Campaign banner