SANGO用メタタグをAll in One SEO・WordPress Popular Postsから一括で移植する方法

sango-metatag-img

こんにちは、薬機法に強い薬剤師セールスコピーライターの江良公宏です。

年末年始とWordpress関連の整備を行っていた関係で今日もWordpressの備忘録です。

実は、近いうちにWordpressのテーマを(ストークをかなり移植した)ハミングバードから変えようかと思っています。

って新しいテーマは既に購入しているのですが、SANGOというマテリアルデザインのテーマです。

と、いってもいきなりこのブログに適用するのはちょっと怖かったので、現在は別ブログでSEOの検証中です。

SANGOにテーマを変える際の問題点

SANGOは非常に高機能なテーマで、今までAll in One SEOやWordpress Popular Postsといったプラグインでやっていたことをテーマの標準機能として装備している、かなりすごいやつです。

とはいえ、そのままテーマを変えてしまうと、今までのAll in One SEOのメタタグやView数は引き継いでくれません。

そこで・・・

『All in One SEOやWordpress Popular Postsのメタタグを一発で移植するプラグイン』

を自作で創りました。

あ、PHPに関してはかなり素人なので、動けば良いという方限定です(^^;)

で、例によってSyntax Highlighter入れていないので、見づらいですがご容赦を。

PhpMyAdminを使ってSANGOのメタタグの格納場所を探す

WordPressデフォルト機能である『抜粋』は『wp_posts』(wp_はDB接頭辞)内に格納されている。

一方、All in One SEOのディスクリプションが格納されているのは『wp_postmeta』の『_aioseop_description』

では、SANGOはというと、『wp_postmeta』内の『sng_meta_description』『post_views_count』に格納されている。

ちなみに、WPPのデータは『wp_popularpostsdata』の『pageviews』に格納されている。

ということで、これらをSANGO用にコピーすればOK。

別件でPhpMyAdmin使っていたので使いましたが、SANGOのソース読んで探した方が早いです。

実際に使ったコード

<?php
/*
Plugin Name: AIO-WPP to SANGOmeta
Plugin URI: https://892copy.jp/
*/
register_activation_hook( __FILE__, ‘aiowpp_activation_run’ );

function aiowpp_activation_run()
{
/* 取得する投稿の範囲を定義 */
$args = array(
‘post_type’ => array(‘post’,’page’)
, ‘numberposts’ => -1
, ‘post_status’ => published
);
/* 投稿内容をDBから取得して格納 */
$posts = get_posts( $args );
/* foreach (配列 as 変数) 一覧のうち1つを変数にセットして終わるまで連続処理 */
foreach ( $posts as $post )
{
/* metaからAIOのディスクリプションを取得 */
$aioseop = get_post_meta( $post->ID, ‘_aioseop_description’ ,true);
/* metaからWordpress popular postのカウント数を取得 */
$wpp = wpp_get_views( $post->ID );
/* SANGO用view数の書き込み */
update_post_meta( $post->ID, ‘post_views_count’, $wpp );
/* AIOのディスクリプションが空なら処理exit */
if( ” != $aioseop )
{
/* SANGO用メタディスクリプションの書き込み */
update_post_meta( $post->ID, ‘sng_meta_description’, $aioseop );
}
}
}
?>

上記もしくは下記ファイルをプラグインフォルダにアップして、一度有効化すればOK。最初に一度やれば、あとは削除してOKです。

aioseo-wpp-sango(ZIPファイル)

ただ、記事数が多い場合は時間がかかってPHPの実行エラーが起こる可能性あり。その場合は、一度無効にして再度有効化を繰り返してみるとそのうち終わる、はず。

実際のサイトで動作検証はしていますが、使用は自己責任でお願いします。(『sng_meta_description』『post_views_count』については問答無用で上書きしますので注意)

DBのバックアップ、大事!!!!!

※質問は受け付けません(というか回答するほどのスキルはない)のでご容赦を。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です