A CMS is a platform that helps developers create a good tool for editors to edit content. It makes a website easily updatable as it’s a way to edit your content without having any coding knowledge.
Essentially, a CMS is just a way to manage content—whether it’s text or images or other types. Typically, it has the ability to have multiple users contributing and editing content with different levels of permissions—that’s its main job.
The most common use, though, is to have both the editing and the website be a part of the same platform. Really, a CMS’s purpose is to manage content such as text, images, rich media, videos, and anything else that falls under the category.
The real benefit of a content management system (CMS) is to make it easy for non-technical people to manage content that will be delivered in some sort of way—the most common of which is through a website.
You don’t necessarily need to use a CMS as a front end to your website; it could also deliver the content through something like an API which is then parsed by different applications (website, mobile app, etc.).
Technically, you can separate the front end part of the website from the CMS. For example, you can create a blog article and then use some other static website to push content to it—or rather, the website reads content from Drupal. The CMS doesn’t have to be built into your website; you could easily separate content and delivery if need be.
Basically, a CMS handles things like:
Overall SEO friendliness for your site is a big component of a CMS, with the sitemap generation being a key benefit. Without a CMS, you either have to write your own sitemap manually—which most people wouldn’t even know how to do—or you just wait for Google to (eventually) figure out that that page exists, which can hurt your ranking opportunity on search engines.
Therefore, it’s much more efficient to just have your CMS create a sitemap for you because Google will read the sitemap every time it crawls, and if it sees a new page, it’ll know it needs to crawl that page and figure out what it contains.
However, if the sitemap is not there to guide the crawlers, it may or may not find the page eventually. While there are ways around it (like having a link to that page from another article, allowing Google to follow through and find a new page), it’s a lot faster to have the CMS generate a sitemap.
Usually, the CMS will take care of things like menu systems, too: if you have a primary menu at the top of your page, when you create a new page, you can create a menu item for it and it will automatically highlight it when you’re on that page.
Without a CMS, there’s a bunch of coding you’d have to do to figure out which URL is tied to which page, identify the associated top menu item, then manually link the two to display correctly together. Back in the day, we developers would have to manually do that, and it was a pain in the ass.
A CMS also helps build some of the UI because you’re not starting from scratch anymore—you don’t have to write anything with a database; instead, it creates tables for you when you create a new type of content.
For instance, if you create a blog article and you say, “ok, a blog article always has a title, body, etc.” and you create those fields, the CMS goes in the database and creates a table, columns, and stuff like that so you don’t have to write any of that code yourself.
As for whether you need to have any coding knowledge to use a CMS, it really depends on what you want to do, how the website was coded, and how the CMS was enhanced. Typically, you shouldn’t have to have any coding knowledge, especially for updating content through the CMS as a user.
It’s nice to not have to rewrite a bunch of code every time. I love that you can create content types, match fields within those content types, and then those forms are automatically built for you in the backend, and sometimes you don’t have to write any code for functionality, which is nice.
It’s nice that you can just fill out a form and it builds pages for you.
If you didn’t have a CMS, you’d have to call your developer every time you wanted to make a change, no matter how small—even updating a tagline or changing an article title count.
There may be other ways to set it up, like creating an article on Medium that automatically pulls in to your website, but overall, if you didn’t have a CMS, you wouldn’t be able to edit your website; you’d have to call a developer.
It’s important to note that there are types of websites that don’t necessarily need a CMS, and the most common of these is web applications—Gmail, Groupon, Pinterest, and so on.
In cases like those, the actual webpage where you’re browsing has no need for a CMS because there’s no content to edit.
When you’re creating or editing an app, it’s not the same process as when you’re creating a website for marketing your brand—you usually go through a big workflow. For instance, if you want to change a button title or name in the app, it goes through this whole process: the product manager decides if they want to change the button name, then it goes to the design phase, development phase, testing phase, approval phase, and then it finally goes into production—with apps, you can’t just go in and change a button.
That’s because, usually, everything is version-controlled, meaning it lives in the code, so it can be rolled back and it’s a lot more enterprise-focused as opposed to someone quick-editing content.
Article adapted from www.herosmyth.com