Help:カテゴリ
ウィキペディア日本語版のヘルプページです。
カテゴリ (Category) とは、ウィキペディア上の情報を体系的に整理し、利用者にナビゲーションやレファレンスを提供するためのMediaWikiの機能の一つです。主に記事ページを中心とする情報資源の組織化に利用され、ウィキペディア日本語版が所蔵する記事の主題別目録やカテゴリツリーをはじめとする、さまざまな用途に活用されています。
この文書では、カテゴリの基本的な仕組み、ページの見方、作り方から、項目の見つけ方、ソートの仕方、テンプレートを用いた応用的な方法までを説明し、その他にもカテゴリを利用する上で知っておくと役立つ情報を掲載します。
カテゴリの仕組み
ここでは、カテゴリの基本的な仕組みについて、記事の分類・件名作業を例にとって説明します。
分類・件名付与(ページをカテゴリに追加する)
任意の名前空間に存在するページにカテゴリタグを付加することにより、ページをカテゴリに含めることができます。たとえば、記事「三味線」に下記のいずれかの書式のカテゴリタグを付加すると、
[[Category:弦楽器]]
[[カテゴリ:弦楽器]]
弦楽器カテゴリに記事が含められ、記事「三味線」へのリンクがカテゴリページ内に自動的に生成されます。同様に他の弦楽器を同じカテゴリに追加していくと、カテゴリページ上に弦楽器記事が集められ、リスト表示されるようになります。弦楽器記事目録の出来上がりです。
また、次のようにカテゴリタグを追加することにより、ページを複数のカテゴリに含めることもできます。
[[Category:弦楽器]] [[Category:和楽器]] …
カテゴリタグは通例、記事のレイアウトに関するスタイルマニュアルに従い、ページの一番下(言語間リンクがある場合はその直前)に記載されます。ページ上では、付与されたカテゴリへのリンクは(カテゴリタグの本文中の位置に関係なく)ページ下部のカテゴリボックス内に、先頭に記述したタグから順に表示されます。詳細な仕様はマークアップ判定の項を参照してください。
ページからカテゴリタグを除去したり、ページを削除したりすると、そのページが自動的にカテゴリから除外されます。
構造化(カテゴリ同士の親子関係を構築する)
カテゴリページもまた同様の手順でカテゴリに含めることができます。
たとえば、カテゴリ「弦楽器」に[[Category:楽器]]
を付加すれば、カテゴリが楽器カテゴリに含められます。同じくカテゴリ「管楽器」や「打楽器」などにも付加すれば、カテゴリ「楽器」の下に楽器の記事が種類ごとに集められます。
このとき、カテゴリ「楽器」からみたカテゴリ「管楽器」「弦楽器」「打楽器」をサブカテゴリまたは下位カテゴリと呼び、これらサブカテゴリからみたカテゴリ「楽器」を親カテゴリまたは上位カテゴリと呼びます。
さらに、カテゴリ「楽器」に[[Category:音楽]]
を付加することにより、
という具合に、カテゴリが構造化され、類似する記事をカテゴリ体系から検索することが可能になります。
カテゴリページもまた複数の上位カテゴリに属させることができます。
いずれか一方が他方に従属するとはみなされない関係にあるカテゴリ同士は、無理に親子関係を結ばず、{{catlink}}を使用するなどして関連カテゴリとして結びつけられます。
排列(カテゴリ内でページを整列させる)
カテゴリページ内で項目の並ぶ順序は自動的に決定されます。ソートキーと呼ばれる文字列をカテゴリタグの末尾に記入すれば、カテゴリページ内で項目を別の順序に並び替えることが可能です。例として、記事「三味線」の場合、ソートキーなしでは「三味線」の漢字コード順に排列されますが、
[[Category:弦楽器|しやみせん]]
と記入すると、弦楽器カテゴリ内で記事を「しやみせん」の五十音順[注 1]に従って排列させることができます。
ソートキーはカテゴリごとに個別に指定します。複数のカテゴリに対して同じソートキーを使用する場合、デフォルトソート(既定のソートキー)を指定すると便利です。デフォルトソートの書式例は以下の通りです。
{{DEFAULTSORT:しやみせん}}
または
{{デフォルトソート:しやみせん}}
デフォルトソートは通例、先頭のカテゴリタグの1つ上の行に記載されます。より詳細な説明は項目のソートの項を参照してください。
閲覧者向けの説明
カテゴリの見方
カテゴリボックス
ページが1つ以上のカテゴリに追加されると、そのページが属するカテゴリが並ぶフッター、いわゆる「カテゴリボックス」がページの下部[注 2]に表示されます(下記画像参照)。カテゴリボックス内の各カテゴリは対応するカテゴリページにリンクしています。対応するカテゴリページが作成されていない場合、赤色のリンクで表示されます。
通常、カテゴリページでは親カテゴリ(直属の上位カテゴリ)が、項目ページでは所属カテゴリが、それぞれカテゴリボックスに並ぶことになります。{{リダイレクトの所属カテゴリ}}を使用すれば、リダイレクト項目の所属カテゴリをリダイレクト先でカテゴリボックス風に表示することもできます。
ログイン利用者は、特別:個人設定で「隠しカテゴリを表示」に印を付けると、カテゴリボックス内に隠しカテゴリが表示されるようになります。
カテゴリページ
カテゴリページとは、Category名前空間上の任意のページのことです。カテゴリ(範疇)を表すため、単に「カテゴリ」とも呼ばれます。カテゴリページは概ね、サブカテゴリを項目として含む「下位カテゴリ」と題されたセクションと、(その他の名前空間の)ページを項目として含む「ページ」と題されたセクションに分かれています。さらに、画像などのファイルを含むカテゴリでは、「メディア」と題されたセクションが続いて表示されます。
カテゴリページは他のページと同じように編集することができます。その一方、カテゴリに属するページのリストが自動的に生成され、カテゴリページの編集可能な部分に続いて画面表示されます。
- まず、サブカテゴリ(そのカテゴリに属する他のカテゴリページ)がある場合は、その件数とリストが表示されます。サブカテゴリの横にある►をクリックすると、さらに下位にあるサブカテゴリが展開されます(ただし、このウィジェットは、ブラウザでJavaScriptが有効になっている場合にのみ機能します)。注意:►はそれ以上サブカテゴリが存在しない場合に表示されます。▼をクリックすると、サブカテゴリは折り畳まれます。
- 次いで、カテゴリに含まれるページの件数(サブカテゴリと画像を除く)とリストが表示されます。カテゴリに属する項目がない場合は、その旨メッセージが表示されます。
- 続いて、カテゴリに含まれる画像などのメディアファイルがある場合は、その件数とリストが表示されます。これらはファイル名の最初の20文字(フルネームでない場合は省略記号を表示)とファイルサイズとともにサムネイル付きで表示されます。
各リストの項目はすべて、件のページにリンクしています。画像の場合は、サムネイルとその下のテキスト(画像のタイトル)が両方とも画像ファイルページにリンクしています。
各リストの項目の排列については、項目のソートの項をご覧ください。下位カテゴリのリストとページのリストは、ページ名またはソートキーの先頭の文字に従って、サブセクションに分けられます。これらの先頭の文字はサブセクションの上に見出し表示されます。これらを表示させないようにするには、すべてのソートキーの先頭にスペース(空白文字)を記入してください。
項目数の多いカテゴリでは、目次テンプレートが設置されていることがあります。目次の見出しリンクをクリックすると、カテゴリページ内で指定された見出し位置へジャンプすることができます。
カテゴリページに一度に表示可能な項目数は、下位カテゴリ、ページ、メディアともに、1ページにつき最大200件までに制限されています。そのため、カテゴリに含まれる項目数が200件を超える場合、リストは複数のページに分けられ、次のページへのリンクが表示されます。
カテゴリページのカテゴリボックスは、他のページと同じ場所、ページの一番下に表示されます。ここには、そのカテゴリページが属するカテゴリ、つまり親カテゴリが並びます。
カテゴリツリー(カテゴリ構造の視覚化)
特別:カテゴリツリーでは、カテゴリのツリー構造(サブカテゴリと、そのサブカテゴリ、そのまたサブカテゴリと続く下位カテゴリ、およびそれに含まれるページやファイル)を動的に表示することが可能です。このツリー構造はCategoryTree拡張機能を利用してページ内に表示させることもできます。
たとえば、
<categorytree>主要カテゴリ</categorytree>
と入力すると、次のように出力されます。
ツリー表示の中の►をクリックすると、一つ下の階層のサブカテゴリが展開され、▼をクリックすると折り畳まれます。
mode
パラメータを利用すれば、"categories"(サブカテゴリのみ表示)、"pages"(サブカテゴリとページを表示)、 "all"(画像などのファイルも表示)を指定可能です。このほか、親カテゴリの表示/非表示を選択可能なhideroot
パラメータ、初期状態のツリー表示の深さを指定可能なdepth
パラメータも用意されています。
たとえば、
<categorytree mode="pages" hideroot="on">主要カテゴリ</categorytree>
と入力すると、サブカテゴリとページの両方を表示し、親カテゴリを非表示とするツリーが出力されます。反対に、depth="0"
と指定すれば、初期状態では親カテゴリのみが表示されます。
また、style
パラメータでCSSを利用したスタイル指定も可能です。詳しくは、mw:Extension:CategoryTree/ja#<categorytree> タグをご覧ください。
そのほか、これらに類似する機能としては、上位・下位カテゴリ構造をチャート表示し、視覚的に把握することが可能な{{カテゴリグラフ}}(Dapete氏が開発したカテゴリ視覚化ツール「vCat」を使用)が用意されています。
カテゴリに含まれるページを検索する
体系化されたカテゴリツリーを縦横無尽にブラウジングする方法に加えて、特定のカテゴリに含まれる特定のページを見つけるのに検索ツールを使う方法があります。特定のカテゴリに含まれるページを検索するには、検索ボックスにincategory:"カテゴリ名"
と入力して検索します。
incategory:"カテゴリA" incategory:"カテゴリB"
のように間にスペースを挟めば、複数のカテゴリに共通するページを見つけること(AND検索)ができます。たとえば、以下の検索構文は、
incategory:"長野県の山" incategory:"3000メートル峰"
指定したカテゴリの両方に属するすべてのページを返します。
また、パイプ|
を使えば、あるカテゴリの内容と別のカテゴリの内容を結合(OR検索)することができます。たとえば、以下の検索構文は、
incategory:"利根川の橋|トラス橋"
指定したカテゴリのいずれかに属するすべてのページを返します。ただし、incategory:
はサブカテゴリに含まれるページは返しません。
指定したカテゴリとその下位カテゴリに含まれるページを検索するには、検索ボックスにdeepcat:"カテゴリ名"
と入力して検索します。たとえば、以下の検索構文は、
deepcat:"東京都の橋"
指定したカテゴリおよびその下位カテゴリに属するすべてのページを返します。
ただし、deepcat:
で検索可能なカテゴリの最大深度は5、検索対象に含められるカテゴリの最大件数は256に制限されています。この制限値を超える検索を実行した場合、検索結果でエラーを返します。
より詳細な条件を指定してカテゴリに含まれるページを検索するには、PetScanツールが有用です。
たとえば、英語版ウィキペディアのCategory:Hamburger restaurants(ハンバーガー店)とそのサブカテゴリに含まれているページの中から、それに対応する各ウィキデータ項目で紐づけられた、日本語版ウィキペディアに存在するページを取り出して、このような具合にリスト表示できます。
すべてのカテゴリをリスト表示する
特別:カテゴリでは、Category名前空間上に存在するすべてのカテゴリをページ名のUnicode順にリスト表示し、各カテゴリに含まれる項目数の合計(カテゴリ直属の下位カテゴリとページとメディアの数の総和)を示します。このリストには、カテゴリページが存在しないカテゴリ(赤リンクのカテゴリ)も含まれます。
これに対し、特別:全ページ (Category名前空間)では、カテゴリページが存在するすべてのカテゴリを(中身が空か満たされているかにかかわらず)ページ名のUnicode順にリスト表示します。
編集者向けの説明
カテゴリの作り方
新しいカテゴリは、Category名前空間にページを作成することで作成されます。カテゴリページを新規作成する方法は、通常のページと同様です。カテゴリに含めたいページ上にカテゴリタグを付加し、カテゴリボックス内に自動的に生成されるカテゴリページへのリンクをたどって作成してもよいですし、ブラウザのアドレスバーに新規カテゴリページのURLを入力してアクセスし、カテゴリページを作成した後で、含めたいページにカテゴリタグを追加してもよいでしょう。下記のフォームからもカテゴリを新規作成することができます。
カテゴリにページを追加する(ページにカテゴリを付与する)方法は分類・件名付与の項を、カテゴリを別のカテゴリのサブカテゴリとする(カテゴリの親カテゴリを設定する)方法は構造化の項を参照してください。
カテゴリの編集において、通常のページの編集と異なる点は、カテゴリでは実質的な内容となる自動生成されるリストを、カテゴリページの編集画面から編集するのではなく、リストされるページ側を編集する点です。リストしたいページの数が多いほど、それだけ手数が必要となります。
そこで、カテゴリの編集を支援するツールが開発されています。代表的なのは、ガジェット「HotCat」です。利用者が特別:個人設定でHotCatを有効にしている場合、ページ全体を編集することなく、ページ上でカテゴリを簡単に追加、除去、修正するためのリンクが、カテゴリボックス内で提供されます。
カテゴリに含めるべき記事の見つけ方
カテゴリに含める記事を見つけるために最も効果的な方法は、カテゴリの主記事へリンクしている項目(リンク元)を調べることです。
新規カテゴリに関連付けるべき記事や、既存カテゴリに欠けている記事を見つけるには、最も関連の深いテーマの一覧記事や通常記事内の箇条書きリストを見つけて項目を調べるのが簡単です。2つ以上のカテゴリに共通する記事を見つけたり、他言語版の既成カテゴリを参照して、ウィキデータ項目で他言語版記事と紐付けられた日本語版の記事がないかどうかを調べたりする(前述)には、PetScanが便利です。
また、より関連性の高い記事は、カテゴリの主記事や、そのカテゴリに既に含まれている記事、特にその「関連項目」節や、その下にサジェスト表示される関連記事からリンクしている記事の中から見つけられるかもしれません。
さらに、カテゴリの上位カテゴリには、サブカテゴリに含まれるべき記事が収められていることがしばしばあります。ただし、記事をサブカテゴリに再区分する場合は、Wikipedia:カテゴリの方針#下位区分を構成する/しないカテゴリに従ってください。
そのほか、カテゴリの主題についてウィキペディア内を検索したり、主題について外部サイトをウェブ検索したりする方法でも、関連性の高い主題の記事を見出せるかもしれません。
項目のソート
デフォルト(既定)では、カテゴリに含まれる項目(ページやサブカテゴリ)は、名前空間接頭辞を除いたページ名({{PAGENAME}}
相当)の先頭の文字の下にソート(排列)されます。ソートの順序は、Unicode文字のコード番号順(以下、Unicode順と称す)です。
しかし、日本語版ウィキペディアにおいては、ページ名に使用される文字種が多岐(漢字・ひらがな・カタカナなど)にわたり、漢字仮名交じりのページ名も少なくないため、そのままでは項目が規則正しい順序に排列されません。
例として、記事「織田信長」と「豊臣秀吉」と「徳川家康」を同じカテゴリに追加した場合、同カテゴリ内において、項目「織田信長」は「織」、「豊臣秀吉」は「豊」、「徳川家康」は「徳」の見出しの下に配列され、UnicodeのCJK統合漢字のコード順に従って、
- 徳川家康(とくがわいえやす)
- 織田信長(おだのぶなが)
- 豊臣秀吉(とよとみひでよし)
と、索引としては不規則な順序で並べられることになります。
そこで、ソートキーを指定することにより、ページ名の代わりにソートキーの文字列に従って項目を排列させることができます。日本語版ウィキペディアでは、漢字と仮名の読みをひらがなの清音でソートキーとして指定することで、索引項目の五十音順排列を実現しています。
ソートキーの利用に関する方針については、Wikipedia:カテゴリの方針#ソートキーの指針を、ソートキーの具体的な使用方法については、排列の項を参照してください。
カテゴリタグ内でのソートキーの書式は次の通りです。
[[Category:カテゴリ名|ソートキー]]
または
[[カテゴリ:カテゴリ名|ソートキー]]
ソートキー付きのカテゴリタグはパイプ付きリンクと同様の構文で記述されますが、両者は似て非なるものであり、ソートキーは閲覧者に対して表示されることはありません。カテゴリ項目の排列順の決定に関してのみ機能します(ただし、カテゴリをリンクとして記述した場合を除く)。
先ほどの例で説明すると、「織田信長」は「おたのふなか」、「豊臣秀吉」は「とよとみひてよし」、「徳川家康」は「とくかわいえやす」とソートキーを指定することで、「織田信長」は「お」、「豊臣秀吉」と「徳川家康」は「と」の見出しの下に配列され、
- 織田信長(おたのふなか)
- 徳川家康(とくかわいえやす)
- 豊臣秀吉(とよとみひてよし)
のように五十音順に排列されます。
参考のため、Unicode文字の並び順を以下に一部抜粋して掲載します。Unicode一覧表およびHelp:ページ名#Unicode順も参照してください。
!"#$%&'()*+,-./0123456789:;<=>?@ ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` abcdefghijklmnopqrstuvwxyz{|}~ ¡¢£¤¥¦§¨©ª«®¯°±²³´µ•¸¹º»¼½¾¿ ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ (中略) ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞ ただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽ まみむめもゃやゅゆょよらりるれろゎわゐゑをんゔゕゖ ゙゚ ゛゜ゝゞゟ ゠ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾ タダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポ マミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶヷヸヹヺ・ーヽヾヿ
- アルファベットや記号などは、ASCII文字の32番から127番に対応しています。ただし、アルファベットの排列に関しては、大文字と小文字は区別されないため、項目「ABC」は「Abacus」の次に排列されます。
- 特別:ページ一覧や特別:前方一致ページ一覧とは異なり、ソートキーではスペース(空白文字)はアンダースコアではなくスペースとして扱われます(他のすべての文字よりも前に排列されます) 。
- 英語版など一部の言語版では、数字で始まる項目名を「0–9」の下にまとめて配列する機能(詳細)が導入されています(日本語版では未導入)。
デフォルトソート
ソートキーはカテゴリタグごとに個別に指定する仕様ですが、マジックワード{{DEFAULTSORT:}}
または{{デフォルトソート:}}
を使用すれば、すべてのカテゴリタグに対して一括してソートキーを指定することができます。デフォルトソートを指定した場合、カテゴリタグのソートキーは省略可能です。デフォルトソートの書式は次の通りです。
{{DEFAULTSORT:ソートキー}}
または
{{デフォルトソート:ソートキー}}
デフォルトソートの具体的な使用方法については、排列の項を参照してください。
デフォルトソートと通常のソートキーの両方が指定されている場合、ソートキーが優先され、デフォルトソートを上書きします。
複数のデフォルトソートが設定された場合、最も後方に記述されたデフォルトソートが適用されます。これはまた、テンプレートを介して付与された{{DEFAULTSORT}}
タグは、ページの後方で別の{{DEFAULTSORT}}
タグが記述された場合、たとえ後方の{{DEFAULTSORT}}
タグが別のテンプレートを介して指定されるなどして「隠された」としても、有効にならないことを意味します。カテゴリタグが<ref>...</ref>
の間に記述された場合、{{DEFAULTSORT}}
は無視されます。
カテゴリページへのリンクを作成する
カテゴリにページを含めることなくカテゴリページへのリンクを作成するには、[[:Category:カテゴリ名]]
のように、リンクするページ名の先頭にコロンを付けて記述します。この形式のリンクでは、通常のウィキリンクと同様にパイプ付きリンクの機能が使えます。
また、より簡便にカテゴリページへのリンクを作成することが可能な、{{cl}}などのテンプレートも用意されています(派生テンプレートについては、同テンプレートの解説ページをご覧ください)。
テンプレートページをカテゴリに追加する
テンプレートも記事と同様の手順でカテゴリに含めることができます。ただし、テンプレートページに付加するカテゴリタグは、テンプレートの解説サブページ内か、解説サブページを作成しない場合は<noinclude>...</noinclude>
タグ内に置くようにしてください。これは、テンプレートを呼び出したページがカテゴリに含められてしまうことを回避するために必要な措置です。
リダイレクトページをカテゴリに追加する
リダイレクト(転送)ページも通常のページと同様の手順でカテゴリに含めることができます。リダイレクト先がセクション(節)の場合、カテゴリページにリスト表示される項目は、リダイレクトページを経由してセクションにリンクするため、(ある意味では)セクションがカテゴリに含まれることになります。ただし、その場合、セクション自体にはカテゴリへのリンクが表示されません。
カテゴリページ上では、リダイレクト項目は灰色のイタリック体もしくは斜体で表示されます[注 3]。
カテゴリページの移動とリダイレクト
カテゴリページは、通常のページと同じ方法で移動(改名)することができます。ただし、ページの移動後に調整が必要な作業がいくつか発生します。
まず、ページを移動(改名)すると、跡地に改名先のカテゴリページへのリダイレクト(転送)ページができます。しかし、移動元カテゴリに含まれるサブカテゴリ、ページ、メディアが自動的に改名先のカテゴリに移動・転送されるわけではありません。それらを新しいカテゴリに移すには、各項目に付加されているカテゴリタグを一つ一つ書き換える必要があります。テンプレートを使用して付与されているカテゴリは、そのテンプレートを修正すれば、一括してカテゴリ変更できます(ただし、#カテゴリとテンプレートのキャッシュ更新の問題に注意してください)。カテゴリタグを置き換える単純作業が大量に発生する場合は、プロジェクト:カテゴリ関連/キューを利用してBotに作業を依頼すると便利です。カテゴリページの改名(移動)を伴う各項目のカテゴリ変更は通例、プロジェクト:カテゴリ関連/議論における改名の合意をもって実行に移されます。
ページの移動によって跡地に自動生成される新カテゴリへのリダイレクトページは、新カテゴリへの移行作業が完了し、旧カテゴリが空になったら、Wikipedia:カテゴリの方針#カテゴリ間のリダイレクトおよびWikipedia:即時削除の方針#カテゴリ6に従って、即時削除を依頼しましょう。英語版ウィキペディアなどで運用されている{{category redirect}}は、日本語版ウィキペディアでは現在使用されていません。
隠しカテゴリ
マジックワード__HIDDENCAT__
をカテゴリページに記載すると、そのカテゴリは“隠され”ます。すなわち、そのカテゴリに属するページのカテゴリボックスにリンクが表示されなくなります。こうして隠されたカテゴリのことを「隠しカテゴリ」と呼びます。ウィキペディアでは、マジックワードは通常、明示的に使われることはなく、{{hidden category}}テンプレートを使用して適用されます。この機能は、主として一般の利用者が閲覧する記事ページにプロジェクトのメンテナンス用カテゴリが表示されることを防ぐ目的で使用されます。
ただし、隠しカテゴリは、次のいずれかの場合には表示されます。
- カテゴリページ上(親カテゴリまたはサブカテゴリとして)
- 編集画面のプレビュー表示上
- 利用者が特別:個人設定で「隠しカテゴリを表示」を有効化した場合
隠しカテゴリは自動的にCategory:隠しカテゴリに追加されます。
カテゴリの維持管理に役立つ応用術
生のカテゴリ情報を取得する
カテゴリに含まれる項目とソートキー、およびタイムスタンプ(カテゴリに最後に項目が追加された時刻)に関する生の情報は、以下の形式のクエリを利用してAPIから取得できます。
- https://ja.wiki.x.io/w/api.php?cmtitle=Category:カテゴリ名&action=query&list=categorymembers&cmlimit=500&cmprop=title|sortkey|timestamp
リストアップは500項目まで可能です。項目数が500を超える場合、クエリ結果は以下のようなテキストを末尾に含むことになります。
<categorymembers cmcontinue="page|NNNN|TITLE" />
.
次のページの項目のために、以下のテキストを引用符を付けずに前記のテキストに付け足すことができます。
...&cmcontinue=page|NNNN|TITLE
カテゴリへの項目の追加・除外履歴を閲覧する
2016年1月以降、ウォッチリストや関連ページの更新状況の「絞り込み」から、新たに実装された「カテゴリ変更」フィルターを通して、カテゴリへの項目の追加・除外の履歴を表示できるようになりました。
たとえば、Category:存命人物に含まれている人物記事のカテゴリ変更(カテゴリへの追加・除外)履歴は、このような具合に閲覧できます。
特定のカテゴリページをウォッチリストに登録し、「カテゴリ変更」フィルターを有効にすれば、そのカテゴリに含まれている項目のカテゴリ変更(同上)履歴を閲覧できます。こちらのリンクからウォッチリスト上でカテゴリ変更履歴を閲覧できます。特別:個人設定で「ページのカテゴリ追加・除去を表示しない」を無効化しておけば、ウォッチリストに登録しているカテゴリページの項目のカテゴリ変更履歴が常時表示されるようになります。
ただし、上記の方法では、ウォッチリストや「関連ページの更新状況」で指定したカテゴリに現在含まれているページのカテゴリ変更(追加・除外)履歴しか表示されません。また、カテゴリ変更の履歴表示で「〈ページ名〉をカテゴリから除外」と記載されているものは、指定したカテゴリ以外のカテゴリから除外されたページの除外履歴を示しています。指定したカテゴリから除外されたページは、当然ながら「関連ページの更新状況」で指定したカテゴリページの「リンク先」ではなくなるため、ページの除外履歴を確認することはできません。
しかし、この問題には回避策があります。例として、Category:存命人物のカテゴリ変更(追加・除外)履歴を閲覧する想定で説明します。
- まず、ページ本文に
[[:Category:存命人物]]
というカテゴリリンクを記したページ(今回は/カテゴリ変更履歴の例示用ページ)を用意します。 - 次に、特別:関連ページの更新状況で「カテゴリ変更」を閲覧したいページとして、前記のページを指定します。
- すると、このような具合に目的のカテゴリからのページの除外履歴が追加履歴とともに表示されます。
なお、プロジェクト:カテゴリ関連#最近のカテゴリ変更では、すべてのカテゴリページのカテゴリ変更(追加・除外)履歴を監視できます。
ただし、これらのカテゴリ変更(追加・除外)履歴は、現在のところ、過去30日以内、最大999件までしか遡って閲覧することができない仕様となっています。
技術仕様の詳細
マークアップ判定
ページのウィキマークアップにカテゴリの宣言が含まれている場合、ページはそのカテゴリのメンバーとなります。カテゴリの宣言は、[[Category:カテゴリ名]]
または[[Category:カテゴリ名|ソートキー]]
の形式をとります。この宣言は必ず処理を経なければなりません。つまり、<nowiki>...</nowiki>
タグや<includeonly>...</includeonly>
タグの間、またはコメントの中に宣言が現れる場合は機能しません。ただし、カテゴリの宣言は参照読み込み(テンプレート呼び出し)されたページに由来するかもしれません。詳細はカテゴリとテンプレートの項を参照してください。
カテゴリ名には、正規のページ名となる任意の文字列を使用することができます。カテゴリ名がアルファベットの小文字で始まる場合、大文字に変換されます。
カテゴリボックスには、ページが属するカテゴリのリストが、処理されたウィキマークアップに現れるカテゴリ宣言の順番に表示されます。
隠しカテゴリは、隠しカテゴリの項で列挙した場合を除き、カテゴリボックス内には表示されません。
カテゴリとテンプレート
テンプレートはページをカテゴリに追加する用途にも使えます。通常、カテゴリタグをテンプレートページ上の<includeonly>...</includeonly>
タグ内に置くことで、そのテンプレートを呼び出しているページのみをカテゴリに追加することができます(例:<includeonly>[[Category:カテゴリ名]]</includeonly>
)。テンプレートがページに参照読み込みされた時点で、カテゴリタグ(リンク)が有効になり、ページがカテゴリに追加されます。この方法は、含まれるページの入れ替わりが激しかったり、多くのページが含まれたりするカテゴリで有用です。この機能を応用すれば、「ある特定のテンプレートを呼び出しているページ」といった追跡カテゴリを作ることもできます[注 4]。
ただし、カテゴリタグを含むテンプレートに対する変更が、すぐにはカテゴリページに反映されないことがある点に注意してください。記事を編集してカテゴリタグを直接追加した場合、カテゴリの項目リストはページが保存されたときに即時更新されます。一方、カテゴリタグを含むテンプレートの場合、即時更新はされず、その代わり、テンプレートが編集されるたびに、そのテンプレートを参照読み込みしているすべてのページがジョブキューに入れられ、サーバー負荷が低い時にキャッシュが更新されます。これは、サーバーがビジー状態の時にテンプレートのカテゴリが変更された場合、個々のページのキャッシュが更新されてカテゴリページのリストに項目が追加・除外され始めるまでに、数時間から数日間の時間がかかることがあることを意味します。なお、ページを空編集することにより、キューの順番待ちを飛ばして、直ちにキャッシュを更新することができます。
テンプレートページ自体をカテゴリに追加するには、<includeonly>
タグを省略してカテゴリタグを記述します。テンプレートを呼び出しているページをカテゴリに含めることなく、テンプレートページをカテゴリに含めるには、テンプレートページ本体の<noinclude>...</noinclude>
タグの間にカテゴリタグを記述する(カテゴリ宣言を配置する)か、テンプレートの解説サブページの<includeonly>...</includeonly>
タグの間にカテゴリタグを記述します。後者の場合、テンプレートページ本体を編集せずにテンプレートの属するカテゴリを変更できます。これは、テンプレートが保護されていたり、凡人が編集をためらうほど複雑なテンプレートだったりする場合に役立つ方法です。
パーサー関数を使用すれば、その変数に応じて、トランスクルード(参照読み込み)によってカテゴリを付与したり、ソートキーを指定したりすることもできます(例:Template:Category:日本の都道府県)。
- カテゴリ名をパラメータとして渡す方法
- <includeonly>[[Category:{{{cat|default}}}]]</includeonly> または <includeonly>{{{cat|[[Category:default]]}}}</includeonly>
- パラメータ "cat=XXX" を指定すれば、ページは [[Category:XXX]] に追加され、さもなくば [[Category:default]] に追加されます。引数を指定せずに "cat=" でテンプレートを呼び出すと、ページはいずれのカテゴリにも含められません。
- 記事以外のページを除外する方法
- <includeonly>{{#if:{{NAMESPACE}} | | [[Category:XXX]]}}</includeonly>
- 標準名前空間(記事名前空間)のNAMESPACE変数の値が0であることを利用すれば、上記のif条件文により、記事以外の任意の名前空間ページをカテゴリ適用の対象から除外することができます。この場合、記事以外のページに対しては、パーサー関数は空文字列を返す一方、記事ページに対しては、Category:XXXが適用されます。
テンプレートスタイル(通例、ページ名が.cssで終わるTemplate名前空間ページ)の場合、CSS上は以下のようにコメントアウトで記述して、ページをCategory:テンプレートスタイルに追加してください。
/* [[Category:テンプレートスタイル]] */
なお、(英語版)ウィキペディアでは、テンプレートを使用して通常のカテゴリに記事を追加することは推奨されていません。詳しくは、カテゴリのガイドラインのテンプレートを使用したカテゴリ付与(英語)の項を参照してください。
カテゴリと「関連ページの更新状況」の挙動
カテゴリページについても「関連ページの更新状況」機能が利用できます。ただし、他の名前空間ページを指定したときとは異なる挙動を示します。特別:関連ページの更新状況でCategory名前空間ページを指定すると、現在カテゴリに含まれているページの最近の編集履歴が表示されます。それらのページがサブカテゴリやファイルページの場合は、ページの編集可能な部分の編集履歴のみが表示されます。
「関連ページの更新状況」では、対応するカテゴリから除外されたページの編集履歴は表示されない点に注意してください。
また、カテゴリページの本文(編集可能な部分)からリンクしているページの編集履歴は表示されません。これを回避するには、問題のリンクをテンプレートに載せて、カテゴリページにて参照読み込みする対策が有効です。
通常通り―つまり、ウォッチリストとは異なり―、対応するノートページの最近の編集履歴は「関連ページの更新状況」には表示されません。自分がウォッチしているページは、「関連ページの更新状況」ページ上では太字で表示されます。これは、あるカテゴリ内のどの項目が自分のウォッチリストに入っているかを見つけるのに役立ちます。
なお、リンク先ページでツールからリンク元を参照した場合は、カテゴリページの本文(編集可能な部分)からの明示的なリンクのみが「リンク元」リストに表示され、カテゴリに含まれるページ側から「リンク元」を参照しても、「リンク元」リスト上にはカテゴリページは表示されません。