includes/Insight/class-suggestion-engine.php
Suggestion_Engine Class
Class Suggestion_Engine
Class Suggestion_Engine
class Suggestion_EngineConstants
| Constant | Visibility | Value | Line |
|---|---|---|---|
VALID_FIX_ACTIONS | public | array( \'open_object_cache_tab\', \'open_image_optimization_tab\', \'open_file_optimization_tab\', \'open_ccss_settings\', \'enable_server_rules\', \'open_preload_tab\', \'no_action_required\', ) | 47 |
publicstatic from_ai_adaptive()
public static function from_ai_adaptive(): arrayBuild suggestion objects from the AI Adaptive model.
Return: array[] — Array of suggestion objects.
publicstatic from_telemetry()
public static function from_telemetry(array $telemetry): arrayBuild suggestion objects from a local telemetry scan result. Parameter Type Default Description $telemetryarray— Result from Telemetry::scan().
Return: array[] — Array of suggestion objects.
publicstatic from_pagespeed()
public static function from_pagespeed(array $pagespeed): arrayBuild suggestion objects from a Google PageSpeed Insights result. Parameter Type Default Description $pagespeedarray— Result from Pagespeed::get_results().
Return: array[] — Array of suggestion objects.
publicstatic from_rum()
public static function from_rum(array $aggregate): arrayBuild suggestion objects from aggregated real-user Web Vitals. Parameter Type Default Description $aggregatearray— RUM aggregate data.
Return: array[] — Array of suggestion objects.
publicstatic pick_rum_next_action()
public static function pick_rum_next_action(array $aggregate): ?arrayPick the single guided next action from aggregated RUM data. Parameter Type Default Description $aggregatearray— RUM aggregate data.
Return: array|null — Single suggestion object, or null.
privatestatic average_rum_metrics()
private static function average_rum_metrics(array $aggregate): arrayAverage every RUM metric site-wide across days and paths. Parameter Type Default Description $aggregatearray— RUM aggregate (day => path => metric => bucket).
Return: array<string, — float> Metric => average (only metrics with samples).
privatestatic make()
private static function make(string $metric, float $value, string $unit, array $thresholds, string $fix_action, string $description): arrayBuild a suggestion for a \”lower is better\” numeric metric. Parameter Type Default Description $metricstring— Metric identifier. $valuefloat— Metric value. $unitstring— Unit label (e.g. \’ms\’, \’s\’, \’%\’). $thresholdsarray— good: float, poor: float }. $fix_actionstring— fix_action value (validated against VALID_FIX_ACTIONS). $descriptionstring— Human-readable metric name.
Return: array — Suggestion object.
privatestatic make_higher_is_better()
private static function make_higher_is_better(string $metric, float $value, string $unit, array $thresholds, string $fix_action, string $description): arrayBuild a suggestion for a \”higher is better\” numeric metric (e.g. percentages). Parameter Type Default Description $metricstring— Metric identifier. $valuefloat— Metric value. $unitstring— Unit label. $thresholdsarray— good: float, poor: float }. $fix_actionstring— fix_action value. $descriptionstring— Human-readable metric name.
Return: array — Suggestion object.
privatestatic make_score()
private static function make_score(string $metric, float $score, string $fix_action, string $description): arrayBuild a suggestion for a Lighthouse audit score (0.0–1.0). Parameter Type Default Description $metricstring— Metric identifier. $scorefloat— Lighthouse score (0.0–1.0). $fix_actionstring— fix_action value. $descriptionstring— Human-readable metric name.
Return: array — Suggestion object.
privatestatic make_boolean()
private static function make_boolean(string $metric, bool $passing, string $fix_action, string $description): arrayBuild a suggestion for a boolean pass/fail metric. Parameter Type Default Description $metricstring— Metric identifier. $passingbool— True if the check passed. $fix_actionstring— fix_action value when failing. $descriptionstring— Human-readable metric name.
Return: array — Suggestion object.
privatestatic build()
private static function build(string $metric, $value, string $unit, string $status, string $description, string $fix_action): arrayAssemble the final suggestion object, validating fix_action. Parameter Type Default Description $metricstring— Metric identifier. $valuefloat|string— Metric value. $unitstring— Unit label. $statusstring— \’good\’, \’needs_improvement\’, or \’poor\’. $descriptionstring— Human-readable metric name. $fix_actionstring— fix_action value.
Return: array — Suggestion object with all 6 required fields.