render_layout_open('XML Sitemap', 'xml_sitemap', 'Manage your XML sitemap settings and status.'); ?>

Sitemap Status

Monitor your sitemap generation and status.

get_sitemap_files(); $sitemap_count = count($sitemap_files); // Check news/video sitemap status $news_sm_enabled = !empty($news_settings['enabled']); $video_sm_enabled = !empty($video_settings['enabled']); $news_sm_exists = false !== get_transient('metasync_vsm_' . md5('news-sitemap.xml')) || file_exists(ABSPATH . 'news-sitemap.xml'); $video_sm_exists = false !== get_transient('metasync_vsm_' . md5('video-sitemap.xml')) || file_exists(ABSPATH . 'video-sitemap.xml'); $extra_sitemap_count = ($news_sm_exists ? 1 : 0) + ($video_sm_exists ? 1 : 0); $total_sitemap_count = $sitemap_count + $extra_sitemap_count; // Count URLs in news/video sitemaps for total $news_url_count = 0; $video_url_count = 0; if ($news_sm_exists) { $news_xml = get_transient('metasync_vsm_' . md5('news-sitemap.xml')); if (!$news_xml && file_exists(ABSPATH . 'news-sitemap.xml')) { $news_xml = file_get_contents(ABSPATH . 'news-sitemap.xml'); } if ($news_xml) { $news_url_count = substr_count($news_xml, ''); } } if ($video_sm_exists) { $video_xml = get_transient('metasync_vsm_' . md5('video-sitemap.xml')); if (!$video_xml && file_exists(ABSPATH . 'video-sitemap.xml')) { $video_xml = file_get_contents(ABSPATH . 'video-sitemap.xml'); } if ($video_xml) { $video_url_count = substr_count($video_xml, ''); } } $total_url_count = $url_count + $news_url_count + $video_url_count; ?>
Status
is_virtual_mode()): ?> (Virtual)
Total URLs
Sitemap Files
Auto-Update
Last Generated
Sitemap Index URL:

Submit this URL to Google Search Console for indexing.

Other Sitemap Plugins Detected:

is active. This plugin's sitemap will be automatically disabled when you generate the sitemap below. are active. These plugins' sitemaps will be automatically disabled when you generate the sitemap below.

Sitemap Actions

Generate or manage your XML sitemap with the controls below.

get_urls_per_sitemap(); if (!empty($active_sitemap_plugins)): ?> Creates sitemap files (split into URLs each) and disables conflicting sitemaps. Creates sitemap index and individual sitemap files (split into URLs each).

Currently enabled - sitemap updates automatically when posts change.

Automatically regenerate sitemap when posts are created or updated.

Permanently delete all sitemap files from your server.

Re-enable sitemap generation from .

Import from SEO Plugins

Import sitemap settings from other SEO plugins like Yoast, Rank Math, or AIOSEO.

Sitemap Files

Your sitemap has file 1 ? 's' : ''; ?> — main (up to get_urls_per_sitemap()); ?> URLs each).

get_urls_per_sitemap(); $total_urls = $url_count; foreach ($sitemap_files as $index => $sitemap_file): // Calculate URLs in this file $start_url = ($index * $urls_per_file) + 1; $end_url = min(($index + 1) * $urls_per_file, $total_urls); $urls_in_file = $end_url - $start_url + 1; ?>
URLs -
View
news-sitemap.xml
View
video-sitemap.xml
View

Sitemap Index Preview

Preview the sitemap index file that references all individual sitemaps.

sitemap_index.xml View Sitemap Index
get_sitemap_content();
                        if ($content) {
                            $lines = explode("\n", $content);
                            $preview_lines = array_slice($lines, 0, 50);
                            echo esc_html(implode("\n", $preview_lines));
                            if (count($lines) > 50) {
                                echo "\n... [" . (count($lines) - 50) . " more lines]";
                            }
                        } else {
                            echo "Unable to read sitemap index content.";
                        }
                    ?>
get_conflict_notices(); $news_has_content = false !== get_transient('metasync_vsm_' . md5('news-sitemap.xml')) || file_exists(ABSPATH . 'news-sitemap.xml'); ?>

📄
🔗

⚠ ' . esc_html($notice) . '

'; } ?>

true], 'objects'); $filtered_pts = []; foreach ($public_post_types as $pt) { if ($pt->name !== 'attachment') $filtered_pts[] = $pt; } $selected_post_types = isset($news_settings['post_types']) ? (array) $news_settings['post_types'] : ['post']; $pts_scrollable = count($filtered_pts) > 10; if ($pts_scrollable) : ?>

false]); ?> () 10; if ($cats_scrollable) : ?>

false]); ?> () 10; if ($tags_scrollable) : ?>

get_conflict_notices(); $video_has_content = false !== get_transient('metasync_vsm_' . md5('video-sitemap.xml')) || file_exists(ABSPATH . 'video-sitemap.xml'); ?>

📄
🔗

⚠ ' . esc_html($notice) . '

'; } ?>

true], 'objects'); $vid_filtered_pts = []; foreach ($public_post_types as $pt) { if ($pt->name !== 'attachment') $vid_filtered_pts[] = $pt; } $selected_video_pts = isset($video_settings['post_types']) ? (array) $video_settings['post_types'] : ['post', 'page']; $vid_pts_scrollable = count($vid_filtered_pts) > 10; if ($vid_pts_scrollable) : ?>

render_layout_close(); ?>