Next.js vs WordPress cho landing page: cái nào nhanh hơn?

Đi hỏi chuyện làm landing page, thể nào bạn cũng nghe hai cái tên: WordPress và Next.js. Bên bảo WordPress cho dễ, bên bảo Next.js cho nhanh, mà ít ai chịu giải thích hai thứ đó khác nhau ở chỗ nào. Thật ra khác biệt nằm ở một chuyện rất đời thường: một bên nấu món khi khách gọi, một bên làm sẵn từ trước. Bài này mình kể bằng hình ảnh đó cho dễ hình dung, rồi so thẳng bốn mặt: tốc độ, bảo mật, chi phí duy trì và khả năng tự sửa nội dung — trong đó có một mặt WordPress thắng hẳn, mình không giấu.
WordPress: quán nấu món khi khách gọi
WordPress là công cụ dựng web phổ biến nhất thế giới — cứ ba cái web thì hơn một cái chạy bằng nó. Cách nó phục vụ giống một quán ăn nấu theo đơn. Khách bấm vào trang của bạn, lúc đó máy chủ mới bắt đầu “nấu”: chạy xuống kho lấy nguyên liệu — bài viết, ảnh, giá nằm trong cơ sở dữ liệu, tức cái kho chứa nội dung; đảo qua từng plugin (tiện ích cài thêm) xem cái nào góp gì vào trang; cuối cùng ghép tất cả vào giao diện thành một trang hoàn chỉnh rồi mới bưng ra.
Nấu theo đơn có cái hay: linh hoạt, đổi món dễ, thêm bớt gì cũng chiều được. Nhưng cái giá là khách nào cũng phải chờ bếp. Một khách là một lần nấu. Trăm khách — ví dụ đúng hôm bạn chạy quảng cáo sale — là trăm lần nấu dồn vào cùng lúc, bếp đuối thì cả hàng người chờ theo.
Trang tĩnh kiểu Next.js: đồ đóng hộp sẵn trên kệ
Next.js là một công nghệ dựng web đời mới. Nó làm được nhiều kiểu, nhưng với landing page, người ta hay dùng theo kiểu trang tĩnh: toàn bộ trang được dựng sẵn thành tệp hoàn chỉnh ngay từ lúc làm web xong — như đồ làm sẵn đóng hộp, dán nhãn, xếp ngay ngắn trên kệ. Khách ghé thì chỉ việc đưa hộp. Không nấu, không chờ; người thứ một trăm nhận hàng nhanh y như người đầu tiên.
Nghe chữ “tĩnh” đừng tưởng trang đơ. Nút bấm, form đặt hàng, hiệu ứng cuộn vẫn chạy như thường — tĩnh chỉ có nghĩa là phần lắp ráp trang đã xong từ trước, không phải lắp lại ở mỗi lượt xem. Còn khi cần đổi nội dung thì phải dựng lô hộp mới thay lên kệ — chỗ này chính là điểm yếu thật của trang tĩnh, mình nói kỹ ở vòng bốn.
Một bên nấu khi khách gọi, một bên làm sẵn đưa liền — về tay khách chỉ khác đúng một chữ: chờ.
Vòng một — tốc độ: trang tĩnh thắng rõ
Với trang tĩnh, máy chủ chỉ làm đúng một việc là đưa tệp có sẵn, nên trang hiện gần như tức thì. Tệp còn được chép sẵn ra nhiều máy chủ đặt khắp nơi — dân trong nghề gọi là CDN, hiểu nôm na là để hộp hàng ở nhiều kho gần khách: khách Hà Nội lấy từ kho Hà Nội, khách Sài Gòn lấy từ kho Sài Gòn, khỏi chờ hàng chuyển xa.
WordPress thì mỗi lượt xem là một lần nấu, nhanh chậm tuỳ bếp: hosting khoẻ hay yếu, plugin ít hay nhiều. Người rành WordPress sẽ nhắc ngay: có plugin cache mà — bộ nhớ đệm, tức lưu lại trang đã nấu để bưng lại cho khách sau, đỡ nấu từ đầu. Đúng, và một web WordPress được chăm kỹ chạy cũng ổn. Nhưng đó lại là thêm một plugin phải chọn cho trúng, cấu hình cho đúng, thỉnh thoảng còn đụng nhau với plugin khác — tức là bạn đang độ lại cái bếp cho bớt chậm, còn trang tĩnh thì khỏi có bếp để mà chậm.
Với landing page, tốc độ không phải chuyện màu mè kỹ thuật mà là tiền. Khách bấm quảng cáo là bạn đã trả tiền cho lượt bấm đó; họ mở bằng điện thoại, mạng lúc khoẻ lúc yếu, chờ quá vài giây là lướt tiếp — tiền quảng cáo đi mà đơn không về. Web chậm còn nhiều thủ phạm khác như ảnh nặng, hosting đặt xa; mình có một bài riêng bắt bệnh từng cái, bạn xem ở cuối trang.
Vòng hai — bảo mật: ít cửa thì khó cạy
Vì quá phổ biến nên WordPress bị dòm ngó nhiều nhất: kẻ xấu viết sẵn công cụ quét tự động, ngày đêm đi gõ cửa hàng loạt web WordPress xem cửa nào quên khoá. Mỗi plugin bạn cài là một cánh cửa; mười lăm plugin là mười lăm cánh cửa, chỉ cần một cái lâu không cập nhật là thành lối vào. Thế nên nuôi web WordPress là phải siêng cập nhật — lõi, giao diện, plugin — đều đặn như khoá cửa mỗi tối.
Mình từng sửa web cho một spa: đang yên lành thì khách mở trang bị đá sang trang cá độ. Thủ phạm là một plugin bỏ quên hai năm không cập nhật. Chuyện đó với web nhỏ không hiếm, vì có mấy ai rảnh tuần nào cũng vào bấm cập nhật đâu.
Trang tĩnh thì gần như không có gì để phá: không kho dữ liệu để trộm, không trang đăng nhập quản trị phơi công khai, không plugin để mà lỗi thời. Nó chỉ là những tệp nằm im. Trên mạng không có gì an toàn tuyệt đối, nhưng két không cửa thì kẻ gian khó cạy — và bạn cũng khỏi phải nhớ lịch cập nhật nào cả.
Vòng ba — chi phí duy trì: nuôi trang tĩnh gần như không tốn
Web WordPress sống là phải nuôi: hosting đủ khoẻ để chạy cả bếp lẫn kho dữ liệu, vài chục tới vài trăm nghìn mỗi tháng; theme xịn mua một lần, plugin xịn thu tiền theo năm; cộng thêm công người vào cập nhật, sao lưu, vá lỗi. Từng khoản lẻ tẻ, gộp một năm lại thành con số ra tấm ra món.
Trang tĩnh nhẹ gánh hơn hẳn: vì máy chủ chỉ đưa tệp chứ không nấu, các dịch vụ chuyên phát trang tĩnh có gói miễn phí hoặc rẻ như cho. Nhiều landing page tĩnh cả năm chỉ tốn đúng tiền tên miền vài trăm nghìn. Còn tiền công làm trang lúc đầu là chuyện khác, tuỳ bạn giao cho ai — tự làm, thuê freelancer hay đội nhóm — mình đã so riêng ba hướng đó trong một bài khác, cũng ở cuối trang.
Vòng bốn — tự sửa nội dung: WordPress thắng hẳn
Đây là lý do WordPress phổ biến tới vậy, và là lý do chính đáng. Nó có sẵn trang quản trị: bạn tự đăng bài, đổi giá, thay ảnh, treo banner khuyến mãi — nửa đêm hứng lên cũng tự làm được, không phải nhờ ai, không tốn đồng nào.
Trang tĩnh thì ngược lại: nội dung nằm trong “hộp” đã đóng, muốn sửa phải nhờ đơn vị làm web dựng lô mới. Sửa nhỏ thường nhanh thôi, nhưng nhanh mấy thì vẫn là nhắn người khác làm chứ không tự tay mình gõ.
Câu hỏi đáng hỏi là: bạn sẽ sửa trang mấy lần một tháng? Landing page bán hàng thường làm kỹ một lần rồi để chạy, lâu lâu đổi số điện thoại, thay chương trình khuyến mãi. Nhịp đó thì vài tháng nhờ sửa một lần chẳng bõ bèn gì. Còn nếu bạn định đăng bài mỗi ngày — công thức món ăn, tin khuyến mãi, nhật ký homestay — thì khác hẳn: đó là sân nhà của WordPress.
Vậy khi nào chọn gì?
- Chọn WordPress khi nội dung là mạch sống của trang: blog đăng bài liên tục, mục tin tức cập nhật hằng tuần, đội ngũ muốn tự quản nội dung không phụ thuộc ai. Hoặc khi ngân sách khởi điểm thấp tới mức bạn chấp nhận tự cài từ mẫu có sẵn.
- Chọn trang tĩnh kiểu Next.js khi trang sinh ra để bán: landing page cho quán, cho spa, cho khoá học — nội dung ít đổi, có chạy quảng cáo, khách mở chủ yếu bằng điện thoại. Lúc đó trang hiện nhanh hơn một nhịp là giữ thêm được một phần khách.
Ở Seawin Tech, bọn mình làm landing page theo hướng trang tĩnh, vì với trang bán hàng thì tốc độ là tiền, còn bảo mật và tiền nuôi trang là hai thứ chủ web hay bị bất ngờ về sau. Khách cần đổi nội dung thì nhắn, bọn mình dựng lại cho. Còn khách nào hợp WordPress hơn, bọn mình nói thẳng ngay từ buổi tư vấn đầu.
