SlideShare a Scribd company logo
1 of 40
Download to read offline
#wpewebinar
The WP Engine Developer
Experience.
Increased agility, improved efficiency
#wpewebinar
Scott Amerman and Michael Smith, WP Engine
#wpewebinar
What You’ll Learn
● Agile development with WordPress
● Git based workflows
● Working with multiple environments
● Automating your work
● Demo
● Get involved
#wpewebinar
Senior Product Marketing Manager
WP Engine
Scott Amerman
● Homebrews cider
● Worked in neuroprosthetics
● Has an amazing internal timer
Technical Architect
WP Engine
Michael Smith
● Escaped from Alcatraz twice
● Doesn't speak Norwegian
● Learned to drive a stick on an
800-mile solo road trip
#wpewebinar
Common dev tools
● Version Control System (e.g. Git, Subversion)
● Version Control Hosting Platform (e.g. GitHub, Bitbucket, GitLab)
● CI/CD Service (Codeship, CircleCI, TravisCI, Jenkins)
● Dependency Manager (Composer, npm)
● Task Runner (Gulp, Grunt, npm)
● Local Development tool (VVV, WP Docker, Local)
#wpewebinar
Agile development with WordPress
#wpewebinar
#wpewebinar
WordPress = Agility
#wpewebinar
● Team collaboration
● Multi-stage release process
● Build steps
● Managing a large number of sites
Agility at scale challenges
#wpewebinar
Git-based workflows
#wpewebinar
Git makes it easy to collaborate with a team of developers.
● One Git repository for each WordPress site
● Develop locally, and commit your changes to Git
● Use a centralized Git repository (e.g. GitHub, Bitbucket, GitLab)
● Deploy to WP Engine with Git
Best-Practice: Use a Git-based development workflow
#wpewebinar
One Git repository per site
Include:
● Your code: Themes & Plugins
Exclude:
● WordPress core files
● Media files
● WordPress config and WP Engine-specific files
Setting up the Git repository
#wpewebinar
Deploying to WP Engine with Git
WP Engine Git 1.0 (a.k.a Git Push)
● For pushing code changes to WP Engine
● Limitation: Code changes that are made on the live server are difficult
to merge back into Git
WP Engine Git 2.0 (coming soon)
● Integrated with SSH Gateway
● Ability to commit and pull changes that are made directly on the live
server
● Simplified user management & access control
#wpewebinar
13
Copying content between environments
StagingDev Prod
Code
Database
#wpewebinar
Working with multiple
environments
#wpewebinar
• Use Git branches to track multiple streams of development
• Use a well-known branch names to track your Production, Staging or Dev
environments (e.g. "master" or "staging")
Best-Practice: One code repository, multiple environments
#wpewebinar
● Simplest way to get started
● Push from local machine directly to WP Engine
● Use multiple Git remotes:
○ Your centralized repository (e.g. GitHub)
○ One remote per WP Engine environment (e.g. prod, staging, dev)
Option 1: Manual Deployment
#wpewebinar
Option 2: Continuous Deployment
● Good for larger teams or sites with an automated build or test step
● Developers push to centralized repository, CI/CD tool will automatically
deploy to WP Engine
#wpewebinar
Why CI/CD?
● Standardize the deployment of your code
● Enforce coding standards
● Run automated tests
● CSS or JavaScript pre-processing
#wpewebinar
CI/CD tools & services
#wpewebinar
Other tools
#wpewebinar
• A number of choices out there, common ones include WP Docker,
MAMP, VVV, Internal Vagrants
• You can use WP Engine backup points to get a complete copy to your
local machine
Local Development Environment
#wpewebinar
Great foundation for building your experiences
Built in SEO and security
Can start from scratch or build off a child theme
Recommended resources:
• Documentation in WP Engine User Portal
• Know the Code course
• Forums
#wpewebinar
Automating your
workflows
#wpewebinar 24
#wpewebinar
Full List of Current Endpoints
End Point Description Create Read Update Delete
Accounts WP Engine Account(s) ✓
Sites Site Management ✓ ✓ ✓ ✓
Installs WordPress Installations ✓ ✓ ✓ ✓
Domains Domain Mapping ✓ ✓ ✓ ✓
Full descriptions and instructions here: https://wpengineapi.com/
#wpewebinar
Ways to leverage the WP Engine API
• Combine with WP-CLI for automatically creating and configuring
sites
• Assist in batch migrations
• Integrate WP Engine as part of your product offering
#wpewebinar
#wpewebinar
Available tools
#wpewebinar
Anatomy of a WP-CLI command
wp plugin install amazon-polly --activate
argument options/flagscommand
#wpewebinar
• Setup new sites quickly
• Maintain multiple sites easily
• Troubleshoot WordPress faster
• Database admin
• Working with WP-CLI packages
Top use cases
#wpewebinar
It’s important to note that WP-CLI has a lot of great built in documentation, via wp help command
# install and activate my favorite plugins on my new install
$ wp plugin install woocommerce genesis-visual-hook-guide amazon-polly --activate
# import a list of users from a CSV, don’t update existing users
$ wp user import-csv users.csv --skip-update
We can even create a config file that defines aliases such as production, dev, and all!
# use a local config file to install and activate themes on multiple installs
$ wp @all theme install twentythirteen --activate
By using a WP CLI, we can quickly perform common tasks like installing plugins, importing
users, and adding a theme to a group of sites
Setting up sites quickly
#wpewebinar
# check to see which of my active plugins have updates pending
$ wp plugin list --update=available --status=active
# update all plugins, except WooCommerce and WordPress SEO
$ wp @dev plugin update --all --except=woocommerce,wordpress-seo
# delete the user associated with ID 123 and assign posts to user 567
$ wp user delete 123 --reassign 567
# delete all comments that have been flagged as spam
$ wp comment delete `wp comment list --status=spam --format=ids`
Maintaining sites more easily
Perform common maintenance tasks around things like plugin updates, user permissions, and
comment moderation
#wpewebinar
You can use New Relic APM to verify proper performance after a deploy
Using New Relic APM for faster dev cycles
#wpewebinar
Demo
#wpewebinar
Tool overview
</>
</>
#wpewebinar
#wpewebinar
Get involved
#wpewebinar
Try out the API
#wpewebinar
Know the Code Course: Let’s Build a Developer’s Genesis Starter Child Theme
Learn More
Getting Started with SSH Gateway
Commands, Executors, and Jobs for testing a WordPress site and deploying to WPE installs
WP Engine API beta
Webinar: Developers, Be a Bada$$ with WP-CLI
Continuous Integration with CodeShip and WP Engine
#wpewebinar
Thank You.

More Related Content

What's hot

WordPress as a Service
WordPress as a ServiceWordPress as a Service
WordPress as a ServiceAndrew Bauer
 
Building a community of Open Source intranet users
Building a community of Open Source intranet usersBuilding a community of Open Source intranet users
Building a community of Open Source intranet usersLuke Oatham
 
WordPress Multilingual: WordCamp Antwerp 2016
WordPress Multilingual: WordCamp Antwerp 2016WordPress Multilingual: WordCamp Antwerp 2016
WordPress Multilingual: WordCamp Antwerp 2016Octavio Andrés Cifuentes
 
Increasing Traffic Through Optimization : The Importance of Site Speed
Increasing Traffic Through Optimization : The Importance of Site SpeedIncreasing Traffic Through Optimization : The Importance of Site Speed
Increasing Traffic Through Optimization : The Importance of Site SpeedTerell Moore
 
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
 
Building and future-proofing your WordPress sites with the Genesis Framework
Building and future-proofing your WordPress sites with the Genesis FrameworkBuilding and future-proofing your WordPress sites with the Genesis Framework
Building and future-proofing your WordPress sites with the Genesis FrameworkWP Engine
 
Between a Block & a Hard Place
Between a Block & a Hard PlaceBetween a Block & a Hard Place
Between a Block & a Hard PlaceWP Engine
 
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
 
Security Webinar: Harden the Heart of Your WordPress SiteSe
Security Webinar: Harden the Heart of Your WordPress SiteSeSecurity Webinar: Harden the Heart of Your WordPress SiteSe
Security Webinar: Harden the Heart of Your WordPress SiteSeWP Engine
 
WP-CLI: WordCamp NYC 2015
WP-CLI: WordCamp NYC 2015WP-CLI: WordCamp NYC 2015
WP-CLI: WordCamp NYC 2015Terell Moore
 
Internationalizing The New York Times
Internationalizing The New York TimesInternationalizing The New York Times
Internationalizing The New York TimesScott Taylor
 
Nürnberg WooCommerce Talk - 11/24/16
Nürnberg WooCommerce Talk - 11/24/16Nürnberg WooCommerce Talk - 11/24/16
Nürnberg WooCommerce Talk - 11/24/16tshellberg
 
The Future of-the CMS (Twin Cities DrupalCamp 2015)
The Future of-the CMS (Twin Cities DrupalCamp 2015)The Future of-the CMS (Twin Cities DrupalCamp 2015)
The Future of-the CMS (Twin Cities DrupalCamp 2015)Todd Ross Nienkerk
 
Optimizing Your Site for Holiday Traffic
Optimizing Your Site for Holiday TrafficOptimizing Your Site for Holiday Traffic
Optimizing Your Site for Holiday TrafficWP Engine UK
 
Empowering Your Clients and Be an Advocate for Yourself
Empowering Your Clients and Be an Advocate for YourselfEmpowering Your Clients and Be an Advocate for Yourself
Empowering Your Clients and Be an Advocate for YourselfLinchpin
 
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...Advancing Content Management for Omni-Channel User Experiences by Roland Bene...
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...eZ Systems
 
wp cli- don’t fear the command line
wp cli- don’t fear the command linewp cli- don’t fear the command line
wp cli- don’t fear the command lineDwayne McDaniel
 
Building SaaS with WordPress - WordCamp Netherlands 2016
Building SaaS with WordPress - WordCamp Netherlands 2016Building SaaS with WordPress - WordCamp Netherlands 2016
Building SaaS with WordPress - WordCamp Netherlands 2016Mario Peshev
 
Creating SmartPhone Apps Using WordPress
Creating SmartPhone Apps Using WordPressCreating SmartPhone Apps Using WordPress
Creating SmartPhone Apps Using WordPresscodebangla
 

What's hot (20)

WordPress as a Service
WordPress as a ServiceWordPress as a Service
WordPress as a Service
 
Building a community of Open Source intranet users
Building a community of Open Source intranet usersBuilding a community of Open Source intranet users
Building a community of Open Source intranet users
 
WordPress Multilingual: WordCamp Antwerp 2016
WordPress Multilingual: WordCamp Antwerp 2016WordPress Multilingual: WordCamp Antwerp 2016
WordPress Multilingual: WordCamp Antwerp 2016
 
Increasing Traffic Through Optimization : The Importance of Site Speed
Increasing Traffic Through Optimization : The Importance of Site SpeedIncreasing Traffic Through Optimization : The Importance of Site Speed
Increasing Traffic Through Optimization : The Importance of Site Speed
 
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 Quick
 
Building and future-proofing your WordPress sites with the Genesis Framework
Building and future-proofing your WordPress sites with the Genesis FrameworkBuilding and future-proofing your WordPress sites with the Genesis Framework
Building and future-proofing your WordPress sites with the Genesis Framework
 
Between a Block & a Hard Place
Between a Block & a Hard PlaceBetween a Block & a Hard Place
Between a Block & a Hard Place
 
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 CMS
 
Security Webinar: Harden the Heart of Your WordPress SiteSe
Security Webinar: Harden the Heart of Your WordPress SiteSeSecurity Webinar: Harden the Heart of Your WordPress SiteSe
Security Webinar: Harden the Heart of Your WordPress SiteSe
 
WP-CLI: WordCamp NYC 2015
WP-CLI: WordCamp NYC 2015WP-CLI: WordCamp NYC 2015
WP-CLI: WordCamp NYC 2015
 
Internationalizing The New York Times
Internationalizing The New York TimesInternationalizing The New York Times
Internationalizing The New York Times
 
Nürnberg WooCommerce Talk - 11/24/16
Nürnberg WooCommerce Talk - 11/24/16Nürnberg WooCommerce Talk - 11/24/16
Nürnberg WooCommerce Talk - 11/24/16
 
The Future of-the CMS (Twin Cities DrupalCamp 2015)
The Future of-the CMS (Twin Cities DrupalCamp 2015)The Future of-the CMS (Twin Cities DrupalCamp 2015)
The Future of-the CMS (Twin Cities DrupalCamp 2015)
 
Optimizing Your Site for Holiday Traffic
Optimizing Your Site for Holiday TrafficOptimizing Your Site for Holiday Traffic
Optimizing Your Site for Holiday Traffic
 
Welcome to the World of WordPress
Welcome to the World of WordPressWelcome to the World of WordPress
Welcome to the World of WordPress
 
Empowering Your Clients and Be an Advocate for Yourself
Empowering Your Clients and Be an Advocate for YourselfEmpowering Your Clients and Be an Advocate for Yourself
Empowering Your Clients and Be an Advocate for Yourself
 
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...Advancing Content Management for Omni-Channel User Experiences by Roland Bene...
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...
 
wp cli- don’t fear the command line
wp cli- don’t fear the command linewp cli- don’t fear the command line
wp cli- don’t fear the command line
 
Building SaaS with WordPress - WordCamp Netherlands 2016
Building SaaS with WordPress - WordCamp Netherlands 2016Building SaaS with WordPress - WordCamp Netherlands 2016
Building SaaS with WordPress - WordCamp Netherlands 2016
 
Creating SmartPhone Apps Using WordPress
Creating SmartPhone Apps Using WordPressCreating SmartPhone Apps Using WordPress
Creating SmartPhone Apps Using WordPress
 

Similar to The WP Engine Developer Experience. Increased agility, improved efficiency.

Developers, Be a Bada$$ with WP-CLI
Developers, Be a Bada$$ with WP-CLIDevelopers, Be a Bada$$ with WP-CLI
Developers, Be a Bada$$ with WP-CLIWP Engine
 
Production ready word press
Production ready word pressProduction ready word press
Production ready word pressEdmund Turbin
 
Production Ready WordPress - WC Utrecht 2017
Production Ready WordPress  - WC Utrecht 2017Production Ready WordPress  - WC Utrecht 2017
Production Ready WordPress - WC Utrecht 2017Edmund Turbin
 
Production Ready WordPress #WPLDN
Production Ready WordPress #WPLDNProduction Ready WordPress #WPLDN
Production Ready WordPress #WPLDNEdmund Turbin
 
WordPress Acceptance Testing, Solved!
WordPress Acceptance Testing, Solved!WordPress Acceptance Testing, Solved!
WordPress Acceptance Testing, Solved!Taylor Lovett
 
Varying WordPress Development Environment WordCamp Columbus 2016
Varying WordPress Development Environment WordCamp Columbus 2016Varying WordPress Development Environment WordCamp Columbus 2016
Varying WordPress Development Environment WordCamp Columbus 2016David Brattoli
 
Varying wordpressdevelopmentenvironment wp-campus2016
Varying wordpressdevelopmentenvironment wp-campus2016Varying wordpressdevelopmentenvironment wp-campus2016
Varying wordpressdevelopmentenvironment wp-campus2016David Brattoli
 
Varying WordPress Development Environment WordCamp Cincinnati 2016
Varying WordPress Development Environment WordCamp Cincinnati 2016Varying WordPress Development Environment WordCamp Cincinnati 2016
Varying WordPress Development Environment WordCamp Cincinnati 2016David Brattoli
 
More Dev. Less Drama.pdf
More Dev. Less Drama.pdfMore Dev. Less Drama.pdf
More Dev. Less Drama.pdfWP Engine
 
Task runners + theming automating your workflow
Task runners + theming  automating your workflowTask runners + theming  automating your workflow
Task runners + theming automating your workflowJoshua Gilmer
 
Best Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsBest Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsTaylor Lovett
 
Word press beirut 9th meetup march
Word press beirut 9th meetup   marchWord press beirut 9th meetup   march
Word press beirut 9th meetup marchFadi Nicolas Zahhar
 
Improving WordPress Development and Deployments with Docker
Improving WordPress Development and Deployments with DockerImproving WordPress Development and Deployments with Docker
Improving WordPress Development and Deployments with DockerBrett Palmer
 
WordPress and The Command Line
WordPress and The Command LineWordPress and The Command Line
WordPress and The Command LineKelly Dwan
 
The WordPress developer's toolkit
The WordPress developer's toolkit The WordPress developer's toolkit
The WordPress developer's toolkit Ivelina Dimova
 
Maintaining Retainers as a WordPress Developer
Maintaining Retainers as a WordPress DeveloperMaintaining Retainers as a WordPress Developer
Maintaining Retainers as a WordPress DeveloperDevinVinson
 
WordPress Development Environments
WordPress Development Environments WordPress Development Environments
WordPress Development Environments Ohad Raz
 
Word camp2011 introwordpresssecurity
Word camp2011 introwordpresssecurityWord camp2011 introwordpresssecurity
Word camp2011 introwordpresssecurityDavid Wilemski
 
Desktop server presentation
Desktop server presentationDesktop server presentation
Desktop server presentationKen Kramer
 

Similar to The WP Engine Developer Experience. Increased agility, improved efficiency. (20)

Developers, Be a Bada$$ with WP-CLI
Developers, Be a Bada$$ with WP-CLIDevelopers, Be a Bada$$ with WP-CLI
Developers, Be a Bada$$ with WP-CLI
 
Production ready word press
Production ready word pressProduction ready word press
Production ready word press
 
Production Ready WordPress - WC Utrecht 2017
Production Ready WordPress  - WC Utrecht 2017Production Ready WordPress  - WC Utrecht 2017
Production Ready WordPress - WC Utrecht 2017
 
Production Ready WordPress #WPLDN
Production Ready WordPress #WPLDNProduction Ready WordPress #WPLDN
Production Ready WordPress #WPLDN
 
WordPress Acceptance Testing, Solved!
WordPress Acceptance Testing, Solved!WordPress Acceptance Testing, Solved!
WordPress Acceptance Testing, Solved!
 
Managed WordPress Demystified
Managed WordPress DemystifiedManaged WordPress Demystified
Managed WordPress Demystified
 
Varying WordPress Development Environment WordCamp Columbus 2016
Varying WordPress Development Environment WordCamp Columbus 2016Varying WordPress Development Environment WordCamp Columbus 2016
Varying WordPress Development Environment WordCamp Columbus 2016
 
Varying wordpressdevelopmentenvironment wp-campus2016
Varying wordpressdevelopmentenvironment wp-campus2016Varying wordpressdevelopmentenvironment wp-campus2016
Varying wordpressdevelopmentenvironment wp-campus2016
 
Varying WordPress Development Environment WordCamp Cincinnati 2016
Varying WordPress Development Environment WordCamp Cincinnati 2016Varying WordPress Development Environment WordCamp Cincinnati 2016
Varying WordPress Development Environment WordCamp Cincinnati 2016
 
More Dev. Less Drama.pdf
More Dev. Less Drama.pdfMore Dev. Less Drama.pdf
More Dev. Less Drama.pdf
 
Task runners + theming automating your workflow
Task runners + theming  automating your workflowTask runners + theming  automating your workflow
Task runners + theming automating your workflow
 
Best Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsBest Practices for Building WordPress Applications
Best Practices for Building WordPress Applications
 
Word press beirut 9th meetup march
Word press beirut 9th meetup   marchWord press beirut 9th meetup   march
Word press beirut 9th meetup march
 
Improving WordPress Development and Deployments with Docker
Improving WordPress Development and Deployments with DockerImproving WordPress Development and Deployments with Docker
Improving WordPress Development and Deployments with Docker
 
WordPress and The Command Line
WordPress and The Command LineWordPress and The Command Line
WordPress and The Command Line
 
The WordPress developer's toolkit
The WordPress developer's toolkit The WordPress developer's toolkit
The WordPress developer's toolkit
 
Maintaining Retainers as a WordPress Developer
Maintaining Retainers as a WordPress DeveloperMaintaining Retainers as a WordPress Developer
Maintaining Retainers as a WordPress Developer
 
WordPress Development Environments
WordPress Development Environments WordPress Development Environments
WordPress Development Environments
 
Word camp2011 introwordpresssecurity
Word camp2011 introwordpresssecurityWord camp2011 introwordpresssecurity
Word camp2011 introwordpresssecurity
 
Desktop server presentation
Desktop server presentationDesktop server presentation
Desktop server presentation
 

More from WP Engine

Why the Edge Isn't an Edge Case.pdf
Why the Edge Isn't an Edge Case.pdfWhy the Edge Isn't an Edge Case.pdf
Why the Edge Isn't an Edge Case.pdfWP Engine
 
Post eCommerce Site Launch- Optimizing Your Conversion Rate.pdf
Post eCommerce Site Launch- Optimizing Your Conversion Rate.pdfPost eCommerce Site Launch- Optimizing Your Conversion Rate.pdf
Post eCommerce Site Launch- Optimizing Your Conversion Rate.pdfWP Engine
 
Demo - New Features for Atlas.pdf
Demo - New Features for Atlas.pdfDemo - New Features for Atlas.pdf
Demo - New Features for Atlas.pdfWP Engine
 
Debunking The Myths of Migration.pdf
Debunking The Myths of Migration.pdfDebunking The Myths of Migration.pdf
Debunking The Myths of Migration.pdfWP Engine
 
Keeping Your WordPress Sites Safe Amidst A Rise in Global Cyberattacks.pdf
Keeping Your WordPress Sites Safe Amidst A Rise in Global Cyberattacks.pdfKeeping Your WordPress Sites Safe Amidst A Rise in Global Cyberattacks.pdf
Keeping Your WordPress Sites Safe Amidst A Rise in Global Cyberattacks.pdfWP Engine
 
Building WordPress eCommerce at Scale .pdf
Building WordPress eCommerce at Scale .pdfBuilding WordPress eCommerce at Scale .pdf
Building WordPress eCommerce at Scale .pdfWP Engine
 
When to Choose Headless for Clients.pdf
When to Choose Headless for Clients.pdfWhen to Choose Headless for Clients.pdf
When to Choose Headless for Clients.pdfWP Engine
 
Best Practices for Site Deployment With Local.pdf
Best Practices for Site Deployment With Local.pdfBest Practices for Site Deployment With Local.pdf
Best Practices for Site Deployment With Local.pdfWP Engine
 
Site Monitoring: The Intersection of Product, UX Design & Research .pdf
Site Monitoring: The Intersection of Product, UX Design & Research .pdfSite Monitoring: The Intersection of Product, UX Design & Research .pdf
Site Monitoring: The Intersection of Product, UX Design & Research .pdfWP Engine
 
Front End: Building Future-Proof eCommerce Sites.pdf
Front End: Building Future-Proof eCommerce Sites.pdfFront End: Building Future-Proof eCommerce Sites.pdf
Front End: Building Future-Proof eCommerce Sites.pdfWP Engine
 
Gutenberg and Headless WordPress.pdf
Gutenberg and Headless WordPress.pdfGutenberg and Headless WordPress.pdf
Gutenberg and Headless WordPress.pdfWP Engine
 
Blueprints and Other Local Features for Agencies.pdf
Blueprints and Other Local Features for Agencies.pdfBlueprints and Other Local Features for Agencies.pdf
Blueprints and Other Local Features for Agencies.pdfWP Engine
 
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...WP Engine
 
6 WooCommerce Dev Tricks for Building Fast eCommerce Websites.pdf
6 WooCommerce Dev Tricks for Building Fast eCommerce Websites.pdf6 WooCommerce Dev Tricks for Building Fast eCommerce Websites.pdf
6 WooCommerce Dev Tricks for Building Fast eCommerce Websites.pdfWP Engine
 
Headless 101 for WordPress Developers.pdf
Headless 101 for WordPress Developers.pdfHeadless 101 for WordPress Developers.pdf
Headless 101 for WordPress Developers.pdfWP Engine
 
Be the Change: The Future of WordPress with WP Engine's Developer Relations Team
Be the Change: The Future of WordPress with WP Engine's Developer Relations TeamBe the Change: The Future of WordPress with WP Engine's Developer Relations Team
Be the Change: The Future of WordPress with WP Engine's Developer Relations TeamWP Engine
 
An Atlas of Atlas.pdf
An Atlas of Atlas.pdfAn Atlas of Atlas.pdf
An Atlas of Atlas.pdfWP Engine
 
2022 – Year of the WordPress Developer.pdf
2022 – Year of the WordPress Developer.pdf2022 – Year of the WordPress Developer.pdf
2022 – Year of the WordPress Developer.pdfWP Engine
 
Using WooCommerce to Scale Your Store
Using WooCommerce to Scale Your StoreUsing WooCommerce to Scale Your Store
Using WooCommerce to Scale Your StoreWP Engine
 
Growing Your WooCommerce Store Without Knowing Code
Growing Your WooCommerce Store Without Knowing CodeGrowing Your WooCommerce Store Without Knowing Code
Growing Your WooCommerce Store Without Knowing CodeWP Engine
 

More from WP Engine (20)

Why the Edge Isn't an Edge Case.pdf
Why the Edge Isn't an Edge Case.pdfWhy the Edge Isn't an Edge Case.pdf
Why the Edge Isn't an Edge Case.pdf
 
Post eCommerce Site Launch- Optimizing Your Conversion Rate.pdf
Post eCommerce Site Launch- Optimizing Your Conversion Rate.pdfPost eCommerce Site Launch- Optimizing Your Conversion Rate.pdf
Post eCommerce Site Launch- Optimizing Your Conversion Rate.pdf
 
Demo - New Features for Atlas.pdf
Demo - New Features for Atlas.pdfDemo - New Features for Atlas.pdf
Demo - New Features for Atlas.pdf
 
Debunking The Myths of Migration.pdf
Debunking The Myths of Migration.pdfDebunking The Myths of Migration.pdf
Debunking The Myths of Migration.pdf
 
Keeping Your WordPress Sites Safe Amidst A Rise in Global Cyberattacks.pdf
Keeping Your WordPress Sites Safe Amidst A Rise in Global Cyberattacks.pdfKeeping Your WordPress Sites Safe Amidst A Rise in Global Cyberattacks.pdf
Keeping Your WordPress Sites Safe Amidst A Rise in Global Cyberattacks.pdf
 
Building WordPress eCommerce at Scale .pdf
Building WordPress eCommerce at Scale .pdfBuilding WordPress eCommerce at Scale .pdf
Building WordPress eCommerce at Scale .pdf
 
When to Choose Headless for Clients.pdf
When to Choose Headless for Clients.pdfWhen to Choose Headless for Clients.pdf
When to Choose Headless for Clients.pdf
 
Best Practices for Site Deployment With Local.pdf
Best Practices for Site Deployment With Local.pdfBest Practices for Site Deployment With Local.pdf
Best Practices for Site Deployment With Local.pdf
 
Site Monitoring: The Intersection of Product, UX Design & Research .pdf
Site Monitoring: The Intersection of Product, UX Design & Research .pdfSite Monitoring: The Intersection of Product, UX Design & Research .pdf
Site Monitoring: The Intersection of Product, UX Design & Research .pdf
 
Front End: Building Future-Proof eCommerce Sites.pdf
Front End: Building Future-Proof eCommerce Sites.pdfFront End: Building Future-Proof eCommerce Sites.pdf
Front End: Building Future-Proof eCommerce Sites.pdf
 
Gutenberg and Headless WordPress.pdf
Gutenberg and Headless WordPress.pdfGutenberg and Headless WordPress.pdf
Gutenberg and Headless WordPress.pdf
 
Blueprints and Other Local Features for Agencies.pdf
Blueprints and Other Local Features for Agencies.pdfBlueprints and Other Local Features for Agencies.pdf
Blueprints and Other Local Features for Agencies.pdf
 
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
 
6 WooCommerce Dev Tricks for Building Fast eCommerce Websites.pdf
6 WooCommerce Dev Tricks for Building Fast eCommerce Websites.pdf6 WooCommerce Dev Tricks for Building Fast eCommerce Websites.pdf
6 WooCommerce Dev Tricks for Building Fast eCommerce Websites.pdf
 
Headless 101 for WordPress Developers.pdf
Headless 101 for WordPress Developers.pdfHeadless 101 for WordPress Developers.pdf
Headless 101 for WordPress Developers.pdf
 
Be the Change: The Future of WordPress with WP Engine's Developer Relations Team
Be the Change: The Future of WordPress with WP Engine's Developer Relations TeamBe the Change: The Future of WordPress with WP Engine's Developer Relations Team
Be the Change: The Future of WordPress with WP Engine's Developer Relations Team
 
An Atlas of Atlas.pdf
An Atlas of Atlas.pdfAn Atlas of Atlas.pdf
An Atlas of Atlas.pdf
 
2022 – Year of the WordPress Developer.pdf
2022 – Year of the WordPress Developer.pdf2022 – Year of the WordPress Developer.pdf
2022 – Year of the WordPress Developer.pdf
 
Using WooCommerce to Scale Your Store
Using WooCommerce to Scale Your StoreUsing WooCommerce to Scale Your Store
Using WooCommerce to Scale Your Store
 
Growing Your WooCommerce Store Without Knowing Code
Growing Your WooCommerce Store Without Knowing CodeGrowing Your WooCommerce Store Without Knowing Code
Growing Your WooCommerce Store Without Knowing Code
 

Recently uploaded

On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024APNIC
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...aditipandeya
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebJames Anderson
 
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With RoomVIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Roomdivyansh0kumar0
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsstephieert
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxellan12
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Roomdivyansh0kumar0
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Roomdivyansh0kumar0
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Servicegwenoracqe6
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Roomgirls4nights
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsThierry TROUIN ☁
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024APNIC
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirtrahman018755
 

Recently uploaded (20)

On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With RoomVIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girls
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with Flows
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
 

The WP Engine Developer Experience. Increased agility, improved efficiency.

  • 1. #wpewebinar The WP Engine Developer Experience. Increased agility, improved efficiency #wpewebinar Scott Amerman and Michael Smith, WP Engine
  • 2. #wpewebinar What You’ll Learn ● Agile development with WordPress ● Git based workflows ● Working with multiple environments ● Automating your work ● Demo ● Get involved
  • 3. #wpewebinar Senior Product Marketing Manager WP Engine Scott Amerman ● Homebrews cider ● Worked in neuroprosthetics ● Has an amazing internal timer Technical Architect WP Engine Michael Smith ● Escaped from Alcatraz twice ● Doesn't speak Norwegian ● Learned to drive a stick on an 800-mile solo road trip
  • 4. #wpewebinar Common dev tools ● Version Control System (e.g. Git, Subversion) ● Version Control Hosting Platform (e.g. GitHub, Bitbucket, GitLab) ● CI/CD Service (Codeship, CircleCI, TravisCI, Jenkins) ● Dependency Manager (Composer, npm) ● Task Runner (Gulp, Grunt, npm) ● Local Development tool (VVV, WP Docker, Local)
  • 8. #wpewebinar ● Team collaboration ● Multi-stage release process ● Build steps ● Managing a large number of sites Agility at scale challenges
  • 10. #wpewebinar Git makes it easy to collaborate with a team of developers. ● One Git repository for each WordPress site ● Develop locally, and commit your changes to Git ● Use a centralized Git repository (e.g. GitHub, Bitbucket, GitLab) ● Deploy to WP Engine with Git Best-Practice: Use a Git-based development workflow
  • 11. #wpewebinar One Git repository per site Include: ● Your code: Themes & Plugins Exclude: ● WordPress core files ● Media files ● WordPress config and WP Engine-specific files Setting up the Git repository
  • 12. #wpewebinar Deploying to WP Engine with Git WP Engine Git 1.0 (a.k.a Git Push) ● For pushing code changes to WP Engine ● Limitation: Code changes that are made on the live server are difficult to merge back into Git WP Engine Git 2.0 (coming soon) ● Integrated with SSH Gateway ● Ability to commit and pull changes that are made directly on the live server ● Simplified user management & access control
  • 13. #wpewebinar 13 Copying content between environments StagingDev Prod Code Database
  • 15. #wpewebinar • Use Git branches to track multiple streams of development • Use a well-known branch names to track your Production, Staging or Dev environments (e.g. "master" or "staging") Best-Practice: One code repository, multiple environments
  • 16. #wpewebinar ● Simplest way to get started ● Push from local machine directly to WP Engine ● Use multiple Git remotes: ○ Your centralized repository (e.g. GitHub) ○ One remote per WP Engine environment (e.g. prod, staging, dev) Option 1: Manual Deployment
  • 17. #wpewebinar Option 2: Continuous Deployment ● Good for larger teams or sites with an automated build or test step ● Developers push to centralized repository, CI/CD tool will automatically deploy to WP Engine
  • 18. #wpewebinar Why CI/CD? ● Standardize the deployment of your code ● Enforce coding standards ● Run automated tests ● CSS or JavaScript pre-processing
  • 21. #wpewebinar • A number of choices out there, common ones include WP Docker, MAMP, VVV, Internal Vagrants • You can use WP Engine backup points to get a complete copy to your local machine Local Development Environment
  • 22. #wpewebinar Great foundation for building your experiences Built in SEO and security Can start from scratch or build off a child theme Recommended resources: • Documentation in WP Engine User Portal • Know the Code course • Forums
  • 25. #wpewebinar Full List of Current Endpoints End Point Description Create Read Update Delete Accounts WP Engine Account(s) ✓ Sites Site Management ✓ ✓ ✓ ✓ Installs WordPress Installations ✓ ✓ ✓ ✓ Domains Domain Mapping ✓ ✓ ✓ ✓ Full descriptions and instructions here: https://wpengineapi.com/
  • 26. #wpewebinar Ways to leverage the WP Engine API • Combine with WP-CLI for automatically creating and configuring sites • Assist in batch migrations • Integrate WP Engine as part of your product offering
  • 29. #wpewebinar Anatomy of a WP-CLI command wp plugin install amazon-polly --activate argument options/flagscommand
  • 30. #wpewebinar • Setup new sites quickly • Maintain multiple sites easily • Troubleshoot WordPress faster • Database admin • Working with WP-CLI packages Top use cases
  • 31. #wpewebinar It’s important to note that WP-CLI has a lot of great built in documentation, via wp help command # install and activate my favorite plugins on my new install $ wp plugin install woocommerce genesis-visual-hook-guide amazon-polly --activate # import a list of users from a CSV, don’t update existing users $ wp user import-csv users.csv --skip-update We can even create a config file that defines aliases such as production, dev, and all! # use a local config file to install and activate themes on multiple installs $ wp @all theme install twentythirteen --activate By using a WP CLI, we can quickly perform common tasks like installing plugins, importing users, and adding a theme to a group of sites Setting up sites quickly
  • 32. #wpewebinar # check to see which of my active plugins have updates pending $ wp plugin list --update=available --status=active # update all plugins, except WooCommerce and WordPress SEO $ wp @dev plugin update --all --except=woocommerce,wordpress-seo # delete the user associated with ID 123 and assign posts to user 567 $ wp user delete 123 --reassign 567 # delete all comments that have been flagged as spam $ wp comment delete `wp comment list --status=spam --format=ids` Maintaining sites more easily Perform common maintenance tasks around things like plugin updates, user permissions, and comment moderation
  • 33. #wpewebinar You can use New Relic APM to verify proper performance after a deploy Using New Relic APM for faster dev cycles
  • 39. #wpewebinar Know the Code Course: Let’s Build a Developer’s Genesis Starter Child Theme Learn More Getting Started with SSH Gateway Commands, Executors, and Jobs for testing a WordPress site and deploying to WPE installs WP Engine API beta Webinar: Developers, Be a Bada$$ with WP-CLI Continuous Integration with CodeShip and WP Engine