Help:Interwiki linking

MediaWiki Handbook: Contents, Readers, Editors, Moderators, System admins +/-

By adding a prefix to another project, internal link style ("prefixed internal link style") can be used to link to a page of another project. For example, [[wikipedia:InterWiki]] links to the InterWiki article on the English Wikipedia. This is called interwiki. For each project, an interwiki map (a list of target projects with their prefixes) is specified (example). These target projects need not use MediaWiki and need not even be a wiki.

New PP: check Special:ParserDiffTest/Help:Interwiki linking.

Contents

Interwiki linking from and within Wikimedia

Within Wikimedia, for the purpose of interlanguage linkshttp://en.wikipedia.org/wiki/Wikipedia:Interlanguage links (see below) the project families are Wikipedia, Wiktionary, Wikiquote, Wikibooks and Wikisource. Thus this applies for a link like en:, de:, etc., from a Wikipedia to another one, from a Wiktionary to another one, from a Wikiquote to another one, from a Wikibooks to another one or from a Wikisource to another one.

The interlanguage link feature works on Commons, and produces links to the Wikipedias. This is not reciprocal: a link from a Wikipedia to Commons is an in-page link.

Project titles and shortcuts

Project Long form Shortcut
Wikipedia [[wikipedia:]] [[w:]]
Wiktionary [[wiktionary:]] [[wikt:]]
Wikinews [[wikinews:]] [[n:]]
Wikibooks [[wikibooks:]] [[b:]]
Wikiquote [[wikiquote:]] [[q:]]
Wikisource [[wikisource:]] [[s:]]
Wikispecies [[wikispecies:]] [[species:]]
Wikiversity [[v:]]
Wikimedia Foundation [[wikimedia:]]
[[foundation:]]
Wikimedia Commons [[commons:]]
Wikimedia Meta-Wiki meta: [[m:]]
Wikimedia Incubator [[incubator:]]
MediaWiki [[mw:]]
MediaZilla [[mediazilla:]]

The long form doesn't work within the same project. The shortcut works everywhere. (That is the intention, currently it does not work on all projects.)

The Interwiki map on Meta lists many prefixes, among others [[wikipedia:]] wikipedia: for the English Wikipedia working from any Wiki supporting the Meta Interwiki map, not only from MediaWiki Wikis. Some prefixes work only with a page, e.g. wikipediawikipedia: (fails) vs. wikipediawikipedia:Interwikimedia link (works). These prefixes are case insensitive.

One-letter prefixes (as a live check on the table):  b:  m:  n:  q:  s:  w:

Non-Wikimedia interwiki codes have a limitation. They can only be used through a link. For example, the entry for "John" on Wiktionary, a Wikimedia project, can be accessed by [[wikt:John]] or http://meta.wikimedia.org/wiki/wikt:John. However, the latter method does not work for non-Wikimedia wikis. For example, the main page on the Mozilla Wiki can be accessed via [[MozillaWiki:Main Page]], but http://meta.wikimedia.org/wiki/MozillaWiki:Main_Page results in an error.

Technical

A project's own namespace prefix cannot be reused as code for an external project. However, the prefix used for a target project may coincide with the prefix for a project namespace within that project. As a result, to link to a page in that namespace, use the same prefix twice, e.g. en:Wikisource:Wikisource:Scriptorium.

For portability across projects, one may want to select a link code that leads to the same target from all projects, e.g. MetaWikipedia:wikibooks:Main Page. The "superfluous" "MetaWikipedia:" prevents "wikibooks:" being interpreted as namespace prefix when the code is used at wikibooks itself, while at Meta the "MetaWikipedia:" is ignored (it is not a namespace prefix, and even at Meta itself it is recognized as code for Meta). The codes above work from all projects. However, the existence detection and the self-link feature do not work on interwiki links.

Prefixes

Interwiki links can use prefixes for the project and/or for the language. Without prefix links are local, for pages in the same project and the same language. If only a language is given they go to a page in the same (or similar) project for the specified language:

[[:fr:]] fr:
[[:os:]] os:

If only the project is specified they typically go to the language of the source, see above. At most two prefixes are needed for pages in any existing project and any supported language:

[[s:de:Hauptseite]] s:de:Hauptseite
[[b:en:Main page]]  b:en:Main page

In the case of more than one prefix a page name has to be specified. For example, while w: and en: from Meta lead to the English Wikipedia's main page, a bare [[w:en:]] does not work: w:en:. If the language is different specifying it before the project can also work:

[[:de:q:Hauptseite]] de:q:Hauptseite
[[:en:n:Main page]]  en:n:Main page
[[n:en:Main page]]   n:en:Main page

The second example doesn't work from English Wikipedia w:en: pages, a project prefix before the language is better. More than two prefixes are generally unnecessary. The following examples should work everywhere:

[[m:Help:Help]] m:Help:Help
[[w:Interwiki]] w:Interwiki

Two prefixes can have unexpected effects, e.g. from Meta the following links end up on different pages:

[[m:en:About]]  m:en:About
[[:en:m:About]] en:m:About
[[m:About]]     m:About

In the first case Meta ignores the m:, because it's local, and then interprets en: as w:en: prefix for the English Wikipedia. In the second case the leading en: goes to the English Wikipedia, where the following m: goes straight back to Meta. The second example doesn't work at all from English Wikipedia w:en: pages, only the third example works everywhere.

In other words multiple prefixes are evaluated left to right by the relevant Wikimedia servers (project and language). For projects without different languages like Meta (because Meta is multilingual by itself) language prefixes can be handled as shorthands for w: plus the specified language:

[[:pl:2006]]   pl:2006
[[w:pl:2006]]  w:pl:2006
[[:pl:w:2006]] pl:w:2006

From Meta the first two links both arrive at the Polish 2006 page. The third arrives at the English Wikipedia, because that's how the server selected by :pl: interprets the second prefix w:.

For a portable link on that server it would be a bad idea to use w:, but :pl: does the trick. To test that effect from Meta the following links should go to the same page:

[[:ja:2006]]    ja:2006
[[:ja:ja:2006]] ja:ja:2006

A universal interwiki link, that is, one that works no matter from which Wikimedia wiki, can be written [[m:project:language:page name]] (e.g. m:b:nl:Wiskunde); this routes the parsing of the links via Meta (bug 4285).

Wikia

In Wikia, the prefix is the internal project name for some older wikis. For others, "Wikia:c:" is added in front (e.g. [[Wikia:c:psychology]] or shorter [[w:c:trains:locomotive]]). (The "c" is for "city", a legacy of Wikia's original name Wikicities.)

From Wikimedia projects use [[wikiasite:psychology]] giving wikiasite:psychology, [[wikia:trains:locomotive]] giving wikia:trains:locomotive, or, for the central Wikia, wikia:About Wikia.

Interlanguage link

For a multilingual family of similar projects, with one project per language, a system for interlanguage linking can be set up, setting $wgInterwikiMagic to true, and $wgHideInterlanguageLinks to false. If this project is in a family for which this applies, Help:Interlanguage link demo may demonstrate what is explained below (this depends on whether the same language codes are used).

An interwiki link within the family is treated differently (unless it is on a talk page of any namespace): it appears at one or two edges of the webpage (left in Monobook, and top and bottom in Classic). The link label depends only on the sister project that is linked to, not on the linked page. The label is set in the configuration of the project. Typically, it is the name of the language written in that language. The target is only shown in the status bar, depending on the browser (oddly, there is not even a hover box).

Thus, interlanguage link is mainly suitable for linking to the corresponding page in another language. It is not suitable for multiple links of the same other language. See Interlanguage use case for a discussion of common troubles with this system and other possible implementations.

The feature can also be used on an image description page to link to the same or a similar image in a sister project. Other interwiki links to images require the prefixed colon.

Note that, if a page may be used as a template (even if it is not in the template namespace), it should note its interlanguage links between <noinclude> and </noinclude>. This is the same idea as for categories. Comparison:

  1. [[:en:link]] or [[:category:name]] are ordinary links.
  2. [[m:en:link]] or [[m:category:name]] are Interwiki links, see above.
  3. [[category:name]] without leading colon adds a category to the page.
    [[en:link]] without leading colon adds an interlanguage link to the page.
  4. <noinclude>[[category:name]]</noinclude> limited to actual page.
    <noinclude>[[en:link]]</noinclude> ditto limited to actual page.

For projects like Meta a missing leading colon has no effect, Meta doesn't support Interlanguage links. For Wikipedia and similar projects it's a major difference.

The mutual order of interlanguage links is preserved, but otherwise the positions within the wikitext are immaterial, again the same rule as for categories. Usually they are put at the end. With section editing they appear in the preview if they are in the section being edited.

A link to the project itself (hence also a link to the page itself), even if referred to with the project prefix, appears in-page.

Suppose that we have pages de:Zug, en:Train, fr:Train then we need:

Thus there is no possibility of simply copying each list, let alone of using a template, as can be done if different languages share one project, with or without separate namespaces, see e.g.:

In-page interlanguage links

To make an interlanguage link in-page, prefix a colon (e.g. [[:en:wiki|wiki]]). This can e.g. be useful to link to a page in another language if no local version is available. See also some example templates for conveniently making such links:

Interlanguage link in the wider sense

An interlanguage link in the wider sense includes a link to a corresponding page in another language which, for the software, is a regular link, as opposed to one employing the special interlanguage link feature as described above. This can also be an internal link on a multilingual project, e.g. on Meta:

Possible reasons for using an "interlanguage link" in the page body include:

  • control over position
  • control over label
  • the target contains an anchor

Interwiki links versus external links

Disadvantages of interwiki links:

  • the wikitext is less portable across wikis, because wikis do not always have an interwiki prefix for the same sites, and even if they do, the prefixes may differ
  • there is no feature to find interwiki links, while searching for an external link can be done with Special:Linksearch (if installed). This is due to the fact that, while there is an externallinks table, there is no such thing for interwiki links (the interwiki table only stores the interwiki prefixes with their targets as function of the parameter, not the instances of the links). Using the general text search to search for interwiki links is more work for the server, and therefore it may be slow, or not up-to-date, or in busy hours disabled. See also Finding external links to a page.

Using templates like template:h:mlw ( talk edit history links ), the advantages of interwiki links and external links are combined. When a page using this template, which is in this case used for links to the English Wikipedia, is copied to that site, a template with the same name is needed there too. Due to that template, w:template:h:mlw ( talk edit history links ), which redirects to w:template:h:ml ( talk edit history links ), the interwiki links are automatically converted to internal links. Hence they provide existence detection, and allow use of "What links here" as well as Linksearch.

Comparison:

  • ''[[imdbtitle:0389790|Bee Movie]]'' gives Bee Movie
  • ''[http://www.imdb.com/title/tt0389790 Bee Movie]'' gives Bee Movie

Linksearch works for the latter only.

The applicable CSS classes are "extiw" and "external text". The choice may be governed by this, either way, for uniformity or distinction. An interwiki link is easier to type by itself, but if one goes to the webpage anyway before putting the link, copying the URL is very convenient. When a template is created, e.g. w:template:imdb title ( talk edit history links ), the template can be made such that it uses an interwiki link, and a parameter like "tt0389790" or "0389790", or that it uses an external link, and a parameter like one of those or the full url if that if more convenient.

Interwiki links to the same wiki versus internal links

Disadvantages of interwiki links to the same wiki, compared to internal links:

  • no existence detection
  • "What links here" works for internal links only

Advantages of interwiki links to the same wiki, compared to internal links:

  • better portability across wikis, provided that the same prefix applies, and is not equal to a namespace name

Using templates like template:h:ml ( talk edit history links ), the advantages of internal links, interwiki links and external links are combined (with respect to portability: provided that a template with the same name and adapted content is present on the other site).

See also


+/-

Links to other help pages

Help contents | search (all help pages)
Meta | Wikinews | Wikipedia | Wikiquote | Wikiversity | Wiktionary | commons: | mw: | b: | s:
Versions of this help page (for other languages see below)
Meta | Wikinews | Wikipediahttp://en.wikipedia.org/page/Help:Interwiki_linking | Wikiquote | Wiktionary
Links to this page from Meta (int) Meta (ext) Wikipedia MediaWiki
Reading
Go | Search | Stop words | URL | Namespace | Page name | Section
Backlinks | Link | Piped link | Interwiki link | Redirect | Category | Image page
Logging in and preferences
Logging in | Preferences | User style
Editing
Advanced editing | Editing FAQ | Edit toolbar | Export | Import
Editing shortcuts
Tracking changes
Recent changes (enhanced) | Related changes | Watching pages | Diff
Page history | Edit summary | User contributions | Minor edit | Patrolled edit
Style & formatting
Wikitext examples | Reference card
HTML in wikitext | HTML elements
List | Table | Sorting
Mathematical symbols on English Wikipedia
Special input and output
Inputbox | Special characters | Displaying a formula | Images and other uploaded files | EasyTimeline
Advanced functioning
Template | Advanced templates | Parser function | ParserFunctions | Parameter default | Variable | Magic word | System message | Substitution
Array | Calculation
Page management
Starting a new page | Renaming (moving) a page | Maintenance | Merging and moving pages | Protecting pages
Resolving disputes | Deleting a page
Special pages
Talk page | Testing | Sandbox
Lists of resources
Lists of Categories | Copyrights | Infobox
Redirect | Reference Desk | Shortcuts | Stub types