Help:What links here

In the toolbox of every page there is link labeled "" (or, more generally, labeled with the text in mediawiki:whatlinkshere), also called backlink.

Overview
The  facility lists the pages on the same site which link to a given page, either the pages in all namespaces, or in a specified one.

To see this information, choose the  link while looking at any page.

The pages linking to and/or embedding the given page are listed.

The list is sorted by page id, i.e., by date of creation of the page.

This info comes from the  table and the  table.

The pages embedding the given page are marked with the content of MediaWiki:Istemplate ("transclusion" or "inclusion"); for these pages it is not shown whether they also link to the given page.

This can be seen with meta>m:Query#backlinks|m:Query#backlinks.

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

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.
 * It gives a very rough indication of how popular a page is.

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.
 * Where the subject material of an article is unclear, the list of articles linking to it might provide useful context.


 * 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 </> button is also on the edit page on which one arrives when following a broken link.

Thus, for example, if film articles are linked to the actors, one can find the films an actor has played in even if there is no article about the actor.

To invoke a <tvar|whatlinkshere></> list directly, use e.g. w:Special:Whatlinkshere/John Smith

resulting in <tvar|1>w:Special:Whatlinkshere/John_Smith</>.

Limitations and workarounds
Not listed are:


 * link>Special:MyLanguage/Help:Link#Subpage feature</>|subpages that just have an automatic link to a page


 * summary>Special:MyLanguage/Help:Edit summary</>|links in edit summaries

Also listed are:


 * pages with #ifexist applied to the given page (see <tvar|bug></>)

In the case of links to sections or other anchors, the precise target is not shown.

Also, "<tvar|whatlinkshere></>" cannot list the backlinks of a specific section/anchor only. These features are provided by linksearch>Special:MyLanguage/Help:Linksearch</>|Linksearch after adding a "hidden external link".

Alternatives:

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 section>Special:MyLanguage/Help:Section#Section linking and redirects</>|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 meta>m:Help:Job queue#Updating links tables when a template changes</>|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 indented under the redirect, 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.

For listing just the redirects to e.g. w>w:Wikipedia:Be bold</>|w:Wikipedia:Be bold, use <tvar|wikipedia>http://en.wikipedia.org/w/api.php?action=query&list=backlinks&bltitle=Wikipedia:Be%20bold&blfilterredir=redirects&bllimit=500</> or <tvar|tools>http://tools.wikimedia.de/~tangotango/whatredirectshere.php?lang=nl&title=Wikipedia%3ABe+bold&subdom=en&domain=.wikipedia.org</>

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:

Considered by itself that is Template:H:f Template Related chages of Template:H:f, What links to Template:H:f Template
 * Template:H:f calls Template:h:f.

This page is therefore a backlink of the latter, but Template:H:f is not listed.
 * This page Help:What links here links through Template:H:f to Template:H:f Help Related changes of Help:What links here, What links to Template:H:f Help.

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 "<tvar|whatlinkshere></>" 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 "<tvar|whatlinkshere></>" of that page

User styles
The page body has selector body.page-Special_Whatlinkshere, so we can e.g. use the CSS <tvar|code> </> to number the backlinks.

Order; query
"<tvar|whatlinkshere></>" sorts by page id, i.e., by date of creation of the page.

Comparison with back>m:Query#backlinks</>|m:Query#backlinks and embed>m:Query#embeddedin</>|m:Query#embeddedin:

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.

A simpler extension that can embed backlinks (without all the semantic web stuff) is Dynamic Page List.

See Help:Embed page#Embedded Special Pages to just embed the Special:Whatlinkshere results.

Finding external links to a page
For a given source wiki we can find the external links to any URL with Special:Linksearch (if installed).

Thus, in particular, we can find e.g. pages on the English Wikipedia having an external link to this page or even to an old version, an edit or history page, etc. (provided that the parameter "title" comes first): .

There is no such feature for interwiki links.

This may be a reason to prefer external link style.