サイト移転に関する後始末

WordPressで小説サイト

 「千柳亭書房」を移転するにあたり、新サーバにWordPressを突っ込む分には有難いことにボタンひとつ  1  なのですが、そこに旧サイトから中身をインポートするのはなかなか大変でした。

 サイトのバックアップツールはプラグインにもいろいろなものがありますが、WordPress5.8.2では、一応エクスポートとインポートのためのツールが【ダッシュボード】→【ツール】以下にそれぞれ入っています。
 【エクスポート】のツールをあけると…

下のボタンをクリックすると、WordPress がローカルに保存するための XML ファイルを作成します。
ファイルをダウンロードして保存すると、別の WordPress インストールにこのサイトのコンテンツをインポートできます。

 なぁんて簡単そうに書いてます。 しかしこれが、また言うほど楽じゃない。

 確かに、上記文章の下に【エクスポートする内容を選択】、という項目があって、「すべてのコンテンツ」を選ぶこともできますし「投稿」「固定ページ」「メディア」等々、区切ってエクスポートすることも出来る仕様になっています。

 間借り人(暁乃家万夏)のサイトは分けるほどコンテンツがありませんので一括エクスポートしましたが、千柳亭書房は固定ページだけで250近くあるので、とりあえず分割(固定ページ、投稿ページ、カスタム投稿、メディア等)してエクスポート することにしました。 エクスポートしたファイルはローカルに落ちてくるので、今度はそれを新サイト側の【インポート】ツールでアップロード&展開をします。
 【インポート】ツールを実行すると、

ファイルをアップロードして、このサイトに投稿、コメント、カスタムフィールド、カテゴリー、タグをインポートしましょう。
自分のコンピュータからファイルを選択: (最大サイズ: **MB)

 …という表示が出まして、【ファイルの選択】というボタンが出ます。
 ところがこの「 最大サイズ: **MB 」というのが曲者でして、おそらくは使用しているサーバによって違ってきます。さくらのスタンダードプランだと初期値デフォルトが5Mになってまして、柳がアップロードしようとした固定ページ(いわゆる小説ページ)の総容量は6Mオーバーでございました。それに気付かず何回もリトライしてた莫迦が此処に居ります…

 じゃあどうするか。ファイルをさらに分割する(これについては後述)か、さもなければアップロード可能サイズを引き上げるしかありません。

 しかし調べればやり方は出てくるもので、さくらのレンタルサーバ「サーバコントロールパネル」の【スクリプト設定】→【PHPiniファイル設定】からPHPのユーザ設定ファイルを書き変えることでアップロードサイズを変更させることができるのがわかりました。PHPってあのPHPですか。柳にとっちゃ天使様の御降臨でもない限り理解困難なあの言語ですか。一瞬茫然としましたが、ここまで来たらやるしかない。
 しかも当然というか、【ご注意】としてこんな文言が添えてあるわけです。

言語の設定変更はすべて【上級者向け】です。
言語に関する仕組みが理解できない場合は「標準」のままでご利用ください。

 …はい、すみません。調べ物しつつ、わからないけどやりました  2  。成功して良かった…
 ま、何事もチャレンジです。それで今までやってきましたからね。

 かくて、エクスポートファイルのアップロードおよびインポートは一応恙無く完了しました。柳はメディアをインポートする際、【投稿者の割り当て】ダイアログの下の【添付ファイルをダウンロードしてインポート】というチェックボックスは、一応ONにしておきました。添付ファイルにはキャプションとか説明が入ってる筈なので、ページの中でもしそれを使ってた場合に変なとこでエラーになってもつまらんな、と…(ただ、この処置が正しかったかどうかがいまだに検証できていません)

 ところが、実際にサイトを開いてみると…結構ファイルの抜けがあるのです。インポートしたときには(少なくとも書房に関しては)インポートエラーの表示は出なかったし、直後は【固定ページ一覧】に表示される各ページの数も合っていたように思っていたのですが、サイト移転(ドメイン移行)後に小説の目次ページを開いてみると欠落がぼろぼろと  3  発覚。慌てて確認すると確かに一覧表示されるページの数も足りないのです。
 こうなると旧サイトを完全に閲覧出来る形で残しておいたのは正解  4  でした。 …しかし…200以上あるタイトルの中からマチガイ探しとか…死ねといわれた方がマシですな。そもそも柳、マチガイ探し系のクイズは大の苦手で…。
 へたっていても始まりませんので、解決法を探します。目をつけたのがカテゴリという次第。本来タグとかカテゴリは投稿ページの機能なのですが、柳はタグとカテゴリを固定ページでも使用できるようにカスタマイズ  5  しています。固定ページをカテゴリで絞り込み、抜けを探すことにしました。これならまあ、最悪10ページ程度の比較ですから何とかなる筈です。  6 

 そうして抜けたファイルがわかったら、今度はそれをインポートし直さなければなりません。落ちたファイルだけエクスポート&インポートするツールはないかな…と探してみたところ、「DeMomentSomTres Export」というプラグインを使うという方法がありました。
 このプラグインを使うと、エクスポートをするときに「投稿者」で記事を選別出来るようになります。この場合、まずはWordPressでデータエクスポート用の架空のユーザ-を作成し、対象のページの所有者をそのユーザーに振り当てて、エクスポート用ユーザーの記事だけを選択し、ダウンロードします。あとはそのファイルを上記と同じ手順でアップロード&展開すると。

 しかし!…これでもインポートエラーの壁にはばまれるページが…

 仕方ありません。ここはもう、ページをひとつひとつ手動でコピー&ペースト。ただこれをやると、公開日からスラッグ、テンプレート、カテゴリetc…みんな打ち直しです。元データが参照出来るからいいようなもんですが、やっぱり作業は膨大になります。…が、ここは転んでもただでは起きない。折角だからブロックエディタ導入前の古いページを思い切って改装。目次作成のプラグイン「 Table of Contents Plus 7  とか、テーブルを自由にカスタマイズ出来る「Flexible Table Block」を導入してみました。WordPress標準のテーブルはおそろしく使い勝手が悪いし、カラムではイマ五つぐらい扱いづらかったのが、このプラグインのお陰で結構さっぱりしました。

 これで一応全部引っ越し完了の筈ですが、また何が起こるか判りませんから旧サイトは今暫く置いておこうかと考えています。

 さて、新劇版の捏造にかかるぞっ!(<掛け声だけは立派ですが…また大風呂敷広げて呻吟する羽目になりそーです。只今設定書を作成中…)

  1. 実際にはそれに先立ってデータベースを作成したりという下準備は必要です。言うほど楽じゃありません。…まあ、慣れてしまえば感覚としては確かに「ボタンひとつ」なんでしょうが、慣れてしまうほどサイトを書き消しする羽目になるのはもう御免ですねえ。
  2. 有り体に言えば、コピペしたのですよ。
  3. ほとんどの小説の目次にはプラグイン「Child Pages Shortcode」の子ページ一覧表示を使用しています。このためファイルが存在しないとそもそも表示されないので欠落がわかります。これがテキストにリンクして目次作ってたら、一個いっこリンク叩いて確認せにゃならんという…。あぁCMS(コンテンツマネジメントシステム) の有難き哉。
  4. 間借り人はこれを失敗って血反吐はく羽目になりました。
  5. サイト構築の比較的初期でしたので、清水の舞台から飛び降りる心持ちでfunctions.phpに細工しました。
  6. ところがどっこい、本稿「WordPressで小説サイト!」は1カテゴリで50以上のページがあったのでした…。(涙)眼球が攣りそうでしたわ
  7. Table of Contents Plus…WordPress記事の目次を自動生成できるプラグインです。サイトマップは使いませんが、小説以外の長いページのレイアウト整理には秀逸!

コメント