Jetpack Optimization

Có vẻ như thời điểm khi Jetpack ra mắt, Automattic tích hợp nhiều thứ quá, khiến tới giờ vẫn mang tiếng là nặng và chậm 😛

Thời điểm mình biết tới Jetpack là khoảng 2017, cài mặc định, không cần làm gì, thấy nhẹ hều trên con VPS Vultr 512MB RAM, bài tối ưu này cũng vẽ vời dành cho ai đam mê vọc vạch, chứ hiệu quả thực tế của nó không đáng kể 😀

1. Tắt các modules không dùng

Cài Jetpack Without Promotions và Module Control for Jetpack để chặn bớt các quảng cáo và tắt các modules không sử dụng

Jetpack Optimization

Cụ thể mình đang dùng Image CDN, Jetpack Social, Related posts thì bật lên, còn lại tắt hết

Jetpack Optimization

Bên trong Jetpack, phần tùy chọn sẽ sạch sẽ hơn

Về cơ bản làm như thế, đã giảm rất nhiều request thừa và các thứ linh tinh rồi, dùng cơ bản thì chỉ cần làm tới đây là đủ

Trong trường hợp bạn không muốn cài quá nhiều plugin, có thể dùng trực tiếp code bên dưới

function jeherve_only_seven_modules( $modules, $min_version, $max_version ) {
    // Danh sách các module mà bạn muốn giữ lại
    $my_modules = array(
        'related-posts', // Giữ lại module Related Posts
    );
    
    return array_intersect_key( $modules, array_flip( $my_modules ) );
}
add_filter( 'jetpack_get_available_modules', 'jeherve_only_seven_modules', 20, 3 );
add_filter( 'jetpack_just_in_time_msgs', '__return_false', 20 );
add_filter( 'jetpack_show_promotions', '__return_false', 20 );
add_filter( 'jetpack_blaze_enabled', '__return_false' );

2. Xử lý các request không mong muốn

Jetpack Optimization

Tùy phiên bản khác nhau, mà có khi Jetpack bổ xung thêm các tính năng “khỉ gió” gì đó vào 1 cách rất “ẩn mình”, cụ thể ở các bản trước mình dùng không thấy gì, mà sang 12.2.1 mới nhất lại thấy có thêm jetpack-videopress-video-block-view, có thể dùng Perfmatters để chặn các request này hoàn toàn, hoặc cho nó hiện vào các trang, bài viết cụ thể

3. Tắt Autoload

Jetpack set autoload = yes trong database cực nhiều, đây là thứ mình phàn nàn nặng nhất, nhìn phần Autoload khi vừa cài Jetpack vào nó chi chít luôn

Jetpack Optimization

Bạn có thể dùng Advanced DB Cleaner PRO để tìm kiếm và chuyển tất các thứ có liên quan tới Jetpack về NO, cứ mạnh dạn nhé, cái gì quan trọng Jetpack tự chuyển lại về YES à 😀 trong hình là do mình set 1 lần về NO rồi, nên nó chỉ hiện có 1 ít như thế, chứ lần đầu tìm kiếm, chắc phải ra 2-3 trang Jetpack set YES ở Autoload đấy

4. Giảm thời gian chạy các cron

Có thể dùng WP Crontrol, cho phép xem và kiểm soát những gì đang xảy ra trong hệ thống wp-cron

Jetpack Optimization

Làm 3 bước trên rồi thì Jetpack bên trong wp-cron còn lại khá ít thứ, cụ thể như mình thì còn lại 5-6 request

Trong đó jetpack_sync_full_cron và jetpack_sync_cron là 2 thứ bắt buộc, bị set cứng 5 phút chạy 1 lần???

Các thứ khác thì có thể điều chỉnh, mỗi ngày chạy 1 lần là đủ, không cần thiết chạy quá nhiều

1 số thứ như jetpack_recommend_videopress cho phép paused thì paused luôn cho nhẹ

Trong trường hợp của mình, chỉ dùng duy nhất Related posts, mọi cron liên quan tới Jetpack đều không hề có bất cứ tác dụng gì, có thể tắt thoải mái 😀

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly.
}

// Hook into 'wp_loaded' to remove specific Jetpack cron jobs.
add_action('wp_loaded', 'disable_jetpack_crons');

function disable_jetpack_crons() {
    // List of Jetpack cron events to be disabled.
    $jetpack_crons = array(
        'jetpack_sync_cron',
        'jetpack_sync_full_cron',
        'jetpack_v2_heartbeat',
        'jetpack_clean_nonces',
    );

    foreach ($jetpack_crons as $cron_event) {
        // Check if the cron event is scheduled.
        $timestamp = wp_next_scheduled($cron_event);

        // If the event is scheduled, unschedule it.
        if ($timestamp) {
            wp_unschedule_event($timestamp, $cron_event);
        }
    }
}

Bổ xung các cron liên quan tới Jetpack vào (bản này mình thêm thủ công để phù hợp với nhiều phiên bản Jetpack khác nhau)

Jetpack Optimization

Tổng kết

Thực tế Jetpack luôn cập nhập plugin của họ rất đều đặn và cố gắng tối ưu ngày càng tốt hơn, bạn chỉ cần làm bước 1 là đủ ổn, các bước sau chủ yếu sử lý cho sạch sẽ, nhìn đỡ rác là chính 😀 còn hiệu năng của nó, mình nghĩ chỉ cải thiện tầm 10%

Nhìn lại phiên bản Jetpack hiện tại ờ 2024 cảm giác nó cồng kềnh điên người, sử dụng thực tế nó chỉ tăng thời gian load trang thêm 0.01s nhưng database queries nó tăng khiếp luôn, gỡ Jetpack ra chỉ select tầm 50 query ở trang home, cài vào 1 phát nó hú lên …. total: 102, mà mình chỉ dùng duy nhất Related posts, và tắt hết mọi thứ khác đi rồi đấy, dùng thực tế thì mình tin chắc không ai cảm nhận được sự khác biệt giữa cài và không cài Jetpack, có điều nhìn cách nó query vào database khá là bực bội

Vẫn rất muốn tìm kiếm 1 plugin Related Posts khác 👁️ nhưng đều không thấy thèng nào chính xác và nhẹ hơn, cuối cùng vẫn phải dùng Jetpack :((


Related Posts

Chính sách bình luận: Chúng tôi rất trân trọng các bình luận của bạn và cảm ơn thời gian bạn dành để chia sẻ ý tưởng và phản hồi.
Ghi chú: Những bình luận được xác định là spam hoặc chỉ mang tính quảng cáo sẽ bị xóa.

• Để cải thiện trải nghiệm bình luận, chúng tôi khuyến khích bạn tạo một tài khoản Gravatar. Thêm avatar vào tài khoản Gravatar sẽ giúp bình luận của bạn dễ nhận diện hơn đối với các thành viên khác.

✂️ Sao chép và 📋 Dán Emoji 💪 giúp bình luận thêm sinh động và thú vị!