Help:Linksearch

Special:LinkSearch is one of the help>Special:MyLanguage/Help:Special page|special pages.

It can be used to search for external links (links to other sites) in a project.

It provides a list of link>Special:MyLanguage/Help:link|links in external link style from the project on which it is applied, based on the provided URL pattern.

For each link the source page is provided, and the exact target, both linked.

The listing shown is all links in all namespaces.

There is no way to show external links only in articles, which is often of greatest interest as evidenced by w:Wikipedia:External links.

The MediaWiki software does offer the ability to search for links only in a specific namespace, but this functionality is disabled on WikiMedia projects, due to efficiency issues.

If you run your own Wiki site and you have MiserMode>Special:MyLanguage/Manual:$wgMiserMode|miser mode disabled the namespace functionality will be available.

Patterns
The URL pattern can be:


 * a URI scheme followed by a wildcard


 * For example: "http://*" (Special:Linksearch/http://*) or "news:*" (Special:Linksearch/news:*)


 * This returns all links that use the specified protocol.


 * a domain name beginning with a wildcard (preceded by an optional scheme)


 * For example: "*.org" (Special:Linksearch/*.org) or "ftp://*.gov.ph" (Special:Linksearch/ftp://*.gov.ph)


 * This returns all links pointing to the specified domain and it's subdomains.

When no scheme is specified, http:// is used. Note that everything after the domain name is ignored in the pattern.


 * an IPv4 address ending with a wildcard


 * For example: "10.*" (Special:Linksearch/10.*) or "ftp://193.206.*" (Special:Linksearch/ftp://193.206.*)


 * The default scheme is again "http://".

Everything after the ip address in the query pattern is ignored. Wildcards in IPv6 addresses are currently not supported.


 * a full url without wildcard


 * Examples:
 * "google.com" (Special:Linksearch/google.com)
 * "http://google.com/pressrel/pressrelease1.html" (Special:Linksearch/http://google.com/pressrel/pressrelease1.html)
 * "http://google.com/search?q="

All links starting with the specified pattern will be returned.

Remarks:

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.
 * 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 after the first slash (/) and also does not find alternatively written URLs.

Note that an underscore, unlike a blank space, is alphabetically positioned between "Z" and "a".
 * The list is order>m:Help:Alphabetic order|alphabetic in the URL.


 * User credentials in the search pattern and the external links are ignored for http://, https://, ftp://, etc.


 * In the URL of the special page, the target search pattern has to be |URL encoded.

Linksearch and sections
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>Special:MyLanguage/Help:Interwiki linking</>|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 <tvat|code> http://... </>; 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 w:Portal:Current events/DateHeader2.

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 Big endian forms, starting with the year), with leading zeros (see also date>m: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 w:Portal:Current events/DateHeader2, 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 a 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.

Links in external link style to the same wiki
For new links to the same wiki the feature has been abolished in 2009, see Special:Code/MediaWiki/53104.

Consider this link:
 * http://meta.wikimedia.org/wiki/9/11_wiki_move_proposal

Try whether it is found:


 * <tvar|url>http://meta.wikimedia.org/w/index.php?title=Special:LinkSearch&target=meta.wikimedia.org/wiki/9</> gives a page with an old link, not this page with the same link.

Email links
If you want to find all mailto: links to a specific mail host, you can omit the user part and @ sign.

For example <tvar|1>Special:LinkSearch/mailto:gmail.com</>.