Choose your website's features
Arc CMS ships with every feature on except the installable app. A content website with sign-ups uses almost all of them; switch off only what you will never use, so the admin menu stays short and no unused Cloud Functions run.
The recommended choice
| Feature id | For a website |
|---|---|
content, search, seo | Keep: they are the website |
forms, audience | Keep: sign-ups and contacts |
contact | Keep: the contact form on your Contact page and the Messages inbox |
email-marketing | Keep if you will send newsletters, broadcasts or drip emails to your sign-ups |
payments | Switch off unless you sell |
sms | Switch off unless you want phone number sign-in |
data | Optional: bulk import and export of your data from the admin |
pwa | Off by default; a website rarely wants to be installable |
analytics | Keep for visit numbers on the dashboard; switch off if you use no Google Analytics. To track only visitors who accept cookies, see Analytics |
What each feature contains is in All features; the exact ids are in Feature ids.
Switch features off
Open
src/custom/features.ts. As shipped it is empty, which means every feature exceptpwais on.-
List the features your site does not have under
off:export const CUSTOM_FEATURES: FeatureChoice = { off: ['payments', 'sms'], }; Save. A running
npm run devrestarts on its own. Check the admin: the Products and Transactions menu items are gone, and the Email + SMS menu is now called Email.Deploy everything (see Deploy). The functions of the features you switched off are deleted from the project;
npm run deploylists them and asks before deleting.
npm run dev and npm run build check the file first and stop with a message for a misspelled id, a feature in both lists, or a feature whose need is off: forms and email-marketing need audience.
What switching a feature off removes
- In the admin and on the site: its menu items, settings tabs and dashboard cards, and every one of its pages in the app, which then show the not-found page. For example, switching off
contentalso removes the app's/p/route for static pages. - In Firebase: its Cloud Functions, at the next deploy of all functions. Links that point at them, such as a payment webhook, stop working.
- Nothing else: its data, security rules and indexes stay. Take the id out of
off, build and deploy, and everything is back.
Switching off forms does not remove a form's markup from your home page. The form stays on the page, and a visitor who submits it sees an error, because the functions behind it are gone. Take the form out of src/custom/site/home.html as well.
Next
Check everything before you go live: Launch checklist.