| @@ -131,8 +131,16 @@ | ||
| 131 | 131 | 'inclusive_language_score' => [ |
| 132 | 132 | 'type' => 'hidden', |
| 133 | 133 | 'default_value' => '0', |
| 134 | 134 | ], |
| 135 | + 'seo_title_score' => [ | |
| 136 | + 'type' => 'hidden', | |
| 137 | + 'default_value' => '0', | |
| 138 | + ], | |
| 139 | + 'meta_description_score' => [ | |
| 140 | + 'type' => 'hidden', | |
| 141 | + 'default_value' => '0', | |
| 142 | + ], | |
| 135 | 143 | 'is_cornerstone' => [ |
| 136 | 144 | 'type' => 'hidden', |
| 137 | 145 | 'default_value' => 'false', |
| 138 | 146 | ], |
| @@ -438,8 +446,16 @@ | ||
| 438 | 446 | switch ( true ) { |
| 439 | 447 | case ( $meta_key === self::$meta_prefix . 'linkdex' ): |
| 440 | 448 | $int = WPSEO_Utils::validate_int( $meta_value ); |
| 441 | 449 | if ( $int !== false && $int >= 0 ) { |
| 450 | + $clean = (string) $int; // Convert to string to make sure default check works. | |
| 451 | + } | |
| 452 | + break; | |
| 453 | + | |
| 454 | + case ( in_array( $meta_key, [ self::$meta_prefix . 'seo_title_score', self::$meta_prefix . 'meta_description_score' ], true ) ): | |
| 455 | + // Per-field scores are 0-100 percentages; out-of-range input keeps the "never scored" default. | |
| 456 | + $int = WPSEO_Utils::validate_int( $meta_value ); | |
| 457 | + if ( $int !== false && $int >= 0 && $int <= 100 ) { | |
| 442 | 458 | $clean = (string) $int; // Convert to string to make sure default check works. |
| 443 | 459 | } |
| 444 | 460 | break; |
| 445 | 461 | |