<?php

namespace WPSN\SEO;

defined('ABSPATH') || exit;

final class MetaKeys
{
    public const TITLE       = '_wpsn_seo_title';
    public const DESCRIPTION = '_wpsn_meta_description';

    // Stage 2 (MetaTags expansion)
    public const CANONICAL = '_wpsn_canonical';

    // Tri-state overrides: default|index|noindex and default|follow|nofollow
    public const ROBOTS_INDEX  = '_wpsn_robots_index';
    public const ROBOTS_FOLLOW = '_wpsn_robots_follow';

    // Stage 4 (Social overrides)
    public const OG_TITLE       = '_wpsn_og_title';
    public const OG_DESCRIPTION = '_wpsn_og_description';
    /**
     * Absolute URL (or site-relative) to an OpenGraph/Twitter image override.
     */
    public const OG_IMAGE       = '_wpsn_og_image';

    // Stage 12 (Twitter overrides)
    public const TWITTER_TITLE       = '_wpsn_twitter_title';
    public const TWITTER_DESCRIPTION = '_wpsn_twitter_description';
    /**
     * Absolute URL (or site-relative) to a Twitter image override.
     */
    public const TWITTER_IMAGE       = '_wpsn_twitter_image';

    // Stage 5 (Schema)
    public const SCHEMA_TYPE = '_wpsn_schema_type';
    public const SCHEMA_CUSTOM_JSON_LD = '_wpsn_schema_custom_json_ld';

    // Stage 40 (On-page analysis)
    /**
     * User-provided focus keyphrase/keyword used for on-page analysis.
     */
    public const FOCUS_KEYWORD = '_wpsn_focus_keyword';

    /**
     * Cached analysis score (0-100). Stored as integer-like string in post meta.
     */
    public const ANALYSIS_SCORE = '_wpsn_analysis_score';

    /**
     * Cached analysis JSON (summary + checks). Stored as JSON string.
     */
    public const ANALYSIS_JSON = '_wpsn_analysis_json';

    /**
     * Unix timestamp when analysis cache was last updated.
     */
    public const ANALYSIS_UPDATED_AT = '_wpsn_analysis_updated_at';

    // Stage 27 (News/Video sitemaps)
    // Video sitemap per-post overrides.
    public const VIDEO_URL         = '_wpsn_video_url';
    public const VIDEO_TITLE       = '_wpsn_video_title';
    public const VIDEO_DESCRIPTION = '_wpsn_video_description';
    public const VIDEO_THUMBNAIL   = '_wpsn_video_thumbnail';
    public const VIDEO_DURATION    = '_wpsn_video_duration';
}
