WordPress Development Best Practices

Software Engineering  

Environment considerations Plan two more sub domains as part of website development  qa.<domain> and preview.<domain> 
Selection of Database If AWS, then highly recommended to use RDS If no cloud provider, then also recommended to have DB moved out to another machine 
Platform best practices  Update all plugins / use latest WordPress version  Use latest version of PHP  Install only pre-approved plugins [ and always from marketplace] Optimize images  Check that theme supports lazy loading  For videos, host on YouTube or Vimeo, and then use plugins to embed them If it is a content heavy site, then do not allow multiple revisions of a post Don’t use pingbacks and trackbacks  Avoid long posts, split them if required 
Devops Deployment Automation Ensure Jenkins pipeline for auto deployment from GitHub repo  Follow same principles as App dev for branching ( master / release / feature branches) Pipeline to be built for qa, preview and prod regions  
Performance best practices Run authenticated or unauthenticated PEN tests based on all feature sets of the site Run single user speed test  Run longevity test with single user   Run load test with multi user scenario Delete unused plugins  Install cache plugins  Minify all scripts  Setup Page cache, DB cache prior to launch of website Use CDN for static content  Always render through Gzip  If there are scheduled jobs / cron jobs, for data sync, then push it to nonbusiness hours  Review all external script and see if they are really required – justify use of alle external scripts  All comments cane restricted and/or paginated All screens to render in less than 3 seconds  All APIs (including third party, if any) to render in less than 1 second  
Quality assurance practices For Responsive testing, use company authorized tools Ensure cross browser certification  Ensure landscape / portrait mode tests  Plan for zero console logging  
Marketing capability  Landing pages capability should be part of the theme selection All CTA to be leading to structured data collection  

Project Management  

Execution structure For large enterprise websites, execute as follows  Get menus structure baselined  Get page templates baselines for all menus  Create dummy pages and dummy images on pages  Fill all pages with relatable content from Chatgpt  Then work to enrich real content  
Demonstration scope Define personas who will be using the website – End user, Admin, Marketing team, content team, etc. For each persona, please for work related use cases  
Agile development to the core Every menu can be setup as an Epic  Every submenu / CTA leading to a page can be created as a story  Plan for 1 week sprint only  
Website completion dashboard Project score card to be defined based on page completion (Page completion = Layout, Content, CTA, color, theme, images, 3 rounds of reviews) 

Infrastructure  

Deployment topology Web, App, DB to be differentiated – separate hosting – for all Enterprise websites  Avoid redirects wherever possible 
99.99 setup  Plan for load balancing in Active-Active mode  Ensure all nodes have a redundancy built in Review for the availability of infra as part of hosting provider capabilities 
Scalability Elasticity of infra to be part of the setup – especially on memory and CPU 

Security & Compliance  

Software hardening Ensure Zero vulnerabilities Upgrade to latest versions of all plugins / and also WordPress   Disable root directory listings SSL enabled  
Infra hardening Only 443 to be opened; all other ports closed Disable outgoing TCP invocations Enable DB access only from App IP Enable DB access only thru jump box  
Geographic security Put hard restrictions on country IP addresses where you don’t expect your users to be  
User management Admin access to be 2FA controlled Content authors to be differentiated from Admin access Tighten the password policy for Users 
Data Collection for any data collection forms, use Captcha  ensure JavaScript validations for all input fields ensure server-side validation filter for all input fields  

Maintenance & Operations 

DB Backup Ensure DB backup is enabled as per the std backup policy  
Machine backup AMI snapshots frequency to be setup as per the std AMI policy  
Level 1 Operations Setup a Production monitoring Bot for constant monitoring of uptime and alert escalations  For all Static content changes, ensure CDN, Cache refresh as part of daily ops Setup Newrelic / or Zabbix / or any other prod monitoring platform for Infra and Software Alerts based on SLAs 

Third party integrations  

CRM Plan CRM integration upfront, all data collection forms to be sending data into CRM 
Google analytics  Define unique UA Ids under one account for the website -QA, Preview, Prod All UA IDs to be environment driven  
CDN All static content to be CDN enabled 
Cloudflare  Primary domain to be routed via Web firewall for security, Cloudflare basic subscription to be put in place  
Chat bot Ensure Chatbot availability timings are well defined  All content data to be pushed to CRM All contact to be pushed to CRM