| @@ -458,16 +458,10 @@ | ||
| 458 | 458 | return (bool) get_option( $option, self::FEATURE_DEFAULTS[ $feature ] ); |
| 459 | 459 | } |
| 460 | 460 | |
| 461 | 461 | /** |
| 462 | - * Whether the AI SEO feature (metadata generation, manual and automatic) | |
| 463 | - * is effectively enabled: its own toggle (gate 4) through the filter, with | |
| 464 | - * the host and master gates ANDed after the chain so no late-priority | |
| 465 | - * callback can turn the feature back on — same finality as is_ai_enabled(). | |
| 462 | + * Whether AI SEO is enabled after its feature filter and the site-wide AI checks. | |
| 466 | 463 | * |
| 467 | - * Not {@see self::is_feature_enabled()} with `ai_seo`, which is the stored | |
| 468 | - * toggle alone. This is the one load points and payloads should read. | |
| 469 | - * | |
| 470 | 464 | * @since 16.2 |
| 471 | 465 | * |
| 472 | 466 | * @return bool |
| 473 | 467 | */ |
| @@ -480,9 +474,9 @@ | ||
| 480 | 474 | * @param bool $enabled Whether the SEO feature toggle is on. |
| 481 | 475 | */ |
| 482 | 476 | $enabled = (bool) apply_filters( 'jetpack_ai_seo_enabled', self::is_feature_enabled( 'ai_seo' ) ); |
| 483 | 477 | |
| 484 | - return self::apply_master_gates( $enabled ); | |
| 478 | + return $enabled && self::is_ai_enabled(); | |
| 485 | 479 | } |
| 486 | 480 | } |
| 487 | 481 | |
| 488 | 482 | // Self-initialize on load. The consuming AI extension files require this file |