Headless CMS는 간단히 말해 순수하게 콘텐츠를 생성/저장/관리하는 부분만을 담당하고 사용자들에게 콘텐츠를 보이는 부분은 따로 담당하지 않는 CMS를 말합니다. WordPress로 치면 관리자 대시보드만 있고 테마는 없는 셈이죠. 그러니 이 없는 “얼굴(head)” 부분은 CMS가 아닌 다른 어딘가에서 처리를 해 줘야 합니다. 얼핏 생각하면 ‘CMS 따로 프론트 따로’로 일을 더 번잡하게 만드는 게 아닐까 싶은 이 ‘새로운(?)’ 콘텐츠 처리 방식이 최근 부각되는 이유는 몇 가지가 있어 보입니다.
- 우선 콘텐츠를 내 보낼 디바이스들이 다양해진 점을 들 수 있습니다. 요즘 발행되는 콘텐츠는 데스크톱 PC 및 각종 모바일 디바이스는 물론 Slack과 같은 메시징 서비스들, 외부 제휴 서비스들, 심지어는 IoT 장비에 이르기까지 다양한 매체에 각각의 디바이스 특성에 맞춰 콘텐츠를 배포해야 할 필요성이 커졌습니다.
- 기술의 변화도 한 몫 했습니다. 특히 React나 Ember, Angular 같은 자바스크립트 프론트엔드 프레임워크들이 많이 생겨나 널리 사용되기 시작하고 대부분의 CMS들 또한 XML이나 REST 방식으로 API를 제공하게 됨에 따라 CMS를 headless로 사용할 수 있는 여건이 잘 갖춰진 것입니다.
- 회사나 조직 내에서 Headless CMS를 사용할 경우 개발팀과 기획/마케팅팀 모두가 특정 CMS 기술에 종속될 필요 없이 자신들이 선호하는 기술과 솔루션을 사용하여 시장의 니즈에 더욱 신속하게 대응할 수 있게 됩니다.
이런 흐름에 발 맞추어 대표적인 오픈소스 CMS인 WordPress도 최근 REST API를 코어 엔진에 추가시켰습니다. 이미 지난 해 말에는 칼립소(Calypso)라는 새로운 어드민 대시보드를 이 REST API 기반으로 만들어 공개하기도 했구요.
그러니 WordPress 역시 Headless CMS로 사용할 수 있게 되었습니다. (예전에도 이미 XML-RPC 방식 등을 통해서 얼마든지 가능 했으니, 이제야 할 수 있게 되었다는 말보단 이제 좀 더 쉽게 구현할 수 있게 되었다고 말하는 게 오해의 소지를 줄일 수 있는 표현 같습니다).
워드프레스는 그야말로 콘텐츠를 관리하는 도구로만 활용하고, 만들어진 콘텐츠를 기업의 마케팅 니즈에 맞춰 다양한 환경에 다양하게 표현하는 데는 REST API를 통한 프론트엔드 접근을 하게 되면, 워드프레스가 가진 CMS로의 장점은 장점대로 활용하면서 기존에 워드프레스만 사용했을 때 발생하던 여러 제약들(예를 들면, LAMP 스택을 사용해야 한다거나 워드프레스 DB구조를 따라야 하는 등)에서 벗어나 상당히 자유로운 그림을 그려 나갈 수 있을 것입니다.
물론 이런 headless 방식이 반드시 옳다거나 모든 CMS의 “미래”라고 말하는 것은 결코 아닙니다. 좋은 점도 있고 안 좋은 점도 물론 있겠죠. 워드프레스 테마는 여전히 중요하고 또 앞으로도 그럴 것입니다. 그렇지만 이제 REST API라는 새로운 무기를 갖춘 워드프레스는 여러 다양한 새로운 가능성들을 만들어 내게 될 것 같습니다. 저는 구겐하임미술관(Guggenheim Museum)의 새 웹사이트에서 그 미래를 봅니다.
We began our redesign project with a content management system (CMS) analysis phase, evaluating WordPress and Drupal. We wanted to use a widely adopted, open-source CMS with enough muscle to meet advanced needs. We also needed to implement an editor-friendly content administration tool that could support wider participation from museum staff and eliminate involvement from designers or developers for simple updates. We chose WordPress for a few reasons—among them, the broad pool of developer resources, the excellence of the content administration interface, the rapid update release cycle, the ease of extending functionality, and the CMS’s deep taxonomy.
As we evolved the visual design and user experience intentions, our development vendor, Alley Interactive, recommended that we implement a headless version of the WordPress CMS to serve our backend content through the WP REST API to a front-end built with the AngularJS JavaScript framework. As noted by others, this approach is superior to the standard WordPress templating approach for achieving some of the more exciting possibilities in user experience today.