db_redirection); // Define sections $sections = [ 'seo_metadata' => [ 'title' => 'SEO Metadata', 'icon' => 'dashicons-admin-settings', 'desc' => 'Import SEO titles and descriptions from Yoast, Rank Math, or All in One SEO. One-click migration to preserve your search rankings.' ], 'redirections' => [ 'title' => 'Redirections', 'icon' => 'dashicons-randomize', 'desc' => 'Import 301/302 redirections and 410 content deleted rules.' ], 'sitemap' => [ 'title' => 'Sitemap Settings', 'icon' => 'dashicons-networking', 'desc' => 'Import sitemap configuration (enabled status, excluded post types).' ], 'robots' => [ 'title' => 'Robots.txt', 'icon' => 'dashicons-editor-code', 'desc' => 'Import robots.txt content.' ], 'indexation' => [ 'title' => 'Indexation Options', 'icon' => 'dashicons-visibility', 'desc' => 'Import per-post robots meta settings (noindex, nofollow, noarchive, etc.) and canonical URLs.' ], 'schema' => [ 'title' => 'Schema Settings', 'icon' => 'dashicons-layout', 'desc' => 'Import per-post schema markup (Article, FAQPage, Product, Recipe) with field mapping and variable substitution. Posts that already have schema, or whose source schema is empty or of an unsupported type, are not counted and are reported separately after import.' ] ]; // Get active tab $active_tab = isset($_GET['tab']) ? sanitize_text_field(wp_unslash($_GET['tab'])) : 'seo_metadata'; // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- read-only, allow-listed tab selection if (!array_key_exists($active_tab, $sections)) { $active_tab = 'seo_metadata'; } ?> render_layout_open('Import External Data', 'import_seo', 'Import SEO data, redirections, sitemaps, and more from other plugins.'); ?>
render_layout_close(); ?>