افزایش سرعت سایت در زمان اینترنت ملی ایران

آموزش کامل و عملی بهینه‌سازی وردپرس برای اینترنت ضعیف و ایران‌اکسس

وقتی اینترنت در ایران دچار اختلال یا محدودیت می‌شود، خیلی از سایت‌ها به‌شدت کند می‌شوند. بعضی صفحات ناقص لود می‌شوند، فونت‌ها نمایش داده نمی‌شوند و حتی ممکن است بخشی از سایت کاملاً از کار بیفتد. دلیل این مشکل معمولاً هاست ضعیف نیست؛ بلکه وابستگی سایت به سرویس‌های خارجی، فایل‌های سنگین و تنظیمات غیربهینه است.

در این آموزش قرار است مرحله‌به‌مرحله یاد بگیریم چطور سایت را برای شرایط اینترنت ملی بهینه کنیم؛ آن هم با روش‌هایی که واقعاً روی سرعت تاثیر می‌گذارند و در عین حال برای سایت خطرناک نیستند.

قبل از هر تغییری، حتماً از سایت و دیتابیس بکاپ تهیه کنید.

1) اجباری کردن HTTPS و حذف Redirect اضافی

بعضی سایت‌ها هم با http:// و هم با https:// باز می‌شوند. این موضوع باعث ایجاد یک Redirect اضافی می‌شود و در اینترنت ضعیف ایران، همین چند لحظه تاخیر قابل احساس است.

آموزش فعال‌سازی HTTPS در وردپرس

مرحله اول: مطمئن شوید SSL فعال است

اگر کنار دامنه علامت قفل وجود دارد یعنی SSL فعال است.

مثال:

https://example.com

مرحله دوم: ورود به فایل htaccess
مسیر فایل:

public_html/.htaccess

این فایل معمولاً داخل File Manager هاست قرار دارد.

مرحله سوم: افزودن کد ریدایرکت
کد زیر را بالای فایل .htaccess قرار دهید:

RewriteEngine On

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

این کد چه کاری انجام می‌دهد؟
اگر کسی سایت را با HTTP باز کند:

http://example.com

به‌صورت خودکار به HTTPS منتقل می‌شود:

https://example.com

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

2) حذف فونت گوگل و استفاده از فونت محلی

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

آموزش لوکال کردن فونت
مرحله اول: دانلود فونت
فونت فارسی مثل:

Vazirmatn

ایران‌یکان

را دانلود کنید.

مرحله دوم: ساخت پوشه فونت
داخل قالب خود مسیر زیر را بسازید:

wp-content/themes/your-theme/fonts

مرحله سوم: آپلود فونت
مثلاً:

Vazirmatn-Regular.woff2

مرحله چهارم: افزودن کد CSS
فایل style.css قالب را باز کنید و این کد را قرار دهید:

@font-face{

font-family: ‘Vazirmatn’;

src: url(‘/wp-content/themes/your-theme/fonts/Vazirmatn-Regular.woff2’) format(‘woff2’);

font-weight: 400;

font-style: normal;

font-display: swap;
}

body{
font-family:’Vazirmatn’,sans-serif;
}

font-display: swap چیست؟

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

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

3) فعال‌سازی کش مرورگر

کش مرورگر باعث می‌شود فایل‌ها دوباره دانلود نشوند.

آموزش تنظیم Browser Cache
مرحله اول
فایل .htaccess را باز کنید.

مرحله دوم
کد زیر را به انتهای فایل اضافه کنید:

<IfModule mod_expires.c>

ExpiresActive On

ExpiresByType image/webp “access plus 1 year”
ExpiresByType image/jpeg “access plus 1 year”

ExpiresByType text/css “access plus 1 month”

ExpiresByType application/javascript “access plus 1 month”

</IfModule>

این کد چه کاری انجام می‌دهد؟
مرورگر فایل‌های:

عکس
CSS
JS
را ذخیره می‌کند تا دفعات بعد سریع‌تر باز شوند.

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

4) فعال‌سازی GZIG

GZIP فایل‌ها را فشرده می‌کند تا حجم کمتری دانلود شود.

آموزش فعال‌سازی GZIP
مرحله اول
فایل .htaccess را باز کنید.

مرحله دوم
این کد را اضافه کنید:

<IfModule mod_deflate.c>

AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/plain

</IfModule>

نتیجه
مثلاً فایل 300KB ممکن است به 70KB تبدیل شود.

هشدار
بعضی هاست‌ها از قبل GZIP را فعال کرده‌اند. قبل از افزودن مجدد، وضعیت سرور را بررسی کنید.

5) تبدیل تصاویر به Webp

تصاویر سنگین مهم‌ترین دلیل کندی صفحات هستند.

آموزش تبدیل تصاویر به WebP در وردپرس
روش ساده با افزونه LiteSpeed Cache
مسیر:

LiteSpeed Cache > Image Optimization

مرحله بعد
روی:

Send Optimization Request

کلیک کنید.

سپس
روی:

Pull Images

بزنید.

نتیجه
نسخه WebP تصاویر ساخته می‌شود.

مزایا
حجم کمتر
سرعت بیشتر
مصرف اینترنت کمتر

6) فعال‌سازی Lazy Load

Lazy Load باعث می‌شود تصاویر فقط هنگام رسیدن کاربر به آن بخش لود شوند.

آموزش فعال‌سازی در LiteSpeed Cache
مسیر:

LiteSpeed Cache > Page Optimization > Media Settings

گزینه زیر را فعال کنید

Lazy Load Images = ON

هشدار مهم
برای تصاویر بالای صفحه بهتر است Lazy Load غیرفعال باشد تا سریع‌تر نمایش داده شوند.

7) حذف Emoji وردپرس

وردپرس فایل‌های اضافی Emoji لود می‌کند.

آموزش حذف Emoji
مرحله اول
فایل:

functions.php

را باز کنید.

مرحله دوم
کد زیر را قرار دهید:

 

remove_action(‘wp_head’, ‘print_emoji_detection_script’, 7);

remove_action(‘wp_print_styles’, ‘print_emoji_styles’);

نتیجه
کاهش درخواست HTTP
سبک‌تر شدن سایت
هشدار
اگر سایت شما به Emojiهای وردپرس وابسته است، قبل از حذف تست انجام دهید.

8) حذف jQuery Migrate

بعضی قالب‌ها فایل اضافی jQuery Migrate لود می‌کنند.

آموزش حذف
فایل functions.php را باز کنید و این کد را اضافه کنید:

function remove_jquery_migrate($scripts){

if(!is_admin() && isset($scripts->registered[‘jquery’])) {

$script = $scripts->registered[‘jquery’];

if($script->deps){
$script->deps = array_diff($script->deps,array(‘jquery-migrate’));
}
}
}

add_action(‘wp_default_scripts’,’remove_jquery_migrate’);

هشدار بسیار مهم
بعد از فعال‌سازی حتماً تست کنید:

منوها
فرم‌ها
اسلایدرها
بعضی قالب‌های قدیمی به jQuery Migrate نیاز دارند.

9) تنظیمات LiteSpeed Cache برای اینترنت ملی
اگر سرور شما LiteSpeed است، این افزونه می‌تواند تاثیر زیادی روی سرعت داشته باشد.

آموزش تنظیمات مهم
مسیر:

LiteSpeed Cache > Page Optimization

تنظیمات پیشنهادی
گزینه
مقدار

CSS Minify
ON
JS Minify
ON
HTML Minify
ON
Load CSS Asynchronously
ON
DNS Prefetch
OFF
Remove Query Strings
ON

هشدار
گزینه‌های زیر را یکی‌یکی تست کنید:

JS Combine
CSS Combine
Delay JS

چون ممکن است بعضی قالب‌ها به‌هم بریزند.

10) حذف افزونه‌های سنگین

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

فایل CSS
فایل JS
درخواست دیتابیس
درخواست خارجی
ایجاد کند.

چطور افزونه سنگین را پیدا کنیم؟
افزونه:

Query Monitor

می‌تواند مصرف منابع را نشان دهد.

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

11) فعال‌سازی Preload فونت

آموزش
داخل <head> سایت این کد را قرار دهید:

<link rel=”preload” href=”/fonts/Vazirmatn-Regular.woff2″ as=”font” type=”font/woff2″ crossorigin>

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

هشدار
فقط فونت‌های ضروری را preload کنید. استفاده زیاد از preload می‌تواند نتیجه معکوس داشته باشد.

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

اگر استفاده نمی‌کنید، بهتر است غیرفعال شود.

آموزش
داخل .htaccess:

<Files xmlrpc.php>

Order Allow,Deny
Deny from all

</Files>

هشدار
اگر از اپلیکیشن وردپرس یا بعضی سرویس‌ها استفاده می‌کنید، XML-RPC ممکن است لازم باشد.

13) بهینه‌سازی wp-config.php

این فایل یکی از مهم‌ترین فایل‌های وردپرس است و بعضی تنظیمات آن می‌تواند فشار روی سرور را کاهش دهد.

آموزش
فایل:

wp-config.php

را باز کنید و قبل از خط:

/* That’s all, stop editing! */

کدهای زیر را قرار دهید:

define(‘WP_POST_REVISIONS’, 5);

define(‘AUTOSAVE_INTERVAL’, 120);

define(‘EMPTY_TRASH_DAYS’, 7);

define(‘WP_CACHE’, true);

این تنظیمات چه کاری انجام می‌دهند؟
کاهش تعداد Revisionها
کاهش درخواست ذخیره خودکار
پاک شدن سریع‌تر زباله‌دان
فعال شدن کش وردپرس
هشدار
اگر سایت خبری یا چند نویسنده دارید، کاهش Revisionها را با احتیاط انجام دهید.

14) حذف درخواست‌های اضافی وردپرس

بعضی قابلیت‌های وردپرس بدون استفاده باقی می‌مانند ولی همچنان فایل لود می‌کنند.

حذف wp-embed
کد زیر را داخل functions.php قرار دهید:

function disable_wp_embed() {
wp_dequeue_script(‘wp-embed’);
}

add_action(‘wp_footer’, ‘disable_wp_embed’);

نتیجه
کاهش درخواست HTTP
سبک‌تر شدن صفحات

15) استفاده از CDN داخلی در صورت نیاز
اگر کاربران سایت شما عمدتاً ایرانی هستند، CDN داخلی می‌تواند باعث کاهش تاخیر شود.

نکته مهم
قبل از فعال‌سازی CDN:

سرعت واقعی را تست کنید
پینگ را بررسی کنید
مطمئن شوید CDN باعث اختلال در کش یا SSL نمی‌شود

چک‌لیست نهایی افزایش سرعت سایت در اینترنت ملی
مهم‌ترین اقدامات
✅ HTTPS اجباری
✅ فونت محلی
✅ حذف Google Fonts
✅ WebP
✅ Lazy Load
✅ GZIP
✅ Browser Cache
✅ LiteSpeed Cache
✅ حذف افزونه اضافی
✅ کاهش فایل‌های JS و CSS
✅ حذف Emoji
✅ حذف jQuery Migrate
✅ Preload فونت
✅ غیرفعال کردن XML-RPC

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

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

نکته مهم این است که هر تغییر را جداگانه تست کنید و از اعمال همزمان تعداد زیادی تغییر خودداری کنید. بعضی تنظیمات ممکن است در یک قالب یا افزونه خاص مشکل ایجاد کنند، بنابراین تست بعد از هر تغییر کاملاً ضروری است.

نظرات و دیدگاه‌ها