WPML

WPMLのスティッキーリンクは、ページと投稿の間の内部リンクです。リンク先を追跡し、ターゲットURLが変更されると自動的に更新されます。

名前が似ていて(紛らわしいですが)、WordPressの先頭に固定表示される投稿やページとは関係ありません。


例から始めましょう。

Webサイトに2つのページ(Homeページと、最新かつ最高の唯一の製品であるSpace Whizというページ)しかないと仮定します。HomeからSpace Whizへのリンクがあります。わかりやすいURL(パーマリンク)を使用しているため、そのアドレスは次のようになります。

oursite.com/space-whiz/
Space Whizの売れ行きが好調なため、続編のSpace Attackを作成することにしました。新しいProductsページを作成し、両方のプログラムの親ページにします。すると、次のようになります。
oursite.com/products/
oursite.com/products/space-attack/
oursite.com/products/space-whiz/
oursite.com/space-whiz/を指しているホームページのリンクはどうなるのでしょうか。

間違った場所を指すことになります。そのページのURLはoursite.com/products/space-whiz/に変更されます(WordPressは新しいURLに賢くリダイレクトしますが、これは推測に基づいて行われます。ご興味があれば詳しく説明します)。

ホームページのリンクが魔法のように正しいURLに更新されたら素晴らしいと思いませんか。

これこそがスティッキーリンクの機能です。

スティッキーリンクを有効化すると、ページと投稿の間のすべての内部リンクは、URLが変更されたときに自動的に更新されます。ページのURL(パーマリンク)が変更されると、そのページへのすべてのリンクが即座に更新されます。

以下の図を見ると、もう少しわかりやすいかもしれません。

変更前 変更後
変更前のスティッキーリンクデモ 変更後のスティッキーリンクデモ(無効)
変更前 変更後
変更前のスティッキーリンクデモ 変更後のスティッキーリンクデモ(有効)

MS Word(またはOpenOffice)で図形を描画したことはありますか。オブジェクトを接続するには、線を引くかコネクタを配置します。線は単にどこかを指し示すだけです。コネクタはオブジェクトを指し示します。オブジェクトが移動すると、コネクタもそれに追従します。線は、オブジェクトが以前あった場所を指し続けるだけです。

WPMLのスティッキーリンクはコネクタのようなものです。ページの移動先を追跡して追従します。これが名前の由来です。


スティッキーリンクを有効化すると、WPMLは次の2つのことを行います。
  1. 投稿とページが保存されると、すべてのURLをスティッキーリンクに変更します。
  2. ページが表示されると、リンクの実際のURLを計算します。
SitePressによってスティッキーに変換されたリンク
SitePressによってスティッキーに変換されたリンク

ページまたは投稿を保存すると、WPMLは他のページや投稿へのリンクがないか確認します。そのようなリンクをすべてデフォルトスタイルのリンクに置き換えます。<a href="http://oursite.com/space-whiz/">を保存する代わりに、<a href="/ja/?page_id=5">(またはそのページのID)を保存します。これがデフォルトスタイルのURLです。

次に、ページが表示されるときに、WPMLはすべてのリンクを現在のURLに戻します。Space WizのURLがhttp://oursite.com/space-whiz/の場合、そのまま表示されます。URLが変更されると、すべてのページのリンクが即座に更新されます。


WPMLでは、スティッキーリンクの使用を簡単に開始および停止できます。スティッキーリンクの管理画面では、既存のすべてのコンテンツをスキャンし、通常のリンクをスティッキーリンクに変換できます。その際、リンク切れについて警告し、可能な代替案を提案します。

スティッキーリンクの使用をやめたい場合は、現在のパーマリンクに戻すことができます。WPMLはデータベース内の投稿にあるすべてのページを処理し、リンクを元に戻します。

訪問者にこの処理は見えますか


いいえ。すべて内部的な処理です。訪問者には常にリンク内の現在のパーマリンクが表示されます。スティッキーリンクはページを編集するときにのみ表示されます。その際、わかりやすいリンク(パーマリンク)の代わりに、デフォルトのWordPressリンクが表示されます。

訪問者がページを表示するとき(またはプレビューするとき)は、すべてパーマリンクになります。


素晴らしい質問です。聞いていただきありがとうございます。

ここでスティッキーリンクが真価を発揮します。パーマリンク構造を1日に10回変更しても、何も壊れることはありません。ページ間のリンクはページが表示されるときに計算されるため、何を変更しても、ページと投稿の間のリンクは常に正しい状態に保たれます。

フィードバック


これでWPMLのスティッキーリンクについてご理解いただけたかと思います。これについてどう思われますか。便利な機能だと思いますか。改善のアイデアはありますでしょうか。

この記事が役に立ちましたか?この記事を共有: