Help:What links here

Every page has a link labeled "What links here" (or, more generally, labeled with the text in mediawiki:whatlinkshere), also called backlink.

Overview
The pages linking to and/or embedding the given page are listed. This info comes from the pagelinks table and the templatelinks table. The pages embedding the given page are marked with "inclusion"; for these pages it is not shown whether they also link to the given page. This can be seen with query.

The What links here facility can be used to see which other articles contain links to one you are interested in. To see this information, choose the what links here link while looking at any page. A list of articles which links to the specified page are displayed chronologically, from old at the top to most recently linked at the bottom.

The list of links to an article is useful in a number of ways:


 * It gives a very rough indication of how popular a page is. Pages with many links are likely to be viewed often and should therefore be of the very best quality.  Pages with few or no links may not be very popular.
 * Where the subject material of an article is unclear, the list of articles linking to it might provide useful context. For instance when presented with a stub about John Smith that gives only his date of birth and death, viewing the list of links to the article might reveal that he won a gold medal in the Olympics.
 * Facilitates proper disambiguation.

This facility works also for a page that does not exist (there may be links to it, which makes it extra useful to create it). The What links here button is also on the edit page on which one arrives when following a broken link.

To invoke a what links here&#160; list directly, use e.g. w:Special:Whatlinkshere/John Smith resulting in w:Special:Whatlinkshere/John_Smith.

Limitations and workaround
Not listed are subpages that just have an automatic link to a page.

In the case of links to sections or other anchors, the precise target is not shown. Also, there is no way to list the backlinks of a specific section/anchor only. If this is desired the section can be split off. The content can still be shown on the original page, by transcluding the new page. Alternatively, or in preparaton of splitting off, instead of creating a link to a section one can create a link to a page redirecting to the section. The list of backlinks of the full page is now sorted by exact target, though not listing the names of the target sections but the names of the redirect pages. This also makes it easier to keep the links working when changing the name of a section: only the target of the redirect page has to changed, not the source pages of the links. Note that the redirect message is at the top of the whole page, so typically not visible at the target position. This may be an advantage (the disadvantage of the redirect message cluttering the target is minimal) or a disadvantage. To see the name of the page without scrolling up, note that the browser usually shows it in the window title at the very top, while the address bar shows the name of the redirect page with the name of the section on the target page. See also Help:Section linking and redirects (this link itself is also an example of what has been described).

Also note that if a page's links change due to a change in the template, the backlinks for that page are not updated immediately, but via the job queue.

Redirects
The backlinks feature shows which backlinks are redirects.

The backlinks of the redirect are also shown, and if they include a redirect, the backlinks of that also (not more).

This makes it a useful tool for finding double redirects, which do not work, and, except in special applications (see below) can better be replaced by redirects to the final target.

Cases of inclusion
Whether there is a link from A to C is relevant for backlinks as well as Related changes. If C does not exist, only backlinks are applicable.


 * Inclusion is listed as such.
 * A link from A to C counts as such even if the link is not explicit in the wikitext of A, but due to the inclusion of B, which links to C.
 * If A calls B and there is a link in B to C within noinclude tags then B links to C, but A does not.
 * If A calls B and there is a link in B to C within includeonly tags then A links to C, but B does not.
 * If A calls B and B links to a page C that depends on a variable or parameter, then:
 * The question whether A links to C depends on the value of the variable on page A, or the parameter with which A calls B.
 * The question whether B links to C depends on the value of the variable on page B; in the case of a parameter, considered from page B, the page may e.g. not call a valid page name (because it calls one with a name with braces), so B does not link to any valid C, or a name depending on the default value of the parameter.

Thus a link from A to C may be due to the inclusion of B, even when B, considered by itself, does not link to C. Thus, to find out what templates cause pages to link to C, it is not sufficient to check for templates in the backlinks of C.

If some pages link to C due to the inclusion of B, it is more convenient if B is in the list of backlinks of C. One can assure this by putting an appropriate example of usage of B on page B, inside noinclude tags (B includes B, but without recursion).

Otherwise a page like B, which causes pages which include B to link to C, can only be found by looking for pages which directly or indirectly are included in these backlink pages of C.

Examples:
 * Template:H:f calls Template:h:f . Considered by itself that is the unused Template:H:f Template ,
 * This page Help:What links here links through Template:H:f to Template:H:f Help, . This page is therefore a backlink of the latter, but Template:H:f is not listed.

Even without a template name depending on a variable or parameter, if page A links to page C due to the inclusion of template B1 which redirects to B2, which links to C, A is in the list of backlinks of C but B1 is not.

Summarizing, for the purpose of backlinks and Related changes, A links to C if there is, in that order, a chain of template calls, a single redirect, template calls, a single redirect, etc., template calls, and a chain of redirects.

If a page is conditionally embedded through #if, #ifeq, #ifexist, #ifexpr, or #switch, it is counted as embedded, even if the condition is not fulfilled

If on page A the name of an embedded page is time-dependent, e.g., currently giving , the "What links here" list of one of the possibly embedded pages shows page A: the current one, or, depending on caching issues, perhaps an older one.

Thus, although the same functionality is obtained with, these methods differ in whether the seven templates all count as embedded, or just one.

In the case of an image, using it in a page is listed in the third section of the image description page, but not in "What links here" of that page

User styles
The page body has selector body.page-Special_Whatlinkshere, so we can e.g. use the CSS body.page-Special_Whatlinkshere ul { list-style: decimal } to number the backlinks.

Order; query
Comparison with Query and Query:

Compare Special:Whatlinkshere/Template:T with http://meta.wikimedia.org/w/query.php?what=backlinks|embeddedin&titles=template:t&bllimit=500&eilimit=500&blfilter=all&eifilter=all

Differences demonstrated:
 * Query sorts by function first (backlinks and inclusions), then by page id, "what links here" sorts by page id.
 * Query distinguishes between B being only included in A, and B also being linked from A.
 * Query does not indicate which backlinks are redirects, and does not include their backlinks.
 * Query provides page ids.

Another difference:
 * Query allows restriction to a specified namespace.

using Extension:DynamicPageList, produces backlinks sorted in alphabetic order. Other sorting options are also available.

In-page list of backlinks
With the extension Semantic MediaWiki (SMW) links are categorized by specifying relations. For a given relation the backlinks of a page can be produced in-page. A series of queries, one for each relation (which seems cumbersome but can be put in a template like ), provides an in-page list of backlinks sorted by relation. Moreover, forward links and attributes of the resulting pages can also be provided, and also backlinks of backlinks.

See also Help:Embed_page.