[ 'required' => true, 'type' => 'string', ], ]; register_rest_route('seo-cro/v1', '/analyze', [ 'methods' => 'POST', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'analyze'], 'permission_callback' => $permission_callback, 'args' => $route_args, ]); register_rest_route('seo-cro/v1', '/analyze-seo', [ 'methods' => 'POST', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'analyze_seo'], 'permission_callback' => $permission_callback, 'args' => $route_args, ]); register_rest_route('seo-cro/v1', '/analyze-performance', [ 'methods' => 'POST', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'analyze_performance'], 'permission_callback' => $permission_callback, 'args' => $route_args, ]); register_rest_route('seo-cro/v1', '/robots', [ 'methods' => 'GET', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'get_robots_status'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/robots/repair', [ 'methods' => 'POST', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'repair_robots_txt'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/robots/save', [ 'methods' => 'POST', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'save_robots_txt'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/fixes/internal-nofollow', [ 'methods' => 'GET', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'get_internal_nofollow_status'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/fixes/internal-nofollow', [ 'methods' => 'POST', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'fix_internal_nofollow'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/fixes/automatic-internal-links', [ 'methods' => 'GET', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'get_automatic_internal_link_repair_status'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/fixes/automatic-internal-links', [ 'methods' => 'POST', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'update_automatic_internal_link_repair'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/fixes/sitemap', [ 'methods' => 'GET', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'get_sitemap_status'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/fixes/sitemap', [ 'methods' => 'POST', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'generate_sitemap'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/fixes/llms-txt', [ 'methods' => 'GET', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'get_llms_txt_status'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/fixes/llms-txt', [ 'methods' => 'POST', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'generate_llms_txt'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/fixes/canonical', [ 'methods' => 'GET', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'get_canonical_status'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/fixes/canonical', [ 'methods' => 'POST', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'update_canonical_fix'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/fixes/force-https', [ 'methods' => 'GET', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'get_force_https_status'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/fixes/force-https', [ 'methods' => 'POST', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'update_force_https'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/seokey/validate', [ 'methods' => 'POST', 'callback' => ['AI_SEO_CRO_Analyze_Controller', 'validate_seokey'], 'permission_callback' => $permission_callback, ]); // Scan API proxy routes register_rest_route('seo-cro/v1', '/scans', [ 'methods' => 'POST', 'callback' => ['AI_SEO_CRO_Scan_Controller', 'start_scan'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/scans', [ 'methods' => 'GET', 'callback' => ['AI_SEO_CRO_Scan_Controller', 'list_scans'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/scans/history', [ 'methods' => 'GET', 'callback' => ['AI_SEO_CRO_Scan_Controller', 'get_scan_history'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/scans/(?P[^/]+)', [ 'methods' => 'GET', 'callback' => ['AI_SEO_CRO_Scan_Controller', 'get_scan'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/scans/(?P[^/]+)', [ 'methods' => 'DELETE', 'callback' => ['AI_SEO_CRO_Scan_Controller', 'delete_scan'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/scans/(?P[^/]+)/report', [ 'methods' => 'GET', 'callback' => ['AI_SEO_CRO_Scan_Controller', 'get_report'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/scans/(?P[^/]+)/report-html', [ 'methods' => 'GET', 'callback' => ['AI_SEO_CRO_Scan_Controller', 'get_report_html'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/scans/(?P[^/]+)/export', [ 'methods' => 'GET', 'callback' => ['AI_SEO_CRO_Scan_Controller', 'export_scan'], 'permission_callback' => $permission_callback, ]); register_rest_route('seo-cro/v1', '/scans/(?P[^/]+)/save-export', [ 'methods' => 'POST', 'callback' => ['AI_SEO_CRO_Scan_Controller', 'save_export'], 'permission_callback' => $permission_callback, ]); });