Yoast SEO プラグインでカノニカルURLと og:url を別にしたい

私自身はあまり使っていないので本当はここに設定があるよ!っていう場合は教えてください!

また、SEO的にこれはどうなの?っていうのはわからない前提で見てください!

Yoast SEO プラグインでカノニカルURLを設定する

Yoast SEO プラグインで投稿の「カノニカルURL」を設定したところ

これはこれでOKです!いいと思います!

すると…

canonical と og:url が同じになる

投稿ページを表示してソースを確認します。

<link rel="canonical" href="https://example.jp/?p=30" />
<meta property="og:url" content="https://example.jp/?p=30" />

同じですね…

ただ、これは同じ値になってしまいますが

Facebook for Developer のシェアデバッガーなどで見るときちんと 「rawタグに基づいて、以下のOpen Graphプロパティが構築されました」ということで本来のURLで処理されているんですよね。

じゃあ、問題ないと思うんですが…

まぁ、違えたいということであればこのような方法があります。

カノニカルURLと og:url を変えるカスタマイズ

Yoast SEO プラグインが入っている前提です。

また、テーマや他のプラグインで canonical URL が引っ張られる可能性は多々ありますのでご注意ください。

こちらのコードを functions.php などに記述してください。

// YoastSEOの カノニカルURL を指定したら og:url も指定したURLになってしまうのを阻止!
function change_custom_opengraph_url( $url ) {

	if ( is_singular() ) {
      return get_the_permalink();
	}
    return $url;
}
add_filter( 'wpseo_opengraph_url', 'change_custom_opengraph_url');

こちら、解説しますと 表示ページが is_singular() の条件を満たす場合だけ「og:url」には現在のページのパーマリンクを出力します。

※is_singular() は 「is_single(), is_page(), is_attachment() のいずれかが true を返すとき 」 という定義になります。

参考: https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/is_singular

そのため、トップページや記事一覧ページでは機能しませんのでご注意ください。

このコードを元に応用することもできますね。

以上です。

参考にした記事

このコードは LIGさんの記事を参考にさせていただきました。

免責事項

何度か言ってますが、SEO的にどうなのか…はイマイチわかっていません。

わかったら追記します!

この記事が気に入ったら
いいね ! しよう

Twitter で