Manual:GenerateSitemap.php

Details
generateSitemap.php file is a maint-scripts>Special:MyLanguage/Manual:Maintenance scripts|maintenance script to generate a [http://www.sitemaps.org/ sitemap] for a MediaWiki installation. Sitemaps are files that make it more efficient for search engine robots (like googlebot) to crawl a website (so long as the bot supports the sitemap protocol.)

By default, the script generates a sitemap index file and one gzip-compressed sitemap for each namespace that has content. See options>Special:MyLanguage/Manual:GenerateSitemap.php#Options|#Options for a list of options that can be passed to the script.

You may need to set up a cron job to update the sitemap automatically.

For generic instructions on using MediaWiki's maintenance scripts, see .

Options
 
 * displays the available options for  

 
 * The file system path to save to, e.g . Note, this directory must be viewable online!

 
 * What site identifier to use for the wiki, defaults to 

 
 * The domain-relative URL that points to  , e.g.
 * /sitemap/
 * If specified, gets prefixed to the filenames in the sitemap index. This is needed because some search engines like Google require absolute URLs in sitemaps. You should specify  also; the values will often be similar, but having them separate allows the script to accommodate even unusual setups.

 
 * The protocol and host name to use in URLs, e.g.
 * https://en.wikipedia.org
 * This is sometimes necessary because server name detection may fail in command line scripts and will show up only as "localhost" or "my.servername" in the xml files.



 
 * Whether or not to compress the sitemap files. The default setting is  .

 
 * If this option is added redirects are skipped and thus not listed within the sitemap. This is recommended since Google can complain about redirects.  However the default setting is not to skip redirects.

Example
Creating a sitemap for Google Webmaster Tools:

First (in $IP, i.e. document root which is where your "LocalSettings.php" file is located):

Then:

This will create a sitemap index stored at /path/to/examplecom/sitemap/sitemap-index-example.com.org.xml which points to a compressed xml file for each namespace, e.g. /path/to/examplecom/sitemap/sitemap-example.com-NS_0-0.xml.gz for the article namespace.

''' This does not mean your sitemap can now be found automatically! ''' You will then need to submit the link for the sitemap index to the crawling site (eg Yandex or Google), i.e. https://www.example.com/sitemap/sitemap-index-example.com.org.xml.

Alternatively, you can make this findable by any crawler by adding a link to the sitemap index to your site root directory e.g.:

Linking a top-level sitemap.xml also works if you choose to run the Wayback Machine sitemap submitter on your own site.

Non-latin domains need to use Punycode.

Related configuration parameters

 *  : Array of namespaces to generate a Google sitemap for, or false if one is to be generated for all namespaces. The default setting is.


 *  : Custom namespace priorities for sitemaps. This should be a map of namespace IDs to priority. The default setting is.