Jump to content

Extension:AutoSitemap/zh

From mediawiki.org
This page is a translated version of the page Extension:AutoSitemap and the translation is 2% complete.
MediaWiki扩展手册
AutoSitemap
发行状态: 稳定版
实现 MyWiki , 页面操作
描述 Creates and updates a Sitemap file automatically while any site's page is changing.
作者 Dolfinus, François Boutines-Vignard, Jehy, Thomas
最新版本 1.8.2 (2024-10-29)
MediaWiki 1.28+
数据库更改
许可协议 GNU通用公眾授權條款3.0或更新版本
下載
README
示例 Generated sitemap
$wgAutoSitemap

The AutoSitemap extension automatically builds a "sitemap.xml" file at every page create/edit/delete event. Sitemap file helps search engines to observe your site’s pages. This extension is based on the extension ManualSitemap .

Rationale

I do not have the possibility to update my sitemap via scheduler (like cron) because of the hosting provider, and I also do not 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.

Note

This extension can be used on small MediaWiki instances (up to 10k pages). If your instance is larger than 50k pages, you should use GenerateSitemap.php instead because it does support sitemap index file, can create separated files for each namespace, compress sitemap files and also designed to be run on schedule instead of triggering after each page modification.

Install

  • 下载文件,并将其放置在您extensions/文件夹中的AutoSitemap目录内。
  • 将下列代码放置在您的LocalSettings.php 的底部:
    wfLoadExtension( 'AutoSitemap' );
    
  • Make any change of any of your wiki pages, e.g. create a page or update an existing one
  • Sitemap file will be generated automatically
  • Yes 完成 – 在您的wiki上导航至Special:Version,以验证已成功安装扩展。

Configure

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

Filename

You can set filename of sitemap by setting:

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

Setting base URL

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";

Exclude types of pages from sitemap

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_FILE_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'];

If you need to exclude custom namespace from sitemap, pass here namespace ID (integer) instead of name constant.


Set page update frequency

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 priority

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;

Rate-limit recreation of the sitemap

For wikis with many pages, generating the sitemap may consume significant resources, so you may not want it to happen too frequently. With this option, you can specify that the sitemap should only be recreated if it's at least a certain number of seconds old.

$wgAutoSitemap["min_age"] = 3600; // 1 hour, default 0 (no rate-limit)

Use

Blank page after installing extension

Please follow 手册:如何调试 instruction to get exception message interrupting page render process. Usually this is caused by passing undefined constant to $wgAutoSitemap["exclude_namespaces"].

Permissions

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

Htaccess, Nginx

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

See also