Skip to content

WordPress Upgrade Project - Overview

Project: Dezeen.com WordPress 6.2.2 → 6.9 Upgrade Timeline: 6-8 weeks Approach: Incremental & Cautious Date Created: January 2026

Executive Summary

Current State

Production Environment:

  • WordPress: 6.2.2 (May 2023) - 19 months outdated
  • PHP: 7.4.20 (July 2021) - END OF LIFE ⚠️
  • Database: MariaDB 11.7.2
  • Theme: 2016dezeen only (v2.0, 28MB, 55,774 lines of code)
  • Plugins: 73 total (48 custom dezeen-*, 20 third-party, 5 mu-plugins)
  • Build System: Laravel Mix 6.0.43
  • Caching: WP Rocket 3.18.2 + Redis + Cloudflare CDN

Local Development Environment:

  • PHP: 8.4.7 (significant difference from production!)

CRITICAL Issues Identified

  1. 🔴 CRITICAL: Yoast SEO Premium v13.0 - From January 2020 (5 years old!) - CRITICAL SECURITY RISK
  2. 🔴 CRITICAL: PHP 7.4.20 - End of Life since November 2022 - SECURITY RISK
  3. 🟡 HIGH: WordPress 6.2.2 - Missing 19 months of security patches
  4. 🟡 MEDIUM: PHP Version Mismatch - Local (8.4.7) vs Production (7.4.20) - testing issues
  5. 🟢 LOW: Theme technical debt - 100+ lines of commented code in webpack.mix.js

Update Path

WordPress Core:

  • 6.2.2 → 6.2.8 (minor) → 6.9 (major, current stable)

PHP Upgrade (RECOMMENDED):

  • 7.4.20 → 8.0.x → 8.1.x (recommended for WordPress 6.9)
  • Note: WordPress 6.9 supports PHP 7.4 but recommends PHP 8.0+

Project Phases

PhaseDescriptionDurationRisk Level
Phase 0PHP Upgrade (7.4.20 → 8.1.x)10-12 daysHIGH
Phase 1Preparation & Environment Setup5-7 daysLOW
Phase 2Critical Security Updates (Staging)7-10 daysMEDIUM-HIGH
Phase 3Plugin Compatibility Testing5-7 daysMEDIUM
Phase 4WordPress Core Major Upgrade7-10 daysHIGH
Phase 5Minor Theme Cleanup3-5 daysLOW
Phase 6Production Deployment & Validation3-5 days prepCRITICAL

Total Timeline: 8-10 weeks (including PHP upgrade) Decision Made: ✅ PHP upgrade INCLUDED (Option A)

Option A: WordPress Upgrade ONLY (Lower Risk, Temporary)

  1. Upgrade WordPress 6.2.2 → 6.9 on existing PHP 7.4.20
  2. Test extensively with PHP 7.4.20
  3. Plan PHP upgrade as separate project in 2-3 months

Pros:

  • Lower complexity
  • Faster to complete
  • Addresses immediate WordPress security issues

Cons:

  • PHP 7.4.20 remains a security risk (EOL)
  • May encounter plugin compatibility warnings
  • Will need another upgrade cycle soon
  1. Test PHP 8.1 compatibility on staging
  2. Upgrade PHP first (7.4.20 → 8.1.x)
  3. Then upgrade WordPress (6.2.2 → 6.9)
  4. Single comprehensive upgrade cycle

Pros:

  • Addresses both security risks
  • Modern platform for future
  • Single disruption period
  • Better long-term performance

Cons:

  • Higher complexity
  • More testing required
  • Longer timeline (add 1-2 weeks)
  • Higher risk if issues occur

✅ DECISION MADE: PHP Upgrade Included

Decision: WordPress + PHP upgrade (Option A) - RECOMMENDED

This means:

  • Phase 0 added: PHP 7.4.20 → 8.1.x upgrade
  • Timeline extended: 8-10 weeks (instead of 6-8)
  • Benefits: Single upgrade cycle, addresses both security risks
  • All testing will be done on PHP 8.1 environment

Project Structure

This upgrade plan is organized into the following documents:

  1. 00-wordpress-upgrade-overview.md (this file) - Project summary
  2. 01-phase-1-preparation.md - Backups, staging setup, baseline metrics
  3. 02-phase-2-security-updates.md - Yoast SEO, ACF Pro, WP Rocket updates
  4. 03-phase-3-plugin-testing.md - Testing all 48 custom dezeen-* plugins
  5. 04-phase-4-wordpress-upgrade.md - Incremental WP 6.2.8 → 6.9 upgrade
  6. 05-phase-5-theme-cleanup.md - Webpack cleanup, documentation updates
  7. 06-phase-6-production-deployment.md - Production deployment procedures
  8. 99-command-reference.md - Quick reference for all commands
  9. critical-findings.md - Important discoveries and decisions

Success Criteria

The upgrade will be considered successful when:

  • [ ] WordPress 6.9 running in production
  • [ ] All 73 plugins active and compatible
  • [ ] Zero critical errors in logs (24 hours post-deployment)
  • [ ] Performance within 5% of baseline
  • [ ] All external integrations functional (Algolia, Campaign Monitor, etc.)
  • [ ] SEO metrics stable (Search Console, sitemaps, structured data)
  • [ ] Business-critical features working (Awards, Competitions, Events)
  • [ ] Cache systems optimized (WP Rocket, Redis, Cloudflare)
  • [ ] User-facing site fully functional
  • [ ] Team confident in new baseline

Risk Management

High-Risk Areas

RiskImpactProbabilityMitigation
Yoast SEO data lossCRITICALLOWFull database backup, test on local first
ACF field corruptionCRITICALLOWACF export before update, test all field groups
PHP 7.4 incompatibilityHIGHMEDIUMExtensive testing, monitor deprecation warnings
WP Core breaks custom pluginsHIGHMEDIUMIncremental upgrades, thorough Phase 3 testing
Performance degradationHIGHLOWBaseline metrics, continuous monitoring
SEO ranking dropCRITICALLOWValidate sitemaps, monitor Search Console
Algolia search breaksHIGHMEDIUMTest extensively, verify API keys
Payment processing fails (Awards)CRITICALLOWTest PayPal in sandbox, verify JWT auth

Team Roles & Responsibilities

Technical Lead:

  • Overall project coordination
  • Execute upgrade commands
  • Troubleshooting and rollback decisions
  • 60-80 hours estimated

QA/Testing:

  • Execute testing checklists
  • Functional testing across all systems
  • Performance validation
  • 40-60 hours estimated

DevOps/Deployment:

  • Backup management
  • Production deployment
  • Monitoring setup
  • 20-30 hours estimated

Total Estimated Effort: 120-170 hours across 6-8 weeks

Communication Plan

Stakeholder Notifications

Frequency:

  • 7 days before maintenance window
  • 3 days before maintenance window
  • 1 day before maintenance window
  • 1 hour before maintenance window
  • Immediately after deployment
  • 24-hour status update

Status Reporting

Weekly Status Reports:

  • Phase completion status
  • Issues encountered and resolved
  • Next week's plan
  • Risk updates

Dependencies

External Services to Coordinate

  1. Algolia - Search service (ensure API uptime during testing)
  2. Campaign Monitor - Newsletter service
  3. Cloudflare - CDN provider
  4. PayPal - Payment processing (awards)
  5. Parse.ly - Analytics
  6. Disqus - Comment system

Internal Dependencies

  1. Staging Environment - Must be available and synced
  2. Backup Storage - Sufficient space for multiple backups
  3. Team Availability - Key personnel during deployment window
  4. Maintenance Window - Approved downtime period

Next Steps

  1. Review this overview with technical team
  2. Make PHP upgrade decision (Option A vs Option B)
  3. Review Phase 1 documentation (01-phase-1-preparation.md)
  4. Schedule kickoff meeting to allocate resources
  5. Begin Phase 1 when ready (backups and baseline metrics)

Document Version

  • Version: 1.0
  • Last Updated: January 6, 2026
  • Author: Claude Code (AI Assistant)
  • Status: Draft - Awaiting Review

⚠️ IMPORTANT NOTES:

  1. PHP Version Discrepancy: Local environment runs PHP 8.4.7 but production runs PHP 7.4.20 (EOL). All testing must be done on PHP 7.4-compatible environments or you'll encounter false positives/negatives.

  2. No 2025Dezeen Theme: The CLAUDE.md documentation mentions a "2025Dezeen theme under development with Tailwind CSS" but this theme does not exist in the codebase. Documentation will be updated in Phase 5.

  3. Yoast SEO Priority: The Yoast SEO Premium update from v13.0 (Jan 2020) to latest is the HIGHEST PRIORITY security fix. This must not be skipped or delayed.

  4. Backup Verification: All backups must be tested for restoration before proceeding. A backup you can't restore is worthless.

  5. Staging Environment Must Match Production: Staging should run PHP 7.4.20 to match production, not PHP 8.4.7, to ensure accurate testing.