記事のインポート時は下書き状態にしないと大変なことに

新年の挨拶でも書きましたが別ブログの統合をするのにワードプレスの
インポート機能を使ったのですがその時にツイッターへの投稿まで
してくれたのでサーバの負荷が高まってしまい、ハマリました。

記事インポート時は要注意・公開状態だどSNSへ投稿される

このブログでは各SNSへの投稿はJetPack、ツイッターのみ
Next Scripts: Social Networks Auto Poster Optionsで行っています。

このプラグインはツイッターへの投稿時にアイキャッチ画像を
ツイッターの投稿にも投稿してくれるので使っています。
【関連】WordPressの投稿をアイキャッチ付きでツィート出来るプラグイン

しかし、インポートしても記事の状態が公開状態だと
JetPackはインポート時は動作しませんでしたが
Next Scripts: Social Networks Auto Poster Optionsは
怒涛の勢いで次々にツィッターへ投稿しています。

多分、裏では様々なプラグインが動いていると思います。

インポートした記事は、リライトやSEO的に弱い場合は
削除する予定だったので大慌て。

ツイッターへの投稿はすべて削除しましたが、
サーバの反応が無くなり、VPSの強制リブートを行いました。

記事のインポートでハマった時のCPU負荷(週間)

 

リブート後、インポートできていた記事を削除して、再インポートする前に
XMLファイルを編集してステータスを公開から下書きに変更しました。

下書きであればそんなに負荷は掛からない様ですんなりインポートは完了しました。

XMLファイルを編集して公開から下書きに変更する方法

ワードプレスでエクスポートされるデータはWordPress eXtended Rss (WXR) 。
基本的にXML形式なのでテキストエディタなどで編集可能です。

WordPress eXtended Rss (WXR)フォーマットの詳細は
こちらを参考にしました。(英語)
The WordPress eXtended Rss (WXR) Export/Import, XML Document Format Decoded and Explained.

この記事によると公開状態はpublish、下書きはdraftとなっているので
テキストエディタの置き換えでカンタンに変更出来ます。

<wp:status>publish</wp:status>
<wp:status>draft</wp:status>

を置換前、を置換後にして置き換えを実行します。

これで完了です。