All in One SEO Packの記事毎のソーシャル設定はデータベースのどこに格納されているの?

閲覧数:1,382 views

あなたが今、読んでいるカテゴリー:
wordpress

スポンサーリンク

WordPressをお使いの方はおなじみであろうプラグイン「All in One SEO Pack」のメタデータについての記事です。この度SNSのメタタグに関する設定の一括変更が必要になったので調べてみました。

All in One SEO Packのバージョンは2.2.6.2で説明していきます。

ソーシャル設定はどこに保存されているの?

phpMyAdmin

_aioseop_opengraph_settingsに格納されているデータ(phpMyAdmin)

  • 【テーブル】wp_postmeta
  • 【meta_key】_aioseop_opengraph_settings

にシリアライズ化された状態で保存されています。シリアライズについては以下の記事が分かりやすいと思いますので、参照してください。

覚えておきたい「シリアライズ serialize」  |  hijiriworld Web

対応表は以下の通りです。

名前概要該当するmetaタグの属性値
aioseop_opengraph_settings_titleStringTitleog:title
aioseop_opengraph_settings_descStringDescriptionog:description
aioseop_opengraph_settings_imageStringImageog:image
aioseop_opengraph_settings_customimgStringCustom Imageog:image
aioseop_opengraph_settings_imagewidthStringSpecify Image Widthog:image:width
aioseop_opengraph_settings_imageheightStringSpecify Image Heightog:image:height
aioseop_opengraph_settings_videoStringVideoog:video
aioseop_opengraph_settings_videowidthStringVideo Widthog:video:width
aioseop_opengraph_settings_videoheightStringVideo Heightog:video:height
aioseop_opengraph_settings_categoryStringFacebook Object Typeog:type
aioseop_opengraph_settings_sectionStringArticle Sectionarticle:section
aioseop_opengraph_settings_tagStringArticle Tagsarticle:tag
aioseop_opengraph_settings_setcardStringTwitter Card Typetwitter:card
Social Settings 画面

Social Settings 画面

これが分かったところで何か得があるの?というお話ですが

公式TwitterアプリでTwitterカードがタイムラインに直接表示されるようになったので、Summary(画像が小さいカード)からSummary Image Large(画像がおおきいカード)に変更することになりました。こっちの方が大きくて目立ちますので。この件に関しては以下の記事を参照してください。

【Twitter】タイムラインにTwitterカードを表示する機能を実装か

記事ごとに設定が保存されているので、いちいち投稿の設定を手動で変更していたら時間がもったいないです。全てのソーシャル設定を一括変更したい場合にこの値が必要になってきます。今回の置換に関しては重複する値は無いと思うので「aioseop_opengraph_settings_XXXX」の部分は置換する際に不要かもしれませんが、あった方がより確実に変更できます。ということで、phpMyAdminを使用して、データベースの一括置換を行います。

今回使用した、一括置換のSQL文

WordPressの管理画面からではなく、データベースの内容を直接書き換えます。もし、この作業を行う場合は必ずデータベースのバックアップを取ってから作業してください。筆者はテストサーバーで試してから作業を行いました。テストサーバーをお持ちの方は一度、テストサーバーで動作確認を行ってからの作業を推奨します。

  1. テーブル「wp_postmeta」 の
  2. フィールド(カラム)「meta_key」の値が「_aioseop_opengraph_settings」の
  3. フィールド(カラム)「meta_value」に格納されている値の
  4. 「”aioseop_opengraph_settings_setcard”;s:7:”summary”;」を
  5. 「”aioseop_opengraph_settings_setcard”;s:19:”summary_large_image”;」に変更

というSQL文です。Twitterカードの設定は「aioseop_opengraph_settings_setcard」が該当します。s:7がs:19に変わっているのは、summary_large_imageの文字列サイズ(UTF-8です)が19バイトの為です。

phpMyAdminで置換した結果

phpMyAdminで置換した結果

約300個のデータの置換に0.1秒かかっていません。楽ちんですね。実動作で問題が発生していないことは、筆者の環境で確認済みです。

さいごに

All in One SEO Packのソーシャル設定を一括変更する機会はあまりないかもしれませんが、使用しているプラグインのメタデータの構造は知っておいて損はないかと思います。参考になりましたら幸いです。

スポンサーリンク