Thử tạo một website tĩnh hoàn toàn từ WordPress với plugin Simply Static

Với sự phát triển của CDN đa ứng dụng có khả năng cache HTML ở máy chủ biên (QUIC cloud, Cloudflare) giúp website WP của bạn đạt được hiệu suất tốt nhất: các truy vấn gần như không ảnh hưởng đáng kể đến hosting gốc.

Tuy nhiên gì thì gì, website của bạn vẫn là trang động, nó vẫn có PHP, cơ sở dữ liệu, plugin. Nói cách khác nó vẫn chiếm dụng tài nguyên đáng kể, và tiềm ẩn các nguy cơ bị tấn công hoặc quá tải.

Website tĩnh hoàn toàn là giải pháp thay thế, nó chắc chắn không phù hợp trên mọi kiểu website, tuy nhiên nếu trang của bạn rơi vào một trong 2 trường hợp sau: (1) hiếm khi cập nhật nội dung, hoặc (2) có lưu lượng truy cập rất lớn, thì việc tạo website tĩnh hoàn toàn là một ý tưởng đáng quan tâm.

Với những website có tài nguyên media chiếm dung lượng lớn, trang tĩnh hoàn toàn còn có một ưu thế nữa đáng bàn: bạn có thể múc toàn bộ media này và chuyển nó đến một store ổn định để lưu lại, và website trên hosting gốc chỉ chứa các mã HTML, store lúc này gánh toàn bộ các tài nguyên tĩnh.

Hôm nay chúng ta sẽ cùng dùng plugin Simply Static để chuyển một website thành tĩnh hoàn toàn xem nó như thế nào nhé.


Trước khi chuyển thành trang tĩnh bạn cần thực hiện một số thay đổi sau

  • Loại bỏ các yếu tố động của WordPress như bình luận, tìm kiếm và thay thế nó bằng các ứng dụng động của bên thứ ba nếu cần;
  • Loại bỏ tính năng cache của plugin cache, vì giờ trang của bạn đã tĩnh rồi, bạn không cần đến nó nữa (lưu ý các tính năng khác của plugin cache thì bạn đừng vô hiệu hóa, ví dụ như tạo critical CSS, defer JS);

Về việc giải thích các tùy chọn của plugin: vì mặc định của nó đã đủ tốt cho chúng ta rồi nên tôi để phần đó ở cuối bài. Giờ chúng ta đi thẳng vào phần thực hành:

Đầu tiên, bạn vào tab Generate, click vào button Generate Static Files.

Plugin sẽ tự động quét tất cả file trên website rồi nén nó dưới dạng file .zip để bạn tải về. Nếu website của bạn khoang 1GB, quá trình này tốn khoảng 5 – 10 phút.

Nếu bạn không tải file zip được, hãy vào file manager của website (thông qua control panel), tìm đến thư mục sau để tải file zip:

wp-content/plugins/simply-static/static-files/

Các bước tiến hành up dữ liệu lên trang tĩnh:

  • Vào thư mục gốc của website tĩnh trên hosting;
  • Tải file nén zip lên thư mục gốc (sử dụng tính năng upload file của control panel);
  • Giải nén (sử dụng tính năng giải nén / extract của control panel);
  • Kiểm tra lại xem website đã hoạt động trơn tru chưa (các đường dẫn, chuyển hướng, hình ảnh, browser cache, v..v…);
  • Xóa file nén .zip vừa up lên;

Demo

Trang WordPress động: https://ducanhpsy.com/

Trang tĩnh hoàn toàn tương ứng: https://static.ducanhplus.com/

Bạn có thể thấy trang động vẫn có mục đăng nhập: https://ducanhpsy.com/wp-login.php, còn trang tĩnh thì không có nữa: https://static.ducanhplus.com/wp-login.php (404).

Trang tĩnh trên vẫn chưa hoàn hảo, vì mặc dù nội dung của nó vẫn giống y trang động, nó thiếu một số thứ quan trọng như:

  • file robots.txt dành cho máy tìm kiếm;
  • file sitemap.xml cũng dành cho máy tìm kiếm;
  • .htaccess để tùy chỉnh sâu website, ví dụ browser cache / cache phía trình duyệt;

Tôi sẽ giải quyết các vấn đề trên trong một bài viết khác.

Bây giờ chúng ta quay ra bàn các tùy chọn mặc định của plugin mà phần trên tôi có nói là sẽ để ở cuối bài.


Sau khi cài xong plugin, bạn vào tab Setting

General / cài đặt chung

  • Destination URLs: khi xuất trang web tĩnh của bạn, mọi liên kết đến trang web WordPress của bạn sẽ được thay thế bằng một trong các liên kết sau: URL tuyệt đối, URL tương đối hoặc URL được cấu trúc để sử dụng ngoại tuyến;
  • Use absolute URLs: nghĩa là địa chỉ tuyệt đối. Chuyển đổi tất cả các URL trên trang web WordPress của bạn thành các URL tuyệt đối tại tên miền được chỉ định ở trên;
  • Use relative URLs: nghĩa là địa chỉ tương đối. Chuyển đổi tất cả các URL trên trang WordPress của bạn thành các URL tương đối, giúp nó hoạt động với bất kỳ tên miền nào. Tùy ý chỉ định một đường dẫn ở trên nếu bạn định đặt các tệp vào trong một thư mục con. Đây là tùy chọn mặc định, và bạn nên chọn;
  • Save for offline use: chuyển đổi tất cả các URL trên trang WordPress để bạn có thể duyệt trang web theo cách cục bộ trên máy tính của riêng mình mà không cần hosting web;
  • Delivery Method: lưu các tệp tĩnh của bạn dưới dạng file nén ZIP- đây là phương thức phân phối mặc định của Simply Static. Sau khi tạo tệp tĩnh, bạn sẽ được cung cấp một liên kết để tải xuống tệp nén ZIP này xuống máy tính;

PS: nếu bạn thực hiện bất cứ thay đổi nào hãy nhấn Save Changes để các thay đổi đó được cập nhật.


Include (bao gồm) / Exclude (loại trừ)

  • URL bổ sung (Additional URLs): Simply Static sẽ tạo một bản sao tĩnh của bất kỳ trang nào mà nó có thể tìm thấy liên kết, bắt đầu từ trang chủ của bạn. Nếu bạn muốn tạo các bản sao tĩnh của các trang hoặc tệp không được trang khác liên kết, hãy thêm các URL tại đây (mỗi trang một dòng). Ví dụ: ten-mien-cua-ban.com/hidden-page/
  • Tệp và thư mục bổ sung (Additional Files and Directories): đôi khi bạn có thể muốn bao gồm các tệp bổ sung (chẳng hạn như tệp được tham chiếu qua AJAX) hoặc thư mục. Thêm các đường dẫn đến các tệp hoặc thư mục này tại đây (một đường dẫn trên mỗi dòng).Ví dụ: /home/ten-mien-cua-ban.com/additional-directory/hoặc/home/ten-mien-cua-ban.com/wp-content/fancy.pdf
  • Các URL loại trừ (URLs to Exclude): trong phần này, bạn có thể chỉ định các URL hoặc các phần của URL để loại trừ khỏi quá trình xử lý của Simply Static. Bạn cũng có thể sử dụng regex để chỉ định một mẫu cho mục đích so khớp.

Giải thích thêm ý nghĩa của các tùy chọn:

Không lưu (Do not save): không lưu bản sao tĩnh của trang / tệp

Không theo (Do not follow) : không sử dụng trang này để tìm các URL bổ sung phục vụ việc xử lý

Ví dụ: .jpg sẽ loại trừ https://ten-mien-cua-ban.com/wp-content/uploads/image.jpg và các tệp khác chứa .jpg khỏi quá trình xử lý


Advanced / các cài đặt nâng cao

Temporary Files (nơi lưu dữ liệu tạm thời)

Các tệp tĩnh của bạn được lưu tạm thời vào một thư mục trên website trước khi được sao chép đến đích của chúng hoặc tạo tệp nén ZIP.

  • Temporary Files Directory (thư mục tệp tạm thời): chỉ định thư mục để lưu các tệp tạm thời của bạn. Thư mục này phải tồn tại và có thể ghi được. Plugin sự tự động tạo cho bạn một thư mục lưu tạm thời;
  • Delete Temporary Files (xóa tệp tạm thời): xóa các tệp tạm thời khi kết thúc công việc;

Xác thực cơ bản HTTP

Nếu bạn đã bảo mật WordPress bằng HTTP Basic Auth, bạn có thể chỉ định tên người dùng và mật khẩu để sử dụng. Cái này đặc biệt hữu ích với những ai tách riêng website, một trang động (trang dev) dùng WordPress kết hợp với HTTP Basic Auth để cập nhật nội dung cho trang, còn trang chính sẽ được xuất ra từ trang dev. HTTP Basic Auth được dùng để năng bọ tìm kiếm cũng như người dùng truy cập trang dev.

Tab cuối cùng Reset được dùng khi bạn muốn plugin Simply Static quay về các cài đặt mặc định.