Getting Started
Managing Sites - ContentMK Docs
Add, configure, and organize your website workspaces.
Every website you manage in ContentMK is a separate workspace with its own articles, settings, modules, and sync configuration. There is no limit to the number of sites you can add.
Adding a Site
To add a new site, click the Add Site button from the Sites page. You will need to provide:
- Name — A display name for the site (e.g., “Tech Reviews Blog”)
- Site ID — Auto-generated from the name as a lowercase identifier using letters, numbers, and hyphens. You can edit the Site ID before saving, but once created it is permanent and cannot be changed. This identifier is used internally to organize all data associated with the site.
- URL — The full URL of your website (e.g.,
https://example.com). Optional but recommended, since it is used for WordPress sync and sitemap discovery. - Color — A color from a palette of 10 presets to visually identify this site throughout the interface
After creation, you land on the site’s dashboard.
Site Colors
Each site can have a color assigned from a palette of 10 preset colors: Red, Orange, Amber, Green, Teal, Blue, Indigo, Purple, Pink, and Zinc. Blue is the default for new sites.
The selected color appears as a dot next to the site name in the sidebar, on site cards, and at the top of each page when you are working within that site. This makes it easy to identify which site you are working with at a glance, especially when managing many sites in the All Sites overview.
Site Cards
On the Sites page, each site appears as a card showing:
- The site name with its color dot
- The site URL (or “No URL set” if none was provided)
- The Site ID badge
- The article count
Click anywhere on a card to open that site’s dashboard and article list. Use the pencil icon on the card to jump directly to the site’s Settings page, or the trash icon to delete the site.
Per-Site Dashboard
When you select a site from the sidebar or click a site card, you land on the site dashboard. This is the home screen for each site, organized into three main cards.
Article Stats
The first card shows a breakdown of your articles by status:
- Published (green) — Articles that are live and current
- Draft (gray) — Articles in progress
- Needs Review (yellow) — Articles that have passed the Needs Review freshness threshold and should be checked for accuracy
- Out of Date (red) — Stale articles that have passed the Out of Date threshold and need updates
Below the status breakdown, you see the total article count for the site.
WordPress Sync Status
The second card shows your WordPress sync status at a glance:
- Connection status — Whether WordPress credentials are configured for this site
- Tracked entities — How many articles are being tracked by the sync engine
- Sync status — How many articles are synced, have local changes, or have conflicts
- Last sync time — When the last sync operation occurred
If WordPress credentials are not configured, a link takes you to the Settings page to set them up.
Recent Activity
The third card shows a timeline of recent changes to the site:
- Article creates, updates, and deletes
- Import operations
- Sync events
Each entry shows what happened and how long ago it occurred.
Navigation from the Dashboard
The dashboard serves as the entry point to the rest of the site workspace. Use the sidebar to navigate to:
- Articles — Full article table with sorting, filtering, and search
- Sync — WordPress sync controls and manual import
- Settings — Site configuration, WordPress credentials, modules, and danger zone
Site Settings
The Settings page for each site is organized into collapsible sections. Click any section header to expand or collapse it.
Site Details
Edit your site’s basic information:
- Name — The display name shown in the sidebar and throughout the app
- URL — Your website’s full URL (used for WordPress sync and sitemap discovery)
- Color — Pick from the 10 preset colors to visually identify this site
- Needs Review threshold — Number of days before articles are automatically flagged as “Needs Review” (default: 90 days)
- Out of Date threshold — Number of days before articles are automatically flagged as “Out of Date” (default: 180 days)
The Out of Date threshold must always be greater than the Needs Review threshold. Click Save Changes to apply your updates. Changes to thresholds affect how articles are flagged during health scoring.
For example, a news site might flag articles after 30 days as needing review and 90 days as out of date, while an evergreen resource site might use 6-month and 12-month thresholds.
WordPress Connection
Store WordPress API credentials so ContentMK can connect to your site for sync and import operations.
You will need three things:
- WordPress URL — The URL of your WordPress installation (auto-filled from the site URL)
- Username — Your WordPress username
- Application Password — A special password generated in WordPress for external app access
Best practice: Create a dedicated WordPress user account specifically for ContentMK rather than using your personal login. In WordPress, go to Users > Add New User, set the username to something like “ContentMK,” and assign the Editor role. The Editor role is sufficient for reading and writing posts, categories, tags, and media via the REST API. This approach lets you revoke access without disrupting your own login, keeps an audit trail of API-driven changes, and isolates credentials so rotating one does not affect the other.
To generate an Application Password, log in as the dedicated user, go to Users > Profile, scroll to the Application Passwords section, enter a name like “ContentMK Desktop,” and click Add New Application Password. Copy the generated password immediately — it will not be shown again.
Once you have filled in all three fields, click Test Connection to verify they work. A successful test shows the site name and post count. Then click Save Credentials to store them. After saving, the password is never displayed again. Click Change to enter a new password.
Security: Credentials are encrypted at rest on your local machine using your operating system’s secure storage — macOS Keychain on Mac, DPAPI on Windows. They are never transmitted to ContentMK servers. Application Passwords can be individually revoked in WordPress without changing the account’s main password.
SEO Plugin Integration
ContentMK auto-detects which WordPress SEO plugin is active on your site and displays the connection status. Supported plugins:
- Yoast SEO — Detected via REST API namespace or
yoast_head_jsonfield on posts - Rank Math — Detected via REST API namespace or HTML page signatures
- SEOPress — Detected via REST API namespace
- All in One SEO (AIOSEO) — Detected via
aioseo_meta_datafield on posts
Connection status appears as either Connected (green, the plugin’s REST API is accessible and ContentMK can sync SEO data) or Detected but needs setup (amber, the plugin is installed but its REST API is not accessible).
Rank Math special note: Rank Math requires an additional setting to expose its REST API. In WordPress, go to Rank Math > General Settings > Others, make sure Advanced Mode is enabled (Rank Math > Dashboard > toggle Advanced Mode), then enable Headless CMS Support and save. If you use Cloudflare, Wordfence, or another firewall, you may also need to whitelist /wp-json/rankmath/v1/* to prevent the REST API from being blocked.
If auto-detection fails, use the Override dropdown to manually select your SEO plugin or choose “None” to disable SEO sync. Selecting “Auto-detect” re-runs detection.
Modules
The Modules section provides a read-only view of all 21 ContentMK modules:
- Free modules (8) — Shown with a “Free” badge. These can be activated per-site at no cost.
- Premium modules (13) — Shown with a “Premium” badge. These are included in Professional and Premium plans.
Each module shows its name, description, and current activation status. Deactivating a module hides its UI but preserves all data. Re-activating it restores access instantly — nothing is deleted.
For details on what each module does, see Free Modules and Premium Modules.
Danger Zone
Actions in this section are destructive and cannot be undone.
Reset Site Data permanently deletes all articles and import history for the site while keeping the site itself, its settings, and WordPress credentials. A double-confirmation is required: first a dialog showing how many articles will be deleted, then a field where you must type RESET to confirm.
Delete Site permanently removes the site and all associated data — articles, import history, WordPress credentials, module settings, and sync state. A confirmation dialog shows how many articles will be deleted before you confirm.
After either action, you are redirected to the Sites page.
Deleting a Site
Deleting a site is permanent and cannot be undone. When you delete a site, the following data is permanently removed:
- All articles belonging to the site
- All import history for the site
- All stored WordPress credentials for the site
- All module settings and activation records for the site
- All sync state for the site
You can delete a site in two ways: click the trash icon on the site card from the Sites page, or use the Danger Zone section in Site Settings. Either way, a double-confirmation dialog shows how many articles will be deleted before the action proceeds.
Configuring Freshness Thresholds
Freshness thresholds control when articles automatically transition to “Needs Review” or “Out of Date” status. These are configured per site in Settings because different sites have different content lifecycles.
These thresholds directly affect the freshness component of the health score, which carries at least 50% weight in the overall score calculation. Getting them right for each site is important — set them too aggressively and you will be overwhelmed with flagged content, too leniently and stale articles slip through unnoticed.
All Sites Overview
The All Sites overview in the sidebar provides a cross-site perspective:
- Total articles across all sites
- Sites with the most stale content
- Recent activity across all workspaces
- Global backup status
This view is useful for agency users or anyone managing multiple properties who needs a quick summary before drilling into individual sites.
For a more detailed system-level overview — including API health, module activation, content cache usage, and diagnostic export — see the Status Page.