{"id":381102,"date":"2026-10-05T22:52:48","date_gmt":"2026-10-05T22:52:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/gmcfuerte-xml-sitemap\/"},"modified":"2026-10-05T22:52:19","modified_gmt":"2026-10-05T22:52:19","slug":"gmcfuerte-xml-sitemap","status":"publish","type":"plugin","link":"https:\/\/ru.wordpress.org\/plugins\/gmcfuerte-xml-sitemap\/","author":10408525,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.4","stable_tag":"1.0.4","tested":"7.1.3","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"Gmcfuerte XML Sitemap","header_author":"gmcfuerte","header_description":"XML sitemap with the parts WordPress core leaves out: image, video and Google News sitemaps, hreflang alternates, changefreq and priority, served at \/sitemap.xml.","assets_banners_color":"","last_updated":"2026-10-05 22:52:19","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/gmcfuerte-xml-sitemap\/","header_author_uri":"https:\/\/profiles.wordpress.org\/gmcfuerte\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":210,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.4":{"tag":"1.0.4","author":"gmcfuerte","date":"2026-10-05 22:52:19","revision":3729746}},"upgrade_notice":{"1.0.4":"<p>Fixes a fatal error on post save and on every sitemap request. Update immediately.<\/p>","1.0.3":"<p>Improves Plugin Check compatibility without changing sitemap output.<\/p>","1.0.2":"<p>Clarifies that sitemap output is generated XML, not HTML.<\/p>","1.0.1":"<p>Sanitizes conditional request headers and uses WordPress.org translation loading.<\/p>","1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.4"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The settings screen: choose what goes into the sitemap.","2":"The sitemap index, rendered with the bundled stylesheet."}},"plugin_section":[],"plugin_tags":[4865,186,1557,23216,6358],"plugin_category":[55],"plugin_contributors":[277384],"plugin_business_model":[],"class_list":["post-381102","plugin","type-plugin","status-publish","hentry","plugin_tags-image-sitemap","plugin_tags-seo","plugin_tags-sitemap","plugin_tags-video-sitemap","plugin_tags-xml-sitemap","plugin_category-seo-and-marketing","plugin_contributors-gmcfuerte","plugin_committers-gmcfuerte"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/gmcfuerte-xml-sitemap.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>WordPress has generated a sitemap since version 5.5, and for many sites that is\ngenuinely enough. This plugin is for the sites where it is not.<\/p>\n\n<p>Core's <code>\/wp-sitemap.xml<\/code> lists posts, pages, public custom post types,\ncategories, tags and author archives, and gives each entry a <code>&lt;loc&gt;<\/code> and a\n    . That is the whole of it. Core implements none of the sitemap\nextensions, so if you need search engines to see your images, your videos or\nyour news content as such, core cannot express it.<\/p>\n\n<p>This plugin serves <code>\/sitemap.xml<\/code> and adds exactly the parts core leaves out:<\/p>\n\n<h4>What this adds that WordPress core does not<\/h4>\n\n<ul>\n<li><strong>Image sitemap<\/strong> \u2014 <code>&lt;image:image&gt;<\/code> entries for the images in your content, so\nGoogle Images has a URL list instead of having to discover them by crawling.\nCore has no image sitemap at all.<\/li>\n<li><strong>Video sitemap<\/strong> \u2014 <code>&lt;video:video&gt;<\/code> entries with thumbnail, title, description\nand player URL for embedded and self-hosted video. The post's featured image\nis the thumbnail, and Google rejects a video entry that has none, so posts\nwithout a featured image are left out. Core has no video sitemap.<\/li>\n<li><strong>Google News sitemap<\/strong> \u2014 a <code>&lt;news:news&gt;<\/code> sitemap of the last 48 hours, up to\n1,000 posts, in the shape Google News expects. Core has no news sitemap.<\/li>\n<li><strong>hreflang alternates<\/strong> \u2014 <code>&lt;xhtml:link rel=\"alternate\" hreflang=\"...\"&gt;<\/code> inside\neach URL entry, for sites translated with <strong>Polylang<\/strong> or <strong>WPML<\/strong> (those two\nare what the plugin reads translations from). Core emits no alternates.<\/li>\n<li><strong><code>&lt;changefreq&gt;<\/code> and <code>&lt;priority&gt;<\/code><\/strong> \u2014 core deliberately emits neither. They\nare hints, and the major engines mostly ignore them, but some crawlers and\ninternal tools still read them.<\/li>\n<li><strong>Served at <code>\/sitemap.xml<\/code><\/strong> \u2014 the conventional path, rather than core's\n  \/wp-sitemap.xml.<\/li>\n<li><strong>Exclusions from the admin screen<\/strong> \u2014 exclude individual post IDs or whole\npost types without writing a filter.<\/li>\n<\/ul>\n\n<p>If none of the above matters to your site, core's sitemap is fine and you do\nnot need this plugin. That is a genuine recommendation, not modesty.<\/p>\n\n<h4>Privacy and network use<\/h4>\n\n<p>This plugin makes <strong>no external network requests whatsoever<\/strong>. It contacts no\nAPI, sends no telemetry, pings no search engine, checks no remote server for\nupdates, and loads no font, script or image from a third-party domain. It reads\nyour database and writes XML. Nothing leaves your server.<\/p>\n\n<p>It also writes no file anywhere outside its own plugin directory, and deletes\nno file at all \u2014 not on uninstall, not ever. Your site root is left exactly as\nit was found.<\/p>\n\n<h4>Working alongside core<\/h4>\n\n<p>Publishing two sitemaps for one site is not useful, so by default this plugin\nswitches core's <code>\/wp-sitemap.xml<\/code> off. If you would rather keep both, untick\n\"Disable the WordPress core sitemap\" in the settings.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install the plugin through <strong>Plugins \u2192 Add New<\/strong>, or upload the plugin\nfolder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate it through the <strong>Plugins<\/strong> menu.<\/li>\n<li>Go to <strong>Settings \u2192 XML Sitemap<\/strong> and choose what to include.<\/li>\n<li>Submit <code>https:\/\/your-site.tld\/sitemap.xml<\/code> in Google Search Console or Bing\nWebmaster Tools.<\/li>\n<\/ol>\n\n<p>Your sitemap is linked from <code>robots.txt<\/code> automatically.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"wordpress%20already%20makes%20a%20sitemap.%20why%20would%20i%20install%20this%3F\"><h3>WordPress already makes a sitemap. Why would I install this?<\/h3><\/dt>\n<dd><p>For image, video, news or hreflang entries, which core does not produce at all.\nIf you only need a list of your posts, pages and terms, core already does that\nand you should keep using it.<\/p><\/dd>\n<dt id=\"does%20it%20replace%20the%20core%20sitemap%3F\"><h3>Does it replace the core sitemap?<\/h3><\/dt>\n<dd><p>By default yes \u2014 it turns off <code>\/wp-sitemap.xml<\/code> so your site publishes one\nsitemap instead of two. You can turn that behaviour off in the settings and run\nboth.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20another%20seo%20plugin%20that%20also%20makes%20a%20sitemap%3F\"><h3>Does it work with another SEO plugin that also makes a sitemap?<\/h3><\/dt>\n<dd><p>Technically yes, but you should not run two sitemap generators at once. Turn\nthe other plugin's sitemap off, or this one.<\/p><\/dd>\n<dt id=\"my%20sitemap%20returns%20a%20404.\"><h3>My sitemap returns a 404.<\/h3><\/dt>\n<dd><p>Go to <strong>Settings \u2192 Permalinks<\/strong> and click Save Changes. That regenerates the\nrewrite rules. If your permalinks are set to \"Plain\", pretty sitemap URLs are\nnot available at all \u2014 the settings screen shows the query-string URL that\nworks instead.<\/p><\/dd>\n<dt id=\"does%20it%20send%20my%20data%20anywhere%3F\"><h3>Does it send my data anywhere?<\/h3><\/dt>\n<dd><p>No. The plugin makes no external requests of any kind. See \"Privacy and network\nuse\" above.<\/p><\/dd>\n<dt id=\"will%20it%20delete%20my%20existing%20sitemap.xml%20file%3F\"><h3>Will it delete my existing sitemap.xml file?<\/h3><\/dt>\n<dd><p>No. This plugin never deletes a file, and never writes one outside its own\ndirectory. If a static <code>sitemap.xml<\/code> file already exists in your site root, your\nweb server will serve that file instead of this plugin's output \u2014 delete or\nrename it yourself if you want the plugin's sitemap to take over.<\/p><\/dd>\n<dt id=\"what%20is%20the%20maximum%20number%20of%20urls%20per%20sitemap%3F\"><h3>What is the maximum number of URLs per sitemap?<\/h3><\/dt>\n<dd><p>50,000, the limit in the sitemap protocol. The content, image and video\nsitemaps split at that point into numbered files (<code>sitemap-content-2.xml<\/code> and\nso on) listed in the index. The category, tag and author sitemaps are single\nfiles and stop at the same 50,000; the news sitemap stops at 1,000, which is\nGoogle's own limit for it.<\/p><\/dd>\n<dt id=\"why%20does%20the%20index%20list%20fewer%20sitemaps%20than%20i%20switched%20on%3F\"><h3>Why does the index list fewer sitemaps than I switched on?<\/h3><\/dt>\n<dd><p>Because the index lists only the sitemaps that have something in them. Switch\nthe video sitemap on with no videos published and no <code>sitemap-videos.xml<\/code>\nappears in the index \u2014 an index entry pointing at an empty file is what makes\nSearch Console report \"Sitemap is empty\". Publish a video and it appears by\nitself, at the latest when the cache expires.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fix a fatal error when saving or deleting a post (including WordPress's own auto-drafts) and when serving any sitemap.<\/li>\n<li>Uninstall now also removes the two cache revision options the plugin stores.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Clarify intentional XML, database maintenance and WPML API usage for Plugin Check.<\/li>\n<li>Use the full plugin prefix for settings template variables.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Document the XML response as already-generated XML for output escaping review.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Sanitize conditional request headers and use WordPress.org translation loading.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Adds image, video and Google News sitemaps plus hreflang alternates - the parts of the sitemap standard WordPress core does not implement.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/381102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=381102"}],"author":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/gmcfuerte"}],"wp:attachment":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=381102"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=381102"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=381102"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=381102"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=381102"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=381102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}