Skip to content

toiee-lab/qhm-to-wp-migrator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ff1add5 · May 27, 2024

History

51 Commits
Aug 8, 2017
Jul 7, 2017
Jul 7, 2017
Jan 25, 2021
Oct 23, 2017
Oct 18, 2017
Oct 19, 2017
Aug 9, 2017
May 27, 2024
May 27, 2024

Repository files navigation

QHM Migrator (QHM移行 WordPressプラグイン)

このプラグインの利用は、自己責任でお願いいたします。サポートはありません サポートが必要な方は、一部の業者様が提供されているので、インターネットで検索してご相談ください

このプラグインは「QHMおよびHAIK」から、WordPressへ移行するための支援プラグインです。

機能一覧

  • QHMとWordPressをスイッチ表示 : 通常のアクセスでは、QHMを表示します。WordPressにログイン(wp-admin にアクセスしログイン)すると、WordPressを表示します。この機能によって、編集者はWordPressを閲覧し、訪問者はQHMを見ることができます。裏側で、ゆっくりとWordPressを完成させることができます。同時に、QHM(HAIK)の編集も可能です(WordPressをログアウトして、QHMにログインする)

  • QHMのページ、ブログ、ブログカテゴリ、画像のインポート機能 : QHMのページ、ブログ、画像をWordPressに取り込むことができます。ページは固定ページへ、QBlogは、ブログ投稿にカテゴリも含めて取り込みます。またページ内で使われている「画像」や「メディア」をWordPressに取り込みます。

  • QHMの過去のページURLへのアクセスを、WordPressへ転送 : QHMとWordPressのURLは違います。QHMは、 /index.php?ページ名 ですが、WordPressは /ページ名 となります。このためWordPressに切り替えると過去のページへのアクセスが無効になるため、この転送を行います。

  • QHMのページURLへのアクセスで発生するWordPressの無限ループ問題を解決 : QHMのページURLに日本語が含まれている( index.php?日本語のページ )と、WordPressではリダイレクトがループ(なんども起こり)ページが表示できません。このプラグインを使えば、問題を解決できます。なお、存在しないページへの転送は、トップページ に転送します。

注意点

リダイレクトの問題が発生するので、QHM(HAIK)を運用していたドメインで、全く新しくWordPressでサイトを作り直す場合でも、本プラグインをインストールし、有効にしておいてください(インポート作業はせず、有効にだけする)ご利用がおすすめです。

なお、Google Search Console に登録し、サイトマップを提出することで短期間にURLを変更できます。そちらを活用することで、本プラグインを利用しない選択をとっても良いです。

ご利用方法

(1) バックアップする

いつでも、元に戻せるようにバックアップをしてください(FTPソフトを使うなどしてください)。

(2) PHPのバージョンを新しくする

PHPのバージョンを7以上に上げてください(最悪、5.6)。

PHPのバージョンを上げる際、QHMが v5.3未満の方は、QHMがエラーします。そこで、PHPのバージョンを上げるとともに、QHMのバージョンもアップしてください。QHM、HAIKのバージョンアップは、以下のページにあるソースコードをダウンロードし、オリジナルファイルが格納されているフォルダ(attach, backup, cache, cacheblog, cacheqhm, counter, diff, swfu/d, swfu/data, trackback, wiki)と設定ファイル(qhm_access.ini.txt, qhm_users.ini.txt, qhm.ini.php) を 取り除いたものをアップロード してください(再帰的アップロード)。

なお、以下に差分を用意していますので、ご利用ください(※ 予告なく削除されることがあります)

  • qhm-v5 差分 : PHP5.6 の場合は、こちらの v5 にアップデートしてください
  • qhm-v7.3.0 差分 : PHP7.x の場合は、こちらの v7.3 にアップデートしてください

※ エラーが起こった場合は、該当箇所を確認して、PHPのバージョンとの文法の違いに注目して、適宜作業してください。

(3) WordPressをダウンロード

WordPressの公式サイトで、最新のWordPressをダウンロードする

(4) WordPressのindex.phpを削除して、アップロードする

WordPressをアップロードする前に、index.php を 削除してから、WordPressのシステムをアップロードします。 忘れると、QHMが一時的に表示しなくなります。

(5) WordPressのデータベースを準備

WordPressで使うデータベースの準備をします。

(6) WordPressの初期設定

/wp-admin/ にアクセスして、WordPressの設定を行います。事前にデータベースの作成、ユーザー追加などを行っておきます(お使いのレンタルサーバーのマニュアルを参照)

(7) QHM移行プラグインをインストール、有効化

上記のダウンロードリンクから、ダウンロードします。次に プラグイン > 新規インストール でこのプラグインのファイルを指定し、アップロードし、有効化します

(8) indexファイルを適切に設定する

** : WordPressの管理画面で、 設定>QHM移行 と進みます。indexファイルの設定のためのボタンをクリックして、適切に設定してください。

(9) QHMの移行作業

設定>QHM移行で、インポートなどができます。これらを使ってデータをインポートします。またWordPressの見た目などを調整します。

QHMからのデータ移行に時間がかかる場合があります。その場合、何度も「既に取り込んだデータをスキップ」を選んで、何度も実行してください。なお、画像ファイル、ページ、ブログが大量にある場合、時間がかかります。また格安のレンタルサーバーなどですと、処理パフォーマンスが足りず、何十回もの再読み込みが必要になる可能性があります。Local by Flywheel などを使って、ローカルで作業するなど工夫をしてください。

(10)QHM移行完了する

設定>QHM移行で、「公開」を設定します。すると、QHMを表示せず、WordPressを表示するようになります。

(11) PHPを最新バージョンに(推奨)

PHPも、WordPressも常に更新し続けましょう。


仕様

仕組み

このプラグインは、 index_qhm_proxy.php にアクセスして、 <!-- BODYCONTENTS START --> から <!-- BODYCONTENTS END --> までのHTMLを取り込みます。取り込んだHTMLファイルを解析して、ブログ投稿に必要なタイトルなどを取得しています。

もし、QHMのテンプレートファイルを独自に改変して、上記のコメントが表示されない場合は正常に動作しません。

注意点

  • ページ名が長すぎると( 200byte以上 )、インポートをせず、エラーを表示します(ページ名を短くしてから、再度、インポートしてください)
  • 移行中(WordPressとQHMがスイッチ動作しているとき)に、WordPressのURLや存在しないディレクトリやファイルへのアクセスは、QHMのトップページが表示されます。
  • .htaccess、index.php などを不用意に変更(意図していなくても、SEO系プラグインや、QHMのインストーラーなどで)すると、動作がおかしくなることがありますのでご注意ください
  • 移行中にQHMを表示したい場合は、WordPressをログアウトしてください。なお、同時にQHMもWordPressも見たい場合は、ブラウザの「プライベートウィンドウ(シークレットウインドウ)」機能をお使いください

できること

  • 隠しページ、通常のページを全て読み込みます
  • :config や SiteNavigation などのコンテンツ以外のページは読み込みません
  • ブログのカテゴリを登録、反映します
  • ページ、ブログに使われている画像やファイルは、取り込まれますが、それ以外は取り込みません
  • 取り込む対象のファイルは、swfu/d フォルダ以下に限ります

Change log

ver 0.9.2

2021/01/25

  • QBlog機能のブログの転送は、自動では行われない不具合を修正( get_page_by_pathメソッドは、初期値では page しか取得しないため、postも含める必要がありました)
  • WordPress5.6、PHP7.3.5 で動作テストしました(動作します)

ver 0.9.1

  • 日本語ページの古い添付ファイル(attachプラグインを使って、refプラグインで参照するもの。SWFUではないもの)を読み込めないバグを解決

ver 0.9

  • WordPressとQHMをスイッチする(転送しない)ようになり、より安全に、確実に移行できるようになりました
  • index_qhm.php 問題について解決しました
  • indexファイルを簡単に設定できるようになりました

ver 0.8.4 (Aug 19, 2017)

  • ナビ、サイドバー作成支援ツールのURLを変更
  • アップデートファイルの置き場所を変更

ver 0.8.3 (Aug 17, 2017)

  • 長いファイル名のページを事前にチェックするだけでなく、問題が起こるページをすべてリストアップするように修正
  • 名前を変える方法を解説したページリンクを追加

ver 0.8.2 (Aug 14, 2017)

  • 長いファイル名のページを事前にチェックして、インポートを中止するように設定しました
  • ナビ、メニュー、フッターなどに貼り付けている画像も取り込むように変更しました

ver 0.8.1 (Aug 9, 2017)

  • index_wp.php, index_qhm.php が同封されていなかったので追加(GitHubに慣れてない)
  • index.php が QHMのままの場合、修正する方法 (ver0.6で導入) が有効になっていなかった不具合を修正
  • 移行を行いやすくするために、便利なリンクを追加しました

ver 0.6 (Aug 8, 2017)

  • アップデート通知を受け取れるように修正しました
  • index.php、index_qhm.php が間違っているときに修正するための方法を追加しました

ver 0.5 (Aug 7, 2017)

  • WordPressにログインしているなら、QHMを公開している状態でも、index.php?XXXX を /XXXX/ に転送するように修正
  • Readmeに移行のための手順を記載

ver 0.4 (Jul 24, 2017)

*既存ページを読み込まないオプションの追加、attachを取り込む、実行時間の延長

  • 既存の投稿、ページをslug で検索をかけて、取り込まずにスキップできるようにしました
  • これは、実行時間が短いサーバー、処理が遅いサーバー、ページが多すぎる場合に、数回に分けて、ページをインポートするのに役立ちます
  • PHPの実行時間を180秒に延長することを試み見ます。これにより、かなり長く実行できるようになるはずです
  • 今回のバージョンから、古い添付ファイル(refを使った attachフォルダのもの) も取り込めるように改良しました

ver 0.3 (Jul 15, 2017)

PHP5.6以上でないと動かないようにチェックをかける

  • PHP5.6以上でないと、動作できないように修正。
  • 不要なコメントなどを削除
  • PHPの実行環境情報を記載

ver 0.2

PHP5.4に対応

  • メンバ変数、メソッドの修飾子などを削除