آموزش کامل و عملی بهینهسازی وردپرس برای اینترنت ضعیف و ایراناکسس
وقتی اینترنت در ایران دچار اختلال یا محدودیت میشود، خیلی از سایتها بهشدت کند میشوند. بعضی صفحات ناقص لود میشوند، فونتها نمایش داده نمیشوند و حتی ممکن است بخشی از سایت کاملاً از کار بیفتد. دلیل این مشکل معمولاً هاست ضعیف نیست؛ بلکه وابستگی سایت به سرویسهای خارجی، فایلهای سنگین و تنظیمات غیربهینه است.
در این آموزش قرار است مرحلهبهمرحله یاد بگیریم چطور سایت را برای شرایط اینترنت ملی بهینه کنیم؛ آن هم با روشهایی که واقعاً روی سرعت تاثیر میگذارند و در عین حال برای سایت خطرناک نیستند.
قبل از هر تغییری، حتماً از سایت و دیتابیس بکاپ تهیه کنید.
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
نتیجهگیری:
افزایش سرعت سایت در زمان اینترنت ملی فقط به هاست مربوط نیست. ساختار سایت، نحوه بارگذاری فایلها، تعداد درخواستها، وابستگی به سرویسهای خارجی و تنظیمات کش، همگی نقش مهمی دارند.
اگر این بهینهسازیها اصولی و مرحلهبهمرحله انجام شوند، سایت در زمان اختلال اینترنت بسیار سریعتر و پایدارتر خواهد شد.
نکته مهم این است که هر تغییر را جداگانه تست کنید و از اعمال همزمان تعداد زیادی تغییر خودداری کنید. بعضی تنظیمات ممکن است در یک قالب یا افزونه خاص مشکل ایجاد کنند، بنابراین تست بعد از هر تغییر کاملاً ضروری است.
