PageButeプラグインでcanonical属性を変更する「PageButeCanonicalChangerプラグイン」

PageButeプラグインでcanonical属性を変更する「PageButeCanonicalChangerプラグイン」

Posted at November 6,2014 1:55 AM
Tag:[MovableType, PageButeCanonicalChanger, Plugin]

Movable Typeのページ分割プラグイン「PageBute」でcanonical属性を変更する「PageButeCanonicalChangerプラグイン」を公開します。

1.機能

PageButeプラグインは、Movable Typeで出力するアーカイブページなどをページ分割してくれます。

ですが、分割されたページのいわゆるcanonical属性のhref属性の2ページ目以降には、

<link rel="canonical" href="http://www.example.com/cat1/index_2.html" />

というようなURLを付与したいのですが、1ページ目のURL、

<link rel="canonical" href="http://www.example.com/cat1/" />

しか設定することができません。

ちなみに、PageButeプラグイン関連のテンプレートタグはMTIfタグを使えないため、下記のテンプレートのように1ページ目だけを除外する制御が行えません。

<link rel="canonical" href="<$mt:CategoryArchiveLink$><mt:if tag="PageCount" gt="1">index_<$MTPageCount$>.html</mt:if>" />

本プラグインをPageButeプラグインと併用すれば、1ページ目のURLはそのままにして、2ページ目以降のcanonical属性のURLを変更できるようになります。

2.プラグインのダウンロード・インストール

下記のリンクをクリックして、PageButeCanonicalChangerのプラグインアーカイブをダウンロードします。

PageButeCanonicalChanger_0_01.zip

プラグインアーカイブを展開し、pluginsフォルダにあるPageButeCanonicalChangerフォルダをMovable Typeのアプリケーションディレクトリのpluginsディレクトリにアップロードします。

システム管理画面のプラグイン設定画面で、「PageButeCanonicalChanger~」が表示されればインストール完了です。

プラグイン設定画面

3.使い方

ページ内にある次のようなlink要素のhref属性の末尾に「index_ページ数.html」を付与します。URLにテンプレートタグを利用していても問題ありません。

変換前

<link rel="canonical" href="http://www.example.com/cat1/" />

変換後(2ページ目の場合)

<link rel="canonical" href="http://www.example.com/cat1/index_2.html" />

簡易なプラグインのため、以下の制約があります。

  • rel属性、href属性の順に並べてください
  • URLの末尾がスラッシュでない場合やファイルの拡張子がhtmlでない場合は適用できません

2014.11.06
PageButeプラグイン関連タグでMTIfタグが使えないことを追記しました。

関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)