Extensions Checks
Extension checks review installed components, modules, plugins, and templates. Outdated or incompatible extensions are a common source of security vulnerabilities and compatibility issues.
Total checks in this category: 14
Core Updates (4 checks)
Joomla Core Version
Checks if Joomla is up to date. This check is channel-aware: when the site uses a non-stable update channel (testing, next major) and only a pre-release version is available, it returns Good rather than Warning, since the channel concern is handled separately by the Update Channel check.
- Good: Latest version installed, or latest for configured channel
- Warning: A newer stable version is available
Why it matters: Updates contain security patches, bug fixes, and new features.
How to update: Components → Joomla Update
Update Server Accessible
Verifies connection to Joomla update servers.
- Good: Can reach update servers
- Critical: Cannot connect
Why it matters: Without update server access, you won't receive security updates.
Common causes:
- Firewall blocking outbound connections
- DNS resolution issues
- Server-side outbound restrictions
- SSL certificate problems
Update Channel
Checks which update channel is configured.
- Good: Stable channel
- Warning: Testing or custom channel
Why it matters: Non-stable channels may contain untested code.
How to check: Components → Joomla Update → Options → Update Channel
Update Minimum Stability
Checks the minimum stability level configured for Joomla updates. This is separate from the update channel — even on the default (stable) channel, a low minimum stability setting means Joomla may offer alpha, beta, or release candidate versions.
- Good: Minimum stability is set to Stable
- Warning: Minimum stability is set to Development, Alpha, Beta, or Release Candidate
Why it matters: Pre-release versions may contain bugs, incomplete features, or unresolved security issues. Production sites should only receive stable releases.
How to fix: Components → Joomla Update → Options → Minimum Stability → set to "Stable"
Extension Health (5 checks)
Extensions with Updates
Identifies outdated extensions.
- Good: All extensions current
- Warning: 1-5 updates available
- Critical: More than 5 updates or security updates available
Why it matters: Updates fix security vulnerabilities and bugs.
How to update: System → Update → Extensions
Priority: Security updates > major updates > minor updates
Disabled Extensions Present
Checks for disabled but installed extensions.
- Good: All extensions enabled or few disabled
- Warning: Multiple disabled extensions
Why it matters: Disabled extensions still consume resources and may contain vulnerabilities.
How to handle:
- Review disabled extensions
- Re-enable if needed
- Uninstall if not needed
- Don't leave disabled indefinitely
Missing Extension Files
Detects extensions with missing files.
- Good: All extension files present
- Critical: Missing files detected
Why it matters: Missing files cause errors and indicate:
- Incomplete installation
- File deletion (manual or attack)
- File permission issues
- Corrupted installation
How to fix:
- Reinstall the extension
- Restore from backup if reinstall fails
- Check file permissions
Extension Update Sites Valid
Verifies update URLs are accessible.
- Good: All update sites reachable
- Warning: Some update sites unreachable
Why it matters: Broken update sites prevent receiving updates.
Common causes:
- Developer discontinued extension
- Update server moved/changed
- Extension company out of business
- Domain expired
How to fix:
- Find new update URL from developer
- System → Update → Update Sites
- Edit broken URLs
- Disable if no longer maintained
Unsigned Extensions
Identifies extensions without code signing.
- Good: All extensions signed
- Warning: Unsigned extensions found
Why it matters: Code signing verifies extension authenticity and integrity.
How to handle: Only install extensions from trusted sources
Extension Compatibility (4 checks)
PHP Version Compatibility
Checks extension compatibility with current PHP.
- Good: All extensions compatible
- Warning: Some extensions may have issues
- Critical: Extensions incompatible with current PHP
Why it matters: Incompatible extensions cause errors or break your site.
How to check:
- Review extension documentation
- Test on staging site first
- Contact developers for compatibility confirmation
Joomla Version Compatibility
Verifies extensions support current Joomla version.
- Good: All extensions compatible
- Warning: Some extensions uncertain
- Critical: Extensions incompatible
Why it matters: Using incompatible extensions risks crashes and data loss.
Before upgrading Joomla:
- Check all extension compatibility
- Update incompatible extensions first
- Test on staging site
- Have rollback plan
Deprecated API Usage
Scans for extensions using deprecated Joomla APIs.
- Good: No deprecated API usage
- Warning: Some deprecated APIs in use
Why it matters: Deprecated APIs will be removed in future Joomla versions.
How to address:
- Contact extension developers
- Check for updated versions
- Plan replacement if not updated
- Test alternatives
Known Vulnerable Extensions
Checks against database of vulnerable extensions.
- Good: No known vulnerabilities
- Critical: Known vulnerabilities found
Why it matters: Vulnerable extensions are actively exploited by attackers.
Immediate action:
- Update immediately
- Disable if no update available
- Check for signs of compromise
- Find alternative if discontinued
Plugin Status (3 checks)
System Plugins Order
Verifies critical plugins load in correct order.
- Good: Proper plugin ordering
- Warning: Potential ordering issues
Why it matters: Plugin execution order affects functionality.
Common ordering:
- System - Log
- System - Debug (if enabled)
- System - Cache
- System - Language Filter
- Custom system plugins
How to fix: System → Plugins → Filter: System → Reorder
Conflicting Plugins
Identifies plugins that may conflict.
- Good: No known conflicts
- Warning: Potential conflicts detected
Why it matters: Conflicting plugins cause errors or broken functionality.
Common conflicts:
- Multiple SEF URL plugins
- Multiple cache plugins
- Duplicate functionality plugins
How to resolve:
- Identify which plugin you need
- Disable or uninstall duplicates
- Test functionality after changes
Orphaned Plugin Files
Detects plugin files without database entries.
- Good: No orphaned files
- Warning: Orphaned files found
Why it matters: Orphaned files indicate incomplete uninstallation.
How to handle:
- Identify plugin from file structure
- Verify truly orphaned (not just disabled)
- Manually delete files
- Clear cache after deletion
Template Overrides (2 checks)
Overrides Needing Review
Identifies overrides for files changed in core.
- Good: All overrides current
- Warning: Some overrides may need updates
Why it matters: Outdated overrides miss bug fixes and new features.
How to check: System → Templates → Select template → Overrides
When to update:
- After Joomla major updates
- If override file has core changes
- If functionality breaks
Outdated Override Files
Checks override modification dates vs core files.
- Good: Overrides newer than core
- Warning: Core files newer than overrides
Why it matters: Outdated overrides can break functionality.
How to fix:
- Compare override with current core file
- Merge changes if needed
- Test thoroughly
- Delete override if no longer needed
Common Issues & Solutions
Extension Update Failures
Symptoms: Updates fail with errors
Solutions:
- Increase PHP memory limit
- Increase max execution time
- Check file permissions
- Verify disk space
- Try manual update via FTP
- Check error logs
Incompatibility After Update
Symptoms: Site broken after Joomla/extension update
Solutions:
- Check System → System Information → PHP → Errors
- Review error logs
- Disable suspect extensions one by one
- Restore from backup if necessary
- Contact extension developers
Orphaned Extensions
Symptoms: Extensions in database but files missing
Solutions:
- Try reinstalling extension
- If extension discontinued, find alternative
- Uninstall via Joomla admin
- Manually remove database entries if needed:sql
DELETE FROM #__extensions WHERE extension_id = XXX;
Too Many Extensions
Symptoms: Site slow, frequent conflicts
Solutions:
- Audit all installed extensions
- Uninstall unused extensions
- Consolidate similar functionality
- Prefer core features over extensions
- Regular cleanup (quarterly)
Extension Management Best Practices
Installation
- Only install from trusted sources
- Check compatibility first
- Test on staging site
- Read documentation
- Review permissions before installing
- Keep installation files for rollback
Updates
- Review changelog before updating
- Test on staging first
- Backup before major updates
- Update regularly (weekly)
- Subscribe to security announcements
- Prioritize security updates
Maintenance
- Quarterly extension audit
- Remove unused extensions completely
- Monitor for abandonment
- Check developer reputation
- Document why each extension is needed
- Keep extension inventory
Security
- Only use extensions from JED or trusted developers
- Check for code signing
- Review permissions granted
- Monitor security advisories
- Have replacement options for critical extensions
- Verify developer contact info
Performance
- Minimize number of plugins
- Disable unused plugins
- Use caching wisely
- Monitor load impact
- Replace heavy extensions with lighter alternatives
- Optimize plugin order
Next Steps
- Performance Checks - Optimize extension performance
- Security Checks - Review extension security
- System Checks - Ensure compatibility