Đối với bất kỳ một website wordpress nào, mỗi một tối ưu nhỏ của bạn cũng sẽ giúp tổng thể website của bạn hoạt động một cách trơn tru hơn. Mỗi website do được load từ rất nhiều thành phần nên việc tối ưu mỗi phần nhỏ là điều bạn nên làm trừ khi việc tối ưu hoá là bất khả kháng hoặc làm mất tính năng cần được ưu tiên.
Hôm nay TinoHost sẽ hướng dẫn các bạn cách vô hiệu hoá nhúng trên WordPress.
Từ phiên bản WordPress 4.4, việc nhúng video (embed video), đã được tích hợp vào core. Điều này cho phép bạn nhúng các Video như Youtube, Twitter cũng như nhiều nguồn video khác bằng việc sử dụng Url, WordPress sẽ tự động nhúng video và chuyển thành phiên bản có thể xem trực tiếp từ trình chỉnh sửa. Bạn có thể xem chi tiết danh sách website hỗ trợ nhúng tự động của wordpress tại : https://wordpress.org/support/article/embeds/
Tính năng này thật sự hữu ích, Tuy nhiên, điều này có nghĩa là nó cũng tạo ra một yêu cầu HTTP bổ sung trên trang web WordPress của bạn để tải tệp wp-embed.min.js và tải trên tất cả các trang. Mặc dù tệp này chỉ có 1,7 KB, nhưng theo thời gian cũng như nếu tính tất các truy cập và các trang đều tải file này thì dung lượng tổng cũng rất lớn và vô nghĩa nếu bạn không sử dụng.
Vô hiệu hóa nhúng trong WordPress
Có một vài cách khác nhau để vô hiệu hóa Nhúng trong WordPress.
- Vô hiệu hóa nhúng với plugin
- Vô hiệu hóa nhúng bằng cách thêm code vào website.
1. Vô hiệu hóa nhúng trong WordPress với Plugin
Cách đầu tiên để vô hiệu hóa các nhúng là chỉ cần sử dụng một plugin miễn phí có tên là Disable Embeds,, được phát triển bởi Pascal Birchler , một developer có tham gia vào việc phát triển core WordPress.
Plugin này siêu nhẹ, chính xác chỉ 3 KB, Bạn có thể tải xuống từ kho lưu trữ WordPress hoặc bằng cách tìm kiếm nó trong bảng điều khiển WordPress, Plugin này giúp bạn:
- Ngăn chặn người khác nhúng trang web của bạn.
- Ngăn chặn bạn nhúng các trang web không tốt. (Các website không nằm trong white-list)
- Không cho phép tải tệp JavaScript trên trang web WordPress của bạn.
Bạn vẫn có thể nhúng các video từ youtube hay tweet bằng cách sử dụng iframe. Bạn cũng có thể sử dụng một plugin khác như perfmatters, cho phép bạn vô hiệu hóa nhúng cùng với các tối ưu hóa khác cho trang web WordPress của bạn.
2. Vô hiệu hóa các nhúng trong WordPress bằng cách sử dụng CODE
Nếu bạn không muốn cài đặt một plugin khác, bạn cũng có thể vô hiệu hóa nhúng với đoạn code sau. Bạn chỉ cần thêm vào file functions.php đối với theme bạn đang sử dụng.
function disable_embeds_code_init() { // Remove the REST API endpoint. remove_action( 'rest_api_init', 'wp_oembed_register_route' ); // Turn off oEmbed auto discovery. add_filter( 'embed_oembed_discover', '__return_false' ); // Don't filter oEmbed results. remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 ); // Remove oEmbed discovery links. remove_action( 'wp_head', 'wp_oembed_add_discovery_links' ); // Remove oEmbed-specific JavaScript from the front-end and back-end. remove_action( 'wp_head', 'wp_oembed_add_host_js' ); add_filter( 'tiny_mce_plugins', 'disable_embeds_tiny_mce_plugin' ); // Remove all embeds rewrite rules. add_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' ); // Remove filter of the oEmbed result before any HTTP requests are made. remove_filter( 'pre_oembed_result', 'wp_filter_pre_oembed_result', 10 ); } add_action( 'init', 'disable_embeds_code_init', 9999 ); function disable_embeds_tiny_mce_plugin($plugins) { return array_diff($plugins, array('wpembed')); } function disable_embeds_rewrites($rules) { foreach($rules as $rule => $rewrite) { if(false !== strpos($rewrite, 'embed=true')) { unset($rules[$rule]); } } return $rules; }
Hoặc bạn cũng có thể sử dụng hàm wp_dequeue_script.
function my_deregister_scripts(){ wp_dequeue_script( 'wp-embed' ); } add_action( 'wp_footer', 'my_deregister_scripts' );