CMS
Content Management System
- Pronunciation
- see-em-ES
In short
A CMS (content management system) is software that lets people create, edit and publish website content through an editor instead of writing code.
What is a CMS?
Without a CMS, every change to a website means editing files and deploying them. A CMS separates the content from the code: editors log in, write a post in a visual editor, attach images, schedule publication and manage who can edit what, while developers build the templates the content appears in.
Traditional CMSs, such as WordPress, launched in 2003, Drupal and Joomla, store the content and also render the website, usually with PHP templates and themes. WordPress alone runs a large share of all websites, helped by thousands of themes and plugins for shops, forms, SEO and more.
A headless CMS, such as Contentful, Sanity, Strapi or Payload, only manages content and delivers it through an API. Developers then display it with any front end, such as a Next.js site or a mobile app, which gives more freedom and performance, especially when the same content appears in several places.
A common misconception is that a CMS is only for blogs. Shops, documentation, marketing sites and news sites all use them. The trade-off is upkeep: a traditional CMS with many plugins needs regular updates, because outdated plugins are one of the most common ways websites get hacked.
Key takeaways
- A CMS lets non-developers create and publish content through an editor.
- It separates content from the code that displays it.
- WordPress, Drupal and Joomla are traditional CMSs that also render pages.
- A headless CMS delivers content through an API to any front end.
- Plugins and updates need care, since outdated plugins are a common risk.
Readers ask
What is a headless CMS?
A CMS without its own website front end. It stores and manages content and serves it through an API, so developers can show it in any framework, app or device.
Is WordPress a CMS?
Yes. WordPress is the most widely used CMS. It began as blogging software and is now used for all kinds of websites, from personal blogs to shops and news sites.
Do I need a CMS for my website?
If non-developers need to update content regularly, a CMS saves a lot of time. For a small site that rarely changes and is edited by developers, plain files or Markdown may be simpler.
See also
- HTMLWeb Development, p. 18HTML is the markup language that defines the structure and content of web pages, such as headings, paragraphs, links, images, and forms.
- SEOWeb Development, p. 39SEO is the practice of improving a website's content and technical setup so that search engines can find, understand, and rank its pages for relevant searches.
- APIBackend & APIs, p. 2An API is a set of rules that lets one piece of software request data or actions from another in a predictable, documented way.
- SSGWeb Development, p. 42SSG is a technique that renders a website's pages to plain HTML files at build time, so servers or CDNs can deliver them instantly without extra work.
- Web ServerBackend & APIs, p. 46A web server is software, or the machine running it, that accepts HTTP requests from browsers and other clients and responds with pages, files, or data.
- Next.jsWeb Development, p. 31Next.js is a React framework that adds routing, server-side rendering, static generation and server code, so a whole web app can be built as one project.
Spotted a mistake or something missing on this page?Suggest an edit