WPML là công cụ dịch được ưa thích và thống trị WordPress về lĩnh vực đa ngôn ngữ, cũng chả khác khi bạn dùng WordPress muốn làm trang thương mại điện tử mà thiếu woocommerce.
Việc người dùng phàn nàn rằng WPML chậm và nặng – cái này không sai.
Một trong những nguyên nhân chính khiến trang WPML chậm là theo dõi chuỗi dịch.
Theo mặc định, WPML muốn làm bạn hài lòng nên nó tự động theo dõi các chuỗi để bạn dịch. Điều này cũng dẫn đến rất nhiều hàng trong cơ sở dữ liệu. Vì làm sạch các chuỗi dịch không sử dụng là một trong những cách tốt nhất để tăng tốc WPML.
Trong bài viết này mình cần thao tác với database bài viết này mình sẽ sử dụng WP-CLI.
Nếu bạn chưa biết công cụ WP CLI là gì? bạn có thể tham khảo tại bài viết: WP-CLI – Quản trị WordPress từ Terminal
Trước khi bắt đầu thì vui lòng sao lưu cơ sỡ dữ liệu database trước khi ứng dụng theo bài viết này.
Xóa các chuỗi dịch WPML không sử dụng
Bạn hãy cho những những đoạn mã code này vào trong file wp-config.php của bạn, bạn có thể cho nó vào dòng số 2 trong file wp-config.php
define( 'ICL_STRING_TRANSLATION_PARTIAL', 2 );
define( 'ICL_STRING_TRANSLATION_COMPLETE', 10 );
define( 'ICL_STRING_TRANSLATION_NEEDS_UPDATE', 3 );
define( 'ICL_STRING_TRANSLATION_NOT_TRANSLATED', 0 );
define( 'ICL_STRING_TRANSLATION_WAITING_FOR_TRANSLATOR', 1 );
Bước này bạn truy cập và terminal rồi bạn truy cập cd vào thư mục mã nguồn của bạn.
Rồi paste những đoạn mã này vào terminal:
wp config set ICL_STRING_TRANSLATION_PARTIAL 2 --allow-root
wp config set ICL_STRING_TRANSLATION_COMPLETE 10 --allow-root
wp config set ICL_STRING_TRANSLATION_NEEDS_UPDATE 3 --allow-root
wp config set ICL_STRING_TRANSLATION_NOT_TRANSLATED 0 --allow-root
wp config set ICL_STRING_TRANSLATION_WAITING_FOR_TRANSLATOR 1 --allow-root
Rồi tiếp theo tiến hành xóa các chuỗi chưa được dịch.
wp db query "DELETE FROM $(wp db prefix --allow-root)icl_strings WHERE status IN (3, 1, 0);" --allow-root
wp db query "DELETE FROM $(wp db prefix --allow-root)icl_string_translations WHERE string_id NOT IN (SELECT id from $(wp db prefix --allow-root)icl_strings);" --allow-root
wp db query "TRUNCATE $(wp db prefix --allow-root)icl_string_packages;" --allow-root
wp db query "TRUNCATE $(wp db prefix --allow-root)icl_string_positions;" --allow-root
Như vậy là hoàn tất rồi.
Hậu hoàn thành dọn dẹp chuỗi dịch không sử dụng WPML
Bạn cần phải làm thêm một số bước này nữa
Bây giờ bạn có thể xóa các hằng số bước đầu tiên mà bạn lúc nãy bạn thêm vào trong file wp-config.php
đi.
rồi tiếp theo bạn xóa thiết lập WPML:
wp config delete ICL_STRING_TRANSLATION_PARTIAL 2 --allow-root
wp config delete ICL_STRING_TRANSLATION_COMPLETE --allow-root
wp config delete ICL_STRING_TRANSLATION_NEEDS_UPDATE --allow-root
wp config delete ICL_STRING_TRANSLATION_NOT_TRANSLATED --allow-root
wp config delete ICL_STRING_TRANSLATION_WAITING_FOR_TRANSLATOR --allow-root
Chúng ta cần tắt đăng ký tự động các chuỗi và ngăn các bảng cơ sở dữ liệu lấp đầy lại. cái này sử dụng truy vấn rất nhiều database cái này nguyên nhân lớn tác động tiêu cực đến hiệu suất của bạn:
bạn truy cập vào wp-admin dashboard thanh bên phải: WPML > String Translation > kéo xuống có dòng ô Auto register strings for translation => tích chọn bật vào ô Look for strings while pages are rendered Lookand rồi nó sẽ hiện lên ô Edit bạn click vào ô Edit
rồi khi vào bên trong => bạn tắt hết bỏ trống hết bên trong đó rồi lưu lại
=> rồi bạn quay lại ô Auto register strings for translation bỏ chọn ô Look for strings while pages are rendered Lookand
Bước cuối cùng là tạo lại các bảng mà chúng ta đã clean.
Để tạo lại các bảng này:
bạn truy cập vào wp-admin dashboard thanh bên phải: WPML > Support -> tìm đến dòng chữ troubleshooting (nó chỉ là một dòng chữ màu xanh bạn ấn vào đó)
rồi kéo xuống gần cuối cùng tìm đến dòng: Recreate ST DB cache tables hoặc nếu phiên bản mới thì nó là dòng Cleanup and optimize sting tables.
Kết luận:
Như vậy WPML sẽ không còn theo dõi đăng ký tự động của các chuỗi để dịch và tất cả các chuỗi chưa được dịch đã được dọn dẹp sạch sẽ không còn chiếm dung lượng trong cơ sở dữ liệu database nữa sẽ cải thiện tốc độ load website của bạn tốt hơn.
một số tip thêm về tăng tốc WPML
- Hãy chọn một máy chủ có một con CPU đủ khỏe vì WPML sử dụng khá nhiều truy vấn không nên sử dụng share hosting
- Hãy sử dụng object cache lựa chọn tốt nhất là redis rất tuyệt vời khi hoạt động với WPML
- Thường nếu bạn đã dùng plugin đa ngôn ngôn ngữ thường là kinh doanh quốc tế thì bạn cũng nên sử dụng CDN trong trường hợp này.
- Hãy chọn một theme WordPress được tối ưu có thể hoạt động tốt với với WPML.
- Cache HTML page đa ngôn ngữ tốt nhất là dùng lscache (Plugin LiteSpeed Cache).
- WPTangToc.com chia sẻ rất nhiều bài viết về tăng tốc WordPress bạn có thể tham khảo ứng dụng theo cũng có thể sẽ tăng tốc thêm cho plugin WPML…
Để lại một bình luận