Open main menu

Extension:AutoSitemap

MediaWiki extensions manual
OOjs UI icon advanced.svg
AutoSitemap
Release status: stable
Implementation MyWiki , Page action
Description Creates and updates a Sitemap file automatically while any site's page is changing.
Author(s) Dolfinus, François Boutines-Vignard, Jehy, Thomas
Latest version 1.3 (2019-07-09)
MediaWiki 1.25+
Database changes No
License GNU General Public License 3.0 or later
Download Download snapshot
README
Example Generated sitemap
$wgAutoSitemap
Translate the AutoSitemap extension if it is available at translatewiki.net
Check usage and version matrix.

Contents

DisclaimerEdit

This extension is based on Extension:ManualSitemap. I don't have the possibility to update my sitemap via cron because of the hosting provider, and I also don't want to update it manually. So I edited an existing extension to update the sitemap by itself at any page edit, create, delete, rename, upload, etc events.

DescriptionEdit

AutoSitemap is MediaWiki extension that automatically builds sitemap.xml file at every page create/edit/delete event. Sitemap file helps search engines to observe your site’s pages.

InstallEdit

  • Download and place the file(s) in a directory called AutoSitemap in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    wfLoadExtension( 'AutoSitemap' );
    
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

ConfigureEdit

There are some optional parameters that change the sitemap generation. You can set them in your LocalSettings.php.

FilenameEdit

You can set filename of sitemap by setting:

$wgAutoSitemap["filename"] = "sitemap.xml"; //default value

Setting base urlEdit

By default all URLs in sitemap use $wgCanonicalServer (or $wgServer, if it doesn’t set) as domain prefix. If you want to set it to another one, you can change it manually by setting:

$wgAutoSitemap["server"] = "https://your-site.com";

Search engines notificationEdit

You can notify web sites you want about the update of sitemap. Just write all notify URLs as array:

$wgAutoSitemap["notify"] = [
    'https://www.google.com/webmasters/sitemaps/ping?sitemap=https://your-site.com/sitemap.xml',
    'https://www.bing.com/webmaster/ping.aspx?sitemap=https://your-site.com/sitemap.xml'
];

Sometimes web hoster does not allow the fopen command to call URLs (allow_url_fopen=false). If you can’t or doesn’t want to use notification, set this to empty array by deleting all lines between brackets (= [];).

Exclude types of pages from sitemapEdit

You can exclude namespaces or exact pages from including them to sitemap:

$wgAutoSitemap["exclude_namespaces"] = [
    NS_TALK,
    NS_USER,   
    NS_USER_TALK,
    NS_PROJECT_TALK,
    NS_IMAGE_TALK,
    NS_MEDIAWIKI,   
    NS_MEDIAWIKI_TALK,
    NS_TEMPLATE,
    NS_TEMPLATE_TALK,
    NS_HELP,   
    NS_HELP_TALK,
    NS_CATEGORY_TALK
]; //default values

$wgAutoSitemap["exclude_pages"] = ['page title to exclude', 'other one'];

Set page update frequencyEdit

You can manually specify the recommended frequency with which all addresses will be checked by search engine:

$wgAutoSitemap["freq"] = "daily"; //default

Available values are:

hourly
daily
weekly
monthly
yearly
adjust - for automatic determination of frequency based on page edits count

Set page priorityEdit

You can manually specify priority for certain pages or namespaces:

$wgAutoSitemap["priority"] = 0.7;

or

$wgAutoSitemap["priority"][NS_MAIN] = 1;
$wgAutoSitemap["priority"][NS_CATEGORY] = 0.8;

or

$wgAutoSitemap["priority"]['Main page'] = 1;
$wgAutoSitemap["priority"]['Other page'] = 0.8;

UseEdit

PermissionsEdit

Your MediaWiki folder should be permitted for write operations (chmod +w with chown apache or chown nginx).

Htaccess, NginxEdit

If you want to see a human-readable sitemap, allow read access for sitemap.xsl file in your site config (.htacces file or other).

See alsoEdit