How your website and DatoCMS work together
This article is for DatoCMS users who are not quite sure how a CMS connects to a website, or how a "headless" CMS affects editing workflows. We will explain:
How the pieces of a CMS-driven website fit together
What a CMS & headless CMS are
What you can and cannot edit in DatoCMS
Who to contact for help
How the pieces of a CMS-driven website fit together
The two main parts:
CMS (Content Management System): This is where you and your team create, organize, and update your content — your articles, images, videos, and more. DatoCMS is one such content management system, and specifically, a headless one. More on that later.
Frontend: This is what visitors actually see when they go to
your-website.com. They never directly use DatoCMS the way you do. Your frontend asks our service for the content, but then it takes that content and transforms it into the actual web pages, text, and images that your visitors see. When you hear the word "website" in casual conversation, the frontend is usually what is actually meant. In technical terms, your frontend is where all the HTML, Javascript, and CSS live, and together they form the webpage that browsers like Chrome and Safari show to your visitors.When you need to change some part of your website that isn't strictly "content" — its layout, for example, fonts, colors, behavior, etc. — it is likely the frontend that you (or your developers or web agency) would need to change.
Other optional parts:
Backend: Some websites also have a behind-the-scenes system for handling ecommerce purchases, complex forms, or other advanced data processing that's better suited for the cloud. Not every site needs one of these, and only rarely does a backend connect to the CMS. Usually, a frontend + CMS is enough. Your visitors never directly see your backend; just like with the CMS, your frontend stands between your visitor and the rest of your website, and the frontend is all they ever see.
Web host(s): One or more servers that your frontend and backend code live on. This could be a company like Vercel or Netlify, cloud services like Amazon Web Services or Azure, or rented virtual machines from smaller providers. Importantly, DatoCMS is NOT a webhost, and we do not hold any of your frontend or backend code.
Content Delivery Networks (CDNs): These are global networks that hold copies of your frontend (or parts of it) for global distribution, making your website faster for users all over the world. A CDN lets visitors access your website from data centers close to them, instead of having to connect to a web host half the world away (which would be much slower).
DNS servers, domain registrars, and more: Behind the scenes, many more services work together to ultimately enable visitors to find your website at
your-website.com. A full explanation of all of them is beyond the scope of this article, but thankfully, these are often set-and-forget and don't require day-to-day maintenance. If anything does go wrong with them, your developers, web agency, and/or web host should be able to help. DatoCMS also does not include any of these services.
What a CMS and headless CMS are
A CMS is a content management system, a place to store, edit, and retrieve your content easily for use and re-use across one or more websites/apps/frontends.
Traditional CMSes manage your content and website frontend and backend together in one big app. This heavyweight, monolithic approach was common for traditional web teams who wanted everything together in one place, inside one app, with full control of all of it.
Headless CMSes are a lightweight alternative that only deal with the content, not the rest of the website. This was an evolutionary development in CMS design that enabled more flexibility and modularity. A "headless" setup allows CMS providers (like DatoCMS) to focus on just the CMS, a frontend company to focus on the frontend, etc. Some teams prefer this modular, mix-and-match approach because they can customize each component and choose the best fitting ones for their team. It is also a deliberate separation of concerns that allows content editors to work on content and coders to work on code, neither stepping on the other's toes. New posts can be published without needing code changes, and code changes don't need to cause a content freeze. Each system and role can focus on their sphere of responsibility.
And why the term "headless"? Well, the frontend is one of the things that a headless CMS does NOT include. And the frontend is typically thought of as the "face" of a website. No face = no head.
Our service only give you the content "body" of a website, and it's up to your team to design one or more "faces" for it: the layout, the behavior, the fonts, the colors, etc. Maybe there's one website for computers and a separate app or phones, or maybe there's just one unified, responsive website for a variety of devices. In either case, that's the only part your team has to worry about.
In this headless setup, we provide the "body" and your team provides the "head":
Everything on datocms.com and datocms-assets.com is ours
Everything on your-website.com belongs to your team
What you can and cannot edit in DatoCMS
You can use DatoCMS to edit anything on datocms.com and datocms-assets.com:
Your content and schema, like your blog posts or the fields in them. You do this through the DatoCMS admin interface, like
your-project.admin.datocms.com.Your images and videos that you've uploaded to the media area. These are managed and edited through the same admin area as the rest of your project.
DatoCMS (the CMS software, and us, the staff) cannot:
Edit your website layout, fonts, colors, etc. Your frontend and backend live on a separate web host, not our servers.
Change your web hosting (like going from Vercel to Netlify, or fix issues with Amazon Web Services)
Change your domain name (like going from
your-website.comtonew-website-name.com)Help with email inbox problems (like not getting email at
you@your-website.comor deliverability issues)Basically, anything not directly inside DatoCMS
But if you're not sure... go ahead and ask us and we'll do our best to help you figure it out!
Who to contact for help
Generally speaking, start with your own team of developers (or the agency that built your website, if you don't have in-house developers). They should be able to diagnose and fix the issue directly, or at least know who can.
DatoCMS support can only help you with DatoCMS issues, which is any service on datocms.com or datocms-assets.com.
We generally cannot directly help you with your website, e.g., anything on
your-website.com. Your own team is the best resource for that.If you ask us anyway, we may take a look and try to provide some general guidance, but ultimately our reply is going to be some form of "this is what the problem looks like to us... you can share our findings with your developers, but they'll have to be the ones to fix it".
We don't have any way to access, edit, or otherwise fix your website directly. We don't have your logins or access to your code. That's up to your team. But we'd be happy to take a look anyway, and offer whatever guidance we can.
If you're ever not sure who to contact, that's perfectly OK, just reach out to us anyway! 🙂 We don't expect you to be an expert at all this, and if you ever ask us about something we can't fix, we'll still try our best to point you in the right direction. You'll probably end up talking to your developers or web agency in the end, but at least you can start with us. We'll help you figure it out together.
You can contact us using our support form or directly via email at support@datocms.com.