「行を削除」というコマンドは完全なる罠でした。Search Regexを利用する場合は、これだけはさわってはいけません。
WordPressには「Search Regex」という、全記事内から指定した文字列を探し出し、それを任意の文字列に一括で置換することができる、ものすごく便利なプラグインがあるのですが、「操作」というボタンを押すと現れる「行を削除」という選択肢だけはさわってはいけません。
なぜなら、これを押してしまおうものなら、記事がゴミ箱にいくとかではなく、なんの断りもなく完全に消去されてしまうからです。
なぜそんなことを知っているのかというと、実際に勘違いでこの「行を削除」を押してしまったからなのですが、注意喚起のため、今回はことの顛末をお話ししたいと思います。
Search Regexの基本的な使い方
WordPressにも記事内を検索する機能は標準で搭載されていますが、Search Regexの機能はそれをはるかに上回り、投稿や固定ページなどの指定した文字列を検索結果として表示してくれ、さらにその文字列を一括で置き換えることができるという非常に便利なプラグインです。
基本的な使い方は簡単で、検索窓に探したい文字列を入力し、左下の「検索」ボタンを押します。今回は「ブログ」と入力してみました。
すると、先ほど検索した「ブログ」という文字列が入っている記事が一覧で、しかも該当する文字列の場所とその前後までもが、検索結果として表示されるのです!
あとは最初の「置換」という枠内に、置き換えたい文字列を入力すれば、
このように置換を実行したあとの結果が表示されます。これで問題がなければ「すべて置換」を押すだけで、すべての文字列を置き換えることができるわけです。
このプラグインを活用すれば、わざわざ記事を1つずつ修正する手間を省くことができ、見落としなども防ぐことができます。
私は以前から、あまりプラグインには頼らないようにしているのですが、正直いうと、これは神プラグインの1つだと思っていました。これまでは。
行を削除だけは押してはいけない
私の場合、記事のタイトルを変更した際の、記事内リンクとして別の記事に張ってある当該記事のタイトル(文字列)を修正するときなどに「Search Regex」をよく使用するのですが、たとえば、以下のような状況となると、修正が少々面倒になります。
これは特殊なケースかもしれませんが、もともとのタイトルに、文字を少し付け足したいという場合、この例でいえば「のだ」を置換先に入力すると、
このように、一部の文字列がかぶってしまうことがあるのです。
これをやってしまうと、あとからかぶっている部分を削る必要が出てくるため、結局は二度手間となってしまうわけですが、ちょうど記事の書き直し後にそういったことが起きていたため、なにかこれを回避する方法はないかと探していると、
私は発見したのです。
その行だけを削除し、文字列がかぶってしまうという面倒ごとを回避できる……としか思えない選択肢を。
その記事だけは文字列を変更したくないとか、私のように変にかぶってしまうのを回避したいとか、そういったときのためにあるコマンドなのだろう。
そう私は思い、書き直しが終わった記事を、タイトルの文字がかぶらないようにするため、ひとまず行から削除したのです。

…………
しかしこのとき、私はなにか嫌な予感を覚えました。
これまで何度か、技術的な問題からサイト消滅の危機があったことで、この手のあやしいものに対する嗅覚は鋭くなっていたのでしょう。私はすぐに投稿一覧から、「行を削除」した記事を探し始めました。
……が、ない。
さきほど書き直しが完了した記事がありません。投稿の一覧画面にもなければ、ゴミ箱にない。どこにもないのです。
そこで私は、先ほどまで編集していた当該記事のページがタブに残っていたので、それをのぞいてみました。
……?
…………!?
削除されたのかもしれません、というか、削除されています、どう考えても。
これは完全にやらかしました。このところ目立ったトラブルもなかったため、私の研ぎ澄まされた嗅覚というのは、この平和ボケによって、危険を嗅ぎ取るのに一瞬の遅れが生じるようになっていたのです!
当然ながら、当該記事は当サイトから消滅し、Web上からも消し去られていました。
なんとか記事の復元には成功した
その書き直しが終わった記事というのは大切な記事だったので、私はかなりあせったのですが、これはもう運がよかったとしかいいようがありません。
記事の修正を終えた直後の出来事だったので、先ほどまで書き直していた記事の編集画面とプレビュー画面が、それぞれもう1つずつタブに残っていたのです。
その編集画面から内容を写し取り、パーマリンク(記事ページのアドレスのようなもの)を同じものに設定、新規作成から投稿し直したことで、無事に記事を復元することに成功しました。
「変更を加える前に、データをバックアップすることを強くおすすめします」と、先ほどの「Search Regex」の画面でも何度も出てきていましたが、これまで私は、毎回バックアップを取るのが面倒くさかったので、その注意書きはスルーしていました。
が、これはバックアップを取っておいたほうがいいと痛感。私の場合は1記事だけで、しかも直前まで編集していた記事だったので助かったものの、何記事も消してしまっていれば、いよいよ取り返しのつかないことになるところでした。
完全に消してしまった記事の復元方法にはいくつかやり方はあるようですが、外部サイトやバックアップから復元することができない場合は、最終的にはサーバーに問い合わせて、そこから復元することになるのではないかと思います。
そうなると料金が発生する場合もあると思うので、なにかあやしいコマンドを見かけた際は、やはりいじる前に、バックアップを取るようにしたほうがいいでしょう。
今回のまとめ
・こまめにバックアップは取ろう
・見知らぬコマンドはひとまずさわらないほうがいい
WordPressの置換プラグイン「Search Regex」の「行を削除」というコマンドは、押してしまうとゴミ箱を経由せずに、一撃で記事が葬り去られてしまいます。
一見するとその記事を置換対象から外すようにしか見えないため、さわってしまってもおかしくはないものなのですが、これを押してしまうと大変なことになりかねません。同プラグインを利用している方はご注意ください。
ただ、あまりにも理不尽すぎるコマンドなので、今後のアップデートでこの選択肢は消えるか、文面が変更されるか、なにかしらの対策が打たれそうではありますが、そのまま残る可能性もあるので、警戒を怠ってはいけなさそうです。
ブログの運営作業で、私はひさびさに肝を冷やしたというか、冷や汗をかきました。これはもう、なにかあるたびに思いますが、やはりバックアップはこまめに取っておいたほうがいいということです。
コメント(確認後に反映/少々お時間をいただきます)