WordPress Plugin Code Review Checklist for Developers
A structured code review is the single most effective quality gate you can add to your WordPress plugin development workflow. Whether you're reviewing your own code before submission to the WordPress.org repository, or peer-reviewing a colleague's plugin, having a systematic checklist ensures nothing gets missed.
This checklist is organized by category, covering every dimension of plugin quality that reviewers and security researchers look for.
Security Checklist
- ☐ All user input is sanitized using appropriate WordPress functions (
sanitize_text_field,absint,wp_kses_post) - ☐ All output is escaped (
esc_html,esc_attr,esc_url,wp_kses) - ☐ Nonces verify all form submissions and AJAX requests
- ☐ Capability checks (
current_user_can()) protect admin-only functionality - ☐ Direct file access is blocked (
defined('ABSPATH') || exit;) - ☐ SQL queries use
$wpdb->prepare()— no raw string concatenation - ☐ No use of
eval(),base64_decode(), or obfuscated code - ☐ File uploads are validated for type, size, and content
WordPress Coding Standards
- ☐ PHP files follow WordPress PHP Coding Standards
- ☐ All functions, hooks, and globals are prefixed with a unique plugin prefix
- ☐ Plugin header is complete (Name, Description, Version, Author, License)
- ☐ Text domain matches plugin slug; all strings use
__()or_e() - ☐ No closing PHP tags at end of files
- ☐ Actions and filters use appropriate hook priorities
Performance Checklist
- ☐ Scripts and styles are enqueued via
wp_enqueue_scripts, not hardcoded - ☐ Assets are only loaded on pages where they're needed
- ☐ Database queries are minimized; transients cache expensive operations
- ☐ No queries run inside loops (N+1 query problem)
- ☐ Images are properly sized; no unoptimized assets bundled
- ☐ Plugin activation/deactivation hooks handle data correctly
Code Quality Checklist
- ☐ Plugin follows Object-Oriented or well-organized procedural patterns
- ☐ Functions are single-responsibility and under 50 lines where possible
- ☐ No dead code, commented-out blocks, or debug output left in
- ☐ Error handling is present — no silent failures
- ☐ README.txt is complete with installation, FAQ, and changelog sections
Compatibility Checklist
- ☐ Tested against the current WordPress version and latest PHP version
- ☐ No deprecated WordPress functions used
- ☐ Multisite compatibility considered if applicable
- ☐ No conflicts with common plugins (WooCommerce, Elementor, Yoast)
Automate Your Code Review with PluginLyzer
Manually checking every item in this list is time-consuming. PluginLyzer automates the security and code quality portions of this checklist — upload your plugin ZIP and receive a scored report with specific file and line references in minutes. Use it as a first pass before your manual review to focus your attention where it matters most.
Analyze Your WordPress Plugin for Free
Upload your plugin ZIP and get an instant AI-powered security, quality, and performance report — no credit card required.
Start Free Analysis →