Staging to Live Sync

A simple guide for content editors and site managers. Learn how to move your work from a test website to your live website — safely and confidently.

User guide No coding required Version 1.0.0

What is this plugin?

Staging to Live Sync (called STLS in your WordPress menu) helps you copy content from your staging site (where you make changes) to your live site (what your visitors see).

Think of it like copying a finished document from your draft folder to the published folder — except it happens with one click, and it also brings along images, custom fields, and page layout data.

Who is this for? Content editors, marketing teams, and site managers who update pages on a staging site and need to publish them to production.
What can you sync? Pages, posts, custom content types, images, SEO settings, custom fields, and (with help) theme files.
Where do you work? Always on your staging site. You never edit live content directly through this plugin.
Where is the plugin? In WordPress, look for STLS Sync in the left sidebar menu (refresh icon).
Screenshot — WordPress admin
STLS Sync menu highlighted in the WordPress admin sidebar
Find STLS Sync in the left sidebar of WordPress. It has sub-pages: Settings, Logs, File Sync, ACF Field Sync, and MCP.

Understanding your two websites

Most professional WordPress setups use two copies of the same website:

SiteWhat it isWho sees it
Staging site A private copy where you draft, edit, and preview changes. Often has a different web address (e.g. staging.yoursite.com). You and your team only
Live site The real, public website. This is what appears in Google and what customers visit. Everyone on the internet
Simple analogy Staging is like a rehearsal stage. Live is the actual performance. STLS is the tool that moves your finished work from rehearsal to the real show.

Important rules to remember

  • Always edit on staging, then sync to live. Don't make content changes directly on the live site if you use this workflow.
  • Sync only goes one direction — from staging to live. It does not pull changes back from live to staging.
  • Both sites need the plugin installed. Your developer or host usually handles this during setup.

Before you start

Make sure these things are ready. If any are missing, ask your developer or site administrator.

  1. Log into your staging site — not the live site. Check the web address in your browser to confirm you're on staging.
  2. Confirm STLS Sync appears in the left WordPress menu. If you don't see it, the plugin may not be activated.
  3. Know both website addresses — your staging URL and your live URL (e.g. https://staging.example.com and https://www.example.com).
  4. Have your Live API Key ready — a password-like code that lets staging talk securely to live. Your developer may have set this up already.
  5. Save your work first — always click Update or Publish on your page before syncing, so the latest version is sent to live.
Are you on the right site? If you try to sync while logged into the live site, it won't work. The Sync button only appears on staging. When in doubt, check the URL in your browser bar or ask your team which site is which.

First-time setup

This is usually done once by you or your developer. Go to STLS Sync → Settings on both websites.

Step 1 — On your live website

  1. Log into WordPress on your live site.
  2. Click STLS Sync → Settings in the left menu.
  3. In Live URL, enter your live website address (the one visitors use).
  4. In Staging URL, enter your staging website address.
  5. Next to Live API Key, click Generate to create a secure key.
  6. Click Copy and save this key somewhere safe (a password manager or secure note).
  7. Under Page builder, select the tool you use to build pages (ACF Gutenberg, Elementor, or WPBakery).
  8. Click Save Settings at the bottom of the page.

Step 2 — On your staging website

  1. Log into WordPress on your staging site.
  2. Click STLS Sync → Settings.
  3. Enter the same Staging URL and Live URL as above.
  4. Paste the exact same Live API Key you copied from the live site. It must match character for character.
  5. Select the same Page builder option.
  6. If you plan to sync theme files, scroll down and check the themes/plugins you want to appear under File Sync.
  7. Click Save Settings.
Screenshot — Settings page
STLS Settings showing Staging URL, Live URL, and Live API Key fields
Enter your website addresses and set up the Live API Key. Generate the key on live, copy it, then paste the same key on staging. Click Save Settings on both sites.
Video walkthrough — STLS plugin settings
Screenshot — Page builder & SFTP
STLS Settings showing page builder selection and SFTP fallback options
Choose your page builder (ACF Gutenberg, Elementor, or WPBakery). If your developer set up WP Engine hosting, SFTP options appear here for theme file uploads.
What is a Live API Key? It's a long random password that proves your staging site is allowed to send content to your live site. You don't need to memorise it — just copy and paste it once during setup. Never share it publicly.

Your daily workflow

Once setup is complete, this is the routine you'll follow every time you publish changes:

  1. Log into staging — open your staging website in the browser.
  2. Edit your page or post — make your text, image, and layout changes as usual.
  3. Save or update — click Update or Publish so your changes are saved on staging.
  4. Preview on staging — view the page on staging to make sure it looks correct.
  5. Sync to live — go to the Posts or Pages list and click Sync (see next section).
  6. Check the live site — open the same page on your live website and confirm it looks right.
Pro tip After syncing, always spot-check the live page in your browser — especially images, forms, and links. A quick visual check catches most issues immediately.
Screenshot — Your main action
Daily workflow: click Sync under a page in the WordPress Pages list
This is the button you'll use most often — Sync under any page or post on staging, after you've saved your changes.

Syncing a page or post

This is the most common task you'll perform. It copies one page (or post) from staging to live.

How to sync

  1. On staging, go to Pages → All Pages (or Posts, or your custom content type).
  2. Find the page you want to publish. Hover over its title.
  3. Click the green Sync link that appears below the title (next to Edit, Quick Edit, Trash).
  4. Wait a few seconds. You'll see a success or error message.
  5. Visit the live site and check the page.
Screenshot — Pages list
WordPress Pages list with Sync link highlighted under page title row actions
Hover over a page title to reveal row actions. Click the green Sync link to send that page to your live site. This only appears on staging.

What gets copied to live?

When you sync a page, STLS sends much more than just the text. Here's everything included:

WhatPlain English
Page title & contentThe headline, body text, and excerpt
Page statusWhether it's published, draft, etc.
Featured imageThe main image shown with the page
Images in the pagePhotos and graphics inside your content — they're copied to the live media library
Custom fields (ACF)Extra content areas your developer set up — hero text, icons, repeater lists, etc.
Page builder layoutBlocks, Elementor sections, or WPBakery content — depending on your setup
Categories & tagsAny labels assigned to the page
SEO settingsYoast SEO title and description, if you use Yoast
Syncing replaces live content When you sync a page that already exists on live, the live version is updated with what's on staging. If someone edited the live page directly, those changes will be overwritten. Stick to editing on staging only.

If the Sync button doesn't appear

  • You might be on the live site instead of staging — check your browser URL.
  • Settings may not be saved — go to STLS Sync → Settings and confirm URLs and API key are filled in.
  • That content type might be disabled — check Settings → Disable Sync for Post Types.

Settings explained

All plugin settings are under STLS Sync → Settings. Here's what each option means in everyday language.

SettingWhat it doesWho fills it in
Staging URL The full web address of your staging site (starts with https://). You or your developer
Live URL The full web address of your public live site. You or your developer
Live API Key The security password connecting both sites. Must be identical on staging and live. Generate once, copy to both sites
Page builder Tells the plugin how your pages are built — ACF Gutenberg (default), Elementor, or WPBakery. Pick the one your site uses. You or your developer
Disable Sync for Post Types Hides the Sync button for specific content types you don't want synced (e.g. internal notes). Optional — you
File Sync: Themes & Plugins Choose which theme and plugin folders appear on the File Sync page. Developer usually
SFTP Fallback For hosts like WP Engine that block direct file writes. Lets the plugin upload theme files another way. Developer / host admin
Debugger emails Developer

Choosing your page builder

Your developer will tell you which page builder your site uses. Select the matching option:

  • ACF Gutenberg — Default. Use this if you edit pages with the WordPress block editor and custom ACF blocks.
  • Elementor — Use if you build pages with Elementor. Both sites must run the same Elementor version.
  • WPBakery — Use if your site uses WPBakery Page Builder.
Screenshot — STLS menu overview
STLS Sync submenu showing Settings, Logs, File Sync, ACF Field Sync, and MCP
STLS Sync submenu: Settings (setup), Logs (history), File Sync (theme files), ACF Field Sync (custom fields), and MCP (AI tools — usually for developers).

Syncing theme files

Sometimes your developer changes theme files (templates, styles, code) on staging and needs to copy those to live. This is different from syncing a page — it moves actual website files.

Is this for you? Most content editors only need page sync. File sync is typically used by developers or agencies updating the site's design or functionality. If you're unsure, ask before syncing files.

How file sync works (simple version)

  1. Your developer selects which theme/plugin folders to show — under STLS Sync → Settings.
  2. Go to STLS Sync → File Sync on staging.
  3. Click folders to expand them and browse files (like a file explorer).
  4. Check the boxes next to the files you want to copy to live.
  5. Click Sync Files and wait for the progress message.

WP Engine and managed hosting

Some web hosts (like WP Engine) don't allow files to be written directly into theme folders for security. STLS handles this automatically:

  • The file is first saved to a temporary folder on live.
  • Then it's uploaded to the correct location using SFTP (a secure file transfer method).
Screenshot — File Sync page
STLS File Sync page showing theme file tree with checkboxes and Sync Files button
Browse theme folders, check the files you want, then click Sync Files. Expand folders by clicking them. Use search to find a specific file quickly.
Video walkthrough — STLS file sync

If files couldn't be uploaded automatically (common on WP Engine), you'll see a yellow notice in Settings with an Apply Queued Files via SFTP button. Click it to retry, or ask your developer for help.

Custom fields (ACF)

Many websites use a plugin called Advanced Custom Fields (ACF) to add extra content areas to pages — things like icon lists, hero banners, team member cards, or repeater sections. These are called field groups.

Why field groups matter

Before you sync pages that use custom fields, the field group definitions must exist on both staging and live. If live is missing a field group, the content may appear empty after sync.

How to sync field groups

  1. On staging, go to STLS Sync → ACF Field Sync.
  2. Click Refresh comparison. This checks what's on live vs staging.
  3. Look at the status column:
    • Missing on live — the field group doesn't exist on live yet. Sync it.
    • Out of date — live has an older version. Sync to update.
    • In sync — everything matches. No action needed.
  4. Click Sync next to any field group that needs updating.
  5. After field groups are in sync, sync your pages as usual.
Screenshot — ACF Field Sync
ACF Field Sync page showing field groups with Missing on live, Updated on Staging, and In sync statuses
Click Refresh comparison to check live. Red rows = missing on live. Yellow = updated on staging. Green = already in sync. Click Sync on any row that needs updating.
Video walkthrough — STLS ACF field sync
When to do this Sync field groups whenever your developer adds or changes custom fields on staging — before syncing the pages that use those fields.

Activity logs

STLS keeps a record of every sync so you can see what was sent and when. Go to STLS Sync → Logs.

ColumnWhat it tells you
UserWho performed the sync (your name, or "Sync via MCP" if an AI tool did it)
Page/Post NameWhich page or item was synced — click to edit it
Post TypeWhether it was a Page, Post, File sync, or ACF Field Group
TimeWhen the sync happened
Screenshot — Activity Logs
STLS Activity Logs showing sync history with user, page name, post type, and time
Every sync is recorded. See who synced what and when. Useful if you need to check whether a page was already sent to live, or to share details with your developer.

Logs are automatically deleted after a set number of days (default: 30). You can change this at the top of the Logs page. Use Clear All Logs to remove the history manually.

AI sync (optional)

If your team uses AI tools like Cursor, developers can enable MCP sync. This is separate from the normal Sync button — you don't need it for everyday page publishing.

Screenshot — MCP page
STLS MCP settings page showing Enable MCP sync checkbox and available commands
MCP is for developers. It lets AI assistants sync pages from staging. Your regular Sync button works independently and doesn't require this.

Do's & don'ts

Do

  • Edit and preview on staging first
  • Save your page before syncing
  • Check the live page after every sync
  • Sync ACF field groups before syncing pages that use them
  • Keep the same plugin version on both sites
  • Ask your developer if you're unsure about file sync

Don't

  • Edit content directly on the live site (if you use this workflow)
  • Sync from the live site — it only works from staging
  • Share your Live API Key publicly
  • Sync files unless you know what they do
  • Assume sync worked without checking live
  • Skip saving — always Update/Publish before Sync

When something goes wrong

If sync fails, you'll usually see an error message on screen. Here's what common messages mean and what you can try.

What you seeWhat it meansWhat to try
Sync button is missing The plugin doesn't think you're on staging, or settings aren't complete. Confirm you're logged into staging. Check Settings has both URLs and the API key filled in.
Invalid API key The security key on staging doesn't match live. On live, copy the Live API Key. Paste it into staging Settings. Save on both sites.
No route found Live site may not have the plugin active or updated. Ask your developer to confirm the plugin is active on live and both sites use the same version.
Images missing on live Live couldn't download images from staging. Make sure staging is accessible from the internet (not blocked by a login wall). Ask your developer.
Custom fields empty Field groups may not exist on live yet. Go to ACF Field Sync, refresh comparison, and sync the missing field groups first.
File sync failed Live couldn't write the file directly (common on WP Engine). Enable SFTP in Settings or click Apply Queued Files via SFTP. Contact your developer.
Still stuck? Take a screenshot of the error message and note which page you were syncing. Share this with your developer — the Activity Logs page also helps them diagnose the issue.

Common questions

Does syncing delete anything on live?
No. Syncing updates or creates the specific page you chose. It does not delete other pages or content on live. However, if the page already exists on live, its content will be replaced with what's on staging.
Can I sync multiple pages at once?
The Sync button works one page at a time from the page list. For bulk syncing, your developer may use additional tools or AI sync (MCP). Ask your team if you need to sync many pages regularly.
Will my page look exactly the same on live?
It should, if both sites use the same theme, plugins, and field groups. Always preview on live after syncing. Small differences can happen if live is missing a plugin or has different settings.
Do I need to sync every time I make a small edit?
Yes. Changes on staging stay on staging until you sync. Even a typo fix needs a sync to appear on live (after you save the page).
What if I accidentally sync the wrong page?
The live page will show whatever was on staging. If you have a backup or revision, your developer can restore it. Going forward, double-check the page title before clicking Sync.
Is my Live API Key like a password?
Yes — treat it like one. Don't post it in emails, chat, or public documents. Only paste it into the STLS Settings on your staging and live sites.
What's MCP / AI sync?
MCP lets AI tools (like Cursor) sync pages on your behalf. This is optional and usually set up by developers. Your normal Sync button works independently — you don't need MCP for everyday use.

Glossary

Quick definitions for terms you might see in this guide or in WordPress.

Staging site
A private copy of your website used for editing and testing before going live.
Live site
Your public website — the one visitors and search engines see.
Sync
Copying content from staging to live with one action.
Live API Key
A secret code that allows staging to send content to live securely. Must match on both sites.
ACF (Advanced Custom Fields)
A WordPress plugin that adds extra content fields to pages — like icons, banners, or structured data.
Field group
A collection of custom fields in ACF (e.g. "Hero Section" or "Team Members").
Custom post type
A special kind of content beyond regular pages and posts — like Events, Products, or Case Studies.
Theme files
The design and template files that control how your website looks and behaves.
SFTP
A secure way to upload files to a web server. Used when direct file writing isn't allowed.
WP Engine
A popular managed WordPress hosting company with extra security restrictions on file access.
Page builder
The tool used to design pages — ACF Gutenberg blocks, Elementor, or WPBakery.

When to ask for help

You can handle day-to-day page syncing yourself. Contact your developer or site administrator when:

  • First-time setup hasn't been done yet
  • You see error messages you don't understand (especially API key or "route not found" errors)
  • You need to sync theme files or change SFTP settings
  • Custom fields or images aren't appearing on live after sync
  • The plugin needs to be installed, updated, or activated on either site
  • You need bulk syncing or AI/MCP integration set up
What to send your developer Include: which site you're on (staging or live), the page you tried to sync, a screenshot of any error message, and the time it happened. The STLS Sync → Logs page is also helpful.