Giới thiệu Plugin WP2Static: Post-Processing (phần 2)

Pha xử lý hậu kỳ (post-processing phase) của WP2Static tạo một bản sao (copy) cho từng file đã được crawl, thực hiện chỉnh sửa nội dung cần thiết để chuẩn bị đưa vào quá trình triển khai (deployment).

xử lý hậu kỳ

Ở mức độ tối thiểu, pha xử lý hậu kỳ sẽ thay thế tất cả các URL trong trang web đã được crawl, chuyển chúng từ URL WordPress động dạng phát triển (ví dụ, http://localhost, https://dev.example.com) thành URL của website thành phẩm truy cập công khai cho người dùng cuối (production site’s URL), chẳng hạn như https://example.com

Cách trình hậu xử lý của WP2Static hoạt động

Nhiệm vụ của trình xử lý thì đơn giản và nhanh hơn nhiều so với nhiệm vụ crawling. Trong khi với crawling, chúng ta cần gửi yêu cầu tới các URL từ WordPress, tất cả dựa trên WordPress, thì trình hậu xử lý hoạt động bằng cách đọc và ghi các file trên file hệ thống.

Chúng tôi đi vào từng thư mục và file trong thư mục website đã được crawl (/wp-content/uploads/wp2static-crawled-site/) nhiều lần và xử lý từng file theo kiểu nội dung của nó.

Hiện tại, trong lõi của plugin WP2Static, chúng tôi đối xử với các tệp HTML/CSS/JS tương tự nhau, thực hiện các thay thế chuỗi đơn giản URL của trang WordPress động bằng URL của trang triển khai (Deployment URL).

Đối với các file tĩnh như ảnh, chúng tôi đơn giản là lưu một bản sao mà không cần áp dụng bất cứ xử lý nào nữa.

Áp dụng các xử lý bổ sung

Chúng tôi mở rộng khả năng của của pha xử lý hậu kỳ cho chính chúng tôi và bạn, cũng như lập trình viên của bên thứ ba.

Ví dụ, nếu bạn muốn tạo một trình xử lý CSS nâng cao của riêng mình, bạn có thể gọi hàm remove_action() của WordPress cho hành động wp2static_process_css và sử dụng add_action() để xử lý các file CSS theo các hàm của bạn. Bạn không cần viết toàn bộ plugin, đoạn mã này có thể được tích hợp vào bằng chức năng functions.php của giao diện con (child theme).

Bộ xử lý chuỗi hiện không khả dụng, vì thế nếu bạn muốn sử dụng trình hậu xử lý mặc định của WP2Static cho các kiểu file cụ thể và áp dụng các trình xử lý bổ sung khác, bạn cũng có thể tái tạo hành vi mặc định của chúng tôi trong trình xử lý của bạn hoặc chạy trình xử lý tùy chỉnh trên toàn bộ thư mục /wp-content/uploads/wp2static-crawled-site/ sau khi tất cả các trình xử lý khác chạy. Bạn có thể làm điều đó qua hook wp2static_post_process_complete

Các file đã được xử lý lưu trữ ở đâu?

  • /wp-content/uploads/wp2static-crawled-site/ được tạo bởi pha crawling
  • /wp-content/uploads/wp2static-processed-site/ được tạo bởi pha hậu xử lý

Xử lý lại mà không cần crawl lần nữa

Vì chúng tôi tạo một bản sao của website đã được crawl khi thực hiện hậu xử lý, nếu bạn cần xử lý lại (re-process) trang của bạn để triển khai nhưng gần đây bạn không thực hiện bất cứ thay đổi nào trên trang WordPress, bạn có thể bỏ qua bước phát hiện (detection) và crawling Job và chỉ cần chạy nhiệm vụ hậu xử lý (kèm theo tùy chọn deploy). Thậm chí cả với các trang web có kích cỡ rất lớn, pha hậu xử lý được hoàn thành trong khoảng thời gian rất nhanh.

Các tùy chọn hậu xử lý

URL triển khai

Trong lõi của plugin WP2Static, chỉ tùy chọn Hậu xử lý (Post-processing) là cần để bạn thiết lập URL triển khai của bạn. Điều này yêu cầu bạn phải thiết lập URL đầy đủ điều kiện cho trang thành phẩm (hoặc trang staging dành cho việc kiểm tra), ví dụ https://example.com hoặc https://www.example.com. Tất cả các tham chiếu (reference) cho trang WordPress động (ví dụ, http://localhost hoặc https://dev.example.com) sẽ được thay thế bằng URL đích của trang tĩnh (Destination URL).

Trình xử lý sự kiện trong lõi plugin WP2Static sẽ cố gắng rewrite (ghi lại) các mẫu URL của trang WordPress động (cái được hiển thị trong WordPress Admin Settings > Site URL). Nó sẽ rewrite thông thường và bỏ qua các phiên bản cụ thể về giao thức và các phiên bản giao thức tương đối (protocol-relative). Điều này giúp cho nhiều giao diện, bao gồm cả cái mặc định của WordPress sử dụng URL có giao thức tương đối.

tùy chọn xử lý hậu kỳ

Ví dụ về việc rewritten

Chẳng hạn phiên bản WordPress động của bạn có URL là http://localhost và URL bản triển khai của bạn là https://example.com, WP2Static sẽ thực hiện việc thay thế chuỗi như cách dưới đây:

http://localhost to https://example.com
http:\/\/localhost to https:\/\/example.com
//localhost to //example.com
\/\/localhost to \/\/example.com

Trình hậu xử lý mặc định trong WP2Static thực sự đơn giản (nó có tên SimpleRewriter.php !), nó sẽ rewrite bất kỳ chuỗi nào khớp với mẫu trên. Điều này ổn thỏa trong phần lớn trường hợp, tuy nhiên trong trường hợp bạn có cài đặt phức tạp chẳng hạn như có một ứng dụng web khác nằm bên trong đường dẫn http://localhost/myapp/ cái mà bạn không muốn rewrite vì lý do nào đấy, bạn cần thêm trình xử lý của riêng bạn để chỉnh sửa các URL này nếu chúng phải vẫn trỏ đến máy chủ dành cho việc phát triển.

Hãy cẩn thận với nội dung mixed trong website WordPress của bạn

Khi bạn phục vụ trang thông qua TLS/https, trình duyệt có thể cảnh báo người dùng bất kỳ tài nguyên nào cố tải thông qua giao thức http hoặc chặn chúng hoàn toàn, không cho tải về. Nếu URL triển khai của bạn sử dụng giao thức https và bạn thấy lỗi xuất hiện khi website triển khai của bạn kết xuất (render) không chính xác, hãy kiểm tra bất kỳ cảnh báo nội dung mixed nào trong console của trình duyệt. Bạn thường thấy một cảnh báo trong thanh địa chỉ của trình duyệt trong dạng thức ổ khóa bị gãy nếu nội dung mixed có mặt.

Sửa mã/giao diện/plugin liên quan đến chuyện tạo ra URL có giao thức không chuẩn chỉnh là giải pháp tốt nhất, nhưng bạn có thể giải quyết điều này với plugin để ép buộc các liên kết có dạng thức là HTTPS trong tất cả các URL của trang phát triển (giả định là bạn đang sử dụng giao thức https). Ví dụ về các plugin như vậy là WP Force SSLReally Simple SSL.

Xác minh các file đã được xử lý hậu kỳ

  • thông qua giao diện người dùng WP2Static: Caches > Processed Site > Show Paths
  • thông qua WP-CLI: wp wp2static processed_site list
  • thông qua thư mục: /wp-content/uploads/wp2static-processed-site/

Cách kích hoạt trình hậu xử lý

  • thông qua Job của hàng đợi hậu xử lý
  • thông qua câu lệnh WP-CLI wp wp2static post_process
  • bổ sung một hành động vào hook nội dung cụ thể hoặc trên hook wp2static_post_process_complete

Cách xóa các file đã hoàn thành quá trình hậu xử lý

  • thông qua giao diện người dùng của WP2Static: Caches > Processed Site > Delete Files
  • thông qua WP-CLI: wp wp2static processed_site delete

Ví dụ về các nội dung trang tĩnh đã được xử lý

Các đường dẫn phải trông giống hết nội dung của website đã được crawl, trừ khi bạn sử dụng trình cắm (add-on) để loại trừ, thêm hoặc sửa đổi các đường dẫn, chẳng hạn như đổi tên cấu trúc thư mục mặc định của WordPress để ẩn đi dấu vết rằng website của bạn được xây dựng từ WordPress.

/category/uncategorized/index.html
/category/uncategorized/page/1/index.html
/hello-world/index.html
/index.html
/page/1/index.html
/sample-page/index.html
/wp-content/plugins/wp-search-with-algolia/css/algolia-autocomplete.css
/wp-content/plugins/wp-search-with-algolia/css/algolia-instantsearch.css
/wp-content/plugins/wp-search-with-algolia/includes/admin/css/algolia-admin.css
/wp-content/plugins/wp-search-with-algolia/includes/admin/fonts/algolia.woff

Ghi đè URL đích bằng filter

Bạn có thể sử dụng wp2static_set_destination_url để lập trình URL đích. Bạn có thể tham khảo thêm tài liệu về cách mở rộng WP2Static.

Chuyện gì xảy ra với các file của website đã được xử lý hậu kỳ?

Trong luồng xử lý công việc thông thường, các file đã được xử lý được lưu trong thư mục /wp-content/uploads/wp2static-processed-site/. Nội dung của thư mục này được sử dụng trong quá trình Deploying (triển khai) trang của bạn.

(Dịch từ tài liệu hướng dẫn trên trang chính thức cho plugin: WP2Static[.]com)

Leave a Comment