SlideShare a Scribd company logo

WordPress Workflow - From Dev To Staging To Production - Robert Wilde

Whether you're working on custom themes or custom plugins, a good development workflow is critical. I would like to walk you through some great ideas to streamline and simplify the process as much as possible. We will look at starting a brand new project and go from dev environment through to production as well as an existing site being brought to local dev, up to staging and back again. All the tools, tips, and tricks you need to ensure each and every project runs as smooth as silk.

1 of 10
Download to read offline
WordPress Workflow
presentation
#WCSyd 2016
Robert Wilde
dev to staging to live
Development to Staging to Production
First, big thanks to everyone who attended WordCamp Sydney 2016 and all
the awesome people who organised it. This event was my second this year
and my second time speaking, truly is the best event to attend.
It’s important to remember that everything I talked about on the day and
outline here is my way of doing things, not the way of doing things. There is
no right way, only your way. I want to give you some ideas, and you season
them however you need to make it work for you.
In the post I will go over the same key points, I covered in my talk on the day.
I will go over;
What the WordPress workflow includes.
Why you should be using a workflow, even if you are not a developer.
Some tools I use to make setting up and managing the workflow.
In future posts, I will go into more detail regarding some of my methods and
tools.
What is the WordPress workflow?
it is made of three environments:
Development
also called local, which runs on your computer/laptop and only accessible by
you.
Staging
WordPress Workflow - WCSYD 2016
WordPress Workflow - #WCSyd 2016
this runs on an available to the public using a unique URL, preventing any
issues with premature Google crawling and duplicate content. You can also
restrict access via password if necessary.
Production
Also referred to as live, this is the final version.
The second factor is the direction of the flow from environment to
environment. Initially, it should flow between each environment in one
direction. This is during a new site or project.
As you can see I added the definitive NO between DEV and live. At some
point you will need to push from DEV to live but always ensure it has gone
through the staging process first. I have a second application like, winSCp to
upload from DEV to live to ensure there is no accidental overwrite.
There are times when you will need more two-way action, primarily when
you are working on refactoring a live site. This is also the configuration to use
when testing plugins or completing updates. You can sync live to stage, run
updates and tests, then complete on the live site.
WordPress Workflow - WCSYD 2016
WordPress Workflow - #WCSyd 2016
Why do you need this?
These steps will a level of difficulty and add time to your process but for
several good reasons.
Create and isolated sandbox to work on where you can safely make
changes without affecting end users.
Allow you to make real-time comparisons between your job and the live
site.
Test during business hours without affecting traffic or site services.
An important note or perhaps rule.
NEVER, EVER WORK ON A LIVE SITE!
DON’T UPDATE PLUGINS!
DON’T UPDATE THEMES!
DON’T MODIFY CODE!
WordPress Workflow - WCSYD 2016
WordPress Workflow - #WCSyd 2016
Now I demonstrated a key point to this rule during my session. I asked all the
experienced DEV’s in the room to raise there hand if they totally agree with
this, there where quite a few hands up. I then asked “Please keep your hand
raised if you have broken this rule, more than once?”. Fair to say almost no
hands went down.
There are always exceptions to the rule. The point here is to make sure you
are aware of the risks. Most people don’t know how bad fire is until they get
burnt.
Some things to know when setting up your
WordPress workflow.
Both your DEV or local environment and your staging environment should be
configured the same as the live or production environment or what
is refereed to as the stack.
There are two main stacks used for WordPress.
LAMP – Linux, Apache, PHP, MySQL
LEMP – Linux, NGINX, PHP, MySQL
If you don’t know what your live site is running on you can speak with your
hosting support to get more info. For the local DEV environment there are
several tools to make this setup easy.
Quick install tools – WAMP, MAMP, XAMPP and Desktop Server
Advanced tools – Vagrant (VVV or Chassis) , Docker, Linux VM &
EasyEngine.
WAMP, MAMP, XAMPP and Desktop Server. I haven’t used these tools for a
while but have heard good things about Desktop Server as it has some tools
specifically directed for WordPress setup.
WordPress Workflow - WCSYD 2016
WordPress Workflow - #WCSyd 2016
If you want something closer to the real thing with more tools and power,
there are some tools that provide you with a Virtual environment. These
include tools like Vagrant, specifically VVV or Chassis witch is actually
developed and maintained by a fellow speaker Bronson Quick
(@bronsonquick) and available on GitHub. Docker is another tool that is
gaining massive traction and is OS agnostic or you go middle ground and use
a vanilla Linux virtual environment like Ubuntu server LTS with
an absolutely awesome CMD tool like easy engine. Witch is what I use. basic
intro to EasyEngine.
If you are new to this stuff, please don not let the idea of command line scare
you. these more advanced environments gives a lot more control and power
with tools like WP-CLI. If you don’t know WP-CLI put it on your list of things
to read about. Lost count the number of times it has saved my bacon and
made things simple as it gives you access to DB import/export, plugin install,
activate, deactivate and update, completing WP install/configuration and way
more. A little bit of time learning how to use it will save a massive amount of
time down the track.
More ideas for your WordPress work ow staging
environment.
I believe it is important, if not vital, to use a dedicated WordPress hosting
provider for your Live hosting as they will generally provide you with a
staging environment that is isolated. Isolated is important for when you are
testing and installing plugins, moving from live to staging and back again. If
by chance something happens that causes a major problem it will not effect
the live site. Providers like WPengine, Pantheon or Conetix are great, these
are the ones I have looked at and played with.
What to look for when setting up a staging environment:
WordPress Workflow - WCSYD 2016
Ad

Recommended

Content as a Service: What to Know About Decoupled CMS
Content as a Service: What to Know About Decoupled CMSContent as a Service: What to Know About Decoupled CMS
Content as a Service: What to Know About Decoupled CMSPantheon
 
WordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson QuickWordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson QuickWordCamp Sydney
 
Microservices Architecture for Content Management Systems using AWS Lambda an...
Microservices Architecture for Content Management Systems using AWS Lambda an...Microservices Architecture for Content Management Systems using AWS Lambda an...
Microservices Architecture for Content Management Systems using AWS Lambda an...Mitoc Group
 
A Better WordPress Workflow with WP-CLI
A Better WordPress Workflow with WP-CLIA Better WordPress Workflow with WP-CLI
A Better WordPress Workflow with WP-CLIRikesh Ramlochund
 
Structuring Processes and Workflows for Your WordPress Business
Structuring Processes and Workflows for Your WordPress BusinessStructuring Processes and Workflows for Your WordPress Business
Structuring Processes and Workflows for Your WordPress BusinessHandsOnWP.com
 
Content as a Service: Artificial Scarcity and the Post-Ownership Economy
Content as a Service: Artificial Scarcity and the Post-Ownership EconomyContent as a Service: Artificial Scarcity and the Post-Ownership Economy
Content as a Service: Artificial Scarcity and the Post-Ownership EconomyDavid Dylan Thomas
 
How "Content as a Service" Will Help You Become an Effective Brand Publisher
How "Content as a Service" Will Help You Become an Effective Brand PublisherHow "Content as a Service" Will Help You Become an Effective Brand Publisher
How "Content as a Service" Will Help You Become an Effective Brand PublisherMichael Brito | Zeno Group
 
How the WordPress CMS Really Works
How the WordPress CMS Really WorksHow the WordPress CMS Really Works
How the WordPress CMS Really WorksHandsOnWP.com
 

More Related Content

Viewers also liked

Content Architecture At Work
Content Architecture At WorkContent Architecture At Work
Content Architecture At Workcleveg
 
Building a Scalable Digital Asset Management Platform in the Cloud (MED402) |...
Building a Scalable Digital Asset Management Platform in the Cloud (MED402) |...Building a Scalable Digital Asset Management Platform in the Cloud (MED402) |...
Building a Scalable Digital Asset Management Platform in the Cloud (MED402) |...Amazon Web Services
 
AWS Storage and Database Architecture Best Practices (DAT203) | AWS re:Invent...
AWS Storage and Database Architecture Best Practices (DAT203) | AWS re:Invent...AWS Storage and Database Architecture Best Practices (DAT203) | AWS re:Invent...
AWS Storage and Database Architecture Best Practices (DAT203) | AWS re:Invent...Amazon Web Services
 
Defining Content Architecture
Defining Content ArchitectureDefining Content Architecture
Defining Content Architecturecleveg
 
My Contributor Story
My Contributor StoryMy Contributor Story
My Contributor StoryMarko Heijnen
 
WordPress 101 from WordCamp Cincinatti 2016
WordPress 101 from WordCamp Cincinatti 2016WordPress 101 from WordCamp Cincinatti 2016
WordPress 101 from WordCamp Cincinatti 2016Angela Meeker
 
WordPress mit React – Mehr als eine Zweckehe?!
WordPress mit React – Mehr als eine Zweckehe?!WordPress mit React – Mehr als eine Zweckehe?!
WordPress mit React – Mehr als eine Zweckehe?!Paul Vincent Beigang
 
Word press gets responsive 4x3
Word press gets responsive 4x3Word press gets responsive 4x3
Word press gets responsive 4x3Edmund Turbin
 
Develop and Deploy Outside the Repo
Develop and Deploy Outside the RepoDevelop and Deploy Outside the Repo
Develop and Deploy Outside the Repoafragen
 
Learning java script and wordpress rest api by tom hermans wordcamp netherl...
Learning java script and wordpress rest api by tom hermans   wordcamp netherl...Learning java script and wordpress rest api by tom hermans   wordcamp netherl...
Learning java script and wordpress rest api by tom hermans wordcamp netherl...Tom Hermans
 
WordPress & Front-end performance
WordPress & Front-end performanceWordPress & Front-end performance
WordPress & Front-end performanceMichael Mizner
 
Project Management or how to herd cats
Project Management or how to herd catsProject Management or how to herd cats
Project Management or how to herd catsBecky Davis
 
Flexing Your WordPress Themes
Flexing Your WordPress ThemesFlexing Your WordPress Themes
Flexing Your WordPress ThemesTim Blodgett
 
WordCamp Montreal 2015: Combining Custom Post Types, Fields, and Meta Boxes t...
WordCamp Montreal 2015: Combining Custom Post Types, Fields, and Meta Boxes t...WordCamp Montreal 2015: Combining Custom Post Types, Fields, and Meta Boxes t...
WordCamp Montreal 2015: Combining Custom Post Types, Fields, and Meta Boxes t...allilevine
 
Using the Editor the Proper Way - WordCamp Toronto 2015
Using the Editor the Proper Way - WordCamp Toronto 2015Using the Editor the Proper Way - WordCamp Toronto 2015
Using the Editor the Proper Way - WordCamp Toronto 2015sethta
 

Viewers also liked (17)

CMS on AWS Deep Dive
CMS on AWS Deep DiveCMS on AWS Deep Dive
CMS on AWS Deep Dive
 
Content Architecture At Work
Content Architecture At WorkContent Architecture At Work
Content Architecture At Work
 
Building a Scalable Digital Asset Management Platform in the Cloud (MED402) |...
Building a Scalable Digital Asset Management Platform in the Cloud (MED402) |...Building a Scalable Digital Asset Management Platform in the Cloud (MED402) |...
Building a Scalable Digital Asset Management Platform in the Cloud (MED402) |...
 
AWS Storage and Database Architecture Best Practices (DAT203) | AWS re:Invent...
AWS Storage and Database Architecture Best Practices (DAT203) | AWS re:Invent...AWS Storage and Database Architecture Best Practices (DAT203) | AWS re:Invent...
AWS Storage and Database Architecture Best Practices (DAT203) | AWS re:Invent...
 
Defining Content Architecture
Defining Content ArchitectureDefining Content Architecture
Defining Content Architecture
 
My Contributor Story
My Contributor StoryMy Contributor Story
My Contributor Story
 
WordPress 101 from WordCamp Cincinatti 2016
WordPress 101 from WordCamp Cincinatti 2016WordPress 101 from WordCamp Cincinatti 2016
WordPress 101 from WordCamp Cincinatti 2016
 
WordPress mit React – Mehr als eine Zweckehe?!
WordPress mit React – Mehr als eine Zweckehe?!WordPress mit React – Mehr als eine Zweckehe?!
WordPress mit React – Mehr als eine Zweckehe?!
 
Word press gets responsive 4x3
Word press gets responsive 4x3Word press gets responsive 4x3
Word press gets responsive 4x3
 
Develop and Deploy Outside the Repo
Develop and Deploy Outside the RepoDevelop and Deploy Outside the Repo
Develop and Deploy Outside the Repo
 
CSS na steroidima (SASS)
CSS na steroidima (SASS)CSS na steroidima (SASS)
CSS na steroidima (SASS)
 
Learning java script and wordpress rest api by tom hermans wordcamp netherl...
Learning java script and wordpress rest api by tom hermans   wordcamp netherl...Learning java script and wordpress rest api by tom hermans   wordcamp netherl...
Learning java script and wordpress rest api by tom hermans wordcamp netherl...
 
WordPress & Front-end performance
WordPress & Front-end performanceWordPress & Front-end performance
WordPress & Front-end performance
 
Project Management or how to herd cats
Project Management or how to herd catsProject Management or how to herd cats
Project Management or how to herd cats
 
Flexing Your WordPress Themes
Flexing Your WordPress ThemesFlexing Your WordPress Themes
Flexing Your WordPress Themes
 
WordCamp Montreal 2015: Combining Custom Post Types, Fields, and Meta Boxes t...
WordCamp Montreal 2015: Combining Custom Post Types, Fields, and Meta Boxes t...WordCamp Montreal 2015: Combining Custom Post Types, Fields, and Meta Boxes t...
WordCamp Montreal 2015: Combining Custom Post Types, Fields, and Meta Boxes t...
 
Using the Editor the Proper Way - WordCamp Toronto 2015
Using the Editor the Proper Way - WordCamp Toronto 2015Using the Editor the Proper Way - WordCamp Toronto 2015
Using the Editor the Proper Way - WordCamp Toronto 2015
 

More from WordCamp Sydney

Don’t Panic: How To Troubleshoot Your WordPress Site
Don’t Panic: How To Troubleshoot Your WordPress SiteDon’t Panic: How To Troubleshoot Your WordPress Site
Don’t Panic: How To Troubleshoot Your WordPress SiteWordCamp Sydney
 
WordPress Hosting Survival Guide
WordPress Hosting Survival Guide WordPress Hosting Survival Guide
WordPress Hosting Survival Guide WordCamp Sydney
 
Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPr...
Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPr...Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPr...
Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPr...WordCamp Sydney
 
Goodbye Themes, Hello Elementor – Beyond Creating Basic Websites
Goodbye Themes, Hello Elementor – Beyond Creating Basic WebsitesGoodbye Themes, Hello Elementor – Beyond Creating Basic Websites
Goodbye Themes, Hello Elementor – Beyond Creating Basic WebsitesWordCamp Sydney
 
Divi 4.x and WooCommerce Changes
Divi 4.x and WooCommerce ChangesDivi 4.x and WooCommerce Changes
Divi 4.x and WooCommerce ChangesWordCamp Sydney
 
Why No One Is Reading Your Blog Posts (And How To Change That)
Why No One Is Reading Your Blog Posts (And How To Change That)Why No One Is Reading Your Blog Posts (And How To Change That)
Why No One Is Reading Your Blog Posts (And How To Change That)WordCamp Sydney
 
Our Wild Journey Implementing A Headless WordPress Blog
Our Wild Journey Implementing A Headless WordPress BlogOur Wild Journey Implementing A Headless WordPress Blog
Our Wild Journey Implementing A Headless WordPress BlogWordCamp Sydney
 
Escaping Client Hell: 6 Practical Tips To Make Freelancing Fun Again
Escaping Client Hell: 6 Practical Tips To Make Freelancing Fun AgainEscaping Client Hell: 6 Practical Tips To Make Freelancing Fun Again
Escaping Client Hell: 6 Practical Tips To Make Freelancing Fun AgainWordCamp Sydney
 
Planning Your Website Roadmap: Why Every Website Project Needs One To Save It...
Planning Your Website Roadmap: Why Every Website Project Needs One To Save It...Planning Your Website Roadmap: Why Every Website Project Needs One To Save It...
Planning Your Website Roadmap: Why Every Website Project Needs One To Save It...WordCamp Sydney
 
Website Delivered – It’s The START Of The Relationship!
Website Delivered – It’s The START Of The Relationship!Website Delivered – It’s The START Of The Relationship!
Website Delivered – It’s The START Of The Relationship!WordCamp Sydney
 
5 Steps To Avoiding Burnout: Creating A Healthy Work/Life Balance
5 Steps To Avoiding Burnout: Creating A Healthy Work/Life Balance5 Steps To Avoiding Burnout: Creating A Healthy Work/Life Balance
5 Steps To Avoiding Burnout: Creating A Healthy Work/Life BalanceWordCamp Sydney
 
The Healthy Baker - Flipping the Brief
The Healthy Baker - Flipping the BriefThe Healthy Baker - Flipping the Brief
The Healthy Baker - Flipping the BriefWordCamp Sydney
 
Gutenberg Block Editor Tips & Tricks
Gutenberg Block Editor Tips & Tricks Gutenberg Block Editor Tips & Tricks
Gutenberg Block Editor Tips & Tricks WordCamp Sydney
 
The Science Of WordPress
The Science Of WordPressThe Science Of WordPress
The Science Of WordPressWordCamp Sydney
 
Basics of Search Engine Optimisation
Basics of Search Engine OptimisationBasics of Search Engine Optimisation
Basics of Search Engine OptimisationWordCamp Sydney
 
The Future of Web Content (an introduction to the new WordPress editor)
The Future of Web Content (an introduction to the new WordPress editor)The Future of Web Content (an introduction to the new WordPress editor)
The Future of Web Content (an introduction to the new WordPress editor)WordCamp Sydney
 
Beyond the Theme: Affirming the role of the designer in the WordPress ecosystem
Beyond the Theme: Affirming the role of the designer in the WordPress ecosystemBeyond the Theme: Affirming the role of the designer in the WordPress ecosystem
Beyond the Theme: Affirming the role of the designer in the WordPress ecosystemWordCamp Sydney
 
5 Ecommerce Trends to Implement Now
5 Ecommerce Trends to Implement Now5 Ecommerce Trends to Implement Now
5 Ecommerce Trends to Implement NowWordCamp Sydney
 
Modern Local Environment for WordPress in 2018
Modern Local Environment for WordPress in 2018Modern Local Environment for WordPress in 2018
Modern Local Environment for WordPress in 2018WordCamp Sydney
 

More from WordCamp Sydney (20)

Don’t Panic: How To Troubleshoot Your WordPress Site
Don’t Panic: How To Troubleshoot Your WordPress SiteDon’t Panic: How To Troubleshoot Your WordPress Site
Don’t Panic: How To Troubleshoot Your WordPress Site
 
WordPress Hosting Survival Guide
WordPress Hosting Survival Guide WordPress Hosting Survival Guide
WordPress Hosting Survival Guide
 
Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPr...
Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPr...Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPr...
Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPr...
 
Goodbye Themes, Hello Elementor – Beyond Creating Basic Websites
Goodbye Themes, Hello Elementor – Beyond Creating Basic WebsitesGoodbye Themes, Hello Elementor – Beyond Creating Basic Websites
Goodbye Themes, Hello Elementor – Beyond Creating Basic Websites
 
Divi 4.x and WooCommerce Changes
Divi 4.x and WooCommerce ChangesDivi 4.x and WooCommerce Changes
Divi 4.x and WooCommerce Changes
 
Why No One Is Reading Your Blog Posts (And How To Change That)
Why No One Is Reading Your Blog Posts (And How To Change That)Why No One Is Reading Your Blog Posts (And How To Change That)
Why No One Is Reading Your Blog Posts (And How To Change That)
 
Our Wild Journey Implementing A Headless WordPress Blog
Our Wild Journey Implementing A Headless WordPress BlogOur Wild Journey Implementing A Headless WordPress Blog
Our Wild Journey Implementing A Headless WordPress Blog
 
Escaping Client Hell: 6 Practical Tips To Make Freelancing Fun Again
Escaping Client Hell: 6 Practical Tips To Make Freelancing Fun AgainEscaping Client Hell: 6 Practical Tips To Make Freelancing Fun Again
Escaping Client Hell: 6 Practical Tips To Make Freelancing Fun Again
 
Planning Your Website Roadmap: Why Every Website Project Needs One To Save It...
Planning Your Website Roadmap: Why Every Website Project Needs One To Save It...Planning Your Website Roadmap: Why Every Website Project Needs One To Save It...
Planning Your Website Roadmap: Why Every Website Project Needs One To Save It...
 
Website Delivered – It’s The START Of The Relationship!
Website Delivered – It’s The START Of The Relationship!Website Delivered – It’s The START Of The Relationship!
Website Delivered – It’s The START Of The Relationship!
 
5 Steps To Avoiding Burnout: Creating A Healthy Work/Life Balance
5 Steps To Avoiding Burnout: Creating A Healthy Work/Life Balance5 Steps To Avoiding Burnout: Creating A Healthy Work/Life Balance
5 Steps To Avoiding Burnout: Creating A Healthy Work/Life Balance
 
The Healthy Baker - Flipping the Brief
The Healthy Baker - Flipping the BriefThe Healthy Baker - Flipping the Brief
The Healthy Baker - Flipping the Brief
 
Gutenberg Block Editor Tips & Tricks
Gutenberg Block Editor Tips & Tricks Gutenberg Block Editor Tips & Tricks
Gutenberg Block Editor Tips & Tricks
 
Let's Get Engaged
Let's Get EngagedLet's Get Engaged
Let's Get Engaged
 
The Science Of WordPress
The Science Of WordPressThe Science Of WordPress
The Science Of WordPress
 
Basics of Search Engine Optimisation
Basics of Search Engine OptimisationBasics of Search Engine Optimisation
Basics of Search Engine Optimisation
 
The Future of Web Content (an introduction to the new WordPress editor)
The Future of Web Content (an introduction to the new WordPress editor)The Future of Web Content (an introduction to the new WordPress editor)
The Future of Web Content (an introduction to the new WordPress editor)
 
Beyond the Theme: Affirming the role of the designer in the WordPress ecosystem
Beyond the Theme: Affirming the role of the designer in the WordPress ecosystemBeyond the Theme: Affirming the role of the designer in the WordPress ecosystem
Beyond the Theme: Affirming the role of the designer in the WordPress ecosystem
 
5 Ecommerce Trends to Implement Now
5 Ecommerce Trends to Implement Now5 Ecommerce Trends to Implement Now
5 Ecommerce Trends to Implement Now
 
Modern Local Environment for WordPress in 2018
Modern Local Environment for WordPress in 2018Modern Local Environment for WordPress in 2018
Modern Local Environment for WordPress in 2018
 

Recently uploaded

Modern Red Teaming - subverting mature defenses on a budget
Modern Red Teaming - subverting mature defenses on a budgetModern Red Teaming - subverting mature defenses on a budget
Modern Red Teaming - subverting mature defenses on a budgetmatt806068
 
UGBINTERNETBANKING FACILITY LAUNCHED.pptx
UGBINTERNETBANKING FACILITY LAUNCHED.pptxUGBINTERNETBANKING FACILITY LAUNCHED.pptx
UGBINTERNETBANKING FACILITY LAUNCHED.pptxRiteshsahu101
 
AWS Overview of AWS Clarify, Feature Store, Hyper parameter Tuning
AWS Overview of AWS  Clarify, Feature Store, Hyper parameter TuningAWS Overview of AWS  Clarify, Feature Store, Hyper parameter Tuning
AWS Overview of AWS Clarify, Feature Store, Hyper parameter TuningVarun Garg
 
Obstructive jaundice is a medical condition characterized by the yellowing of...
Obstructive jaundice is a medical condition characterized by the yellowing of...Obstructive jaundice is a medical condition characterized by the yellowing of...
Obstructive jaundice is a medical condition characterized by the yellowing of...ssuser7b7f4e
 
Regulation is Coming - Trusted Media Summit 2023
Regulation is Coming - Trusted Media Summit 2023Regulation is Coming - Trusted Media Summit 2023
Regulation is Coming - Trusted Media Summit 2023Damar Juniarto
 
Red shadows ringing in Japan's Cyberspace
Red shadows ringing in Japan's CyberspaceRed shadows ringing in Japan's Cyberspace
Red shadows ringing in Japan's Cyberspacesttyk
 
Augmented and Mixed Reality Solutions for Frontline Medical Professionals
Augmented and Mixed Reality Solutions for Frontline Medical ProfessionalsAugmented and Mixed Reality Solutions for Frontline Medical Professionals
Augmented and Mixed Reality Solutions for Frontline Medical Professionalsthirdeyegen65
 
history of tau gamma architect.1968.....
history of tau gamma architect.1968.....history of tau gamma architect.1968.....
history of tau gamma architect.1968.....josephiigo
 
APAN 57: APNIC Report at APAN 57, Bangkok, Thailand
APAN 57: APNIC Report at APAN 57, Bangkok, ThailandAPAN 57: APNIC Report at APAN 57, Bangkok, Thailand
APAN 57: APNIC Report at APAN 57, Bangkok, ThailandAPNIC
 
[Hackersuli]Privacy on the blockchain
[Hackersuli]Privacy on the blockchain[Hackersuli]Privacy on the blockchain
[Hackersuli]Privacy on the blockchainhackersuli
 
Augmented and Mixed Reality Solutions for Aerospace & Defense
Augmented and Mixed Reality Solutions for Aerospace & DefenseAugmented and Mixed Reality Solutions for Aerospace & Defense
Augmented and Mixed Reality Solutions for Aerospace & Defensethirdeyegen65
 

Recently uploaded (13)

B1 Evaluation.docx
B1 Evaluation.docxB1 Evaluation.docx
B1 Evaluation.docx
 
Modern Red Teaming - subverting mature defenses on a budget
Modern Red Teaming - subverting mature defenses on a budgetModern Red Teaming - subverting mature defenses on a budget
Modern Red Teaming - subverting mature defenses on a budget
 
UGBINTERNETBANKING FACILITY LAUNCHED.pptx
UGBINTERNETBANKING FACILITY LAUNCHED.pptxUGBINTERNETBANKING FACILITY LAUNCHED.pptx
UGBINTERNETBANKING FACILITY LAUNCHED.pptx
 
AWS Overview of AWS Clarify, Feature Store, Hyper parameter Tuning
AWS Overview of AWS  Clarify, Feature Store, Hyper parameter TuningAWS Overview of AWS  Clarify, Feature Store, Hyper parameter Tuning
AWS Overview of AWS Clarify, Feature Store, Hyper parameter Tuning
 
Obstructive jaundice is a medical condition characterized by the yellowing of...
Obstructive jaundice is a medical condition characterized by the yellowing of...Obstructive jaundice is a medical condition characterized by the yellowing of...
Obstructive jaundice is a medical condition characterized by the yellowing of...
 
Regulation is Coming - Trusted Media Summit 2023
Regulation is Coming - Trusted Media Summit 2023Regulation is Coming - Trusted Media Summit 2023
Regulation is Coming - Trusted Media Summit 2023
 
Red shadows ringing in Japan's Cyberspace
Red shadows ringing in Japan's CyberspaceRed shadows ringing in Japan's Cyberspace
Red shadows ringing in Japan's Cyberspace
 
Augmented and Mixed Reality Solutions for Frontline Medical Professionals
Augmented and Mixed Reality Solutions for Frontline Medical ProfessionalsAugmented and Mixed Reality Solutions for Frontline Medical Professionals
Augmented and Mixed Reality Solutions for Frontline Medical Professionals
 
history of tau gamma architect.1968.....
history of tau gamma architect.1968.....history of tau gamma architect.1968.....
history of tau gamma architect.1968.....
 
APAN 57: APNIC Report at APAN 57, Bangkok, Thailand
APAN 57: APNIC Report at APAN 57, Bangkok, ThailandAPAN 57: APNIC Report at APAN 57, Bangkok, Thailand
APAN 57: APNIC Report at APAN 57, Bangkok, Thailand
 
[Hackersuli]Privacy on the blockchain
[Hackersuli]Privacy on the blockchain[Hackersuli]Privacy on the blockchain
[Hackersuli]Privacy on the blockchain
 
Riesgos online
Riesgos onlineRiesgos online
Riesgos online
 
Augmented and Mixed Reality Solutions for Aerospace & Defense
Augmented and Mixed Reality Solutions for Aerospace & DefenseAugmented and Mixed Reality Solutions for Aerospace & Defense
Augmented and Mixed Reality Solutions for Aerospace & Defense
 

WordPress Workflow - From Dev To Staging To Production - Robert Wilde

  • 2. dev to staging to live Development to Staging to Production First, big thanks to everyone who attended WordCamp Sydney 2016 and all the awesome people who organised it. This event was my second this year and my second time speaking, truly is the best event to attend. It’s important to remember that everything I talked about on the day and outline here is my way of doing things, not the way of doing things. There is no right way, only your way. I want to give you some ideas, and you season them however you need to make it work for you. In the post I will go over the same key points, I covered in my talk on the day. I will go over; What the WordPress workflow includes. Why you should be using a workflow, even if you are not a developer. Some tools I use to make setting up and managing the workflow. In future posts, I will go into more detail regarding some of my methods and tools. What is the WordPress workflow? it is made of three environments: Development also called local, which runs on your computer/laptop and only accessible by you. Staging WordPress Workflow - WCSYD 2016
  • 3. WordPress Workflow - #WCSyd 2016 this runs on an available to the public using a unique URL, preventing any issues with premature Google crawling and duplicate content. You can also restrict access via password if necessary. Production Also referred to as live, this is the final version. The second factor is the direction of the flow from environment to environment. Initially, it should flow between each environment in one direction. This is during a new site or project. As you can see I added the definitive NO between DEV and live. At some point you will need to push from DEV to live but always ensure it has gone through the staging process first. I have a second application like, winSCp to upload from DEV to live to ensure there is no accidental overwrite. There are times when you will need more two-way action, primarily when you are working on refactoring a live site. This is also the configuration to use when testing plugins or completing updates. You can sync live to stage, run updates and tests, then complete on the live site. WordPress Workflow - WCSYD 2016
  • 4. WordPress Workflow - #WCSyd 2016 Why do you need this? These steps will a level of difficulty and add time to your process but for several good reasons. Create and isolated sandbox to work on where you can safely make changes without affecting end users. Allow you to make real-time comparisons between your job and the live site. Test during business hours without affecting traffic or site services. An important note or perhaps rule. NEVER, EVER WORK ON A LIVE SITE! DON’T UPDATE PLUGINS! DON’T UPDATE THEMES! DON’T MODIFY CODE! WordPress Workflow - WCSYD 2016
  • 5. WordPress Workflow - #WCSyd 2016 Now I demonstrated a key point to this rule during my session. I asked all the experienced DEV’s in the room to raise there hand if they totally agree with this, there where quite a few hands up. I then asked “Please keep your hand raised if you have broken this rule, more than once?”. Fair to say almost no hands went down. There are always exceptions to the rule. The point here is to make sure you are aware of the risks. Most people don’t know how bad fire is until they get burnt. Some things to know when setting up your WordPress workflow. Both your DEV or local environment and your staging environment should be configured the same as the live or production environment or what is refereed to as the stack. There are two main stacks used for WordPress. LAMP – Linux, Apache, PHP, MySQL LEMP – Linux, NGINX, PHP, MySQL If you don’t know what your live site is running on you can speak with your hosting support to get more info. For the local DEV environment there are several tools to make this setup easy. Quick install tools – WAMP, MAMP, XAMPP and Desktop Server Advanced tools – Vagrant (VVV or Chassis) , Docker, Linux VM & EasyEngine. WAMP, MAMP, XAMPP and Desktop Server. I haven’t used these tools for a while but have heard good things about Desktop Server as it has some tools specifically directed for WordPress setup. WordPress Workflow - WCSYD 2016
  • 6. WordPress Workflow - #WCSyd 2016 If you want something closer to the real thing with more tools and power, there are some tools that provide you with a Virtual environment. These include tools like Vagrant, specifically VVV or Chassis witch is actually developed and maintained by a fellow speaker Bronson Quick (@bronsonquick) and available on GitHub. Docker is another tool that is gaining massive traction and is OS agnostic or you go middle ground and use a vanilla Linux virtual environment like Ubuntu server LTS with an absolutely awesome CMD tool like easy engine. Witch is what I use. basic intro to EasyEngine. If you are new to this stuff, please don not let the idea of command line scare you. these more advanced environments gives a lot more control and power with tools like WP-CLI. If you don’t know WP-CLI put it on your list of things to read about. Lost count the number of times it has saved my bacon and made things simple as it gives you access to DB import/export, plugin install, activate, deactivate and update, completing WP install/configuration and way more. A little bit of time learning how to use it will save a massive amount of time down the track. More ideas for your WordPress work ow staging environment. I believe it is important, if not vital, to use a dedicated WordPress hosting provider for your Live hosting as they will generally provide you with a staging environment that is isolated. Isolated is important for when you are testing and installing plugins, moving from live to staging and back again. If by chance something happens that causes a major problem it will not effect the live site. Providers like WPengine, Pantheon or Conetix are great, these are the ones I have looked at and played with. What to look for when setting up a staging environment: WordPress Workflow - WCSYD 2016
  • 7. WordPress Workflow - WCSYD 2016 WordPress dedicated hosts may provide service as inclusion to hosting. AWS EC2 micro instance is a cost effective option. Create a dedicated custom domain for staging. I personally do some things outside the box with Laravel PHP witch is why I still have instances on Amazon AWS, they not hard to manage and very cost effective. I also play with Microsoft Azure virtual machines as well, they great for staging. I have a created a dedicated domain for my staging. Keeps things easy for me to manage and I have issues with Google crawling this to early. If you are running your own staging servers try and match the config or stack as close as possible as well as the location. You don’t want the hosting running in one country and the staging in another as it will produce some interesting results when testing and doing demos with your client. Finally I would try and avoid running your staging on the same Virtual Private Servers. Although it is rare you don’t want change something and crash the server or you may need to reboot the server for some reason. That is not something you want to do to your production environment during the day. Might make some unhappy people. Tools to help you move your data around. Migrate DB Pro – https://deliciousbrains.com/ My number one favorite tool is Migrate DB Pro witch is fantastic for easily migrating and moving the database from location to location. It takes care of completing the URL renaming process making the DB migration seamless. Another great bonus is it will do a complete a backup before you sync so you can roll back if needed. WordPress Workflow - WCSYD 2016
  • 8. WordPress Workflow - WCSYD 2016 The developer version also has some extra tools for migrating the uploads directory and keeping it in sync. Once you have it in place it will only sync the changed files saving a tonne of time. Brad Touesnard and the team at Deliecous Brians, awesome name, have been working on a new tool called mergbot. This will allow you to actually sync the database without overwriting so you merge your changes with the live site. Hopefully will be playing with sometime real soon. WPCore – https://wpcore.com/ WP-core. This allows you to create a collections of plugins and then install them all at once as well create a collection from an existing site and install that collection on the other site. Basic intro to WPCore UpdraftPlus WordPress Backup Plugin – https://wordpress.org/plugins/updraftplus/ Generally speaking the three most important things that come to mind when working with a WordPress site are Backup, Backup and Backup. Tool I like for that is Updraft PLUS, even for general operation it is a great backup tool, offers fantastic revision capabilities. Allowing you to keep the last x number of backups. Another great feature is its ability to separate files and database. On a live site the database is what changes frequently so backing that up daily and then backing up your plugins, themes and media weekly will save you a lot of space. WordPress Workflow - WCSYD 2016
  • 9. WordPress Workflow - WCSYD 2016 You can then set the plugins/uploads/themes to backup weekly or even monthly. Everything can be backed up off-site to AWS S3, Dropbox, Google Drive, Rackspace, FTP, SFTP, email. That is important, even you make regular backups local so they are quick and easy to restore, always have at least a monthly off-site or downloaded just in-case, one-day you cant get to the server. ManageWP – https://managewp.com/ will post a walk through video soon If you work with a lot of sites you should look at a management tool as these have awesome features including a clone feature, like ManageWP. It also has some great tools for backup, site clone and migration, site up-time, plugin, theme and core updates plus a few more. When managing several WP sites, being able to access and manage the wp-admin from one place is priceless. So that’s my take on the WordPress workflow. There are a tonne of other areas to look at, like continuous deployment using git and online services like SemaphoreCI or task runner tools like flightplan. Working my way into these items slowly but surely. I run a GitLab server in my office witch allows for builds and continuous deployment with git so will be testing that soon. Really hope you get something from all this and if you have any questions, you know what to do. Keep on Developing! WordPress Workflow - WCSYD 2016
  • 10. WordPress Workflow - #WCSyd 2016 WordPress Workflow - WCSYD 2016