WordPress で canonical タグを動的に表示する方法

WordPress で canonical タグを動的に表示する方法を紹介します。

canonical タグを動的に表示する方法

canonical タグに設定する URL を動的に取得する場合は、PHP を使って現在アクセスしているページの URL を取得します。
例えば、現在アクセスしているページの URL を設定した canonical タグを表示する場合は、次のコードを header.php の head タグ内に追加します。

<?php echo '<link rel="canonical" href="http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'].'">'; ?>

canonical タグを表示したくない場合

canonical タグを表示したくないページがあれば、そのページに合わせた条件分岐を設定します。
例えば、カスタム投稿タイプの詳細ページと固定ページだけに canonical タグを表示したい場合は、次のコードを header.php の head タグ内に追加します。

<?php // canonical タグの表示
if(is_singular()||is_page()){ // カスタム投稿の詳細ページと固定ページで表示
if(!is_404()){ // 404ページでなければ表示
echo '<link rel="canonical" href="http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'].'">';
}
}
?>

まとめ

WordPress で canonical タグを動的に設定する方法を紹介しました。