cocoonからswellに乗り換えたら、メタディスクリプションが消えちゃった! 自動で移行する方法はないの?
WordPressの別テーマからSWELLへ乗り換えると、メタディスクリプションがそっくり消えてしまいます。
移行元テーマの記事が多い場合、一つひとつ手作業でコピペするのは大変な作業です。
この記事では、Wordpressテーマのメタディスクリプションを瞬時で一括移行する方法をご紹介します。
(プラグインを使う方法と使わない方法の両方を紹介)
- テーマ:Cocoon、AFFINGER、DIVER、SnowMonkey、SONIC
- SEOプラグイン;All in One SEO、Yoast SEO
他のテーマも同じ方法で移行できると思います。
面倒な作業ではありませんが、データベースを扱う方法なので、バックアップを取った上で自己責任で行ってください。
私は色々なWordpressテーマを使ってみましたが、SWELLは現在、イチオシのテーマです。
SWELLへの乗り換えで、メタディスクリプションはどうなる?
プラグイン「SEO SIMPLE PACK」には設定が引き継がれない
WordPressテーマSWELLでは、メタディスクリプションなどのSEO設定は「SEO SIMPLE PACK」というプラグインを使います。
必要最小限の機能で軽量な使いやすいプラグインです。
一方、Cocoon、AFFINGERなど主要テーマでは、テーマ自体にSEO設定があるものが多いです。
他のテーマからSWELLに移行する場合、「SEO SIMPLE PACK」には設定が引き継がれず、メタディスクリプションなどのSEO設定は消えてしまいます。
乗り換えサポートプラグインによるSEO設定の引継ぎサポート
しかし、SWELLの乗り換えサポートプラグインが提供されているテーマでは、プラグインを有効化している間、移行元のテーマのSEO設定が出力されます。
SWELLに乗り換えたサイトの「SEO SIMPLE PACK」の設定エリアは空のままですが、実際には出力されています。
以下は、テーマAFFINGER6からSWELLに乗り換え後のページソースの画像です。
「SEO SIMPLE PACK」の設定エリアは空ですが、、ソースを見ると、AFFIGERで設定していたメタディスクリプションなどのSEO設定が出力されているのがわかります。
※AFFINGERは5用のサポートプラグインとなっていますが、AFFINGER6でもSEO設定が引き継がれ、出力されていることを確認しました。
ただし、プラグインは移行が終わったら無効化することが推奨されているので、一時的に利用するのはよいですが、最終的には、サポートプラグインに頼らず移行することが望ましいです。
2つのテーマ機能を共存させる形になるため、サイトが重くなる可能性があります。
AFFINGER5からSWELLへの乗り換えサポート用プラグイン(SWELL公式サイト)
全記事をリライトした後にプラグインを無効化することをオススメします。
また、JIN、SANGO、プラグインのAll in One SEOについては、SWELL公式サイトで、移行元のSEO設定を引き継ぐためのコードが紹介されています。
これを使うと乗り換えサポートプラグイン無効化後も機能します。
テーマ乗り換え時にメタディスクリプションなどの設定をSEO SIMPLE PACKに引き継ぐ方法(SWELL公式サイト
メタディスクリプションを移行する方法
プラグインを使ってメタディスクリプションの設定を移行する方法をご紹介します。
テーマによってはキーワードも移行します。
旧テーマのSEO設定内 ➡ SWELL内の「SEO SIMPLE PACK」設定エリア内
前述のサポートプラグインを使う場合と違って、移行先のSWELL上の「SEO SIMPLE PACK」の設定エリアに、移行元テーマで設定したメタディスクリプションが入力された状態になります。
プラグインを使う方法①とプラグインなしの方法②のどちらもデータベースを操作しますが、どちらの方法も1行の同じコードを実行するだけです。
データベースを操作するのが不安な方は、プラグインなしの方法の方がリスクは少ないと思います。
メタディスクリプションを移行する方法①-プラグイン使用
Database My Adminというプラグインを使う方法をご紹介します。
Database My Admin は、(MySQL および MariaDB) 用のデータベース関連ツールです。
WordPress管理者画面上でINSERT、SELECT、UPDATE、DELETE といった操作を簡単に実行できます。
まず、管理画面>Database My Admin をクリック。
以下のような画面が表示されるので、使用しているdatabase名をクリックします。
次に表示される入力欄にコードを入力し、Execute(実行)をクリックします。
メタディスクリプション移行するために記載するコードは以下です。
※移行元テーマがCocoon、テーブル接頭辞(wp_postmetaの先頭部分)がwpの場合
※コードについての説明、その他のテーマのコードは後述
メタディスクリプションの移行用コード
update wp_postmeta set meta_key = 'ssp_meta_description' where meta_key = 'the_page_meta_description'
キーワードの移行用コード
update wp_postmeta set meta_key = 'ssp_meta_keyword' where meta_key = 'the_page_meta_keywords'
実行されるとSuccessと表示され、完了です。
「SEO SIMPLE PACK」の設定エリアにメタディスクリプション等が記載されているか確認しましょう。
使用するコードについて
使用するコード(update)はデータの更新を行うためのSQL文です。
テーマを変更しても、移行元のテーマのメタディスクリプション等のSEO設定の情報はデータベースに残っているので、それを引き出して、移行先の設定エリアに移行します。
コードは以下のような形になっています。
UPDATE `wp_postmeta` SET `meta_key` = '移行先のキー名' WHERE `meta_key` = '移行元のキー名';
メタディスクリプションやキーワードは、wp_postmetaというテーブル内に入っています。
移行先(SWELL)のmeta_key
- メタディスクリプション ssp_meta_description
- キーワード ssp_meta_keyword
テーブル接頭辞について
wp_postmetaの先頭のwpは、WordPressのインストール時に指定されたものです。
手動でインストールする際に接頭辞の項目がありますが、サーバーの簡単機能でインストールした場合は自動的に決まると思います。
当サイトはエックスサーバーの簡単インストールを使っており、自動的にwpになっていました。
サーバーによって異なる場合があるので注意してください。
各テーマ、プラグインのコード
移行に使用する5つのテーマのメタディスクリプションとキーワード(ある場合)のコードです。
※postmetaテーブルの接頭辞がwpの場合です。
テーマにSEO設定がない場合に使用するプラグインも2つ紹介します。
Cocoon
メタディスクリプションの移行用コード
update wp_postmeta set meta_key = 'ssp_meta_description' where meta_key = 'the_page_meta_description'
キーワードの移行用コード
update wp_postmeta set meta_key = 'ssp_meta_keyword' where meta_key = 'the_page_meta_keywords'
AFINGER6
メタディスクリプションの移行用コード
update wp_postmeta set meta_key = 'ssp_meta_description' where meta_key = 'st_description'
キーワードの移行用コード
update wp_postmeta set meta_key = 'ssp_meta_keyword' where meta_key = 'st_keywords'
DIVER
メタディスクリプションの移行用コード
update wp_postmeta set meta_key = 'ssp_meta_description' where meta_key = 'diver_single_metadescription'
SnowMonkey
メタディスクリプションの移行用コード
update wp_postmeta set meta_key = 'ssp_meta_description' where meta_key = 'wp-seo-meta-description'
SONIC
メタディスクリプションの移行用コード
update wp_postmeta set meta_key = 'ssp_meta_description' where meta_key = 'tsnc_seo_meta_description_meta_value_key'
All in One SEO(プラグイン)
メタディスクリプションの移行用コード
update wp_postmeta set meta_key = 'ssp_meta_description' where meta_key = '_aioseo_description'
キーワードの移行用コード
update wp_postmeta set meta_key = 'ssp_meta_keyword' where meta_key = '_aioseo_keywords'
Yoast SEO(プラグイン)
メタディスクリプションの移行用コード
update wp_postmeta set meta_key = 'ssp_meta_description' where meta_key = '_yoast_wpseo_metadesc'
他のテーマのmeta_keyについて
このページで紹介しているテーマ以外もテーマ固有のmeta_keyが分かれば移行できます。
meta_keyは、サーバーのphpMyAdminにアクセスして、データベースから探します。
該当するデータベースのうち、wp_postmeta(wp部分はケースによって異なります)を選択して、上部のタブで「表示」をクリック。
そこで、meta_value欄で移行元のメタディスクリプションが記載されている箇所を探します。
メタディスクリプションの左側にmeta_keyが記載されています。
以下の画像はAFFINGER6の場合です。
データ量が多いと、メタディスクリプションの記載箇所を探すのが大変だと思います。
私は知識不足でよいやり方がわかりませんが、効率的な方法があるのかもしれません。
メタディスクリプションを移行する方法②-プラグインなし
プラグインなしの場合は、データベースの管理画面上でデータベースの操作を行います。
コード自体は①のプラグイン使用の場合と同じです。
コードに関する説明はこちら
以下、例として、エックスサーバーの場合の手順です。
まず、サーバーのサーバーパネル(管理画面)でphpmyadmin に入ります。
左側で該当のデータベース名を選択。
右側の「クリエを実行する」欄にコードを記載して、実行ボタンを押します。
コードは①の「プラグインを使う場合」と同じです。
実行されると、以下のように表示されます。
これで完了です。
「SEO SIMPLE PACK」の設定エリアにメタディスクリプション等が記載されているか確認しましょう。
まとめ
データベースを変更するので、慎重に行う必要がありますが、一瞬でメタディスクリプション等が移行できます。
私はCocoonやSnowMonkeyからSWELLに移行しましたが、記事数がそれなりにあったので、この方法でうまくいったので助かりました。
SWELL関連のおすすめ記事