DON’T BREAK LIVE
USING A STAGING SITE FOR UPDATES
JAMIE SCHMID
• COMMUNITY EVANGELIST @SITELOCK
• FREELANCE DESIGNER AND DEVELOPER
• CONTENT ENTHUSIAST
• PROUD CAT MOM IN PORTLAND, OR
@JAMIESCHMID
@SITELOCK
WHAT IS A STAGING SITE?
A PRIVATE COPY OF YOUR SITE FOR
TESTING UPDATES, NEW FEATURES AND
CHANGES, QA CHECKS, ETC
STAGING LIVE
YOU KNOW YOU NEED TO KEEP
YOUR SITE UPDATED.
But making updates on your live site is scary
and dangerous. Things can and will break.
HOW DOES A STAGING SITE WORK?
STAGING LIVE
1. Make an exact duplicate of your live site
2. Run updates, test new plugins or themes, do QA
3. All good? Push those changes to the live site
1. Changes can include both physical files
and database changes
2. Databases are hard to synch!
3. WordPress uses static URL’s and
serialized data
4. Images need both a database

entry, and a physical file
5. Etc, just trust me
WHY IT’S NOT THAT EASY:
1. You need to make a replica of
your site.
2. You need to put it someplace so it
can run as a website
3. You need to get those

changes to your live site
WHAT IS REQUIRED?
DOING THE THINGS
AUDIT YOUR SITE
Caching? What is the size of your
site?
Any automations on the site:
auto emailers?
?! !
How busy is your site? Will you potentially be
overwriting orders, comments, a/b testing results
Are you using version control (git?)
Get familiar with your hosting! company, service
level, access.
WHAT ARE YOUR OPTIONS?
Hosting 1-Click Staging
Use a Plugin
Standalone Site: subdomain/subfolder
Local with a push to Staging/push to Live
Advanced Developer Workflow
HOSTING 1-CLICK-STAGING
The easiest & fastest solution!
The most expensive (in $) solution
Your host needs to offer it
PUSH TO LIVEPUSH TO LIVE
WP-ENGINE 1 CLICK STAGING IN
THE WP ADMIN
SOME HOSTS THAT OFFER

1-CLICK STAGING
WPEngine
Siteground
Pressable
Cloudways
Flywheel
Kinsta
Godaddy
SiteDistrict
..and more!
USE A PLUGIN
WP Staging: free in the repo
Creates a duplicate site inside
your live site via subdomain
Migrates to your live site
WP STAGING
STANDALONE SITE:

SUBDOMAIN/SUBFOLDER
Make changes locally and push to your
remote staging
Ensure all is working as expected
Make those same changes again on live OR
push to live
LOCAL WORDPRESS SITE
Make changes on local site
Ensure all is working as expected
Make those same changes again on live
or push to live
RUNNING YOUR SITE ON YOUR OWN
COMPUTER, USING SOFTWARE THAT ALLOWS
YOUR COMPUTER TO RUN AS A SERVER.
WHAT IS A LOCAL SITE?
127.0.0.1
WORDPRESS LOCAL DEVELOPMENT
DESKTOPSERVER LOCAL BY FLYWHEEL
REPLICATING, MIGRATING,
SYNCHING CHANGES
Replicate: Perform the same changes you
did on Staging, to live
Migrate: An automated process that
overwrites files or database content
Synch: An advanced process that checks
for changes on both sides, and resolves
them into one
MIGRATE
May require URL, config, etc changes
Partial overwrites are more complex
Duplicator, Backup Buddy, All-in-One WP
Migration, UpdraftPlus
DesktopServer Direct Deploy
DUPLICATOR
SYNCHING
The most complex
If you have a perfect solution for this
please tell me, please tell us all
WPMigrateDB, WPSiteSynch
WP SITE SYNC
1. Make a schedule for doing updates
2. Use a service to track updates
3. Make all updates on staging first
4. Never break live again!
A RECIPE FOR SUCCESS
BONUS CONTENT!
WHEN EVALUATING YOUR OPTIONS
THINGS TO CONSIDER…
How much time and
resources do you have
for maintenance?
What is your budget?
Remember: time saved
= $$ saved
How often will you check
for core, theme and plugin
updates? Often! Check for
outdated plugins.
How often will you
perform the updates?
Schedule them!
Who is performing the
updates? Assign them!
ASK YOURSELF:
ASK YOURSELF:
How many sites do you
have to manage?
Do you have multiple
people who need to
verify changes before
it can go live?
How technical is your
situation? Is your site in
version control?
How busy is your live site?
Popular ecommerce sites
may be continuously
processing tractions or
writing sessions.
EXAMPLE WORKFLOWS
A COUPLE’A…
ONE CLICK STAGING
1. Pick a host with one click staging, like
WP Engine
2. Confirm user rules: never update live,
never add new features to live, never
add new content to live
3. Create an updates schedule. Include
monitoring reports
4. Pull live to staging
5. Make changes
6. Push staging to live
DUPLICATION IN-SITE
1. Use the WP Staging plugin
2. Create a duplicate inside your live
WP install
3. Make your changes to the duplicate
4. Push to live
SUBDOMAIN STAGING
1. Create a subdomain on your main
site
2. Duplicate your site into it using the
WP All-In-One Migration plugin or
Updraft Plus Migrator
3. Make changes
4. Migrate to live with a migration
plugin OR replicate changes
manually on live
LOCAL STAGING SITE
1. Import an archive of your live site
using Duplicator
2. Install DesktopServer
3. Import live site archive to run site
locally
4. Make changes
5. Push to live using Direct Deploy OR
make changes manually to live
CREATE A WORKFLOW THAT
WORKS FOR YOU.
THANK YOU!
@JAMIESCHMID
@SITELOCK
QUESTIONS?

SEE ME AFTER THIS OR AT THE AFTERPARTY!

OR ON TWITTER!
Full talk slides: tinyurl.com/staging-site-talk
Blog posts: https://www.sitelock.com/blog/?s=staging
These slides: tinyurl.com/staging-lightning-talk
@jamieschmid

Dont Break Live lightning talk

  • 1.
    DON’T BREAK LIVE USINGA STAGING SITE FOR UPDATES
  • 2.
    JAMIE SCHMID • COMMUNITYEVANGELIST @SITELOCK • FREELANCE DESIGNER AND DEVELOPER • CONTENT ENTHUSIAST • PROUD CAT MOM IN PORTLAND, OR @JAMIESCHMID @SITELOCK
  • 3.
    WHAT IS ASTAGING SITE? A PRIVATE COPY OF YOUR SITE FOR TESTING UPDATES, NEW FEATURES AND CHANGES, QA CHECKS, ETC STAGING LIVE
  • 4.
    YOU KNOW YOUNEED TO KEEP YOUR SITE UPDATED. But making updates on your live site is scary and dangerous. Things can and will break.
  • 5.
    HOW DOES ASTAGING SITE WORK? STAGING LIVE 1. Make an exact duplicate of your live site 2. Run updates, test new plugins or themes, do QA 3. All good? Push those changes to the live site
  • 6.
    1. Changes caninclude both physical files and database changes 2. Databases are hard to synch! 3. WordPress uses static URL’s and serialized data 4. Images need both a database
 entry, and a physical file 5. Etc, just trust me WHY IT’S NOT THAT EASY:
  • 7.
    1. You needto make a replica of your site. 2. You need to put it someplace so it can run as a website 3. You need to get those
 changes to your live site WHAT IS REQUIRED?
  • 8.
  • 9.
    AUDIT YOUR SITE Caching?What is the size of your site? Any automations on the site: auto emailers? ?! ! How busy is your site? Will you potentially be overwriting orders, comments, a/b testing results Are you using version control (git?) Get familiar with your hosting! company, service level, access.
  • 10.
    WHAT ARE YOUROPTIONS? Hosting 1-Click Staging Use a Plugin Standalone Site: subdomain/subfolder Local with a push to Staging/push to Live Advanced Developer Workflow
  • 11.
    HOSTING 1-CLICK-STAGING The easiest& fastest solution! The most expensive (in $) solution Your host needs to offer it PUSH TO LIVEPUSH TO LIVE
  • 12.
    WP-ENGINE 1 CLICKSTAGING IN THE WP ADMIN
  • 13.
    SOME HOSTS THATOFFER
 1-CLICK STAGING WPEngine Siteground Pressable Cloudways Flywheel Kinsta Godaddy SiteDistrict ..and more!
  • 14.
    USE A PLUGIN WPStaging: free in the repo Creates a duplicate site inside your live site via subdomain Migrates to your live site
  • 15.
  • 16.
    STANDALONE SITE:
 SUBDOMAIN/SUBFOLDER Make changeslocally and push to your remote staging Ensure all is working as expected Make those same changes again on live OR push to live
  • 17.
    LOCAL WORDPRESS SITE Makechanges on local site Ensure all is working as expected Make those same changes again on live or push to live
  • 18.
    RUNNING YOUR SITEON YOUR OWN COMPUTER, USING SOFTWARE THAT ALLOWS YOUR COMPUTER TO RUN AS A SERVER. WHAT IS A LOCAL SITE? 127.0.0.1
  • 19.
  • 20.
    REPLICATING, MIGRATING, SYNCHING CHANGES Replicate:Perform the same changes you did on Staging, to live Migrate: An automated process that overwrites files or database content Synch: An advanced process that checks for changes on both sides, and resolves them into one
  • 21.
    MIGRATE May require URL,config, etc changes Partial overwrites are more complex Duplicator, Backup Buddy, All-in-One WP Migration, UpdraftPlus DesktopServer Direct Deploy
  • 22.
  • 23.
    SYNCHING The most complex Ifyou have a perfect solution for this please tell me, please tell us all WPMigrateDB, WPSiteSynch
  • 24.
  • 25.
    1. Make aschedule for doing updates 2. Use a service to track updates 3. Make all updates on staging first 4. Never break live again! A RECIPE FOR SUCCESS
  • 26.
  • 27.
    WHEN EVALUATING YOUROPTIONS THINGS TO CONSIDER…
  • 28.
    How much timeand resources do you have for maintenance? What is your budget? Remember: time saved = $$ saved How often will you check for core, theme and plugin updates? Often! Check for outdated plugins. How often will you perform the updates? Schedule them! Who is performing the updates? Assign them! ASK YOURSELF:
  • 29.
    ASK YOURSELF: How manysites do you have to manage? Do you have multiple people who need to verify changes before it can go live? How technical is your situation? Is your site in version control? How busy is your live site? Popular ecommerce sites may be continuously processing tractions or writing sessions.
  • 30.
  • 31.
    ONE CLICK STAGING 1.Pick a host with one click staging, like WP Engine 2. Confirm user rules: never update live, never add new features to live, never add new content to live 3. Create an updates schedule. Include monitoring reports 4. Pull live to staging 5. Make changes 6. Push staging to live
  • 32.
    DUPLICATION IN-SITE 1. Usethe WP Staging plugin 2. Create a duplicate inside your live WP install 3. Make your changes to the duplicate 4. Push to live
  • 33.
    SUBDOMAIN STAGING 1. Createa subdomain on your main site 2. Duplicate your site into it using the WP All-In-One Migration plugin or Updraft Plus Migrator 3. Make changes 4. Migrate to live with a migration plugin OR replicate changes manually on live
  • 34.
    LOCAL STAGING SITE 1.Import an archive of your live site using Duplicator 2. Install DesktopServer 3. Import live site archive to run site locally 4. Make changes 5. Push to live using Direct Deploy OR make changes manually to live
  • 35.
    CREATE A WORKFLOWTHAT WORKS FOR YOU.
  • 36.
  • 37.
    QUESTIONS?
 SEE ME AFTERTHIS OR AT THE AFTERPARTY!
 OR ON TWITTER! Full talk slides: tinyurl.com/staging-site-talk Blog posts: https://www.sitelock.com/blog/?s=staging These slides: tinyurl.com/staging-lightning-talk @jamieschmid