wp_performance_optimize
Analyze WordPress sites to identify performance improvements, generate actionable recommendations for speed, reliability, and efficiency, and provide ROI estimates and predictions.
Instructions
Get optimization recommendations and insights
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| site | No | Specific site ID for multi-site setups (optional for single site) | |
| focus | No | Optimization focus area (speed, reliability, efficiency, scaling) | |
| priority | No | Implementation timeline (quick_wins, medium_term, long_term, all) | |
| includeROI | No | Include ROI estimates (default: true) | |
| includePredictions | No | Include performance predictions (default: true) |
Implementation Reference
- The handler function for wp_performance_optimize tool. Generates optimization recommendations from analytics, filters by priority and focus area, formats output, includes ROI estimates and performance predictions.private async getOptimizationRecommendations( _client: WordPressClient, params: Record<string, unknown>, ): Promise<unknown> { return toolWrapper(async () => { const { site, focus = "speed", priority = "all", includeROI = true, includePredictions = true, } = params as { site?: string; focus?: string; priority?: string; includeROI?: boolean; includePredictions?: boolean; }; // Generate optimization plan const optimizationPlan = this.analytics.generateOptimizationPlan(); // Filter by priority let recommendations: Array<{ priority: string; impact: string; implementationEffort: string; [key: string]: unknown; }> = []; if (priority === "quick_wins" || priority === "all") { recommendations.push( ...optimizationPlan.quickWins.map((r) => ({ ...r, timeline: "quick_wins", })), ); } if (priority === "medium_term" || priority === "all") { recommendations.push( ...optimizationPlan.mediumTerm.map((r) => ({ ...r, timeline: "medium_term", })), ); } if (priority === "long_term" || priority === "all") { recommendations.push( ...optimizationPlan.longTerm.map((r) => ({ ...r, timeline: "long_term", })), ); } // Filter by focus area if (focus !== "speed") { const focusMap: Record<string, string[]> = { reliability: ["reliability"], efficiency: ["cost", "performance"], scaling: ["performance", "reliability"], }; const targetImpacts = focusMap[focus] || []; recommendations = recommendations.filter((r) => targetImpacts.includes(r.impact)); } // Get predictions if requested let predictions: Record<string, unknown> | null = null; if (includePredictions) { predictions = this.analytics.predictPerformance(60); // 1 hour prediction } return { success: true, data: { recommendations: recommendations.map((rec) => ({ ...rec, formattedPriority: formatPriority(rec.priority), formattedEffort: formatEffort(rec.implementationEffort), })), roi: includeROI ? optimizationPlan.estimatedROI : null, predictions: predictions || null, summary: { totalRecommendations: recommendations.length, quickWins: optimizationPlan.quickWins.length, mediumTerm: optimizationPlan.mediumTerm.length, longTerm: optimizationPlan.longTerm.length, estimatedImpact: calculateEstimatedImpact(recommendations), }, metadata: { timestamp: new Date().toISOString(), focus, priority, site: site || "all", }, }, }; });
- src/tools/performance/PerformanceTools.ts:219-255 (registration)Tool registration definition including name, description, parameters schema, and handler reference within the getTools() method.{ name: "wp_performance_optimize", description: "Get optimization recommendations and insights", parameters: [ { name: "site", type: "string", description: "Specific site ID for multi-site setups (optional for single site)", required: false, }, { name: "focus", type: "string", description: "Optimization focus area (speed, reliability, efficiency, scaling)", required: false, }, { name: "priority", type: "string", description: "Implementation timeline (quick_wins, medium_term, long_term, all)", required: false, }, { name: "includeROI", type: "boolean", description: "Include ROI estimates (default: true)", required: false, }, { name: "includePredictions", type: "boolean", description: "Include performance predictions (default: true)", required: false, }, ], handler: this.getOptimizationRecommendations.bind(this), },
- Input schema definition for the wp_performance_optimize tool parameters.parameters: [ { name: "site", type: "string", description: "Specific site ID for multi-site setups (optional for single site)", required: false, }, { name: "focus", type: "string", description: "Optimization focus area (speed, reliability, efficiency, scaling)", required: false, }, { name: "priority", type: "string", description: "Implementation timeline (quick_wins, medium_term, long_term, all)", required: false, }, { name: "includeROI", type: "boolean", description: "Include ROI estimates (default: true)", required: false, }, { name: "includePredictions", type: "boolean", description: "Include performance predictions (default: true)", required: false, }, ],