Manual:generateSitemap.php

From MediaWiki.org
Jump to: navigation, search


generateSitemap.php is used to generate a 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 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 .

Attention: In MediaWiki 1.16.0 the sitemap generated by the script does not work with Google. You need to patch the script with this first.

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

Related settings in LocalSettings.php[edit | edit source]

MediaWiki version: 1.13

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


MediaWiki version: 1.19

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

Options[edit | edit source]

--help

displays the available options for generateSitemap.php

--fspath=<path>

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

--identifier=<identifier>

What site identifier to use for the wiki, defaults to $wgDBname

--urlpath=<prefix>

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

--server=<server>

The protocol and host name to use in URLs, e.g.
http://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.

--compress=[yes|no]

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

Example[edit | edit source]

Creating a sitemap for Google Webmaster Tools:

First (in $IP):

mkdir sitemap

Then:

php maintenance/generateSitemap.php \
   --fspath sitemap \
   --server http://mydomain.org \
   --urlpath http://mydomain.org/sitemap

That's it!

Alternative[edit | edit source]

Language: English  • polski