Lưu trữ & Plugin WordPress
Làm cho WordPress Nhanh và Bảo mật: Danh sách kiểm tra Hiệu suất và Plugin
WordPress chỉ thực sự nhanh và an toàn dựa trên những gì đang chạy trên đó. Dưới đây là danh sách kiểm tra thực tế mà chúng tôi áp dụng cho mọi trang web WordPress do mình lưu trữ — những gì cần lưu trữ đệm (cache), những gì cần bảo mật, và những plugin nào xứng đáng được giữ lại so với những plugin mà nền tảng này đã làm cho lỗi thời.
WordPress chỉ tốt bằng những gì chạy nó
WordPress chiếm phần lớn thị phần web nhờ tính linh hoạt, nhưng chính sự linh hoạt đó lại khiến nó trở nên chậm chạp và kém bảo mật: một cài đặt mặc định truy vấn cơ sở dữ liệu hàng chục lần trên mỗi trang, phát tán phiên bản và công nghệ của mình cho bất kỳ ai nhìn vào, đồng thời khiến bạn cài chồng chất các plugin cho đến khi hiệu suất và bề mặt tấn công đều âm thầm phình to. Không điều nào trong số đó là lỗi của WordPress, mà đúng hơn là hệ quả của việc chạy nền tảng này trên một hạ tầng không cung cấp bất kỳ sự trợ giúp nào.
Tin tốt là một số ít quyết định tương tự có thể khắc phục hầu hết vấn đề, và đó là các quyết định về stack thay vì về nội dung. Hãy cache một cách mạnh mẽ ở đúng tầng, giữ cơ sở dữ liệu tránh xa hot path, chạy một vài plugin thực sự xứng đáng với vị trí của chúng, giữ cho mọi thứ luôn được vá lỗi, và cô lập trang web để sự cố vẫn được kiểm soát trong phạm vi của nó. Bài viết này chính là danh sách kiểm tra đó, theo đúng thứ tự mà chúng tôi áp dụng cho mọi trang web WordPress trên nền tảng.
Lưu bộ nhớ đệm tại máy chủ, không chỉ trong plugin
Đòn bẩy lớn nhất đối với tốc độ của WordPress thực ra là không chạy WordPress chút nào đối với hầu hết các lượt truy cập. Một yêu cầu tiêu chuẩn sẽ khởi động WordPress, chạy các plugin của bạn và truy vấn cơ sở dữ liệu trước khi gửi đi một byte dữ liệu; bộ nhớ đệm toàn trang sẽ phục vụ trang hoàn chỉnh trực tiếp từ máy chủ web ở lần truy cập tiếp theo, bỏ qua toàn bộ quá trình khởi động đó. Vị trí lưu trữ bộ nhớ đệm đó rất quan trọng: một plugin bộ nhớ đệm nằm bên trong PHP, vì vậy PHP vẫn khởi động trước khi bộ nhớ đệm có thể phản hồi, trong khi bộ nhớ đệm ở cấp độ máy chủ phản hồi sớm hơn trong yêu cầu và lưu giữ các trang ở định dạng mà máy chủ có thể xuất ra ngay lập tức.
Mọi trang web WordPress do chúng tôi lưu trữ đều chạy trên LiteSpeed Enterprise với LSCache cấp máyδu, và plugin bộ nhớ đệm của riêng chúng tôi kết nối WordPress với nó một cách chính xác ngay từ khi xuất xưởng — được cài đặt sẵn và tự động cập nhật, nhờ đó bạn bớt đi một việc cần cấu hình hoặc duy trì cập nhật. Trên một nguồn không phải LiteSpeed, cùng plugin đó đơn giản là không phát ra tiêu đề toàn trang và tự động lùi lại trong khi bộ nhớ đệm đối tượng vẫn tiếp tục hoạt động, do đó một trang web được di chuyển không bao giờ bị bỏ dở ở trạng thái cấu hình một nửa. Quy tắc thực tế cho danh sách kiểm tra của riêng bạn: một bộ nhớ đệm toàn trang, ở cấp máy chủ, và không xếp chồng thêm một plugin bộ nhớ đệm thứ hai lên trên — chúng sẽ xung đột với nhau.
Bộ nhớ đệm đối tượng và cơ sở dữ liệu
Không phải mọi yêu cầu đều có thể là một trang tĩnh. Các phiên đăng nhập, trang quản trị, tính năng tìm kiếm, giỏ hàng và bất kỳ đoạn mã cá nhân hóa nào đều phải chạy PHP, và đối với những phần đó, mục tiêu chuyển từ việc bỏ qua ứng dụng sang việc bỏ qua cơ sở dữ liệu. Bộ nhớ đệm đối tượng cho mỗi trang web — Redis, trong trường hợp của chúng tôi — lưu trữ kết quả của các lần đọc cơ sở dữ liệu lặp đi lặp lại trong bộ nhớ, do đó các tùy chọn, transient và thao tác tra cứu tương tự không bị truy vấn vào cơ sở dữ liệu trên mỗi lượt truy cập. Hiệu quả xuất hiện chính xác ở những nơi bộ nhớ đệm toàn trang không thể hỗ trợ: trang quản trị nhanh hơn, giỏ hàng nhanh hơn và tải cơ sở dữ liệu thấp hơn hẳn khi có lưu lượng truy cập.
Từ khóa quan trọng ở đây là theo từng trang web. Bộ nhớ đệm đối tượng chung có nghĩa là một trang web bận rộn hoặc viết mã kém có thể xóa sạch dữ liệu đã lưu trong bộ nhớ đệm của những người khác và làm cạn kiệt cơ sở dữ liệu của các trang web lân cận; bộ nhớ đệm dành riêng cho từng trang web, kết hợp với các giới hạn cơ sở dữ liệu theo từng trang web, giúp thu hẹp phạm vi ảnh hưởng đó. Trong danh sách kiểm tra của bạn, hãy coi bộ nhớ đệm đối tượng bền vững là bắt buộc đối với bất kỳ trang web nào có người dùng đã đăng nhập hoặc cửa hàng trực tuyến, đồng thời hãy thận trọng với dịch vụ lưu trữ chia sẻ bộ nhớ đệm này giữa các bên thuê.
Các plugin đáng sử dụng — và những plugin mà nền tảng thay thế
Mỗi plugin bạn thêm vào là một đoạn mã chạy trên các yêu cầu và là một cánh cửa mà một ngày nào đó ai đó có thể bước qua, vì vậy mục tiêu thực tế là sử dụng ít plugin nhất nhưng mang lại hiệu quả nhiều nhất. Một nhà cung cấp hosting tốt sẽ loại bỏ nhu cầu sử dụng cả một danh mục plugin: với bộ nhớ đệm cấp máyδu, bộ nhớ đệm đối tượng được quản lý và các bản sao lưu nền tảng, bạn không cần plugin bộ nhớ đệm, plugin bộ nhớ đệm đối tượng riêng biệt hay plugin sao lưu — những công việc đó được thực hiện tốt hơn ở bên dưới WordPress, và việc chạy chúng ở tầng trên chỉ làm tăng thêm xung đột và chi phí tài nguyên.
Những gì còn lại đáng chạy là tập hợp nhỏ các tính năng thực sự mang lại giá trị: các plugin mà trang web của bạn thực sự cần để hoạt động, và — trên nền tảng của chúng tôi — hai plugin cấp kho lưu trữ mà chúng tôi xây dựng và cung cấp kèm theo mọi trang web. Plugin bộ nhớ đệm của chúng tôi kết nối WordPress với bộ nhớ đệm máy chủ và xử lý việc xóa thông minh để một thao tác chỉnh sửa chỉ xóa những trang cần thiết. Plugin footprint của chúng tôi loại bỏ các dấu hiệu mà một bản cài đặt WordPress mặc định phát ra — thẻ phiên bản và trình tạo, điểm cuối khám phá, XML-RPC, pingback và tiêu đề powered-by — trên mọi bản triển khai, nhờ đó bản cập nhật plugin hoặc giao diện không thể âm thầm khôi phục chúng. Cả hai đều được xây dựng theo tiêu chuẩn thư mục plugin WordPress.org, hoàn toàn miễn phí và tự động cập nhật.
Giữ cho WordPress luôn an toàn và cập nhật
Hầu hết các vụ xâm nhập WordPress không có gì tinh vi; chúng rất cũ kỹ. Một mã nguồn chính, giao diện hoặc plugin lỗi thời với một lỗ hổng đã được công bố và biết rõ là nguyên nhân cực kỳ phổ biến khiến các trang web bị tấn công, điều này biến việc cập nhật liên tục thành công việc bảo mật có giá trị cao nhất — và cũng tẻ nhạt nhất, đó là lý do tại sao nó hay bị bỏ qua. Hosting được quản lý nên gánh vác việc đó thay bạn: vá tầng bên dưới WordPress, đồng thời giúp việc cập nhật mã nguồn chính và plugin trở nên an toàn để áp dụng bằng cách cung cấp cho bạn một bản sao staging để thử nghiệm và một bản backup để khôi phục khi cần.
Ngoài vấn đề chi phí, bạn có thể yên tâm rằng các giới hạn đã được thiết lập sẵn cho bạn: quét phần độc hại được bật mặc định để phát hiện nhiễm trùng trước khi khách truy cập nhận ra, tính năng cách ly để ngăn một trang web bị xâm nhập lây lan sang trang khác, bảo vệ chống tấn công DDoS ở biên, và mã hóa TLS ở mọi nơi với chứng chỉ được tự động gia hạn. Không điều gì trong số đó thay thế được các nguyên tắc vệ sinh cơ bản — thông tin đăng nhập mạnh, quyền truy cập tối thiểu, gỡ bỏ các plugin không còn sử dụng — nhưng điều này đảm bảo cơ sở hạ tầng không phải là mắt xích yếu. Trong danh sách kiểm tra của bạn, câu hỏi dành cho bất kỳ nhà cung cấp hosting nào rất đơn giản: bảo mật là mặc định, hay là một gói dịch vụ bạn phải mua?
WooCommerce và các trang bạn không bao giờ được lưu vào bộ nhớ đệm
Cửa hàng trực tuyến là nơi việc lưu đệm mạnh mẽ mang lại hiệu quả lớn nhất và cũng gây ra thiệt hại tồi tệ nhất nếu áp dụng một cách ngây thơ. Các trang danh mục, sản phẩm là những trang có lưu lượng truy cập cao nhất, dễ lưu đệm nhất mà bạn có, và việc phục vụ chúng từ bộ đệm toàn trang là điều tốt nhất bạn có thể làm cho tốc độ của một cửa hàng. Nhưng các trang giỏ hàng, thanh toán và tài khoản mang tính cá nhân và tuyệt đối không được phục vụ từ bộ đệm chung — làm như vậy sẽ khiến người mua sắm nhìn thấy giỏ hàng của người khác, điều này vừa là lỗi của cửa hàng vừa là sự vi phạm quyền riêng tư.
Cách để có được cả hai là lưu trữ đệm trang và tạo khoảng trống cho các phần trực tiếp. Edge Side Includes hiển thị phân đoạn giỏ hàng, tổng giỏ hàng nhỏ và trạng thái tài khoản cho mỗi yêu cầu trong khi phần còn lại của trang được phục vụ từ bộ nhớ đệm, và giỏ hàng, thanh toán, tài khoản của tôi cùng bất kỳ trang nonce hoặc phiên làm việc nào sẽ bị loại trừ theo mặc định. Độ mới được xử lý bằng tính năng tự động xóa thông minh kích hoạt khi sản phẩm, giá hoặc đơn hàng thay đổi, do đó giá cũ sẽ không bao giờ bị lưu lại. Nếu bạn sử dụng WooCommerce, đây là phần trong danh sách kiểm tra cần làm cho chính xác: cửa hàng nhanh chóng từ bộ nhớ đệm, giỏ hàng trực tiếp cho mỗi người dùng, không bao giờ lưu đệm thông tin cá nhân.
Các câu hỏi thường gặp
Tôi có cần cài plugin bộ nhớ đệm như WP Rocket không?
Không. Việc lưu đệm toàn bộ trang được xử lý ở máy chủ web bởi LSCache của LiteSpeed, plugin bộ đệm của riêng chúng tôi kết nối WordPress với nó và xử lý việc xóa thông minh, đồng thời một bộ đệm đối tượng Redis cho mỗi trang web nằm phía sau nó. Việc thêm một plugin lưu đệm toàn bộ trang thứ hai chồng lên trên thường sẽ xung đột với bộ đệm cấp máy chủ thay vì hỗ trợ nó, do đó điều này là không cần thiết và không được khuyến nghị.
Những plugin nào bị nền tảng làm cho trở nên thừa thãi?
Các plugin tạo bộ nhớ đệm, plugin object-cache riêng và plugin sao lưu đều trở nên thừa thãi ở đây, bởi vì những công việc đó được xử lý bên dưới WordPress — bộ nhớ đệm cấp máy chủ, object cache được quản lý cho từng trang web và tính năng sao lưu của nền tảng. Việc gỡ bỏ chúng giúp giảm thiểu xung đột và bề mặt tấn công. Những gì vẫn đáng duy trì là các plugin mà trang web của bạn thực sự cần cho hoạt động của mình, cộng với hai plugin bộ nhớ đệm và footprint miễn phí của chúng tôi, vốn đã được cài đặt sẵn.
Việc lưu trữ đệm (caching) có làm hỏng giỏ hàng WooCommerce hoặc các trang đã đăng nhập của tôi không?
Không. Giỏ hàng, trang thanh toán, tài khoản của tôi và bất kỳ trang nonce hoặc phiên làm việc nào đều bị loại khỏi bộ nhớ đệm theo mặc định, và các Thẻ bên ngoài Edge (Edge Side Includes) giữ cho phân đoạn giỏ hàng và tổng số luôn hoạt động trên các trang được lưu vào bộ nhớ đệm khác. Người mua sắm luôn thấy giỏ hàng của riêng họ và quy trình thanh toán hoạt động bình thường trong khi cửa hàng vẫn tải từ bộ nhớ đệm, và tính năng tự động xóa thông minh sẽ làm sạch các trang bị ảnh hưởng khi sản phẩm, giá cả hoặc đơn hàng thay đổi.
Làm thế nào để giữ cho WordPress an toàn mà tôi không cần phải quản lý nó?
Chúng tôi vá lớp hạ tầng bên dưới WordPress, giúp cho việc cập nhật mã nguồn lõi và plugin trở nên an toàn nhờ tính năng staging và khôi phục bằng một cú nhấp chuột, chạy quét phần mềm độc hại và bảo vệ DDoS theo mặc định, cô lập từng trang web để một sự xâm phạm không thể lan rộng, đồng thời cấp phát và gia hạn chứng chỉ TLS tự động. Điều đó loại bỏ hạ tầng ra khỏi danh mắt điểm yếu; việc vệ sinh cơ bản như dùng thông tin xác thực mạnh và gỡ bỏ các plugin không dùng đến vẫn là trách nhiệm của bạn.
Liên quan
Dùng thử miễn phí 14 ngày
Khởi chạy các trang web đầu tiên của bạn miễn phí trong 14 ngày — không cần thẻ. Bạn đang chuyển một trang web hoặc mạng lưới hiện có? Lần di chuyển đầu tiên của bạn là do chúng tôi tài trợ.
Dùng thử miễn phí