Help:Linksearch
This help page is a how-to guide. It explains concepts or processes used by the Wikipedia community. It is not one of Wikipedia's policies or guidelines, and may reflect varying levels of consensus. |
Linking and page manipulation |
---|
Special:Linksearch is a special page which searches for external links in Wikipedia. It provides a list of external links (in all namespaces) whose target URL starts with the given URL pattern. For each link the page in which it is found is listed, along with the exact target URL of the link on that page. The results are ordered alphabetically by target URL.
(For very large or specialized external link searches, one may also use SQL queries against the externallinks
table at Quarry.)
URL search patterns
[edit]The URL pattern can be:
- a whole top-level domain, e.g. "*.nl": Special:Linksearch/*.nl
- a second-level domain, e.g. "*.wikimedia.org": Special:Linksearch/*.wikimedia.org; also a third-level domain etc.
- a full domain name, e.g. "www.wikimedia.org": Special:Linksearch/www.wikimedia.org
- a full domain name and any first part of the rest of the URL, e.g.:
- "wiki.eso.workers.dev/wiki/a": Special:Linksearch/wiki.eso.workers.dev/wiki/a
- "wiki.eso.workers.dev/wiki/March_2007": Special:Linksearch/wiki.eso.workers.dev/wiki/March_2007 (the underscore is required, even in the input box)
- "wiki.eso.workers.dev/wiki/March_2007#2007_March_05": https://wiki.eso.workers.dev/w/index.php?title=Special:Linksearch&target=wiki.eso.workers.dev/wiki/March_2007%232007_March_05 (the hash character is required in the input box, and %23 in the URL of the special page)
If no protocol is specified in the input box "http://" and "https://" results will be returned. To search a single protocol or another protocol, such as "ftp://", they must be given explicitly.
In the URL of the special page where the search string contains an anchor, or the first part of an anchor name, the hash character # has to be coded as "%23" and the required style is
w/index.php?title=Special:Linksearch&target=URL
In each of the styles
wiki/Special:Linksearch/target_page_name#anchor_name wiki/Special:Linksearch/target_page_name%23anchor_name
the anchor is ignored. ("w" and "wiki" can be different on other than Wikimedia wikis.)
API
[edit]This special page's functionality can also be accessed through the Wikipedia API using list=exturlusage.
Toolforge
[edit]toolforge:linksearch (currently offline) is similar to Special:LinkSearch, but additionally allows filtering by namespace, and additional placeholders may be used. For more information see Help:Linksearch/Toolforge.
Notes
[edit]- Even if multiple URLs lead to the same target, with regard to capitalisation, multiple underscores, and using "index.php" or not, Linksearch is case-sensitive and also does not find alternatively written URLs. Therefore, when creating an external link, for optimal use of Linksearch, use a canonical form for the URL. In particular, if after following a link the address bar shows a modified URL, change the URL in the link to that.
- The list is alphabetic in the URL. Note that an underscore, unlike a blank space, is alphabetically positioned between "Z" and "a".[1]
For links in external link style, Linksearch provides backlinks of sections, which "Special:Whatlinkshere" does not for links in internal link style. For links in interwiki link style there is no backlink feature at all.
On the other hand, links in internal link style provide existence detection. Also each of the three styles can have a different look, depending on CSS.
Therefore it is useful to combine the advantages of various link styles adding "hidden external links" to internal section links and to all interwiki links, except those for which the interlanguage link feature applies. This is done by adding <span style="display:none">http://...</span>; this can conveniently be done with a template, see below. Although no actual link is added (which would be superfluous because we have already an internal or interwiki link), it is recorded as external link, and therefore Linksearch can find it.
Since Linksearch allows specifying the first part of an anchor, it is useful, if anchor names are numerical or have a numerical end, to use leading zeros. Otherwise, when searching for links to e.g. "1", we also get links to "10", etc. This is e.g. applied in Template:Current events header. More generally, if there are anchors "a" and "ab", it may or may not be desired that a search for links to "a" also gives links to "ab"; if not, use an anchor "_a".
Also, if anchor names have multiple components, it is useful to put the most significant component first, e.g. if anchors indicate months or dates, we could have the format YYYY-MM, or YYYY-MM-DD, or in a year page MM-DD (see also Calendar date#Big endian forms, starting with the year), with leading zeros (see also Help:Date formatting and linking#Link to date content other than required for autoformatting). This applies also for page names, but since these are highly visible, as opposed to anchors, other considerations play a role too. In the case of sections, if for link targets another naming scheme is desired than for display of section headers, anchorscan be put explicitly instead of using section names. This is applied in {{Current events header}}, where the use in links of the names of explicitly put anchors is enforced by using pseudo sections, with displayed headers that cannot be used as anchors.
In the case of multiple sections with the same name, the HTML produced has an HTML ID that is the section name, with, from the second occurrence, "_2", "_3", etc. appended. This does not apply when other anchors are used.
Footnotes
[edit]- ^ The script resultListSort provides the possibility to obtain an alphabetic list of the pages, grouped according to their namespaces.