SlideShare a Scribd company logo
Presenter: Binh Quan
Twitter: @binhqd
Github: binhqd
LinkedIn: /in/binhqd
GOALS
❖ Highest security
❖ Safe deployment
❖ Highest score according to Page Speed Insight
❖ Controllable
❖ Backup/Restorable
❖ Quality proof for potential customers
ROLES
HTML/CSS Developer
WordPress Developer
CM/DevOps
1
2
3
WP Development
Checklist
HTML/CSS Team
1. CSS Sprite must be used when theming
2. Concat all CSS files into single file
3. Concat all JS files into single file
4. CSS in Head, JS in Body
5. Images (jpg, png, svg) must be optimized
6. CSS must follow standard
7. Define sizes of images with name, width and height
❖ Imagemin-CLI: https://www.npmjs.com/package/imagemin-cli
❖ gulp-imagemin: https://www.npmjs.com/package/gulp-imagemin
WP Development Checklist
HTML/CSS Team
Images (jpg, png, svg) must be optimized
❖ Custom CSS in WP: https://codex.wordpress.org/CSS
❖ Default WordPress Generated CSS:
http://www.wpbeginner.com/wp-themes/default-wordpress-generated-css
-cheat-sheet-for-beginners/
WP Development Checklist
HTML/CSS Team
CSS must follow standard
WP Development Checklist
HTML/CSS Team
Define sizes of images with name, width and height
❖ Size name: string
❖ Width: Integer
❖ Height: Integer
❖ Crop: boolean
WP Development
Checklist
WP Developer
1. Using docker provided by Green Global company
2. Using latest version of WP (4.7)
3. Using Git for source versioning
4. Using WordPress Packagist. Don’t commit third party code
5. Follow Git Flow Process
6. Follow Code Review Checklist
7. Applying cache
8. Scoring at least 90/100 according to Google Page Speed
WP Development
Checklist
WP Developer
9. Grade A according to https://www.webpagetest.org
10. Grade A accroding to https://tools.pingdom.com
11. Minify all CSS, JS
12. CSS in Head, JS in Body
13. Never using 'full' size for WP thumbnail
14. Using latest WP Plugin
15. Checking favicon
16. Don't try to modify original source, plugins
17. Set WP_DEBUG = true when development and WP_DEBUG =
false for production
❖ Github: https://github.com/greenglobal/wordpress-dockerize
WP Development Checklist
WordPress Developer
Using docker provided by Green Global company
❖ URL: https://wpackagist.org/
WP Development Checklist
WordPress Developer
Using WordPress Packagist. Don’t commit third party code
❖ Purpose:
➢ Better source control
➢ Reviewable
➢ Easier deployment
➢ Continuous Delivery
➢ Backup/Restorable
❖ Slide:
https://docs.google.com/presentation/d/18ozMxHvZStbQjbn2utRt-jcAa0z
psQ3Q5E7e4BYyrAA/pub?start=false&loop=false&delayms=3000
WP Development Checklist
WordPress Developer
Follow Git Flow Process
Pull Request Review Checklist
Category Task
1
Coding convention
Not use linting config provided by our company
2 Still error/warning reported by linting tool
3 Coding format not follow company's standard
4 Not follow Best Practice
5
Document & comment
Comment not in English, typo
6 Not remove unused code or comment blocks
7 Variables Variables don't have meaningful name
8 Function & Class Class names, function names don't have meaningful name
9
Coding
Not clean up debugging blocks
10 Code blocks are not divided into units, unable to write unit test
11 Double code block, code blocks are not being reuse
12 Source code not in using Package Manager and contain third party code
13 Not use constants for values that configurable
14 Coding logic Not cover enough case which may caused further bugs
15
Git Flow
Commit message not follow standard
16 Not clean unused code when creating new PR
17 Not clean up development information when creating new PR
18 Not remove critical information such as username, password or including credential keys
19 Not resolve conflict when creating new PR
20 Careless and making lost of other's code
21
Language
Content in English has typo
- Content in plural form not being cared
22 Sentence not meaningful and wrong purpose
23 Integration Not retest that cause conflict with original source branch
❖ WP Fastest cache (*)
❖ W3 total cache
❖ WP Super Cache
WP Development Checklist
WordPress Developer
Applying Cache
WP Development Checklist
WordPress Developer
Never using 'full' size for WP thumbnail
DO
DON’T
WP Development Checklist
WordPress Developer
Checking favicon
WP Development
Checklist
CM/DevOps
# Tasks Own host (Dedicated Server or VPS) Shared Host
1 Compress assets
Compress JS and CSS. Set
header for serving gzip files
2 Caching Varnish Cache
3 Deployment Using CI and Git Using DeployBot
4 Backup
- Each deployment
- Weekly
- Each deployment
- Weekly
5
File/Folder
permission
- File/Folder mode: 755
- All files/folders: root access
- Upload folders: www-data
- .htpasswd to protect
/wp-admin folder
- Mode 400 for
wp-config.php
- Change name of
wp-config.php
- BE CAREFUL when chmod
some folders as 777. If
some folder need to be
writable, then you should
change the folder name
before chmod them as 777
6
Server Software
Requirement
Varnish/NGINX/MySQL
7 Image optimize WP Smush IT WP Smush IT
WP Development Checklist
CM/DevOps
Compress Assets (CSS/JS)
WP Development Checklist
CM/DevOps
Caching
WP Development Checklist
CM/DevOps
Deployment
(Dedicated server/VPS)
Using Jenkins
as
Deployment tool
WP Development Checklist
CM/DevOps
Deployment
(Shared host)
Using DeployBot
as
Deployment tool
WP Development
Checklist
Security
1. Using Git
Easy tracking changes and backdoor
2. File/Folder permission
- All folders should be 0755
- All files should be 0644
- wp-config.php should be 400
Read more:
❖ https://codex.wordpress.org/Hardening_WordPres
s
❖ https://codex.wordpress.org/Changing_File_Permis
sions
Question
&
Discussion

More Related Content

What's hot

Web Assembly Big Picture
Web Assembly Big PictureWeb Assembly Big Picture
Web Assembly Big Picture
Yousif Shalaby
 
Blazor v1.1
Blazor v1.1Blazor v1.1
Bundle Splitting in Volto
Bundle Splitting in VoltoBundle Splitting in Volto
Bundle Splitting in Volto
PloneFoundation
 
Introduction of webpack 4
Introduction of webpack 4Introduction of webpack 4
Introduction of webpack 4
Vijay Shukla
 
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
tshellberg
 
Webpack and Web Performance Optimization
Webpack and Web Performance OptimizationWebpack and Web Performance Optimization
Webpack and Web Performance Optimization
Chen-Tien Tsai
 
Production optimization with React and Webpack
Production optimization with React and WebpackProduction optimization with React and Webpack
Production optimization with React and Webpack
k88hudson
 
MEAN stack
MEAN stackMEAN stack
MEAN stack
Iryney Baran
 
Working in harmony
Working in harmonyWorking in harmony
Working in harmony
Edmund Turbin
 
Mean stack
Mean stackMean stack
WordPress as a Service
WordPress as a ServiceWordPress as a Service
WordPress as a Service
Andrew Bauer
 
WordPress Multilingual: WordCamp Antwerp 2016
WordPress Multilingual: WordCamp Antwerp 2016WordPress Multilingual: WordCamp Antwerp 2016
WordPress Multilingual: WordCamp Antwerp 2016
Octavio Andrés Cifuentes
 
Bootstrapping angular js with bower grunt yeoman
Bootstrapping angular js with bower grunt yeomanBootstrapping angular js with bower grunt yeoman
Bootstrapping angular js with bower grunt yeoman
Makarand Bhatambarekar
 
The MEAN Stack
The MEAN StackThe MEAN Stack
The MEAN Stack
Md. Ziaul Haq
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An Overview
Naveen Pete
 
Internationalizing The New York Times
Internationalizing The New York TimesInternationalizing The New York Times
Internationalizing The New York Times
Scott Taylor
 
How to make your Webpack builds 10x faster
How to make your Webpack builds 10x fasterHow to make your Webpack builds 10x faster
How to make your Webpack builds 10x faster
trueter
 
#2 Hanoi Magento Meetup - Part 2: Knockout JS
#2 Hanoi Magento Meetup - Part 2: Knockout JS#2 Hanoi Magento Meetup - Part 2: Knockout JS
#2 Hanoi Magento Meetup - Part 2: Knockout JS
Hanoi MagentoMeetup
 
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
Dwayne McDaniel
 
Refactoring to a Single Page Application
Refactoring to a Single Page ApplicationRefactoring to a Single Page Application
Refactoring to a Single Page Application
Codemotion
 

What's hot (20)

Web Assembly Big Picture
Web Assembly Big PictureWeb Assembly Big Picture
Web Assembly Big Picture
 
Blazor v1.1
Blazor v1.1Blazor v1.1
Blazor v1.1
 
Bundle Splitting in Volto
Bundle Splitting in VoltoBundle Splitting in Volto
Bundle Splitting in Volto
 
Introduction of webpack 4
Introduction of webpack 4Introduction of webpack 4
Introduction of webpack 4
 
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
 
Webpack and Web Performance Optimization
Webpack and Web Performance OptimizationWebpack and Web Performance Optimization
Webpack and Web Performance Optimization
 
Production optimization with React and Webpack
Production optimization with React and WebpackProduction optimization with React and Webpack
Production optimization with React and Webpack
 
MEAN stack
MEAN stackMEAN stack
MEAN stack
 
Working in harmony
Working in harmonyWorking in harmony
Working in harmony
 
Mean stack
Mean stackMean stack
Mean stack
 
WordPress as a Service
WordPress as a ServiceWordPress as a Service
WordPress as a Service
 
WordPress Multilingual: WordCamp Antwerp 2016
WordPress Multilingual: WordCamp Antwerp 2016WordPress Multilingual: WordCamp Antwerp 2016
WordPress Multilingual: WordCamp Antwerp 2016
 
Bootstrapping angular js with bower grunt yeoman
Bootstrapping angular js with bower grunt yeomanBootstrapping angular js with bower grunt yeoman
Bootstrapping angular js with bower grunt yeoman
 
The MEAN Stack
The MEAN StackThe MEAN Stack
The MEAN Stack
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An Overview
 
Internationalizing The New York Times
Internationalizing The New York TimesInternationalizing The New York Times
Internationalizing The New York Times
 
How to make your Webpack builds 10x faster
How to make your Webpack builds 10x fasterHow to make your Webpack builds 10x faster
How to make your Webpack builds 10x faster
 
#2 Hanoi Magento Meetup - Part 2: Knockout JS
#2 Hanoi Magento Meetup - Part 2: Knockout JS#2 Hanoi Magento Meetup - Part 2: Knockout JS
#2 Hanoi Magento Meetup - Part 2: Knockout JS
 
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
 
Refactoring to a Single Page Application
Refactoring to a Single Page ApplicationRefactoring to a Single Page Application
Refactoring to a Single Page Application
 

Viewers also liked

8 Ways to Hack a WordPress website
8 Ways to Hack a WordPress website8 Ways to Hack a WordPress website
8 Ways to Hack a WordPress website
SiteGround.com
 
Isomorphic WordPress Applications with NodeifyWP
Isomorphic WordPress Applications with NodeifyWPIsomorphic WordPress Applications with NodeifyWP
Isomorphic WordPress Applications with NodeifyWP
Taylor Lovett
 
Architecting an Highly Available and Scalable WordPress Site in AWS
Architecting an Highly Available and Scalable WordPress Site in AWS Architecting an Highly Available and Scalable WordPress Site in AWS
Architecting an Highly Available and Scalable WordPress Site in AWS
Harish Ganesan
 
Designing WordPress - Heart&Sole2011
Designing WordPress - Heart&Sole2011Designing WordPress - Heart&Sole2011
Designing WordPress - Heart&Sole2011
John O'Nolan
 
Riding The Crazyhorse: Future Generation WordPress
Riding The Crazyhorse: Future Generation WordPressRiding The Crazyhorse: Future Generation WordPress
Riding The Crazyhorse: Future Generation WordPress
Liz Danzico
 
WordPress for the modern PHP developer
WordPress for the modern PHP developerWordPress for the modern PHP developer
WordPress for the modern PHP developer
Chris Sherry
 
el ABC de la Diplomacia publica
el ABC de la Diplomacia publicael ABC de la Diplomacia publica
el ABC de la Diplomacia publica
Hugo Guerra
 
Achats des Français en fleurs et plantes au printemps
Achats des Français en fleurs et plantes au printempsAchats des Français en fleurs et plantes au printemps
Achats des Français en fleurs et plantes au printemps
Val'hor - En Quête de Vert
 
SearchLove 2016 - WhatsAppening with Chat App Marketing
SearchLove 2016 - WhatsAppening with Chat App MarketingSearchLove 2016 - WhatsAppening with Chat App Marketing
SearchLove 2016 - WhatsAppening with Chat App Marketing
Jes Scholz
 
Mapa do Emprego
Mapa do EmpregoMapa do Emprego
Mapa do Emprego
Fecomércio-RS
 
2016 Land Markets Survey
2016 Land Markets Survey2016 Land Markets Survey
2016 Land Markets Survey
REALTORS® Land Institute
 
Don't Mind the Gap by Galen Emery
Don't Mind the Gap by Galen EmeryDon't Mind the Gap by Galen Emery
Don't Mind the Gap by Galen Emery
DevOpsDays Baltimore
 
Brecha digital de género
Brecha digital de géneroBrecha digital de género
Brecha digital de género
Mª Luz Congosto
 
Mafalda Autoestima Femenina
Mafalda Autoestima FemeninaMafalda Autoestima Femenina
Mafalda Autoestima Femenina
Karla Poser
 
U.S. secondary markets see record multifamily investment
U.S. secondary markets see record multifamily investmentU.S. secondary markets see record multifamily investment
U.S. secondary markets see record multifamily investment
JLL
 
BEING a change agent
BEING a change agentBEING a change agent
BEING a change agent
NHS Horizons
 
How To Make Display Ads That Work
How To Make Display Ads That WorkHow To Make Display Ads That Work
How To Make Display Ads That Work
Praveen Rajaretnam
 
Vacation inn Group of hotels & resorts in India
Vacation inn Group of hotels & resorts in IndiaVacation inn Group of hotels & resorts in India
Vacation inn Group of hotels & resorts in India
vacationinn
 
Leadership In Uncertain World
Leadership In Uncertain WorldLeadership In Uncertain World
Leadership In Uncertain World
Faisal Hoque
 

Viewers also liked (20)

8 Ways to Hack a WordPress website
8 Ways to Hack a WordPress website8 Ways to Hack a WordPress website
8 Ways to Hack a WordPress website
 
Isomorphic WordPress Applications with NodeifyWP
Isomorphic WordPress Applications with NodeifyWPIsomorphic WordPress Applications with NodeifyWP
Isomorphic WordPress Applications with NodeifyWP
 
Architecting an Highly Available and Scalable WordPress Site in AWS
Architecting an Highly Available and Scalable WordPress Site in AWS Architecting an Highly Available and Scalable WordPress Site in AWS
Architecting an Highly Available and Scalable WordPress Site in AWS
 
Designing WordPress - Heart&Sole2011
Designing WordPress - Heart&Sole2011Designing WordPress - Heart&Sole2011
Designing WordPress - Heart&Sole2011
 
Riding The Crazyhorse: Future Generation WordPress
Riding The Crazyhorse: Future Generation WordPressRiding The Crazyhorse: Future Generation WordPress
Riding The Crazyhorse: Future Generation WordPress
 
WordPress for the modern PHP developer
WordPress for the modern PHP developerWordPress for the modern PHP developer
WordPress for the modern PHP developer
 
el ABC de la Diplomacia publica
el ABC de la Diplomacia publicael ABC de la Diplomacia publica
el ABC de la Diplomacia publica
 
Achats des Français en fleurs et plantes au printemps
Achats des Français en fleurs et plantes au printempsAchats des Français en fleurs et plantes au printemps
Achats des Français en fleurs et plantes au printemps
 
SearchLove 2016 - WhatsAppening with Chat App Marketing
SearchLove 2016 - WhatsAppening with Chat App MarketingSearchLove 2016 - WhatsAppening with Chat App Marketing
SearchLove 2016 - WhatsAppening with Chat App Marketing
 
Mapa do Emprego
Mapa do EmpregoMapa do Emprego
Mapa do Emprego
 
2016 Land Markets Survey
2016 Land Markets Survey2016 Land Markets Survey
2016 Land Markets Survey
 
Don't Mind the Gap by Galen Emery
Don't Mind the Gap by Galen EmeryDon't Mind the Gap by Galen Emery
Don't Mind the Gap by Galen Emery
 
Brecha digital de género
Brecha digital de géneroBrecha digital de género
Brecha digital de género
 
Mafalda Autoestima Femenina
Mafalda Autoestima FemeninaMafalda Autoestima Femenina
Mafalda Autoestima Femenina
 
U.S. secondary markets see record multifamily investment
U.S. secondary markets see record multifamily investmentU.S. secondary markets see record multifamily investment
U.S. secondary markets see record multifamily investment
 
Smart TV Insecurity
Smart TV InsecuritySmart TV Insecurity
Smart TV Insecurity
 
BEING a change agent
BEING a change agentBEING a change agent
BEING a change agent
 
How To Make Display Ads That Work
How To Make Display Ads That WorkHow To Make Display Ads That Work
How To Make Display Ads That Work
 
Vacation inn Group of hotels & resorts in India
Vacation inn Group of hotels & resorts in IndiaVacation inn Group of hotels & resorts in India
Vacation inn Group of hotels & resorts in India
 
Leadership In Uncertain World
Leadership In Uncertain WorldLeadership In Uncertain World
Leadership In Uncertain World
 

Similar to WordPress development checklist

Advanced WordPress Optimization - iGaming Supershow 2012
Advanced WordPress Optimization - iGaming Supershow 2012Advanced WordPress Optimization - iGaming Supershow 2012
Advanced WordPress Optimization - iGaming Supershow 2012
Bastian Grimm
 
Building the next generation of themes with WP Rig 2.0
Building the next generation of themes with WP Rig 2.0Building the next generation of themes with WP Rig 2.0
Building the next generation of themes with WP Rig 2.0
Morten Rand-Hendriksen
 
Managing a WordPress Site as a Composer Project by Rahul Bansal @ WordCamp Na...
Managing a WordPress Site as a Composer Project by Rahul Bansal @ WordCamp Na...Managing a WordPress Site as a Composer Project by Rahul Bansal @ WordCamp Na...
Managing a WordPress Site as a Composer Project by Rahul Bansal @ WordCamp Na...
rtCamp
 
WordPress Security Best Practices
WordPress Security Best PracticesWordPress Security Best Practices
WordPress Security Best Practices
Zero Point Development
 
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
Otto Kekäläinen
 
Advanced WordPress Tooling: By InstaWP.com
Advanced WordPress Tooling: By InstaWP.comAdvanced WordPress Tooling: By InstaWP.com
Advanced WordPress Tooling: By InstaWP.com
InstaWP Inc
 
WordPress Development Environments
WordPress Development Environments WordPress Development Environments
WordPress Development Environments
Ohad Raz
 
WordPress Optimization & Security - ThinkVisibility 2012, Leeds
WordPress Optimization & Security - ThinkVisibility 2012, LeedsWordPress Optimization & Security - ThinkVisibility 2012, Leeds
WordPress Optimization & Security - ThinkVisibility 2012, Leeds
Bastian Grimm
 
Use Xdebug to profile PHP
Use Xdebug to profile PHPUse Xdebug to profile PHP
Use Xdebug to profile PHP
Seravo
 
WordPress Optimization & Security - LAC 2013, London
WordPress Optimization & Security - LAC 2013, LondonWordPress Optimization & Security - LAC 2013, London
WordPress Optimization & Security - LAC 2013, London
Bastian Grimm
 
The WP Engine Developer Experience. Increased agility, improved efficiency.
The WP Engine Developer Experience. Increased agility, improved efficiency.The WP Engine Developer Experience. Increased agility, improved efficiency.
The WP Engine Developer Experience. Increased agility, improved efficiency.
WP Engine
 
Using PHP with IBM Bluemix
Using PHP with IBM BluemixUsing PHP with IBM Bluemix
Using PHP with IBM Bluemix
vvaswani
 
WordCamp Atlanta - April 15 2018 - dev team workflow and processes with word...
WordCamp Atlanta -  April 15 2018 - dev team workflow and processes with word...WordCamp Atlanta -  April 15 2018 - dev team workflow and processes with word...
WordCamp Atlanta - April 15 2018 - dev team workflow and processes with word...
Evan Mullins
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
Pablo Godel
 
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
WP Engine
 
WordPress At Scale. WordCamp Dhaka 2019
WordPress At Scale. WordCamp Dhaka 2019WordPress At Scale. WordCamp Dhaka 2019
WordPress At Scale. WordCamp Dhaka 2019
Anam Ahmed
 
wp-config Tips and Tricks
wp-config Tips and Trickswp-config Tips and Tricks
wp-config Tips and Tricks
Josh Harrison
 
Managed WordPress Demystified
Managed WordPress DemystifiedManaged WordPress Demystified
Configuration Management in WordPress
Configuration Management in WordPressConfiguration Management in WordPress
Configuration Management in WordPress
Edmund Turbin
 
WordPress Plugins and Security
WordPress Plugins and SecurityWordPress Plugins and Security
WordPress Plugins and Security
Think Media Inc.
 

Similar to WordPress development checklist (20)

Advanced WordPress Optimization - iGaming Supershow 2012
Advanced WordPress Optimization - iGaming Supershow 2012Advanced WordPress Optimization - iGaming Supershow 2012
Advanced WordPress Optimization - iGaming Supershow 2012
 
Building the next generation of themes with WP Rig 2.0
Building the next generation of themes with WP Rig 2.0Building the next generation of themes with WP Rig 2.0
Building the next generation of themes with WP Rig 2.0
 
Managing a WordPress Site as a Composer Project by Rahul Bansal @ WordCamp Na...
Managing a WordPress Site as a Composer Project by Rahul Bansal @ WordCamp Na...Managing a WordPress Site as a Composer Project by Rahul Bansal @ WordCamp Na...
Managing a WordPress Site as a Composer Project by Rahul Bansal @ WordCamp Na...
 
WordPress Security Best Practices
WordPress Security Best PracticesWordPress Security Best Practices
WordPress Security Best Practices
 
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
 
Advanced WordPress Tooling: By InstaWP.com
Advanced WordPress Tooling: By InstaWP.comAdvanced WordPress Tooling: By InstaWP.com
Advanced WordPress Tooling: By InstaWP.com
 
WordPress Development Environments
WordPress Development Environments WordPress Development Environments
WordPress Development Environments
 
WordPress Optimization & Security - ThinkVisibility 2012, Leeds
WordPress Optimization & Security - ThinkVisibility 2012, LeedsWordPress Optimization & Security - ThinkVisibility 2012, Leeds
WordPress Optimization & Security - ThinkVisibility 2012, Leeds
 
Use Xdebug to profile PHP
Use Xdebug to profile PHPUse Xdebug to profile PHP
Use Xdebug to profile PHP
 
WordPress Optimization & Security - LAC 2013, London
WordPress Optimization & Security - LAC 2013, LondonWordPress Optimization & Security - LAC 2013, London
WordPress Optimization & Security - LAC 2013, London
 
The WP Engine Developer Experience. Increased agility, improved efficiency.
The WP Engine Developer Experience. Increased agility, improved efficiency.The WP Engine Developer Experience. Increased agility, improved efficiency.
The WP Engine Developer Experience. Increased agility, improved efficiency.
 
Using PHP with IBM Bluemix
Using PHP with IBM BluemixUsing PHP with IBM Bluemix
Using PHP with IBM Bluemix
 
WordCamp Atlanta - April 15 2018 - dev team workflow and processes with word...
WordCamp Atlanta -  April 15 2018 - dev team workflow and processes with word...WordCamp Atlanta -  April 15 2018 - dev team workflow and processes with word...
WordCamp Atlanta - April 15 2018 - dev team workflow and processes with word...
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
 
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
 
WordPress At Scale. WordCamp Dhaka 2019
WordPress At Scale. WordCamp Dhaka 2019WordPress At Scale. WordCamp Dhaka 2019
WordPress At Scale. WordCamp Dhaka 2019
 
wp-config Tips and Tricks
wp-config Tips and Trickswp-config Tips and Tricks
wp-config Tips and Tricks
 
Managed WordPress Demystified
Managed WordPress DemystifiedManaged WordPress Demystified
Managed WordPress Demystified
 
Configuration Management in WordPress
Configuration Management in WordPressConfiguration Management in WordPress
Configuration Management in WordPress
 
WordPress Plugins and Security
WordPress Plugins and SecurityWordPress Plugins and Security
WordPress Plugins and Security
 

More from Binh Quan Duc

007. Redux middlewares
007. Redux middlewares007. Redux middlewares
007. Redux middlewares
Binh Quan Duc
 
005. a React project structure
005. a React project structure005. a React project structure
005. a React project structure
Binh Quan Duc
 
004. Working with React component
004. Working with React component004. Working with React component
004. Working with React component
Binh Quan Duc
 
003. ReactJS basic
003. ReactJS basic003. ReactJS basic
003. ReactJS basic
Binh Quan Duc
 
001. Introduction about React
001. Introduction about React001. Introduction about React
001. Introduction about React
Binh Quan Duc
 
Git workflow step by step
Git workflow step by stepGit workflow step by step
Git workflow step by step
Binh Quan Duc
 
Introduction about type script
Introduction about type scriptIntroduction about type script
Introduction about type script
Binh Quan Duc
 
Multi language for php with gettext
Multi language for php with gettextMulti language for php with gettext
Multi language for php with gettext
Binh Quan Duc
 

More from Binh Quan Duc (8)

007. Redux middlewares
007. Redux middlewares007. Redux middlewares
007. Redux middlewares
 
005. a React project structure
005. a React project structure005. a React project structure
005. a React project structure
 
004. Working with React component
004. Working with React component004. Working with React component
004. Working with React component
 
003. ReactJS basic
003. ReactJS basic003. ReactJS basic
003. ReactJS basic
 
001. Introduction about React
001. Introduction about React001. Introduction about React
001. Introduction about React
 
Git workflow step by step
Git workflow step by stepGit workflow step by step
Git workflow step by step
 
Introduction about type script
Introduction about type scriptIntroduction about type script
Introduction about type script
 
Multi language for php with gettext
Multi language for php with gettextMulti language for php with gettext
Multi language for php with gettext
 

Recently uploaded

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 

Recently uploaded (20)

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 

WordPress development checklist

  • 1. Presenter: Binh Quan Twitter: @binhqd Github: binhqd LinkedIn: /in/binhqd
  • 2. GOALS ❖ Highest security ❖ Safe deployment ❖ Highest score according to Page Speed Insight ❖ Controllable ❖ Backup/Restorable ❖ Quality proof for potential customers
  • 4. WP Development Checklist HTML/CSS Team 1. CSS Sprite must be used when theming 2. Concat all CSS files into single file 3. Concat all JS files into single file 4. CSS in Head, JS in Body 5. Images (jpg, png, svg) must be optimized 6. CSS must follow standard 7. Define sizes of images with name, width and height
  • 5. ❖ Imagemin-CLI: https://www.npmjs.com/package/imagemin-cli ❖ gulp-imagemin: https://www.npmjs.com/package/gulp-imagemin WP Development Checklist HTML/CSS Team Images (jpg, png, svg) must be optimized
  • 6. ❖ Custom CSS in WP: https://codex.wordpress.org/CSS ❖ Default WordPress Generated CSS: http://www.wpbeginner.com/wp-themes/default-wordpress-generated-css -cheat-sheet-for-beginners/ WP Development Checklist HTML/CSS Team CSS must follow standard
  • 7. WP Development Checklist HTML/CSS Team Define sizes of images with name, width and height ❖ Size name: string ❖ Width: Integer ❖ Height: Integer ❖ Crop: boolean
  • 8. WP Development Checklist WP Developer 1. Using docker provided by Green Global company 2. Using latest version of WP (4.7) 3. Using Git for source versioning 4. Using WordPress Packagist. Don’t commit third party code 5. Follow Git Flow Process 6. Follow Code Review Checklist 7. Applying cache 8. Scoring at least 90/100 according to Google Page Speed
  • 9. WP Development Checklist WP Developer 9. Grade A according to https://www.webpagetest.org 10. Grade A accroding to https://tools.pingdom.com 11. Minify all CSS, JS 12. CSS in Head, JS in Body 13. Never using 'full' size for WP thumbnail 14. Using latest WP Plugin 15. Checking favicon 16. Don't try to modify original source, plugins 17. Set WP_DEBUG = true when development and WP_DEBUG = false for production
  • 10. ❖ Github: https://github.com/greenglobal/wordpress-dockerize WP Development Checklist WordPress Developer Using docker provided by Green Global company
  • 11. ❖ URL: https://wpackagist.org/ WP Development Checklist WordPress Developer Using WordPress Packagist. Don’t commit third party code
  • 12. ❖ Purpose: ➢ Better source control ➢ Reviewable ➢ Easier deployment ➢ Continuous Delivery ➢ Backup/Restorable ❖ Slide: https://docs.google.com/presentation/d/18ozMxHvZStbQjbn2utRt-jcAa0z psQ3Q5E7e4BYyrAA/pub?start=false&loop=false&delayms=3000 WP Development Checklist WordPress Developer Follow Git Flow Process
  • 13. Pull Request Review Checklist Category Task 1 Coding convention Not use linting config provided by our company 2 Still error/warning reported by linting tool 3 Coding format not follow company's standard 4 Not follow Best Practice 5 Document & comment Comment not in English, typo 6 Not remove unused code or comment blocks 7 Variables Variables don't have meaningful name 8 Function & Class Class names, function names don't have meaningful name 9 Coding Not clean up debugging blocks 10 Code blocks are not divided into units, unable to write unit test 11 Double code block, code blocks are not being reuse 12 Source code not in using Package Manager and contain third party code 13 Not use constants for values that configurable 14 Coding logic Not cover enough case which may caused further bugs 15 Git Flow Commit message not follow standard 16 Not clean unused code when creating new PR 17 Not clean up development information when creating new PR 18 Not remove critical information such as username, password or including credential keys 19 Not resolve conflict when creating new PR 20 Careless and making lost of other's code 21 Language Content in English has typo - Content in plural form not being cared 22 Sentence not meaningful and wrong purpose 23 Integration Not retest that cause conflict with original source branch
  • 14. ❖ WP Fastest cache (*) ❖ W3 total cache ❖ WP Super Cache WP Development Checklist WordPress Developer Applying Cache
  • 15. WP Development Checklist WordPress Developer Never using 'full' size for WP thumbnail DO DON’T
  • 16. WP Development Checklist WordPress Developer Checking favicon
  • 17. WP Development Checklist CM/DevOps # Tasks Own host (Dedicated Server or VPS) Shared Host 1 Compress assets Compress JS and CSS. Set header for serving gzip files 2 Caching Varnish Cache 3 Deployment Using CI and Git Using DeployBot 4 Backup - Each deployment - Weekly - Each deployment - Weekly 5 File/Folder permission - File/Folder mode: 755 - All files/folders: root access - Upload folders: www-data - .htpasswd to protect /wp-admin folder - Mode 400 for wp-config.php - Change name of wp-config.php - BE CAREFUL when chmod some folders as 777. If some folder need to be writable, then you should change the folder name before chmod them as 777 6 Server Software Requirement Varnish/NGINX/MySQL 7 Image optimize WP Smush IT WP Smush IT
  • 20. WP Development Checklist CM/DevOps Deployment (Dedicated server/VPS) Using Jenkins as Deployment tool
  • 21. WP Development Checklist CM/DevOps Deployment (Shared host) Using DeployBot as Deployment tool
  • 22. WP Development Checklist Security 1. Using Git Easy tracking changes and backdoor 2. File/Folder permission - All folders should be 0755 - All files should be 0644 - wp-config.php should be 400 Read more: ❖ https://codex.wordpress.org/Hardening_WordPres s ❖ https://codex.wordpress.org/Changing_File_Permis sions