こんにちは!ウェブサバイバー運営のYeah-Manです!さて、今回は『Yoast SEO』です。
WordPressのSEO補助的プラグインといえば『All In One SEO Pack』ですが、こちらの『Yoast SEO』も使っている方、多いと思います。
今回はそんな『Yoast SEO』独自で用意されているフックを使って、カスタマイズする事例を4点紹介いたします!
お探しのものがあればぜひご参照ください!
この記事の目次
Yoast SEOのディスクリプションをPHPから変更する
はじめにYoastSEOで設定しているディスクリプションをPHPから変更するカスタマイズ方法について紹介します。
ACFなどカスタムフィールドの値を組み合わせてオリジナルのディスクリプションを自動生成するなど、PHPプログラムを使ってなにかしらテンプレート生成して変更を加えるようなシチュエーションの時に使えます!
function custom_metadesc($metadesc)
{
$desc = $metadesc;
if ( is_singular('blog') ) {
$site_name = get_bloginfo("name");
global $post;
$desc = get_field('meta_description', $post->ID);
if ($desc ) {
$desc = $desc . ' | ' . $site_name;
}
}
return $desc;
}
add_filter('wpseo_metadesc', 'custom_metadesc');
仕組み的には単純で『wpseo_metadesc』というフックで引数の値がディスクリプションで返ってきます。これを変更してreturnしてあげるだけです。
お試しください!
Yoast SEOのtitleを変更する
次はタイトルです。SEO的にもまだまだ重要度の高いtitleタグですが、これもフックが用意されており、PHPから変更することができます。サンプルコードは以下です。
function custom_title($title) {
if ( is_front_page() ) {
return 'これはトップページ';
}
return $title;
}
add_filter( 'wpseo_title', 'custom_title' );
こちらはフック名が『wpseo_title』というフックになります。
OG設定のディスクリプションを変更する
Yoast SEOではOG設定も管理画面からテンプレートを使って登録することができますが、これもPHP側からフックを使って変更することができます。
//ogディスクリプション
function custom_opengraph_desc($metadesc)
{
$desc = $metadesc;
if ( is_singular('blog') ) {
$site_name = get_bloginfo("name");
global $post;
$desc = get_field('meta_description', $post->ID);
if ($desc ) {
$desc = $desc . ' | ' . $site_name;
}
}
return $desc;
}
add_filter('wpseo_opengraph_desc', 'custom_opengraph_desc');
はサンプルで紹介しているソースはほとんど変わりません。フックの名前にopenngraphとついているところに注目です。
OG設定のタイトルを変更
タイトルを変更してみましょう。
//ogタイトル
function custom_opengraph_title( $desc ) {
if ( is_tax( "blog_category" ) ) {
$site_name = get_bloginfo( "name" );
$_pagetitle = "";
global $wp_query;
if ( $wp_query && $wp_query->queried_object ) {
$_pagetitle = $wp_query->queried_object->name;
}
$title = $_pagetitle . ' | ' . $site_name;
}
return $desc;
}
add_filter( 'wpseo_opengraph_title', 'custom_opengraph_title');
wp_queryを使って記事タイトルに調整を加えています。ごにょごにょしていますが、こちらもフック名にopengraphとついていることからわかりやすいかと思います。
Yoast SEOは他にもフックがたくさん。
他にもフックがありますが、また時間があるときにご紹介できれば!
以上、現場からでした〜!