ワードプレスのSEO用プラグインでAll in One SEO Pack」と並び人気なのが「WordPress SEO by Yoast
こちらの方が細かい設定ができるため、僕も運営しているブログすべてにインストールしています。

最近このプラグインで1つだけ困った点があって、それは「canonical」タグが自動挿入され消せない事です(記事を書いた時点のバージョン)。

canonicalタグとは?

同じサイト内に重複していたり類似するページがあった場合などに、検索エンジンに対してどちらのページを優先してインデックスさせるかを提示させるタグです(URLの正規化などと表現します)。

書き方はhead内にこのように記述します。
<link rel="canonical" href="ここに正規化するURL"/>

さらに詳しい内容はグーグルの解説ページをご覧下さい。


どうしてもこの「WordPress SEO by Yoast」プラグインから出力される「canonical」を消さなくてはいけない事情になりまして(とても長いお話になるので省略します)、設定項目から探したんですが残念ながらそのような項目はありませんでした。

だからと言ってプラグインファイルを編集した場合はプラグインアップデートのたびに同じ作業をする事になってしまうので、他の方法で解決しようと調べてみたところいい方法がありました。

テーマのfunction.phpを変更する事で実現できました。
なのでそんなに頻繁じゃないと思いますが、テーマをアップデートする際はfunction.phpも変更されていないか確認する必要があります。

canonicalタグを非表示にしてくれるコード
下記のコードをテーマのfunction.phpに追記します。

// Yoast WordPress SEOからのCanonicalを無効に
add_filter( 'wpseo_canonical', '__return_false' );

このfunction.phpファイルはとても重要なファイルなので、必ずバックアップをとって作業を行ってください。

こんな風に挿入します。
WordPress SEO by Yoastで出力されるcanonicalタグを非表示する方法

WordPress SEO by Yoast公式サイトを参考にさせていただきました、ありがとうございました。