06.02.2023Công nghệ

Các tính năng, ưu và nhược điểm của WordPress Headless CMS

Hiromi Ando

Lời nói đầu

Xin chào. Tôi là Ando, ​​giám đốc web tại công ty Lampart.

Hôm nay chúng ta sẽ nói về Headless CMS. Từ trước đến nay, chúng ta thường nghe mọi người nói: “Tôi đã nghe nói về kỹ thuật này, nhưng tôi không rành về nó lắm”, nhưng tôi cảm thấy gần đây nó đang dần xuất hiện nhiều hơn trên thị trường.

Do đó ở lần này, ngoài phần tổng quan về Headless CMS, chúng tôi sẽ giới thiệu về Headless CMS sử dụng WordPress, có lẽ đã quá quen thuộc với mọi người.

Định nghĩa Headless CMS

Headless CMS chỉ đơn giản là CMS không có màn hình hiển thị (headless).

Ở CMS thông thường đều có chức năng phía back-end quản lý nội dung, bài post và chức năng phía front-end là giao diện người dùng thực hiện hiển thị nội dung đó được tích hợp sẵn.

Nói cách khác, Headless CMS là CMS chỉ có chức năng quản lý nội dung mà không có trình xem.

Đặc điểm là nội dung đã tạo có thể hiển thị trên giao diện người dùng được xây dựng riêng thông qua API, và từng chức năng của phía back-end và phía front-end là độc lập với nhau.

Ưu và nhược điểm của Headless CMS

Ưu điểm

Một trong số ưu điểm lớn của Headless CMS chính là: Không hạn chế về ngôn ngữ lập trình.

Một CMS bình thường như WordPress, là một CMS dựa trên ngôn ngữ PHP, vì vậy nó sẽ được xây dựng trên nền PHP.

Tất nhiên, điều này cũng tương tự đối với các CMS khác. Nhưng khi bạn tạo một dịch vụ web, bạn phải chỉ định ngôn ngữ. Điều này tạo ràng buộc không thể sử dụng ngôn ngữ của hệ thống hiện có. Ngược lại, Headless CMS quản lý giao diện người dùng thông qua API, nên không có hạn chế nào đối với ngôn ngữ lập trình ở phía front.

Có thể triển khai trên mọi thiết bị.

Cũng như không có giới hạn về ngôn ngữ, vì nó dựa trên API nên có thể gia tăng hiển thị nếu có bên nhận API. Do đó, không cần tạo nhiều nội dung bắt nguồn vì sự khác biệt về phần cứng hoặc khác biệt về hệ điều hành.

Nói cách khác, cùng một API có thể được sử dụng để quản lý phân phối nội dung nằm ngoài web, và nó có thể được sử dụng cho tất cả các thiết bị như thiết bị IOT, ứng dụng điện thoại thông minh và đồng hồ thông minh.

Cải thiện tốc độ hiển thị.

Trong trường hợp CMS truyền thống như WordPress, khi truy cập vào trang web, sẽ cần tải cơ sở dữ liệu và gọi trang. Vì các thao tác động như vậy có thể được bỏ qua trong Headless CM, và khi hiển thị thì sử dụng kỹ thuật được dùng dưới dạng site tĩnh gọi là Jamstack, nên việc hiển thị trang web nhanh hơn so với CMS thông thường.

Ít hạn chế hơn về thiết kế.

Như đã trình bày, Headless CMS chỉ quản lý phía back-end. Do đó, giao diện người dùng - tức là mặt hiển thị - có thể được xây dựng tĩnh, nên CMS không tham gia vào thiết kế. Vì vậy, việc tạo nội dung với mức độ tự do cao là hoàn toàn có thể.

Nhược điểm

Khó khăn khi đưa vào sử dụng và vận hành.

Đầu tiên Headless CMS yêu cầu trình độ công nghệ thông tin của người chịu trách nhiệm triển khai và vận hành.

Lý do tôi nêu ở đây là vì vốn dĩ những người đang cân nhắc sử dụng Headless CMS, hiện trạng cho thấy phần nhiều đều có trình độ CNTT cao, nhưng nếu họ không biết ưu điểm của nó ngay từ đầu thì không thể xem xét được, mà thông thường người ta cũng chưa biết đến ưu điểm.

Ngoài ra, vì không như CMS hiện có, Headless CMS chưa có spec hoàn thiện nên ngay cả khi bạn sử dụng nó bằng cách nào đó, thì môi trường xem trước (preview) cũng sẽ bị thay đổi.

Nếu project tốn công sức vậy mà lại không nhận được lợi ích thì người ta sẽ cảm thấy nó khó thực hiện và khó vận hành.

Chi phí phát triển

Headless CMS vẫn là một kỹ thuật tương đối mới và các triển khai front-end thường được phát triển bằng ngôn ngữ Js hiện đại, điều này gây khó khăn cho việc lựa chọn các kỹ sư có thể triển khai chúng. Có nhiều công ty chế tác web từ trước đến nay chưa tham gia vào việc sử dụng API để phát triển, vì vậy cần phải chọn một công ty đã quen với việc phát triển ở một mức độ nào đó, và cho đến nay thường thấy là chi phí vẫn cao hơn so với phát triển CMS thông thường.

Công ty chúng tôi không chỉ xây dựng Headless CMS, mà còn cung cấp “Dịch vụ phát triển offshore lab” để hỗ trợ toàn diện từ việc lập kế hoạch, phát triển, vận hành và bảo trì các trang WordPress.

Nếu bạn gặp bất kỳ vấn đề nào, chẳng hạn như phát triển WordPress cùng với đổi mới trang công ty hoặc WordPress với trang EC. Đừng ngần ngại mà hãy liên hệ chúng tôi liền nhé!

Dịch vụ được đề xuất của Headless CMS

Vẫn là câu chuyện Headless CMS đã nói ở trên, hiện giờ có rất nhiều dịch vụ và tất nhiên mỗi loại đều có những đặc điểm riêng.

Cùng với WordPress, lần này tôi muốn giới thiệu một vài loại có nhiều chức năng nhất và dễ sử dụng.

Ghost

Ghost là CMS trên nền Node.js . Ban đầu, nó là một CMS chuyên viết các bài báo trên blog, nên tất nhiên giao diện người dùng của nó đơn giản. Nhưng Ghost lại có khả năng tùy chỉnh cao và cũng có thể được sử dụng như một CMS gồm bộ giao diện người dùng, vì vậy nó có đặc điểm UI của màn hình quản lý tương tự như CMS hiện có và dễ sử dụng.

microCMS

microCMS là Headless CMS bắt nguồn từ Nhật Bản. Đây chính là Headless CMS rất phổ biển trong nước Nhật. Tôi chắc rằng nhiều người trong số các bạn đã nghe nói về nó ít nhất một lần. microCMS ngay từ đặc tính đầu tiên chính là sản xuất trong nước, cho nên một điểm quan trọng là trang chính thức không chỉ có nhiều hỗ trợ mà toàn bộ tài liệu, trang tham khảo, hay các trường hợp thực tế sử dụng đều có thể xem bằng tiếng Nhật. Tất nhiên, nó cũng được hỗ trợ rộng rãi về mặt chức năng.

Contentful

Contentful là Headless CMS phổ biến nhất thế giới. Headless CMS tôi đã trình bày cho tới giờ hầu hết đều là một phần đặc trưng của Contentful này. Đến thời điểm hiện tại, Contentful vẫn tiếp tục đi đầu với dịch vụ đám mây của nền tảng API. Mặc dù là CMS có nhiều chức năng và nhiều trường hợp thực tế nhưng chỉ hỗ trợ bằng tiếng Anh nên có thể sẽ gặp một chút khó khăn đối với những người không phải kỹ sư khi sử dụng. Bạn nên kiểm tra kỹ mục đích và chức năng trước khi sử dụng.

WordPress

Như các bạn đã biết, WordPress là CMS phổ biến nhất trên thế giới. Trên thực tế, ngay cả WordPress cũng có thể Headless hóa được. Khi thực hiện Headless hóa, người ta thường sử dụng plug-in, nhưng bây giờ nó đã được trang bị tiêu chuẩn, dù là dùng WP REST API vẫn có thể Headless hóa được. Vì công ty của chúng tôi ban đầu đã xây dựng trang web chính thức với WordPress, chúng tôi đang cố gắng Headless hóa WordPress và đưa vào sử dụng. Những thứ có vấn đề về security hay bảo trì v.v..., chúng tôi vừa có thể giải quyết chúng thành công vừa sử dụng được màn hình quản lý đã quen thuộc, nên cùng với Headless CMS khác, ở công ty chúng tôi cũng đang khuyến khích việc Headless hóa đến WordPress.

Headless hóa WordPress

Bây giờ, hãy nói về việc thực hiện Headless hóa WordPress. Như đã đề cập ở trên, nó thường được thực hiện bằng cách sử dụng plug-in, nhưng chúng tôi đang khuyến khích nên xây dựng giao diện người dùng làm nguồn dữ liệu trình tạo trang web tĩnh, dựa trên xem xét tốc độ của trang web và rủi ro bảo mật. Trong WordPress thông thường, màn hình hiển thị của người dùng và màn hình quản lý do quản trị viên điều hành sẽ đồng nhất từ trong ra ngoài, nội dung của nó thì được lưu trữ trong cơ sở dữ liệu, và về cơ bản tất cả phải tồn tại trong cùng một máy chủ (server). Khi cung cấp màn hình hiển thị cho người dùng, máy chủ lấy thông tin từ cơ sở dữ liệu và tạo HTML động. Mặt khác, trình tạo trang web tĩnh (SSG) chỉ đơn giản là phần mềm xây dựng và tạo HTML tĩnh. Tuy chỉ là trình tạo trang web tĩnh, nhưng sẽ tham chiếu nguồn data WordPress đã xây dựng ở môi trường khép kín (closed environment), sinh ra HTML, gửi tới server. Máy chủ không bao giờ tạo HTML động cho người dùng. Do đó không cần cơ sở dữ liệu ở môi trường view của user, và có thể thực hiện tăng tốc độ và giảm nhẹ rủi ro security nhờ vào độ bảo mật của server API. Ngoài ra, hình ảnh cũng được quản lý riêng biệt với WordPress để giữ tính bảo mật cao. Tiếp đó, ta sẽ nắm các thông số kỹ thuật API, xây dựng các thông số kỹ thuật back-end và triển khai chúng. Về Headless hóa trang web chính thức của Lampart, tôi sẽ viết tình trạng phát triển thực tế vào một ngày khác.

Các vấn đề thường thấy khi sử dụng Headless CMS

Vấn đề về SEO
Khi sử dụng Headless CMS, người ta thường đặt câu hỏi liệu SEO có thực sự ổn? Nếu nói từ kết luận, thì cũng·không có bất lợi đặc biệt nào so với việc xây dựng trang thông thường. Tuy nhiên, ngay cả khi đó là cùng là một Headless CMS, nhận thức của trình thu thập thông tin (crawler) có thể thay đổi một chút tùy thuộc vào nơi API được gọi từ đâu, chẳng hạn như từ back-end, front-end hoặc SSG. Nếu dùng SSG, khi build thì API sẽ được gọi và gửi thông tin, nên nó sẽ được xử lý giống như một trang tĩnh thông thường và sẽ không có thay đổi so với các tiêu chuẩn SEO hiện có, ngay cả ở Singe Page Application khi đọc API từ phía front-end, JavaScript cũng đang được trình thu thập thông tin của Google nhận diện tốt, cho nên chưa có phát sinh vấn đề nào cần lưu ý cả.

Có thực sự là nên chọn Headless CMS hay không?
Tuy là nói như huề vốn, nhưng tùy theo mục đích và thông số kỹ thuật của dịch vụ sẽ vận hành mà nó có thể không phù hợp với Headless CMS. Như đã đề cập ở trên, Headless CMS không có chức năng xem trước nên so với CMS hiện có, cần phải chuẩn bị môi trường phát triển riêng, cũng như kiến ​​thức lập trình và API của người vận hành và kỹ sư. Dù có ưu điểm và tiện lợi, nhưng tùy theo trường hợp mà sẽ có sự gia tăng chi phí, hoặc yêu cầu trình độ hiểu biết cao để sử dụng thành thạo. Ví dụ nếu mong muốn về mặt tốc độ trang thì cũng cần xem xét thử CDN ngoài WordPress nữa. Hoặc nếu cần gửi content giống nhau trên nhiều thiết bị thì đương nhiên nên cân nhắc Headless. Không phải chỉ đơn thuần nhìn vào ưu điểm rồi quyết định đưa vào sử dụng, mà phải cân nhắc cẩn thận xem công ty có thực sự cần hay không rồi mới tiến hành.

Kết luận

Cùng với chủ đề Headless CMS cho WordPress, tôi cũng đã chia sẻ cho bạn khái quát Headless CMS và giới thiệu Headless CMS của các công ty. Tất nhiên công ty chúng tôi thực hiện Headless CMS như vậy, nhưng về phần có thực sự là dịch vụ cần implement hay không, thì chúng tôi xin phép đưa ra lời khuyên dựa trên đặc trưng của hệ thống và Website, tài liệu kỹ thuật và mong muốn của bạn. Chúng ta có thể thảo luận không chỉ việc xử lý trên WordPress, mà còn cả việc sử dụng dịch vụ Cloud nữa, nên hãy thoải mái đặt câu hỏi cho chúng tôi nhé.

BLOG

TRỞ THÀNH
THÀNH VIÊN CỦA LAMPART

Bạn có muốn cùng làm việc với chúng tôi tại Lampart - nơi mỗi một cá nhân đều có thể học hỏi và trưởng thành hay không?
Hãy nhanh chóng ứng tuyển và gửi CV về cho chúng tôi bằng cách nhấn nút Ứng tuyển phía dưới nhé
Chúng tôi hi vọng được cùng làm việc với bạn trong thời gian sắp tới.

Bảo mật thông tin

Thông tin cá nhân mà bạn cung cấp sẽ được bảo mật và chỉ được sử dụng cho mục đích liên lạc tuyển dụng như gửi tài liệu, e-mail và trao đổi bằng điện thoại và không sử dụng cho mục đích cá nhân khác.