class-suggestion-engine.php

Suggestion_Engine Class

Source includes/Insight/class-suggestion-engine.php4 min readPart of Performance Optimisation

includes/Insight/class-suggestion-engine.php

Suggestion_Engine Class

Namespace: PerformanceOptimise\\Inc · Lines: 585

Class Suggestion_Engine

Class Suggestion_Engine

Source: includes/Insight/class-suggestion-engine.php, line 36

class Suggestion_Engine

Tags: @since 1.6.0

Constants

ConstantVisibilityValueLine
VALID_FIX_ACTIONSpublicarray( \'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(): array

Build suggestion objects from the AI Adaptive model.

Return: array[] — Array of suggestion objects.

Tags: @since 2.0.0

Source: includes/Insight/class-suggestion-engine.php, line 77

publicstatic from_telemetry()

public static function from_telemetry(array $telemetry): array

Build suggestion objects from a local telemetry scan result.

ParameterTypeDefaultDescription
$telemetryarray—Result from Telemetry::scan().

Return: array[] — Array of suggestion objects.

Tags: @since 1.6.0

Source: includes/Insight/class-suggestion-engine.php, line 125

publicstatic from_pagespeed()

public static function from_pagespeed(array $pagespeed): array

Build suggestion objects from a Google PageSpeed Insights result.

ParameterTypeDefaultDescription
$pagespeedarray—Result from Pagespeed::get_results().

Return: array[] — Array of suggestion objects.

Tags: @since 1.6.0

Source: includes/Insight/class-suggestion-engine.php, line 197

publicstatic from_rum()

public static function from_rum(array $aggregate): array

Build suggestion objects from aggregated real-user Web Vitals.

ParameterTypeDefaultDescription
$aggregatearray—RUM aggregate data.

Return: array[] — Array of suggestion objects.

Tags: @since 2.3.0

Source: includes/Insight/class-suggestion-engine.php, line 297

publicstatic pick_rum_next_action()

public static function pick_rum_next_action(array $aggregate): ?array

Pick the single guided next action from aggregated RUM data.

ParameterTypeDefaultDescription
$aggregatearray—RUM aggregate data.

Return: array|null — Single suggestion object, or null.

Tags: @since 2.3.0

Source: includes/Insight/class-suggestion-engine.php, line 372

privatestatic average_rum_metrics()

private static function average_rum_metrics(array $aggregate): array

Average every RUM metric site-wide across days and paths.

ParameterTypeDefaultDescription
$aggregatearray—RUM aggregate (day => path => metric => bucket).

Return: array<string, — float> Metric => average (only metrics with samples).

Tags: @since 2.3.0

Source: includes/Insight/class-suggestion-engine.php, line 406

privatestatic make()

private static function make(string $metric, float $value, string $unit, array $thresholds, string $fix_action, string $description): array

Build a suggestion for a \”lower is better\” numeric metric.

ParameterTypeDefaultDescription
$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.

Tags: @since 1.6.0

Source: includes/Insight/class-suggestion-engine.php, line 465

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): array

Build a suggestion for a \”higher is better\” numeric metric (e.g. percentages).

ParameterTypeDefaultDescription
$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.

Tags: @since 1.6.0

Source: includes/Insight/class-suggestion-engine.php, line 495

privatestatic make_score()

private static function make_score(string $metric, float $score, string $fix_action, string $description): array

Build a suggestion for a Lighthouse audit score (0.0–1.0).

ParameterTypeDefaultDescription
$metricstring—Metric identifier.
$scorefloat—Lighthouse score (0.0–1.0).
$fix_actionstring—fix_action value.
$descriptionstring—Human-readable metric name.

Return: array — Suggestion object.

Tags: @since 1.6.0

Source: includes/Insight/class-suggestion-engine.php, line 523

privatestatic make_boolean()

private static function make_boolean(string $metric, bool $passing, string $fix_action, string $description): array

Build a suggestion for a boolean pass/fail metric.

ParameterTypeDefaultDescription
$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.

Tags: @since 1.6.0

Source: includes/Insight/class-suggestion-engine.php, line 538

privatestatic build()

private static function build(string $metric, $value, string $unit, string $status, string $description, string $fix_action): array

Assemble the final suggestion object, validating fix_action.

ParameterTypeDefaultDescription
$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.

Tags: @since 1.6.0

Source: includes/Insight/class-suggestion-engine.php, line 564