Where are the options?
On Settings > Reading you can enable the XML Sitemap Index and (if needed) the Google News Sitemap. There is also an Additional robots.txt rules field.
Once a sitemap is enabled, its options can be found on Settings > XML Sitemap or on Settings > Google News.
How do I get my latest articles listed on Google News?
Since April 2024, it’s no longer possible to submit new sites to the Google News Publisher Center.
If your site is new, you can only:
Continue publishing quality content and wait for Google News to discover and distribute it.
Create quality news articles.
Submit your Google News sitemap to your Google Search Console account to check its validity and performance. Create an account if you don’t have one yet.
Can I manipulate values for Priority and Changefreq?
You can find default settings for Priority on Settings > XML Sitemap. A fixed priority can be set on a post by post basis too.
Changefreq has been dropped since version 4.9 because it is no longer taken into account by Google.
Do I need to submit the sitemap to search engines?
No. In normal circumstances, your site will be indexed by the major search engines before you know it. The search engines will be looking for a robots.txt file and (with this plugin activated) find a pointer in it to the XML Sitemap on your blog. The search engine crawlers will return on a regular basis to see if your site has updates.
But you can submit your sitemap(s) in Google Search Console account, Bing Webmaster Tools, Yandex Webmaster and Baidu Webmaster Tools to monitor your site and sitemap performance.
NOTE: If you have a server without rewrite rules, use your blog without fancy URLs (meaning, you have WordPress Permalinks set to the old default value) or have it installed in a subdirectory, then read Do I need to change my robots.txt for more instructions.
Does this plugin ping search engines?
No. Google & Bing are no longer accepting sitemap pings.
Do I need to change my robots.txt?
In normal circumstances, if you have no static robots.txt file in your site root, the new sitemap url will be automatically added to the dynamic robots.txt that is generated by WordPress.
If you use a static robots.txt file in your website root, you will need to open it in a text editor. If there is already a line with Sitemap: http://yourblogurl.tld/sitemap.xml
you can just leave it like it is. But if there is no sitemap referrence there, add it (adapted to your site url) to make search engines find your XML Sitemap.
Or if you have WP installed in a subdirectory, on a server without rewrite_rules or if you do not use fancy URLs in your Permalink structure settings. In these cases, WordPress will need a little help in getting ready for XML Sitemap indexing. Read on in the WordPress section for more.
My WordPress powered blog is installed in a subdirectory. Does that change anything?
That depends on where the index.php and .htaccess of your installation reside. If they are in the root while the rest of the WP files are installed in a subdir, so the site is accessible from your domain root, you do not have to do anything. It should work out of the box.
But if the index.php is together with your wp-config.php and all other WP files in a subdir, meaning your blog is only accessible via that subdir, you need to manage your own robots.txt file in your domain root. It has to be in the root (!) and needs a line starting with Sitemap:
followed by the full URL to the sitemap feed provided by XML Sitemap Feed plugin. Like:Sitemap: http://yourblogurl.tld/subdir/sitemap.xml
If you already have a robots.txt file with another Sitemap reference like it, just add the full line below or above it.
Do I need to use a fancy Permalink structure?
No. While I would advise you to use any one of the nicer Permalink structures for better indexing, you might not be able to (or don’t want to) do that. If so, you can still use this plugin:
Check to see if the URL yourblog.url/?feed=sitemap does produce a feed. Now manually upload your own robots.txt file to your website root containing:
`
Sitemap: http://yourblog.url/?feed=sitemap
User-agent: *
Allow: /
`
You can also choose to notify major search engines of your new XML sitemap manually. Start with getting a Google Search Console account and submit your sitemap for the first time from there to enable tracking of sitemap downloads by Google! or head over to XML-Sitemaps.com and enter your sites sitemap URL.
Can I change the sitemap name/URL?
No. If you have fancy URL’s turned ON in WordPress (Permalinks), the sitemap url is yourblogurl.tld/wp-sitemap.xml
or yourblogurl.tld/sitemap.xml
depending on the XML Sitemap Server option. But if you have the Permalink Plain option set, the XML Sitemap is only available via yourblogurl.
tld/?feed=sitemap
.
Can I run this on a WPMU / WP3+ Multi-Site / Network setup?
Yes. In fact, it has been designed for it. Tested on WPMU 2.9.2 and WPMS 3+ both with normal activation and with Network Activate / Site Wide Activate.
Troubleshooting
I see only a BLANK (white) page when opening the sitemap
There are several cases where this might happen.
Open your sitemap in a browser and look at the source code. This can usually be seen with the key combination Cmd/Ctrl+U or right click then select ‘View source…’ Then scan the produced source (if any) for errors.
A. If you see strange output in the first few lines (head tags) of the source, then there is a conflict or bug occuring on your installation. Please go to the Support forum for help.
B. If the source is empty or incomplete then you’re probably experiencing an issue with your servers PHP memory limit. In those cases, you should see a messages like PHP Fatal error: Allowed memory size of xxxxxx bytes exhausted.
in your server/account error log file.
This can happen on large sites. To avoid these issues, there is an option to split posts over different sitemaps on Settings > XML Sitemap. Try different settings, each time revisiting the main sitemap index file and open different sitemaps listed there to check.
Read more on Increasing memory allocated to PHP (try a value higher than 256M) or ask your hosting provider what you can do.
I see no sitemap.xml file in my site root!
There is no actual file created. The sitemap is dynamically generated just like a feed.
I see a sitemap.xml file in site root but it does not seem to get updated!
You are most likely looking at a sitemap.xml file that has been created by another XML Sitemap plugin before you started using this one. Remove that file and let the plugin dynamically generate it just like a feed. There will not be any actual files created.
If that’s not the case, you are probably using a caching plugin or your browser does not update to the latest feed output. Please verify.
I use a caching plugin but the sitemap is not cached
Some caching plugins have the option to switch on/off caching of feeds. Make sure it is turned on.
Frederick Townes, developer of W3 Total Cache, says: “There’s a checkbox option on the page cache settings tab to cache feeds. They will expire according to the expires field value on the browser cache setting for HTML.”
The Google News sitemap is designed to NOT be cached.
I get an ERROR when opening the sitemap or robots.txt!
The absolute first thing you need to check is your blogs privacy settings. Go to Settings > Privacy and make sure you are allowing search engines to index your site. If they are blocked, your sitemap will not be available.
Then, you might want to make sure that there is at least ONE post published. WordPress is known to send 404 status headers with feed requests when there are NO posts. Even though the plugin tries to prevent that, in some cases the wrong status header will get sent anyway and Google Search Console will report a vague message like:
We encountered an error while trying to access your Sitemap.
Please ensure your Sitemap follows our guidelines and can be
accessed at the location you provided and then resubmit.
If that did not solve the issue, check the following errors that might be encountered along with their respective solutions:
404 page instead of my sitemap.xml
Try to refresh the Permalink structure in WordPress. Go to Settings > Permalinks and re-save them. Then reload the XML Sitemap in your browser with a clean browser cache. ( Try Ctrl+R to bypass the browser cache — this works on most but not all browsers. )
404 page instead of both sitemap.xml and robots.txt
There are plugins like Event Calendar (at least v.3.2.beta2) known to mess with rewrite rules, causing problems with WordPress internal feeds and robots.txt generation and thus conflict with the XML Sitemap Feed plugin. Deactivate all plugins and see if you get a basic robots.txt file showing:User-agent: * Disallow:
Reactivate your plugins one by one to find out which one is causing the problem. Then report the bug to the plugin developer.
404 page instead of robots.txt while sitemap.xml works fine
There is a known issue with WordPress (at least up to 2.8) not generating a robots.txt when there are no posts with published status. If you use WordPress as a CMS with only pages, this will affect you.
To get around this, you might either at least write one post and give it Private status or alternatively create your own robots.txt file containing:
`
Sitemap: http://yourblog.url/sitemap.xml
User-agent: *
Allow: /
`
and upload it to your web root…
Error loading stylesheet: An unknown error has occurred
On some setups (usually using the WordPress MU Domain Mapping plugin) this error may occur. The problem is known, the cause is not… Until I find out why this is happening, please take comfort in knowing that this only affects reading the sitemap in normal browsers but will NOT affect any spidering/indexing on your site. The sitemap is still readable by all search engines!
XML declaration allowed only at the start of the document
This error occurs when blank lines or other output is generated before the start of the actual sitemap content. This can be caused by blank lines at the beginning of wp-config.php or your themes functions.php or by another plugin that generates output where it shouldn’t. You’ll need to test by disabling all other plugins, switching to the default theme and manually inspecting your wp-config.php file.