テーマ乗り換え時にメタディスクリプションなどの設定をSEO SIMPLE PACKに引き継ぐ方法

記事上のウィジェットエリア

例えばJINやSANGOなど、テーマ内でメタディスクリプションやタイトルタグを設定できるものを使っている場合、テーマを乗り換えるとそれらの設定も全て再設定しなおさないといけなくなります。

このページでは、そういったテーマ側の設定をSEO SIMPLE PACKに引き継ぐためのコードを紹介します。

目次
目次前広告表示エリア

コードの追記場所について

今回ご紹介するコードは、子テーマのfunctions.phpや、自作したプラグインなどのファイルにコピペしていただければと思います。

子テーマのfunctions.phpに追記する方法

まず、「外観」>「テーマエディター」へと進んでください。

テーマエディターを選択
テーマエディターを選択

「テーマエディター」をクリックすると、現在使用中のテーマのstyle.cssファイルが開いた状態になっています。

テーマエディター画面
テーマエディター画面

初回編集時は警告文が出てきますが、「理解しました」をクリックしてください。

この画面の右側にある、「テーマのための関数 (functions.php)」と書かれたファイルを選択してください。

了のアイコン画像

この時、編集するテーマがSWELLの子テーマになっていることを一応確認することを忘れないようにしてください。

functions.phpを選択
functions.phpを選択

functions.phpファイルの編集画面に移ったら、ファイルの一番最後にコードを追加します。

functions.php編集位置
functions.php編集位置

コードを貼り付けれたら、編集ページの下部にある「ファイルを保存」ボタンで保存しましょう。

引継ぎコードの概要

テーマによってどこに情報が保存されているかが変わるので細かい部分は異なりますが、基本的には、

  • 乗り換え前のテーマの情報を取得
  • フックを使ってSEO SIMPLE PACKの出力を上書き

という流れは同じです。

例えば、メタディスクリプションの設定を古いテーマから引き継ぐための方法は以下のような感じになります。

add_filter( 'ssp_output_description', function( $ssp_description ) {

  $post_id  = get_the_ID(); // その記事のIDを取得

	$old_meta = '古いテーマから情報を取得';
	$ssp_meta = get_post_meta( $post_id, 'ssp_meta_description', true );

  // その記事にSSPの設定がまだなくて、古いテーマ側での設定があれば、後者を出力
	if ( empty( $ssp_meta ) && $old_meta ) {
		return $old_meta;
	}
	return $ssp_description;

});

このざっくりとした流れは、テーマの乗り換えではなくSEO系のプラグインの乗り換えでも同じです。
「All in One SEO Pack」から「SEO SIMPLE PACK」へ引き継ぐコードを別記事で紹介していますので、そちらも参考にしていただくといいかなと思います。

SEO SIMPLE PACKで用意されているフック一覧

  • og:title用 : 'ssp_output_og_title'
  • og:description用 : 'ssp_output_og_description'
  • og:url用 : 'ssp_output_og_url'
  • og:locale用 : 'ssp_output_og_locale'
  • og:type用 : 'ssp_output_og_type'
  • og:url用 : 'ssp_output_og_url'
  • twitter:site用 : 'ssp_output_tw_site'
  • twitter:card用 : 'ssp_output_tw_card'
  • fb:app_id用 : 'ssp_output_fb_appid'
  • fb:admins用 : 'ssp_output_fb_admins'
  • article:publisher用 : 'ssp_output_fb_publisher'

注意点

今回紹介するコードは、「出力を書き換える」だけのコードです。

つまり、記事の編集画面下にある SEO SIMPLE PACKの設定エリアは空白のままとなります。

このエリアは変わらない

このSEO SIMPLE PACKの設定画面から改めてディスクリプションなどを入力すると、その新しい設定が優先的に表示されます。

テーマごとのコード紹介

では、実際にいくつかのテーマを例にしてコードを紹介していきます。

※ 紹介しているテーマのアップデートによって、設定項目が増減したりはしているかもしれません。

JIN

JINは、テーマ側から

  • タイトルタグ
  • メタディスクリプション
  • メタロボット(noindexとかのやつ)

を設定することができますので、この3つに対しての引継ぎコードを紹介します。

// タイトルタグ
add_filter( 'ssp_output_title', function( $ssp_title ) {

    $jin_meta = get_post_meta(get_the_ID(), 'jin_seotitle', true);
    $ssp_meta = get_post_meta(get_the_ID(), 'ssp_meta_title', true);
    if ( empty( $ssp_meta ) && $jin_meta ) {
        return $jin_meta . ' | '. TITLE;
    }
    return $ssp_title;
});

// メタディスクリプション
add_filter( 'ssp_output_description', function( $ssp_description ) {

    $jin_meta = get_post_meta(get_the_ID(), 'post_desc', true);
    $ssp_meta = get_post_meta(get_the_ID(), 'ssp_meta_description', true);
    if ( empty( $ssp_meta ) && $jin_meta ) {
        return $jin_meta;
    }
    return $ssp_description;
});

// メタロボット
add_filter( 'ssp_output_robots', function( $ssp_robots ) {

    $jin_noindex = get_post_meta(get_the_ID(), 'post_noindex', true);
    $ssp_meta = get_post_meta(get_the_ID(), 'ssp_meta_robots', true);

    if ( empty( $ssp_meta ) && !empty( $jin_noindex ) ) {
        return 'noindex';
    }
    return $ssp_robots;
});

JINからの乗り換えサポート用プラグインを使っている場合は、すでにコードが内包されているので自ら追記する必要はありません。

ただし、乗り換えサポート用プラグインを停止する時は、このコードを自分で追記していただく必要がございます。(手動でSEO SIMPLE PCAKに書き写した場合は不要です)

SANGO

SANGOは、テーマ側から

  • タイトルタグ
  • メタディスクリプション

を設定することができますので、この2つに対しての引継ぎコードを紹介します。

// タイトルタグ
add_filter( 'ssp_output_title', function( $ssp_title ) {

    $post_id  = get_the_ID();
    $sng_meta = get_post_meta( $post_id, 'sng_title', true );
    $ssp_meta = get_post_meta( $post_id, 'ssp_meta_title', true );
    if ( empty( $ssp_meta ) && $sng_meta ) {
        return $sng_meta;
    }
    return $ssp_title;
});

// メタディスクリプション
add_filter( 'ssp_output_description', function( $ssp_description ) {

    $post_id  = get_the_ID();
    $sng_meta = get_post_meta( $post_id, 'sng_meta_description', true );
    $ssp_meta = get_post_meta( $post_id, 'ssp_meta_description', true );
    if ( empty( $ssp_meta ) && $sng_meta ) {
        return $sng_meta;
    }
    return $ssp_description;
});

SANGOからの乗り換えサポート用プラグインを使っている場合は、すでにコードが内包されているので自ら追記する必要はありません。

ただし、乗り換えサポート用プラグインを停止する時は、このコードを自分で追記していただく必要がございます。(手動でSEO SIMPLE PCAKに書き写した場合は不要です)

記事下のウィジェットエリア

この記事が気に入ったら
フォローしてね!

目次
閉じる