Twitterで過去記事をランダムに掘り起こして自動ツイートしてくれるWordPressの無料プラグイン「Revive Old Posts」。
しかし唯一欠点があり、日本語(マルチバイト)で使用するとつぶやきが文字化けしてしまいます。
今回は、Revive Old Postsのメリットと日本語エラー解消方法、そしておすすめの設定を記載していきます。
目次
過去記事自動ツイートプラグイン”Revive Old Posts”とは。SEO的にも効果のある可能性
Revive Old Postsは、過去記事をランダムに掘り起こして自動ツイートしてくれるプラグインです。
除外設定ができたり、何日前の記事から掘り起こしを始めるか、という設定を行うこともできます。
基本的に無料で使えるプラグイン。
SEOで上位表示を取らなければ、過去記事にはあまりアクセスされることがありません。
その過去記事を掘り起こし、資産として活用するために大変重宝するプラグインです。
また逆説的ですが、過去記事にアクセスしてもらいユーザーが満足していると言うデータをGoogleに提示できれば、検索結果においても上位表示される可能性が出てくるため、SEO的にも使っていきたいプラグインだと言えるでしょう。
Revive Old Postsのエラー「日本語のつぶやきが文字化けする」の対処方法(2019年11月最新版)
しかしRevive Old Postsには唯一、問題がありまして
日本語(マルチバイト環境)で使用すると、つぶやきの後半が「?」などの記号へと文字化けしてしまうのです。
このRevive Old Postsエラー対処法には多くの記事がありましたが、最新版の対処法をご紹介している記事をご紹介させていただきます。
最新バージョン(今回調べたバージョンは8.1.7)
【WordPress】Revive Old Postsで日本語が文字化けする問題を修正する(2019年1月対応版) | Wood-Roots:blog
上記参考記事のように、プラグインコアファイルの1つを修正します。
ファイル内
//mb_strlenにする
と書かれている2箇所だけに、「mb_」とつけるだけ。
日本語マルチバイトに対応させるというイメージですね。簡単です。
引用をさせていただくと
プラグインフォルダの
「tweet-old-post/includes/admin/helpers/class-rop-content-helper.php」
の109行目~139行目のtoken_truncateという関数を修正します。
public function token_truncate( $string, $new_length = false ) { if ( $new_length ) { $this->length = $this->adjust_for_ellipse( $new_length ); } $parts = preg_split( '/([\s\n\r]+)/', $string, null, PREG_SPLIT_DELIM_CAPTURE ); $parts_count = count( $parts ); $length = 0; for ( $last_part = 0; $last_part < $parts_count; ++ $last_part ) { $length += mb_strlen( $parts[ $last_part ] ); //mb_strlenにする if ( $length > $this->length ) { break; } } $output = rtrim( implode( array_slice( $parts, 0, $last_part ) ) ); /** * If the string contains a single word, larger than the length, * we should get the substring of it. */ if ( empty( $output ) && $parts_count === 1 ) { $output = mb_substr( $string, 0, $new_length ); //mb_substrにする } // add ellipse only if set and originating text is longer than set length if ( $this->end_ellipse && mb_strlen( $string ) > $this->length ) { //mb_strlenにする $output .= ' ' . $this->ellipse; } return $output; }
です。上記でいうと、ハイライトしてある11行目と23行目ですね。
参考記事先ではより詳しく書かれていますので、ぜひご参考にしてみてください。
【WordPress】Revive Old Postsで日本語が文字化けする問題を修正する(2019年1月対応版) | Wood-Roots:blog
文字化けエラー解消の確認と、プラグインアップデート時の注意
無事に文字化けエラーが解消されたかどうかの確認方法としては
ファイル内容を書き換えた後、WordPressの管理画面メニューより
Revive Old Posts > Sharing Queue
より今後の投稿内容を確認して、文字化けしていなければ解消完了です。
また、プラグインアップデート時には注意が必要。
Revive Old Postsをアップデートした場合には、プラグインコアファイル内容が上書きされてしまうため、再び上記のエラー解消の対処を行う必要があります。
とはいっても対処方法が上記のように簡単ですので、同様の手順で文字化けを解消しましょう。
Revive Old Postsおすすめのつぶやき投稿設定
なお、Revive Old Postsおすすめの設定としては
Post FormatタブのUse url shortenerはオフ、チェックを入れないようにし正規のURLで投稿されるようにすることです。
チェックを入れて短縮URL形式にしてしまうと、Twitterで投稿された際にブログへのリンクがカード形式のサムネイル写真付きで表示されないため。
その他の設定項目に関しては、初期設定のままでOKかと思います。
ぜひ、エラーを解消したRevive Old Postsプラグインで、あなたの過去記事を資産として活用していきましょう。
gallo says
貴重な記事をありがとうございます!
revive old post無料版を使用中ですが、
自動投稿の周期を1時間おきに設定しているのですが、
投稿STARTボタンを押した後の最初の1件目のみ投稿が行われ、
以降は投稿が行われないという減少に悩まされています・・・。
3サイトにrevive old postを導入し、3つのツイッターアカウントをそれぞれ連携させています。
1つのサイトでは正常動作していますが、残り2つのサイトでは上記の通り投稿が止まってしまいます。
解決方法をご存じでしょうか?
ツイッターはロックなどかかっていません。
お手数をお掛けしますが、
宜しくお願いいたします。
wizard says
galloさん、コメントをありがとうございます。
お役に立てたようで嬉しいです。
1つのサイトでは正常動作しているとのことで、環境の差が気になりますね…
投稿がストップしているサイトのWordPressおよびRevive Old Postsのプラグインは共に最新版ですか?
私も以前、WordPressバージョンが古くなっていた際に動作しなくなったことがありました。両方のバージョンを確認してみてください。
他にあり得るとしたら、プラグイン同士の干渉でしょうか。
解決のヒントになれば幸いです。
gallo says
wizardさん
早速のご返信ありがとうございます!
>投稿がストップしているサイトのWordPressおよびRevive Old Posts>のプラグインは共に最新版ですか?
はい、全て最新版になっておりました。
プラグインも各サイトとも同一のものを使用しています。
まっさらなサイトにrevive old postを導入してみた結果
正常動作しました。。
小規模なサイトなので、とりあえずサイト作り直していきます(泣
ありがとうございました!