WordPressでトップページにcanonicalを設置

コアの機能で挿入されないインデックスページに、URL正規化タグを挿入

CMS(Contents Management System)のデファクトスタンダード「WordPress」では、投稿ページ(post)と固定ページ(page)を対象として、URL正規化タグ「canonical」が自動で挿入されます。

しかしながらトップページには、デフォルトにて「canonical」が挿入されないため、ここを改善したいと考えるWebマスターの方も多いのではないでしょうか。そこで当エントリでは、トップページに対して「link rel=”canonical」を設置する方法を幾つか紹介したいと思います。

この機能を有するテーマを使用する

トップページに対する「canonical」タグの挿入を、機能の一部として提供しているテーマを選択すれば、追加のプラグインやテーマの編集は不要です。フリーのテーマでは「Cocoon(コクーン)」「Luxeritas(ルクセリタス)」等が、独自のメニュー(カスタマイザ)を通じて この機能を提供します。

プラグイン(All in One SEO Pack)を使用する

トップページcanonicalを機能として提供していないテーマにおいては、プラグインを使用すると良いでしょう。利用者も多く、情報量も豊富な「AIO SEO Pack(All in One SEO Pack)」を通じて この機能を実現する事が可能です(Lite版にて設定可能です)。

AIO SEO Packのcanonical設定
↑「All in One SEO Pack」>「General Settings(一般設定)」における、トップページcanonicalの設定項目

※上記のスクリーンショットは、Local by Flywheelにて管理するローカルサイトの管理画面です。当サイトの管理画面ではありません。尚、紹介しているテーマ、プラグインは一例であり、これが全てではありません。

プラグインを使用せずに、header.phpにコードを追加

読み込み速度(PageSpeed)の低下を抑える等の理由で プラグインの使用を控えたい場合には、「header.php」に直接コードを追加します。WordPressの管理画面からは、「外観」>「テーマエディター」にアクセスし、右側のカラムから「テーマヘッダー(header.php)」を選択する事によって、当該のphpファイルを編集する事が可能となります。

続いて、「テーマヘッダー(header.php)」における<head>〜</head>タグ内に、以下のコードを記述します。

<?php if( ( is_home() || is_front_page() ) && !is_paged() ) : ?>
<link rel="canonical" href="https://piyopiyo.com" />
<?php endif; ?>

上記のコードでは、インデックスページの1ページのみに「link rel=”canonical」が挿入されます。ページネートされた2ページ以降には表示されないように、条件分岐されています。尚、「https://piyopiyo.com」には、御自身のサイトのアドレスを代入して下さい。

テーマの編集には、Child Theme(子テーマ)の使用を推奨します。子テーマに「header.php」の項目が存在しない場合には、FTPクライアント等を使用して、親テーマのフォルダから該当ファイルをダウンロードし、子テーマのフォルダにアップロードすると良いでしょう。また、編集後には 意図した変更が正しく反映されているかどうか、ソースコードの確認もお願い致します(コードの利用、及びそれに伴う結果として生じた直接的・間接的な損害・損失等に関しては、免責させて頂きます事を御了承下さい)。