<?php // 🔒 Chặn WordPress lấy thông tin cập nhật core → không còn kiểm tra phiên bản mới add_filter('pre_site_transient_update_core', '__return_null'); // 🔒 Chặn kiểm tra & ghi transient cập nhật plugin → tránh truy vấn update_plugins add_filter('pre_site_transient_update_plugins', '__return_null'); // 🔒 Chặn kiểm tra & ghi transient cập nhật theme add_filter('pre_site_transient_update_themes', '__return_null'); // 🔒 Chặn kiểm tra & ghi transient cập nhật bản dịch (translations) add_filter('pre_site_transient_update_translations', '__return_null'); // ❌ Gỡ hành vi tạo lịch kiểm tra cập nhật định kỳ (cron) remove_action('init', 'wp_schedule_update_checks'); // ❌ Gỡ các hành vi kiểm tra cập nhật khi vào admin (nền) remove_action('admin_init', '_maybe_update_core'); // core remove_action('admin_init', '_maybe_update_plugins'); // plugin remove_action('admin_init', '_maybe_update_themes'); // theme remove_action('admin_init', '_maybe_update_translations'); // dịch // ❌ Gỡ kiểm tra phiên bản WordPress (core version check) remove_action('wp_version_check', 'wp_version_check'); // ❌ Gỡ cập nhật plugin khi truy cập các trang liên quan remove_action('load-plugins.php', 'wp_update_plugins'); remove_action('load-update.php', 'wp_update_plugins'); remove_action('load-update-core.php', 'wp_update_plugins'); // ❌ Gỡ cập nhật theme khi vào trang Themes remove_action('load-themes.php', 'wp_update_themes'); // ❌ Gỡ kiểm tra plugin/theme khi admin load remove_action('admin_init', 'wp_update_plugins'); remove_action('admin_init', 'wp_update_themes'); // 🧹 Xóa các lịch trình cron đã tồn tại (nếu có) add_action('init', function() { // Xóa lịch cron kiểm tra core wp_clear_scheduled_hook('wp_version_check'); // Xóa cron kiểm tra plugin wp_clear_scheduled_hook('wp_update_plugins'); // Xóa cron kiểm tra theme wp_clear_scheduled_hook('wp_update_themes'); // Xóa cron tự động cập nhật chung wp_clear_scheduled_hook('wp_maybe_auto_update'); });
Không sử dụng giao diện người dùng, frontend, theme → cập nhật theme là dư thừa.
Không cần dịch (translation) → tắt update dịch thuật giúp giảm bớt truy vấn.
Khi dùng WordPress với cơ sở dữ liệu lớn (hàng ngàn post/user/term...), việc tắt hệ thống cập nhật không chỉ chặn truy vấn không cần thiết mà còn:
SELECT/UPDATE
đến bảng wp_options
Các transient như _site_transient_update_plugins
, _site_transient_update_core
liên tục được ghi đè hoặc truy vấn khi admin load.
Khi dữ liệu bảng wp_options
lớn (đặc biệt autoload = 'yes'
nhiều), các truy vấn này làm giảm tốc độ toàn hệ thống.
Mỗi lần update transient là một lần ghi vào bảng wp_options
hoặc hệ thống cache object (như Memcached, Redis).
Với site lớn, mỗi ghi thừa như vậy là lãng phí I/O → gây ảnh hưởng cả frontend.
Headless CMS thường dùng wp-json/wp/v2/...
hoặc endpoint tùy chỉnh.
Một số plugin hook vào rest_api_init
rồi kiểm tra cập nhật → làm chậm từng request API, nhất là khi số lượng plugin lớn.
wp_options
Khi có nhiều người vào admin, hoặc cron chạy song song, có thể xảy ra lock tạm thời → gây chậm hoặc lỗi session.
Tắt update → tránh ghi đè ngẫu nhiên, đảm bảo tính ổn định truy cập khi load cao.
Không còn transient update thừa → bản sao lưu DB sạch hơn, nhỏ hơn.
Phù hợp cho môi trường CI/CD hoặc deploy container (Docker, K8s...)
Với 50+ plugin, mỗi lần WordPress check update sẽ query từng cái → tốn tài nguyên.
Tắt hệ thống update giúp admin load nhanh hơn, nhẹ hơn.
Cập nhật core/plugin/theme thông qua Git pull, rsync, deploy tool (Deployer, Capistrano, GitHub Actions…).
Không cần WordPress tự kiểm tra hay ghi gì vào DB → giúp DB sạch và predict được trạng thái hệ thống.
Một số plugin (ví dụ WooCommerce, ACF Pro) có thể update gây lỗi nếu không kiểm soát được version.
Headless CMS thường dùng custom plugin/API → không nên để auto update làm vỡ schema hoặc REST route.
Ví dụ: bạn có cron shell gửi báo cáo hàng tuần về các bản cập nhật chưa được áp dụng.
Khi đó, bạn có thể tắt hoàn toàn update của WordPress và tự xử lý thủ công.
Không cần các tính năng thông báo update trong admin.
Giảm clutter trong giao diện quản trị (đỡ rối, đỡ hiện số đỏ ở "Plugins", "Themes").
Site headless CMS chạy nội bộ, không có hoặc không cần truy cập đến api.wordpress.org
.
Mục tiêu bạn đang cần | Có nên dùng không? |
---|---|
Tăng tốc độ load admin/API | ✅ Rất nên |
Giảm truy vấn SQL vào DB | ✅ Rất nên |
WordPress chỉ để quản lý nội dung | ✅ Rất nên |
Quản lý code bằng Git | ✅ Nên |
Không cần thông báo cập nhật | ✅ Nên |
Bạn cũng có thể combine thêm:
Tắt toàn bộ widget / admin notices không cần thiết
Tắt heartbeat
Tắt cron và dùng cron hệ thống
Khi sử dụng WordPress như một Headless CMS, việc tắt hoàn toàn hệ thống cập nhật tự động (core, plugin, theme, dịch thuật) là một lựa chọn hợp lý và nên làm trong nhiều trường hợp, đặc biệt nếu bạn:
Muốn tối ưu hiệu suất hệ thống (CPU, RAM, truy vấn SQL),
Quản lý mã nguồn qua Git hoặc triển khai thủ công,
Không sử dụng giao diện frontend hoặc theme,
Và có quy trình cập nhật riêng biệt ngoài WordPress.
Việc tắt cập nhật không chỉ giúp giảm tải cho cơ sở dữ liệu mà còn đảm bảo sự ổn định, kiểm soát, và bảo mật trong môi trường vận hành chuyên nghiệp.
Tuy nhiên, bạn cần chủ động theo dõi và cập nhật thủ công định kỳ, để tránh bỏ sót các bản vá quan trọng ảnh hưởng đến bảo mật hệ thống.