دسته: بهینه‌سازی وردپرس

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

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

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

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

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

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

    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

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

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

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