「Help:リンク元」の版間の差分
Atmark-chan (会話 | 投稿記録) m →概要: 文法修正 |
|||
72行目: | 72行目: | ||
== ユーザスタイル == |
== ユーザスタイル == |
||
ページ本体には、 body.page-Special_Whatlinkshere というセレクタがあるので、例えば |
ページ本体には、 body.page-Special_Whatlinkshere というセレクタがあるので、例えば |
||
< |
<syntaxhighlight lang="css"> |
||
body.page-Special_Whatlinkshere ul { list-style: decimal } |
body.page-Special_Whatlinkshere ul { list-style: decimal } |
||
</syntaxhighlight> |
|||
</source> |
|||
というCSSを使えば、リンク元に番号を振ることができます。 |
というCSSを使えば、リンク元に番号を振ることができます。 |
||
2020年7月6日 (月) 11:39時点における版
ウィキペディア日本語版のヘルプページです。元文書はメタウィキのヘルプです。
リンク元機能は、ウィキペディア日本語版内のどの記事がそこへリンクしているかを一覧表示します。全てのページに、「リンク元」と名前の付いたリンクがあり、ここからこのリンク元を表示できます。「バックリンク」とも呼ばれています。
概要
情報をみるためには、閲覧中のページの「リンク元」というリンクをクリックしてください。そのページにリンクしているページと、そのページに埋め込まれたページの一覧が表示されます。各ページはページID順、したがってページの作成順に並べられます。一覧ページのタブから、名前空間を限定することもできます。
表示される情報はpagelinks tableとtemplatelinks tableから取得されています。ページに埋め込まれているページは、 MediaWiki:Istemplate の内容("transclusion" または "inclusion")で印つけられています。この場合、それらの埋め込みページ内に問題のページへの明示的なリンクもあるかどうかは表示されません。これを表示するためにはquery#backlinksを使います。
リンク元の一覧は次のようにさまざまに使うことができます。
- そのページがどのくらい見られているかについて、大雑把に把握できます。たくさんリンクされていれば、頻繁に閲覧され、したがって内容も望み得る最良のものとなっていると考えられます。少ししか、あるいはまったくリンクされていないページは、あまり見られていないかもしれません。
- 記事の内容があまりはっきりしない時には、その記事にリンクしているページを見ることで有用な情報が得られるかもしれません。例えば「ジョン・スミス」というスタブ記事があって、生年月日しか書いていなかった時に、リンク元を確認することで、例えばこの人がオリンピックの金メダリストだということが明らかになるかもしれません。
- 曖昧さ回避を正しく行う助けとなります。
この機能は、存在しないページに対しても動作します(その存在していないページへのリンクがあるかもしれませんし、この場合その情報がページの新規作成がなおさら必要なことを示しています)。赤リンクをたどって編集ページにたどり着いた時にも「リンク元」リンクが表示されています。
ノートページなどで「リンク元」リストを直接表示するためには特別:リンク元やSpecial:Whatlinkshereを使います。
[[特別:リンク元/Help:リンク元]]
以上の入力例は 特別:リンク元/Help:リンク元 と表示されます。
あるいは{{リンク元}}を使うこともできます。
できないことと回避方法
自動リンクしかないサブページはリストされません。
セクションやその他のアンカーへのリンクの場合、ターゲットのアンカーなどは示されません。またページ内のセクションやアンカーへのリンクのバックリンクは表示できません。これらのリンクのバックリンクは外部リンクの検索で "hidden external link" を設定した時に表示できます。
特定のセクションへのリンクを個別に表示させたいのならば、ページの分割という方法があります。分割したページは、ページの埋め込みによって元のページに表示させることができます。または、セクションに直接リンクするのではなく、セクションにリダイレクトしているページへのリンクを作ることもできます(ただしセクションへのリダイレクトがきちんと機能しない場合も少なくありませんので、利用には慎重になった方がよいでしょう)。こうすると元のページの「リンク元」一覧では、リンクターゲット毎にきちんと整理されます(ただしリンク名はターゲットのセクションではなく、リダイレクトページのページ名になります)。この方法をとると、セクション名を変更した時にリンク切れを防ぐことが容易にもなります。各リンクを直してまわらなくても、リダイレクトページのリダイレクト先をかえればいいだけだからです。ただし、リダイレクトした時に、「○○○から転送」というメッセージは通常ページの冒頭に表示されますので、セクションにリダイレクトしているとこの情報は普通目につきません。これは利点とも言えますし、欠点ともいえます。ページ名を確認するためには、ページの上までスクロールせずとも、普通はブラウザのウィンドウ名にページ名が表示されています。一方、ブラウザのアドレスバーには、リダイレクトページのページ名が表示されています。m:Help:Section linking and redirects も参照してみてください(このリンク自体が、ここで述べていることの実例になっています)。
また、テンプレートの編集によってリンク先が変わった時には、リンク元へその変更が反映されるにはジョブキューを経由する必要があり、時間がかかることに注意してください。
リダイレクト
リンク元機能はどのバックリンクがリダイレクトかを表示します。
リダイレクトへのバックリンクも表示され、もしもそこにリダイレクトが含まれていれば、そこへのバックリンクも表示されます(それより先は表示されません)。
この機能により、二重リダイレクトを発見することができます。
ページ呼び出しの場合
AからCへのリンクがあるかどうかは、「リンク元」および関連ページの更新状況の表示に影響してきます。ただし、リンク元の場合はCが存在していなくても表示されます。
ページの埋め込みは次のようにリストされます。
- AがBを呼び出し、BにCへのリンクがある場合、Aのウィキテキスト中にCへのリンクが明示的に存在していなくとも、AはCへリンクします。
- AがBを呼び出し、Bのnoincludeタグ内にCへのリンクがある場合、BはCにリンクしますが、Aはしません。
- AがBを呼び出し、Bのincludeonlyタグ内にCへのリンクがある場合、AはCにリンクしますが、Bはしません。
- AがBを呼び出し、Bが変数またはパラメータに依存してページCへリンクしている場合、次のようになります。
- AがCにリンクするかは、ページA上の変数の価か、AがBを呼び出す際のパラメータの価に依存します。
- BがCにリンクするかは、ページB上の変数の価に依存します。パラメータを使用している場合、ページBからみると有意なページ名を呼び出していないかもしれませんので、Bは有効なCにまったくリンクしないか、パラメータの既定値の価に依存する名前へリンクします。
したがってAからCのリンクは、Bの呼び出しに依るものであるかもしれず、これはB自体がCにリンクしていなくても起りえます。このため、どのテンプレートによってページAがCにリンクしているかを見つけ出すには、ページCのリンク元を確認するだけでは不足の場合があります。
いくつかのページがBを呼び出すことでCへリンクしている場合、Cのリンク元にBが入っていると便利です。このためには、ページBのnonincludeタグ中にBの使用例を適切な形で表示するとよいでしょう(BはB自体を呼び出すことになりますが、noninclude内にあれば循環は起きません)。
もしこの方策がとられていなければ、AをCにリンクさせているページBを見つけ出すには、Cのリンク元に表示されている各ページを直接表示させてみなければわかりません。
例:
- Template:H:h は Template:h:h {{NAMESPACE}}を呼び出します。したがって、このテンプレート自体から見ると、Template:H:h Templateというテンプレートを呼び出すことになります。Template:h:fのリンク先の更新状況, Template:H:h Templateのリンク元
- 本ページ「ヘルプ:リンク元」は、Template:H:h経由で、Template:Reader toc jaを呼び出します。ヘルプ:リンク元のリンク先の更新状況, Template:Reader toc jaのリンク元。2つめのリンク先には本ページがリンク元としてあがっていますが、Template:H:fはリストされていません。
テンプレートの名前が変数やパラメータに依存しないとしても、ページAがテンプレートB1を呼び出しており、B1がページCにリンクするB2にリダイレクトしており、その結果ページAがCにリンクしている場合、AはCのリンク元のリストに載りますが、B1は載りません。
まとめると、リンク元と関連ページの更新状況の表示に関しては、AからCへのリンクは、〈テンプレートの呼び出しの連鎖、1回きりのリダイレクト、テンプレート呼び出し、1回きりのリダイレクト、等々、テンプレートの呼び出し、リダイレクトの連鎖〉という順番に関連付けられていれば表示されることになります。
#if、 #ifeq、#ifexist、#ifexpr、#switchの条件文を使ってページが呼び出されている場合、条件が満たされていなくても呼び出しとして認識されます。
例えば、ページAの呼び出すページ名が{{abc{{CURRENTDOW}}}}を使って曜日によって制御されている時、呼び出されうるページのどれかの「リンク元」にページAが表示されます(ここにTemplate:Abc0を起きますので、リンク先で「リンク元」を確認してみてください)。通常は実際に呼び出されているページのリンク元に表示されますが、ジョブキューのタイムラグのために、古いページの方にリストされる場合もあります。
同じ呼び出しは {{#switch:{{CURRENTDOW}}|0={{abc0}}|1={{abc1}}|..}}でもできますが、この場合上と違い7つのページ全てがリンク元に表示されます。
画像などのファイルの場合、ファイルを呼び出すとファイルページのセクション内にリンク元が表示されますが、そのファイルページの「リンク元」には表示されません。
ユーザスタイル
ページ本体には、 body.page-Special_Whatlinkshere というセレクタがあるので、例えば
body.page-Special_Whatlinkshere ul { list-style: decimal }
というCSSを使えば、リンク元に番号を振ることができます。
並び順、クエリ
「ページ元」はページID順に並びます。Query#backlinksおよびQuery#embeddedinと比較してみましょう。
Special:Whatlinkshere/Template:Tと //ja-two.iwiki.icu/w/query.php?what=backlinks|embeddedin&titles=template:t&bllimit=500&eilimit=500&blfilter=all&eifilter=all を比較してみます。
目に見える違い:
- クエリはまず機能順(リンクか呼び出しか)に並べ、その次にpage idで並べますが、「リンク元」はページID順に並べます。
- クエリは、BがAに呼び出されているだけなのか、あるいはさらにAへの明示的なリンクがあるのかを区別します。
- クエリはどのリンクがリダイレクトかを表示せず、またリダイレクトのバックリンクを表示しません。
- クエリはページIDを表示します。
その他の違い:
- クエリは名前空間を特定できます。