SlideShare a Scribd company logo
WordPress
Architecture and
Platform Capabilities
Mario Peshev
➔ CEO, WordPress Architect @ DevriX
➔ Former Java/PHP/Python Developer
➔ Consultant and Technical Lead for several SaaS Solutions
➔ Marketing and Project Management day-to-day activities
➔ @no_fear_inc on Twitter
About Me
@no_fear_inc , Mario Peshev
Scope of the training
1. Main principles of WordPress
2. Technical considerations and requirements
3. WordPress flow and architecture
4. WordPress Themes and Plugins
5. Stability, Performance, and Security
Introduction
@no_fear_inc , Mario Peshev
1. The most widespread CMS in the world that currently
powers over 27% of the Internet
2. Runs on the popular PHP/MySQL stack
3. Suitable for both small blogs, mid-sized applications
up to sites serving tens of millions of PV/month
4. Large ecosystem of themes, plugins, tools
What is WordPress?
@no_fear_inc , Mario Peshev
● 2001 - b2/cafelog
● 2003 - WordPress forked by Matt Mullenweg and Mike
Little
● 2004-2005 - themes and plugins
● 2007 - widgets, taxonomy system, speed
● 2010 - post types, menus, APIs, default theme
● 2016 - REST API
WordPress History
@no_fear_inc , Mario Peshev
Some use cases of WordPress
1. Standard blogs/sites
2. Online magazines and collaboration platforms
3. Large CMS applications
4. Software as a Service solutions
5. eCommerce platforms
6. Multisite networks
WordPress Applications
@no_fear_inc , Mario Peshev
As a programming environment
1. Scalable framework for high-traffic websites
2. Plenty of APIs (CPT, Taxonomies, Shortcodes, Options,
Settings, HTTP, Widgets, Rewrite, REST)
3. Hundreds of hooks for life cycle control
4. Extensibility and 3rd party integrations
WordPress Core
@no_fear_inc , Mario Peshev
The WordPress database schema
Server Requirements
1. Minimum requirements: PHP 5.2.4+ and
MySQL 5.0.15+
2. Compatible with Apache + PHP or nginx
+ php-fpm
@no_fear_inc , Mario Peshev
WordPress Core Load
Three main entry points:
● index.php (public)
● admin.php (logged in)
● admin-ajax.php (AJAX requests)
There are common components loaded
in all cases (hooks as well).
Tip
Tell the audience about
the problem through a
story, ideally a person.
@username Name Surname
WordPress Hooks
WordPress is extended through hooks
placed in the Core and within
themes/plugins.
➔ Actions
Change the standard life cycle
processing, output data, connect other
applications
➔ Filters
Update the state of an incoming value
used later on in the process
Actions
Defined with do_action() in Core
Called in plugins with add_action()
Provide the ability to inject custom
logic or update the WordPress flow
@no_fear_inc , Mario Peshev
Filters
Defined with apply_filters() in Core
Utilized through add_filter() calls
Allow for editing an expected variable
that is used later on in the flow
@no_fear_inc , Mario Peshev
The presentation layer
1. The main component providing the presentation layer
for a WordPress website
2. Best-case scenario, used exclusively for leveraging the
template hierarchy for data display
3. Premium themes often violate the simple rules
WordPress Themes
@no_fear_inc , Mario Peshev
Template Hierarchy
Default fallback is index.php
Important 2nd level templates:
● single.php
● page.php
● home.php
● archive.php
Tip
Tell the audience about
the problem through a
story, ideally a person.
@no_fear_inc , Mario Peshev
A Theme’s Structure
A trimmed sample in Underscores, a
starter theme for WordPress
● style.css - keeping the general
styling and metadata for the theme
● index.php - a mandatory template
file
● functions.php - powers all in-theme
features
Story for illustration purposes only@no_fear_inc , Mario Peshev
Extending a theme
1. Themes can work independently without a need of
extension
2. Extensibility should happen through child themes that
only override parent’s attributes
3. Look at theme frameworks as well
Parent/Child Themes
@no_fear_inc , Mario Peshev
Adding new features to WordPress
1. Features should be added exclusively through Plugins
2. Plugins leverage WordPress actions and filters in
order to change or extend the life cycle of WordPress
WordPress Plugins
@no_fear_inc , Mario Peshev
1. A theme can “technically” introduce new features
through functions.php
2. It’s a bad practice as this prevents clients from
switching themes without losing features
3. A common problem with a large percentage of
premium themes working as all-in-one
functions.php vs.
Plugins
@no_fear_inc , Mario Peshev
Sample WordPress Plugin
(demo)
The Core Pillars of
DevriX
The main Code Quality considerations for
WordPress engineers
➔ Stability
The ongoing stability across updates
and as the traffic grows
➔ Performance
Site load times and the ability to handle
high traffic
➔ Security
Secure and safe environment with data
protection in place
The main problems
1. A stable WordPress solution depends on solid code
base, reliable server infrastructure, right choice of
components
2. Bundling plugins and themes together may cause
various conflicts
3. Adding multi-purpose plugins will add up to load, too
Stability
@no_fear_inc , Mario Peshev
Across WordPress updates
1. WordPress Core gets 2-3 major updates a year
2. Plugins may get 5-50 updates annually
3. Combining general purposes solutions together could
cause various conflicts
4. This may lead to warnings and errors or data loss
Stability
@no_fear_inc , Mario Peshev
Clean code and WP Standards
1. Following the WordPress Coding Standards is
mandatory
2. Plenty of off-the-shelf plugins don’t comply with the
conventions or care about the WP load cycle
3. Regular tracking of queries, DB and data calls is
needed
Stability
@no_fear_inc , Mario Peshev
Automated tools and testers
1. Use tools such as PHP CodeSniffer, PHP MD, ES Lint,
JSHint, jsLint
2. Unit and integrational testing tools and scripts
3. Continuous Integration and pre-deployment hooks
Stability
@no_fear_inc , Mario Peshev
Staging and dev environments
1. Deployment environment should be distributed to
dev -> test (staging) -> production
2. Staging environment has to resemble production as
much as possible
3. Managed hosts often provide staging toolkits for
clone and sync
Stability
@no_fear_inc , Mario Peshev
Automated UI tests
1. Selenium could be used for recording features and
automated UI/test suites
2. BBC’s wraith can record states of a site and its pages
3. Test suites can be automated and included in a CI
deployment suite for screenshot comparison
Stability
@no_fear_inc , Mario Peshev
1. WordPress can handle hundreds of millions of views a
month
2. This does require a professional devops and web
development team following the standards and able
to scale in different scenarios
3. A small mistake can reduce the load time with
seconds
Performance
@no_fear_inc , Mario Peshev
Our performance process checklist while conducting code-reviews and speed improvements
GT Metrix combines PageSpeed and YSlow reviews for performance analysis
Front-end for WordPress
1. Minifying/combining assets
2. Using SVGs and creating image sprites
3. Image compression
4. Async/deferred scripts
5. Remove unused CSS/JavaScript
Performance
@no_fear_inc , Mario Peshev
Back-end for WordPress
1. Detach actions and filters that are not used
2. Replace heavy plugins with lightweight ones or fork
3. Identify slower callbacks or repetitive functions
4. Offload third-party services through cache or local
callbacks
5. Optimize AJAX callbacks
Performance
@no_fear_inc , Mario Peshev
Database queries and schema
1. Consider RDBMS normalization or denormalization
2. Clean out transients, revisions, and other outdated
items
3. Reduce the number of DB queries at main pages
4. Analyze slow queries and optimize accordingly
5. Use EXPLAIN for questionable queries
Performance
@no_fear_inc , Mario Peshev
Server-level enhancements
1. Fine tuning the FPM processes and nginx workers
2. Enable logging and look for possible hidden warnings
and notices or CPU/IO/RAM spikes
3. Enable memcached/redis, gzip compression and
expire headers
4. Stress test for lower TTFB results and concurrency
Performance
@no_fear_inc , Mario Peshev
WordPress Core is secure by design if the right integration
is performed
Security issues usually arise from:
● Outdated software
● 3rd party plugins or themes
● Insecure servers
● Human errors (weak passwords, open Wi-Fi)
Security
@no_fear_inc , Mario Peshev
Main WP problems
1. Generic solutions are not audited for security
2. There is no guaranteed repository for safe plugins
3. Security could be handled through isolated server
management, automated updates, regular backups
policy, code and database auditing and code reviews
before adding a feature
Security
@no_fear_inc , Mario Peshev
OWASP Top 10
The most authoritative list for top
vulnerabilities and security issues.
WordPress takes care of these in default
within the WordPress Core.
Following the established WP standards
prevents developers from causing
loopholes.
Story for illustration purposes only@no_fear_inc , Mario Peshev
Security Whitepaper
The Foundation and WordPress’ Security
team have released a whitepaper going
over the security state of WordPress in
details.Tip
Tell the audience about
the problem through a
story, ideally a person.
@no_fear_inc , Mario Peshev
Questions?
Tweets as @no_fear_inc
Mario Peshev on LinkedIn
nofearinc on WordPress.org
GitHubbing like mpeshev
Blogging at DevWP.eu
CEO @ DevriX.com

More Related Content

PPTX
Introducing DevOps
PPTX
MSA ( Microservices Architecture ) 발표 자료 다운로드
PPTX
Kubernetes #1 intro
PDF
Cloud Monitoring tool Grafana
PPTX
Introduction to Docker - 2017
PDF
Helm - Application deployment management for Kubernetes
PPTX
DevOps seminar ppt
PPTX
Container orchestration overview
Introducing DevOps
MSA ( Microservices Architecture ) 발표 자료 다운로드
Kubernetes #1 intro
Cloud Monitoring tool Grafana
Introduction to Docker - 2017
Helm - Application deployment management for Kubernetes
DevOps seminar ppt
Container orchestration overview

What's hot (20)

PPTX
Blockchain Intro to Hyperledger Fabric
ODP
Kubernetes Architecture
PPTX
DevOps introduction
PDF
DevOps & SRE at Google Scale
PPSX
Microservices, DevOps & SRE
PDF
Microservice With Spring Boot and Spring Cloud
PDF
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
PPTX
Docker and kubernetes
PPTX
Learning Solidity
PDF
Introduction of Kubernetes - Trang Nguyen
PDF
Firebase slide
PDF
Blockchain, cryptography, and consensus
 
PPTX
Introduction To Microservices
PPTX
DevOps 101 - an Introduction to DevOps
PDF
Event Storming and Saga
PPTX
Provisioning Infrastructure Using Terraform
PPTX
Modern CI/CD Pipeline Using Azure DevOps
PDF
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
PPTX
PPTX
Event Driven Software Architecture Pattern
Blockchain Intro to Hyperledger Fabric
Kubernetes Architecture
DevOps introduction
DevOps & SRE at Google Scale
Microservices, DevOps & SRE
Microservice With Spring Boot and Spring Cloud
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
Docker and kubernetes
Learning Solidity
Introduction of Kubernetes - Trang Nguyen
Firebase slide
Blockchain, cryptography, and consensus
 
Introduction To Microservices
DevOps 101 - an Introduction to DevOps
Event Storming and Saga
Provisioning Infrastructure Using Terraform
Modern CI/CD Pipeline Using Azure DevOps
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
Event Driven Software Architecture Pattern
Ad

Similar to WordPress Architecture for Tech-Savvy Managers (20)

PPTX
Automated Deployment
PPTX
PHP North-East - Automated Deployment
PPTX
Getting started with WordPress development
PPTX
Best Practices for Building WordPress Applications
PPTX
7 must have word press plugins for web developers
PPT
Test_Automation using Selenium.ppt
PPT
Reno WordPress Meetup: Gershwin
PPTX
Building and managing applications fast for IBM i
PPTX
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
PDF
Security, more important than ever!
PPT
Automation using Selenium Your score increases as you pick a category, fill o...
PPTX
Slides from LAX & DEN usergroup meetings
PPTX
Wordpress theme submission requirement for Themeforest
PPTX
php[world] Magento101
PDF
Open Source CMS Certification
PDF
PHP Basics
PPTX
Php Web Frameworks
KEY
Optimize wordpress
PPTX
Platform Security IRL: Busting Buzzwords & Building Better
PDF
Important Topics for wordPress Interview.pdf
Automated Deployment
PHP North-East - Automated Deployment
Getting started with WordPress development
Best Practices for Building WordPress Applications
7 must have word press plugins for web developers
Test_Automation using Selenium.ppt
Reno WordPress Meetup: Gershwin
Building and managing applications fast for IBM i
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
Security, more important than ever!
Automation using Selenium Your score increases as you pick a category, fill o...
Slides from LAX & DEN usergroup meetings
Wordpress theme submission requirement for Themeforest
php[world] Magento101
Open Source CMS Certification
PHP Basics
Php Web Frameworks
Optimize wordpress
Platform Security IRL: Busting Buzzwords & Building Better
Important Topics for wordPress Interview.pdf
Ad

More from Mario Peshev (20)

PDF
Why Does an eCommerce Store Cost 200 to 100K And More?
PDF
Management Decision Making Process
PDF
The Future Of WordPress In 2020
PDF
What Makes PHP An Awesome Language
PDF
Top 6 Business Tips for October 2019
PDF
The Future of WordPress And WooCommerce
PPTX
Tips for Successful WordPress Enterprise Projects
PDF
Business and Monetization Opportunities for Developers
PDF
Building SaaS with WordPress - WordCamp Netherlands 2016
PDF
WordPress Code Architecture
PDF
Virtual Company - Go Limitless
PDF
Debugging WordPress
PDF
Platforms based on WordPress
PDF
WordPress Theme Reviewers Team
PDF
Get Involved with WordPress
PDF
Contributing to WordPress
PDF
Start Your Website for Free!
PDF
Choosing a WordPress Theme
PDF
Sass in 5
PDF
Custom Post Types in the wild (WordCamp Sofia 2012)
Why Does an eCommerce Store Cost 200 to 100K And More?
Management Decision Making Process
The Future Of WordPress In 2020
What Makes PHP An Awesome Language
Top 6 Business Tips for October 2019
The Future of WordPress And WooCommerce
Tips for Successful WordPress Enterprise Projects
Business and Monetization Opportunities for Developers
Building SaaS with WordPress - WordCamp Netherlands 2016
WordPress Code Architecture
Virtual Company - Go Limitless
Debugging WordPress
Platforms based on WordPress
WordPress Theme Reviewers Team
Get Involved with WordPress
Contributing to WordPress
Start Your Website for Free!
Choosing a WordPress Theme
Sass in 5
Custom Post Types in the wild (WordCamp Sofia 2012)

Recently uploaded (20)

PDF
Reconciliation AND MEMORANDUM RECONCILATION
PDF
Chapter 5_Foreign Exchange Market in .pdf
DOCX
Business Management - unit 1 and 2
PDF
BsN 7th Sem Course GridNNNNNNNN CCN.pdf
PPTX
Amazon (Business Studies) management studies
PDF
Training And Development of Employee .pdf
PDF
COST SHEET- Tender and Quotation unit 2.pdf
PDF
Unit 1 Cost Accounting - Cost sheet
PPTX
CkgxkgxydkydyldylydlydyldlyddolydyoyyU2.pptx
PPTX
Belch_12e_PPT_Ch18_Accessible_university.pptx
PDF
Ôn tập tiếng anh trong kinh doanh nâng cao
PDF
Dr. Enrique Segura Ense Group - A Self-Made Entrepreneur And Executive
PDF
pdfcoffee.com-opt-b1plus-sb-answers.pdfvi
DOCX
unit 2 cost accounting- Tender and Quotation & Reconciliation Statement
PPTX
Probability Distribution, binomial distribution, poisson distribution
PDF
kom-180-proposal-for-a-directive-amending-directive-2014-45-eu-and-directive-...
DOCX
Euro SEO Services 1st 3 General Updates.docx
PDF
IFRS Notes in your pocket for study all the time
PDF
How to Get Funding for Your Trucking Business
PPTX
HR Introduction Slide (1).pptx on hr intro
Reconciliation AND MEMORANDUM RECONCILATION
Chapter 5_Foreign Exchange Market in .pdf
Business Management - unit 1 and 2
BsN 7th Sem Course GridNNNNNNNN CCN.pdf
Amazon (Business Studies) management studies
Training And Development of Employee .pdf
COST SHEET- Tender and Quotation unit 2.pdf
Unit 1 Cost Accounting - Cost sheet
CkgxkgxydkydyldylydlydyldlyddolydyoyyU2.pptx
Belch_12e_PPT_Ch18_Accessible_university.pptx
Ôn tập tiếng anh trong kinh doanh nâng cao
Dr. Enrique Segura Ense Group - A Self-Made Entrepreneur And Executive
pdfcoffee.com-opt-b1plus-sb-answers.pdfvi
unit 2 cost accounting- Tender and Quotation & Reconciliation Statement
Probability Distribution, binomial distribution, poisson distribution
kom-180-proposal-for-a-directive-amending-directive-2014-45-eu-and-directive-...
Euro SEO Services 1st 3 General Updates.docx
IFRS Notes in your pocket for study all the time
How to Get Funding for Your Trucking Business
HR Introduction Slide (1).pptx on hr intro

WordPress Architecture for Tech-Savvy Managers

  • 2. ➔ CEO, WordPress Architect @ DevriX ➔ Former Java/PHP/Python Developer ➔ Consultant and Technical Lead for several SaaS Solutions ➔ Marketing and Project Management day-to-day activities ➔ @no_fear_inc on Twitter About Me @no_fear_inc , Mario Peshev
  • 3. Scope of the training 1. Main principles of WordPress 2. Technical considerations and requirements 3. WordPress flow and architecture 4. WordPress Themes and Plugins 5. Stability, Performance, and Security Introduction @no_fear_inc , Mario Peshev
  • 4. 1. The most widespread CMS in the world that currently powers over 27% of the Internet 2. Runs on the popular PHP/MySQL stack 3. Suitable for both small blogs, mid-sized applications up to sites serving tens of millions of PV/month 4. Large ecosystem of themes, plugins, tools What is WordPress? @no_fear_inc , Mario Peshev
  • 5. ● 2001 - b2/cafelog ● 2003 - WordPress forked by Matt Mullenweg and Mike Little ● 2004-2005 - themes and plugins ● 2007 - widgets, taxonomy system, speed ● 2010 - post types, menus, APIs, default theme ● 2016 - REST API WordPress History @no_fear_inc , Mario Peshev
  • 6. Some use cases of WordPress 1. Standard blogs/sites 2. Online magazines and collaboration platforms 3. Large CMS applications 4. Software as a Service solutions 5. eCommerce platforms 6. Multisite networks WordPress Applications @no_fear_inc , Mario Peshev
  • 7. As a programming environment 1. Scalable framework for high-traffic websites 2. Plenty of APIs (CPT, Taxonomies, Shortcodes, Options, Settings, HTTP, Widgets, Rewrite, REST) 3. Hundreds of hooks for life cycle control 4. Extensibility and 3rd party integrations WordPress Core @no_fear_inc , Mario Peshev
  • 9. Server Requirements 1. Minimum requirements: PHP 5.2.4+ and MySQL 5.0.15+ 2. Compatible with Apache + PHP or nginx + php-fpm @no_fear_inc , Mario Peshev
  • 10. WordPress Core Load Three main entry points: ● index.php (public) ● admin.php (logged in) ● admin-ajax.php (AJAX requests) There are common components loaded in all cases (hooks as well). Tip Tell the audience about the problem through a story, ideally a person. @username Name Surname
  • 11. WordPress Hooks WordPress is extended through hooks placed in the Core and within themes/plugins. ➔ Actions Change the standard life cycle processing, output data, connect other applications ➔ Filters Update the state of an incoming value used later on in the process
  • 12. Actions Defined with do_action() in Core Called in plugins with add_action() Provide the ability to inject custom logic or update the WordPress flow @no_fear_inc , Mario Peshev
  • 13. Filters Defined with apply_filters() in Core Utilized through add_filter() calls Allow for editing an expected variable that is used later on in the flow @no_fear_inc , Mario Peshev
  • 14. The presentation layer 1. The main component providing the presentation layer for a WordPress website 2. Best-case scenario, used exclusively for leveraging the template hierarchy for data display 3. Premium themes often violate the simple rules WordPress Themes @no_fear_inc , Mario Peshev
  • 15. Template Hierarchy Default fallback is index.php Important 2nd level templates: ● single.php ● page.php ● home.php ● archive.php Tip Tell the audience about the problem through a story, ideally a person. @no_fear_inc , Mario Peshev
  • 16. A Theme’s Structure A trimmed sample in Underscores, a starter theme for WordPress ● style.css - keeping the general styling and metadata for the theme ● index.php - a mandatory template file ● functions.php - powers all in-theme features Story for illustration purposes only@no_fear_inc , Mario Peshev
  • 17. Extending a theme 1. Themes can work independently without a need of extension 2. Extensibility should happen through child themes that only override parent’s attributes 3. Look at theme frameworks as well Parent/Child Themes @no_fear_inc , Mario Peshev
  • 18. Adding new features to WordPress 1. Features should be added exclusively through Plugins 2. Plugins leverage WordPress actions and filters in order to change or extend the life cycle of WordPress WordPress Plugins @no_fear_inc , Mario Peshev
  • 19. 1. A theme can “technically” introduce new features through functions.php 2. It’s a bad practice as this prevents clients from switching themes without losing features 3. A common problem with a large percentage of premium themes working as all-in-one functions.php vs. Plugins @no_fear_inc , Mario Peshev
  • 21. The Core Pillars of DevriX The main Code Quality considerations for WordPress engineers ➔ Stability The ongoing stability across updates and as the traffic grows ➔ Performance Site load times and the ability to handle high traffic ➔ Security Secure and safe environment with data protection in place
  • 22. The main problems 1. A stable WordPress solution depends on solid code base, reliable server infrastructure, right choice of components 2. Bundling plugins and themes together may cause various conflicts 3. Adding multi-purpose plugins will add up to load, too Stability @no_fear_inc , Mario Peshev
  • 23. Across WordPress updates 1. WordPress Core gets 2-3 major updates a year 2. Plugins may get 5-50 updates annually 3. Combining general purposes solutions together could cause various conflicts 4. This may lead to warnings and errors or data loss Stability @no_fear_inc , Mario Peshev
  • 24. Clean code and WP Standards 1. Following the WordPress Coding Standards is mandatory 2. Plenty of off-the-shelf plugins don’t comply with the conventions or care about the WP load cycle 3. Regular tracking of queries, DB and data calls is needed Stability @no_fear_inc , Mario Peshev
  • 25. Automated tools and testers 1. Use tools such as PHP CodeSniffer, PHP MD, ES Lint, JSHint, jsLint 2. Unit and integrational testing tools and scripts 3. Continuous Integration and pre-deployment hooks Stability @no_fear_inc , Mario Peshev
  • 26. Staging and dev environments 1. Deployment environment should be distributed to dev -> test (staging) -> production 2. Staging environment has to resemble production as much as possible 3. Managed hosts often provide staging toolkits for clone and sync Stability @no_fear_inc , Mario Peshev
  • 27. Automated UI tests 1. Selenium could be used for recording features and automated UI/test suites 2. BBC’s wraith can record states of a site and its pages 3. Test suites can be automated and included in a CI deployment suite for screenshot comparison Stability @no_fear_inc , Mario Peshev
  • 28. 1. WordPress can handle hundreds of millions of views a month 2. This does require a professional devops and web development team following the standards and able to scale in different scenarios 3. A small mistake can reduce the load time with seconds Performance @no_fear_inc , Mario Peshev
  • 29. Our performance process checklist while conducting code-reviews and speed improvements
  • 30. GT Metrix combines PageSpeed and YSlow reviews for performance analysis
  • 31. Front-end for WordPress 1. Minifying/combining assets 2. Using SVGs and creating image sprites 3. Image compression 4. Async/deferred scripts 5. Remove unused CSS/JavaScript Performance @no_fear_inc , Mario Peshev
  • 32. Back-end for WordPress 1. Detach actions and filters that are not used 2. Replace heavy plugins with lightweight ones or fork 3. Identify slower callbacks or repetitive functions 4. Offload third-party services through cache or local callbacks 5. Optimize AJAX callbacks Performance @no_fear_inc , Mario Peshev
  • 33. Database queries and schema 1. Consider RDBMS normalization or denormalization 2. Clean out transients, revisions, and other outdated items 3. Reduce the number of DB queries at main pages 4. Analyze slow queries and optimize accordingly 5. Use EXPLAIN for questionable queries Performance @no_fear_inc , Mario Peshev
  • 34. Server-level enhancements 1. Fine tuning the FPM processes and nginx workers 2. Enable logging and look for possible hidden warnings and notices or CPU/IO/RAM spikes 3. Enable memcached/redis, gzip compression and expire headers 4. Stress test for lower TTFB results and concurrency Performance @no_fear_inc , Mario Peshev
  • 35. WordPress Core is secure by design if the right integration is performed Security issues usually arise from: ● Outdated software ● 3rd party plugins or themes ● Insecure servers ● Human errors (weak passwords, open Wi-Fi) Security @no_fear_inc , Mario Peshev
  • 36. Main WP problems 1. Generic solutions are not audited for security 2. There is no guaranteed repository for safe plugins 3. Security could be handled through isolated server management, automated updates, regular backups policy, code and database auditing and code reviews before adding a feature Security @no_fear_inc , Mario Peshev
  • 37. OWASP Top 10 The most authoritative list for top vulnerabilities and security issues. WordPress takes care of these in default within the WordPress Core. Following the established WP standards prevents developers from causing loopholes. Story for illustration purposes only@no_fear_inc , Mario Peshev
  • 38. Security Whitepaper The Foundation and WordPress’ Security team have released a whitepaper going over the security state of WordPress in details.Tip Tell the audience about the problem through a story, ideally a person. @no_fear_inc , Mario Peshev
  • 39. Questions? Tweets as @no_fear_inc Mario Peshev on LinkedIn nofearinc on WordPress.org GitHubbing like mpeshev Blogging at DevWP.eu CEO @ DevriX.com