Manual:generateSitemap.php
MediaWiki file: generateSitemap.php | |
---|---|
Location: | maintenance/ |
Source code: | master • 1.30.0 • 1.29.2 |
Classes: | GenerateSitemap |
Details[edit]
generateSitemap.php file is a maintenance script 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.
For generic instructions on using MediaWiki's maintenance scripts, see Manual:Maintenance scripts .
Options[edit]
--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. - 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.
- 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
.
--skip-redirects
- 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[edit]
Creating a sitemap for Google Webmaster Tools:
First (in $IP, i.e. document root which is where your "LocalSettings.php" file is located):
mkdir sitemap
Then:
php maintenance/generateSitemap.php --memory-limit=50M --fspath=/path/to/examplecom/sitemap/ --identifier=examplecom --urlpath=https://www.example.com/w --server=https://www.example.com --compress=yes
This example assumes that $wgScriptPath
is set to '/w'
. Non-latin domains need use Punycode.
Related configuration parameters[edit]
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 isfalse
.
MediaWiki version: | ≥ 1.19 |
$wgSitemapNamespacesPriorities
: Custom namespace priorities for sitemaps. This should be a map of namespace IDs to priority. The default setting isfalse
.