YOOtheme Pro Health Checker
YOOtheme Pro Health Checker
This plugin integrates with the Joomla Health Checker component to provide specialized diagnostics and recommendations for websites built with YOOtheme Pro. It automatically checks server requirements, Joomla configuration, and YOOtheme Pro settings to ensure optimal performance, stability, and best practices.
Included Checks
Server Environment
Ensures the hosting environment meets YOOtheme Pro's requirements.
- PHP Version: Verifies that the PHP version is supported (Warning if <= 8.1).
- Required Extensions: Checks for essential PHP extensions:
GD,JSON,MBString,Intl. - Memory Limit: Verifies
memory_limit(Critical < 128M, Recommended 512M). - Max Input Vars: Checks
max_input_vars(Critical < 2000, Recommended 10000+ for large layouts/menus). - Upload Limits: Verifies
post_max_sizeandupload_max_filesize(Recommended 30M+). - Image Format Support: Checks if the GD extension supports WebP and AVIF formats.
- Apache Modules: Detects problematic modules like
mod_pagespeedthat conflict with YOOtheme. - Apache Mod Security: Checks if
ModSecurityis enabled (Warning if enabled). - Allow URL Fopen: Verifies
allow_url_fopenis enabled (required for fetching remote assets like YouTube posters). - File Timestamp: Checks if
filectimefunction is available (Critical if disabled). - Temp Directory: Verifies that the PHP temporary directory path readable, and writable.
Joomla Configuration
Checks Joomla settings that impact YOOtheme Pro functionality.
- Page Cache Plugin: CRITICAL. Checks if "System - Page Cache" or "System - Cache" plugins are enabled. These must be disabled.
- Debug Mode: Warning. Checks if Joomla's "System Debug" mode is enabled in production.
- Media Support: Verifies that SVG, MP4, MS Office, and OpenOffice extensions and MIME types are allowed in the Joomla Media Manager.
- Permissions: Checks specifically if YOOtheme cache directories are writable.
- Trailing Slash Rules: CRITICAL. Checks for
.htaccessrules that strip trailing slashes, which conflict with YOOtheme Pro routing. - News/Changelog Access: Checks if YOOtheme News and Changelog files are accessible (Critical if blocked by security plugins like Admin Tools).
Theme Status & Storage
Monitors the internal health of YOOtheme Pro data.
- Theme Storage Size: Monitors the
custom_datafield size (MediumText, ~16MB limit).- Warning: > 75% usage.
- Critical: > 90% usage (Risk of data loss when saving layouts).
- Module Storage Type: Checks field type of
contentin#__modulestable.- Warning: If usage is TEXT type (Maximum 64KB).
- Critical: If TEXT usage > 80%.
- Recommendation: Upgrade to MEDIUMTEXT (16MB). SQL instruction provided.
- Cache Health:
- Monitors
/media/yootheme/cacheand/templates/yootheme/cache. - Checks for excessive folder size or file counts (potentially indicating orphaned cache files).
- Monitors
- Events Error Log:
- Monitors the YOOtheme error log (e.g. GraphQL errors).
- Reports the last logged error from
source.errorevents, if logging is enabled in the plugin settings.
- Default Style: Verifies that a default YOOtheme style is selected in the template settings.
- Old Language Files:
- Checks for deprecated language files (e.g.,
mod_yootheme_builder,mod_yootheme_link,plg_fields_location,plg_fields_mediafile,tpl_yootheme) in front and admin language folders (excluding overrides) that should be removed in YOOtheme Pro 5+.
- Checks for deprecated language files (e.g.,
- API Key: Checks if the YOOtheme Pro API key is installed (Warning if missing).
- Installer Plugin: Checks if "Installer - YOOtheme" plugin is installed. (Warning if installed on YOOtheme Pro > 4.3.5, as it is no longer required).
- Hex color format: Analyzes custom LESS variables for colors missing the
#prefix (e.g.,3199D4instead of#3199D4).
Best Practices
Recommendations to ensure you are getting the most out of YOOtheme Pro capabilities.
- Image Optimization: Checks if WebP and AVIF loading are enabled in YOOtheme settings (if supported by server).
- Cache-Friendly URLs: Verifies that "Cache-friendly Image URLs" setting is active.
- Favicons: Checks for both standard and SVG Favicon configuration.
- Templates:
- Single Article Template: Verifies single article template status (Critical if disabled and no other templates).
- 404 Page: Verifies that a custom 404 error page layout is created and enabled.
- Live Search: Verifies that a Live Search template exists and is enabled (Warning if missing).
- Logo Text: Checks if a text value is set for the logo when using images (Important for WCAG 2.4.4 accessibility).
- Multilingual Menu: Recommends using Joomla Menu modules instead of the theme's built-in menu settings on multilingual sites for proper language-specific control.
Third Party Extensions
Checks for known conflicts with third-party extensions.
- RSForms! Pro: CRITICAL. Checks if RSForms! Pro is configured to load its own UIkit assets, which conflicts with YOOtheme Pro styling.
- RSFirewall!: Checks if RSFirewall! is installed and active option "Convert email addresses from plain text to images".
- Seblod: Checks if Seblod CCK is installed (Compatibility check).
- Advanced Custom Fields (ACF): Checks for compatibility with YOOtheme Pro 5.
Installation & Usage
- Install the Joomla Health Checker component.
- Install this plugin (
plg_healthchecker_yoothemeprochecker). - Go to Components -> Health Checker to view the report.
Requirements
- Joomla 5.0 or higher
- YOOtheme Pro 4.0 or higher
- PHP 8.1 or higher
- Health Checker component 3.1.5 or higher