{"table_name":"autoseo_issues","full_table_name":"wp_autoseo_issues","description":"Stores autoseo issues data created by this plugin.","detection_method":"static","confidence":"high","create_sql":"CREATE TABLE wp_autoseo_issues ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, post_id BIGINT UNSIGNED NOT NULL, issue_type VARCHAR(50) NOT NULL, severity ENUM('critical','major','minor') DEFAULT 'minor', status ENUM('open','fixed','ignored') DEFAULT 'open', details LONGTEXT NULL COMMENT 'JSON', priority_score TINYINT UNSIGNED DEFAULT 0, priority_tier VARCHAR(20) DEFAULT '', geo_score TINYINT UNSIGNED NULL, resolved_by_fix_id BIGINT UNSIGNED NULL, detected_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY idx_post_id (post_id), KEY idx_status (status), KEY idx_severity (severity), KEY idx_issue_type (issue_type), KEY idx_priority (priority_score), KEY idx_post_status (post_id, status) ) $charset_collate;\"; // Table: wp_autoseo_fixes $sql_fixes = \"CREATE TABLE wp_autoseo_fixes ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, post_id BIGINT UNSIGNED NOT NULL, field_name VARCHAR(100) NOT NULL, original_value LONGTEXT NULL, new_value LONGTEXT NULL, fix_type ENUM('ai','rule','manual') DEFAULT 'ai', status ENUM('pending','applied','rejected','rolled_back') DEFAULT 'pending', pre_fix_position DECIMAL(6,2) NULL, pre_fix_impressions INT NULL, pre_fix_clicks INT NULL, pre_fix_ctr DECIMAL(5,4) NULL, post_fix_position_7d DECIMAL(6,2) NULL, post_fix_impressions_7d INT NULL, post_fix_clicks_7d INT NULL, post_fix_ctr_7d DECIMAL(5,4) NULL, post_fix_position_14d DECIMAL(6,2) NULL, post_fix_impressions_14d INT NULL, post_fix_clicks_14d INT NULL, post_fix_ctr_14d DECIMAL(5,4) NULL, impact_score TINYINT UNSIGNED NULL, impact_measured_at DATETIME NULL, applied_at DATETIME NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY idx_post_id (post_id), KEY idx_status (status), KEY idx_created_at (created_at) ) $charset_collate;\"; // Table: wp_autoseo_snapshots $sql_snapshots = \"CREATE TABLE wp_autoseo_snapshots ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, post_id BIGINT UNSIGNED NOT NULL, snapshot_data LONGTEXT NOT NULL COMMENT 'JSON', created_at DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY idx_post_id (post_id) ) $charset_collate;\"; // Table: wp_autoseo_audit_runs $sql_audit_runs = \"CREATE TABLE wp_autoseo_audit_runs ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, started_at DATETIME DEFAULT CURRENT_TIMESTAMP, completed_at DATETIME NULL, posts_scanned INT UNSIGNED DEFAULT 0, issues_found INT UNSIGNED DEFAULT 0, fixes_applied INT UNSIGNED DEFAULT 0, fixes_generated INT UNSIGNED DEFAULT 0, fixes_queued INT UNSIGNED DEFAULT 0, pages_skipped_low_priority INT UNSIGNED DEFAULT 0, pages_skipped_cwv INT UNSIGNED DEFAULT 0, status ENUM('running','completed','failed') DEFAULT 'running', run_type ENUM('manual','scheduled','autonomous') DEFAULT 'manual', run_log LONGTEXT NULL COMMENT 'JSON array of step log entries', PRIMARY KEY (id), KEY idx_status (status), KEY idx_started_at (started_at) ) $charset_collate;\"; dbDelta( $sql_issues );","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"post_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"issue_type","type":"VARCHAR(50)","nullable":false,"primary_key":false},{"name":"severity","type":"ENUM('critical','major','minor')","nullable":true,"primary_key":false},{"name":"status","type":"ENUM('open','fixed','ignored')","nullable":true,"primary_key":false},{"name":"details","type":"LONGTEXT","nullable":true,"primary_key":false},{"name":"priority_score","type":"TINYINT UNSIGNED","nullable":true,"primary_key":false},{"name":"priority_tier","type":"VARCHAR(20)","nullable":true,"primary_key":false},{"name":"geo_score","type":"TINYINT UNSIGNED","nullable":true,"primary_key":false},{"name":"resolved_by_fix_id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"detected_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"updated_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"post_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"field_name","type":"VARCHAR(100)","nullable":false,"primary_key":false},{"name":"original_value","type":"LONGTEXT","nullable":true,"primary_key":false},{"name":"new_value","type":"LONGTEXT","nullable":true,"primary_key":false},{"name":"fix_type","type":"ENUM('ai','rule','manual')","nullable":true,"primary_key":false},{"name":"status","type":"ENUM('pending','applied','rejected','rolled_back')","nullable":true,"primary_key":false},{"name":"pre_fix_position","type":"DECIMAL(6,2)","nullable":true,"primary_key":false},{"name":"pre_fix_impressions","type":"INT","nullable":true,"primary_key":false},{"name":"pre_fix_clicks","type":"INT","nullable":true,"primary_key":false},{"name":"pre_fix_ctr","type":"DECIMAL(5,4)","nullable":true,"primary_key":false},{"name":"post_fix_position_7d","type":"DECIMAL(6,2)","nullable":true,"primary_key":false},{"name":"post_fix_impressions_7d","type":"INT","nullable":true,"primary_key":false},{"name":"post_fix_clicks_7d","type":"INT","nullable":true,"primary_key":false},{"name":"post_fix_ctr_7d","type":"DECIMAL(5,4)","nullable":true,"primary_key":false},{"name":"post_fix_position_14d","type":"DECIMAL(6,2)","nullable":true,"primary_key":false},{"name":"post_fix_impressions_14d","type":"INT","nullable":true,"primary_key":false},{"name":"post_fix_clicks_14d","type":"INT","nullable":true,"primary_key":false},{"name":"post_fix_ctr_14d","type":"DECIMAL(5,4)","nullable":true,"primary_key":false},{"name":"impact_score","type":"TINYINT UNSIGNED","nullable":true,"primary_key":false},{"name":"impact_measured_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"applied_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"post_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"snapshot_data","type":"LONGTEXT","nullable":false,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"started_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"completed_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"posts_scanned","type":"INT UNSIGNED","nullable":true,"primary_key":false},{"name":"issues_found","type":"INT UNSIGNED","nullable":true,"primary_key":false},{"name":"fixes_applied","type":"INT UNSIGNED","nullable":true,"primary_key":false},{"name":"fixes_generated","type":"INT UNSIGNED","nullable":true,"primary_key":false},{"name":"fixes_queued","type":"INT UNSIGNED","nullable":true,"primary_key":false},{"name":"pages_skipped_low_priority","type":"INT UNSIGNED","nullable":true,"primary_key":false},{"name":"pages_skipped_cwv","type":"INT UNSIGNED","nullable":true,"primary_key":false},{"name":"status","type":"ENUM('running','completed','failed')","nullable":true,"primary_key":false},{"name":"run_type","type":"ENUM('manual','scheduled','autonomous')","nullable":true,"primary_key":false},{"name":"run_log","type":"LONGTEXT","nullable":true,"primary_key":false}],"plugin":{"slug":"thememiles-seo-agent","name":"ThemeMiles SEO Agent","active_installs":0,"version":"1.0.4","wp_org_url":"https://wordpress.org/plugins/thememiles-seo-agent/"}}