Skip to content

Add LiteSpeed Cache integration with interactive tasks#760

Open
ilicfilip wants to merge 1 commit intodevelopfrom
filip/litespeed-cache-integration
Open

Add LiteSpeed Cache integration with interactive tasks#760
ilicfilip wants to merge 1 commit intodevelopfrom
filip/litespeed-cache-integration

Conversation

@ilicfilip
Copy link
Copy Markdown
Collaborator

Summary

  • Adds LiteSpeed Cache plugin integration following the existing AIOSEO pattern
  • 6 interactive tasks that let users enable key performance settings directly from Progress Planner:
    • Page cache — foundation caching feature
    • Browser cache — client-side caching for repeat visitors
    • CSS minification — reduces CSS file sizes
    • JS minification — reduces JS file sizes
    • Image lazy loading — defers below-fold images
    • Guest mode — improves cache hit ratio for anonymous visitors
  • Each task uses custom AJAX handlers with proper security (nonce + capability + plugin-active checks)
  • Tasks only appear when LiteSpeed Cache is active and the corresponding setting is disabled

Test plan

  • Install and activate LiteSpeed Cache plugin
  • Verify all 6 tasks appear in Progress Planner suggested tasks
  • Click "Enable" on each task popover and verify the setting gets toggled on
  • Verify task completes with confetti after enabling
  • Deactivate LiteSpeed Cache and verify tasks disappear
  • Verify tasks don't appear when settings are already enabled

🤖 Generated with Claude Code

Add suggested tasks for LiteSpeed Cache plugin users to enable key
performance settings directly from Progress Planner. Follows the
existing AIOSEO integration pattern with custom AJAX handlers.

Tasks: page cache, browser cache, CSS/JS minification, image lazy
loading, and guest mode.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

Test on Playground
Test this pull request on the Playground
or download the zip

@github-actions
Copy link
Copy Markdown
Contributor

🔍 WordPress Plugin Check Report

⚠️ Status: Passed with warnings

📊 Report

🎯 Total Issues ❌ Errors ⚠️ Warnings
10 0 10

⚠️ Warnings (10)

📁 classes/suggested-tasks/data-collector/class-unpublished-content.php (1 warning)
📍 Line 🔖 Check 💬 Message
103 WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_post__not_in Using exclusionary parameters, like post__not_in, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information.
📁 classes/suggested-tasks/providers/class-content-review.php (4 warnings)
📍 Line 🔖 Check 💬 Message
232 WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_post__not_in Using exclusionary parameters, like post__not_in, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information.
377 WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_post__not_in Using exclusionary parameters, like post__not_in, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information.
381 WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_post__not_in Using exclusionary parameters, like post__not_in, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information.
388 WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_post__not_in Using exclusionary parameters, like post__not_in, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information.
📁 classes/suggested-tasks/data-collector/class-yoast-orphaned-content.php (1 warning)
📍 Line 🔖 Check 💬 Message
111 PluginCheck.Security.DirectDB.UnescapedDBParameter Unescaped parameter $query used in $wpdb->get_row()\n$query assigned unsafely at line 98.
📁 classes/suggested-tasks/data-collector/class-terms-without-description.php (1 warning)
📍 Line 🔖 Check 💬 Message
108 PluginCheck.Security.DirectDB.UnescapedDBParameter Unescaped parameter $query used in $wpdb->get_results()\n$query assigned unsafely at line 106.
📁 classes/suggested-tasks/data-collector/class-terms-without-posts.php (1 warning)
📍 Line 🔖 Check 💬 Message
120 PluginCheck.Security.DirectDB.UnescapedDBParameter Unescaped parameter $query used in $wpdb->get_results()\n$query assigned unsafely at line 118.
📁 classes/activities/class-query.php (2 warnings)
📍 Line 🔖 Check 💬 Message
71 PluginCheck.Security.DirectDB.UnescapedDBParameter Unescaped parameter $table_name used in $wpdb->query()\n$table_name assigned unsafely at line 58.
163 PluginCheck.Security.DirectDB.UnescapedDBParameter Unescaped parameter $where_args used in $wpdb->get_results()\n$where_args assigned unsafely at line 153.

🤖 Generated by WordPress Plugin Check Action • Learn more about Plugin Check

@github-actions
Copy link
Copy Markdown
Contributor

✅ Code Coverage Report

Metric Value
Total Coverage 31.00% 📉
Base Coverage 31.43%
Difference 📉 -0.43%

⚠️ Coverage below recommended 40% threshold

📊 File-level Coverage Changes (10 files)

🆕 New Files

Class Coverage Lines
🔴 Progress_Planner\Suggested_Tasks\Providers\Integrations\Litespeed_Cache\Add_Litespeed_Cache_Providers 0.00% 0/14
🔴 Progress_Planner\Suggested_Tasks\Providers\Integrations\Litespeed_Cache\Browser_Cache 0.00% 0/15
🔴 Progress_Planner\Suggested_Tasks\Providers\Integrations\Litespeed_Cache\Css_Minification 0.00% 0/15
🔴 Progress_Planner\Suggested_Tasks\Providers\Integrations\Litespeed_Cache\Guest_Mode 0.00% 0/15
🔴 Progress_Planner\Suggested_Tasks\Providers\Integrations\Litespeed_Cache\Image_Lazy_Load 0.00% 0/15
🔴 Progress_Planner\Suggested_Tasks\Providers\Integrations\Litespeed_Cache\Js_Minification 0.00% 0/15
🔴 Progress_Planner\Suggested_Tasks\Providers\Integrations\Litespeed_Cache\Litespeed_Cache_Interactive_Provider 0.00% 0/2
🔴 Progress_Planner\Suggested_Tasks\Providers\Integrations\Litespeed_Cache\Page_Cache 0.00% 0/15
🔴 Progress_Planner\Suggested_Tasks\Providers\Traits\Ajax_Security_Litespeed_Cache 0.00% 0/4

📉 Coverage Decreased

Class Before After Change
Progress_Planner\Suggested_Tasks\Tasks_Manager 62.83% 62.28% -0.55%
ℹ️ About this report
  • All tests run in a single job with Xdebug coverage
  • Security tests excluded from coverage to prevent output issues
  • Coverage calculated from line coverage percentages

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant