PowerCMS X ブログ

2022-01-25

やさにちウォッチのサイトURL変更の手順

やさしい日本語の情報をやさしい日本語で発信するオウンドメディア「やさにちウォッチ 別ウィンドウで開きます」のURLを https://tsutaeru.cloud/watch/ から https://watch.tsutaeru.cloud/ 別ウィンドウで開きます へ変更しました。

やさにちウォッチは PowerCMS Xで運用されています。同一サーバー内での移行作業でしたが、ドメイン変更だけではなく、パスの変更も伴う作業となりましたので、環境移行や設定変更の手順のチェックリスト的にこの記事にてまとめておくことにします。

サイトURLの変更に伴う作業手順

  • DNS設定とApacheのバーチャルホスト設定の追加
  • バックアップ
  • 記事とビューのURLを相対パスもしくはテンプレート・タグでの出力に変更
  • サイトURLとドキュメントルートの変更
  • 再構築と表示・動作の確認
  • Apacheにてリダイレクトの設定
  • mt_activityテーブルのレコードの置換(SQL)
  • Googleアナリティクスの設定変更

DNS設定とApacheのバーチャルホスト設定の追加

サブドメイン watch.tsutaeru.cloudをDNS設定して、Apacheのバーチャルホスト設定を追加します。今回、(自動生成された音声ファイルや字幕用ファイルなどがCMSのアセット管理されていないため)ファイルの移動をしたくなかったので、ドキュメントルートをこれまでの /watch/ ディレクトリに設定しました。

<VirtualHost *:80>
  ServerName watch.tsutaeru.cloud
  DocumentRoot /tsutaeru-website/html/watch
  RewriteEngine On
  <Directory /tsutaeru-website/html/watch>
    Require all granted
    AllowOverride All
  </Directory>
</VirtualHost>

バックアップ

何はともあれ、バックアップが重要です。問題が発生したときの切り戻し手順を検討しておくこともお忘れなく。バックアップ対象は下記2点です。

  • データベース(RDS)のデータ
  • ドキュメントルート以下のすべてのファイル

PowerCMS X では、アップロードファイルを含むすべてのデータをデータベース管理していますので、移行後に再パブリッシュすればそれで済むのですが、今回はパスの変更を伴いますので、何かあった時に戻せるようにバックアップを行ってから作業を行いました。

記事とビューのURLを相対パスもしくはテンプレート・タグでの出力に変更

テンプレート・タグで出力されている URLは設定変更後の再構築で正しく置き換えられますが、リッチテキストエディタに貼り付けられたサイト内のリンクやビューに直に書かれた「/watch/」URLは置き換えられません。移行作業の間にリンク切れを起こさないようにするために、これらを相対パスに変換します。一覧画面で検索後にアクション「置換」機能を使うと便利です。相対パスにすることで、どちらのURLでアクセスしてもリンクが切れなくなります。

サイトURLとドキュメントルート・プレビュー URLの変更

スペースの設定画面のキャプチャ

PowerCMS X のスペースの設定で「サイトURL」と「ドキュメントルート」「プレビュー URL」を変更します。サイトURLを変更した時、URLオブジェクト(urlinfoテーブルのレコード)は自動的に置き換えられます。注意点としては(PowerCMSとの違い)「サイト・パス」を置き換えたときはデータベースのレコードが置換されるだけでなく、実際のファイルも移動してしまう点です。今回はサイト・パスの変更は行いませんでした(※ 環境変数「reset_url_method」に「copy」を指定するとファイル移動ではなくコピーとなります。初期値は「rename」です)。

再構築と表示・動作の確認

変更後にURLオブジェクトの置換が正しくできていることを確認してから、サイト全体を再構築して、新しいURLにて表示と動作の確認を行います。

Apacheにてリダイレクトの設定

表示と動作の確認ができたら、Apacheにて恒久的リダイレクト(301リダイレクト)の設定を行います。適切に設定することで、検索エンジンの評価などをそのまま引き継ぐことができ、外部からリンクされている場合にもリンク切れを起こさなくて済みます。尚、再構築してからこの設定を行うまでの間、新URLでのアクセスについては一部の表示崩れが出ます(今回はその前提で移行を行いました)。

RewriteRule ^/watch/(.*)$ https://watch.tsutaeru.cloud/$1 [L,R=permanent]

mt_activityテーブルのレコードの置換(SQL)

やさにちウォッチでは、アクセスランキングの構築用に AccessAnalyticsプラグインによるアクセストラッキングを行っています。この機能で保存される mt_activity テーブルのデータには、アクセスされたURLがそのまま入っているため、この部分については設定変更や再構築で置き換わりません。この部分については、SQLによってデータの置換を行いました。

mysql> UPDATE mt_activity SET activity_url = REPLACE( activity_url, "https://tsutaeru.cloud/watch/", "https://watch.tsutaeru.cloud/" ) WHERE activity_workspace_id = 5;

Googleアナリティクスの設定変更

  • Google アナリティクス:サブドメイン用に新たにプロパティを作成し、トラッキングコードも変更しました。
  • タグマネージャー:Google アナリティクスに合わせて新たなタグを設定しました。
  • Search Console:サブドメイン用のコンテナを新たに作成してサイトマップ (sitemap.xml) を送信しました。また、サブドメイン化する前のインデックスを削除をしました。

※ どのように設定、分析されているかはサイトごとにそれぞれ違いますし、正解があるものではありません。上記は今回の例となります。

その他

SNSアカウントなどに設定しているURLを変更しました。

漏れていた手順

以上が実際の作業手順で、およそ1.5時間程度で完了しましたが、残念ながら想定しきれていなかった手順がありました。後学のために記しておきます。

  • Webフォントの設定変更
  • プラグイン設定の変更

Webフォントの設定変更

やさにちウォッチではUDデジタル教科書体を利用しています。サブドメインではありますが、ドメインが変更されたものとされ、Webフォントが有効にならなくなりましたので、設定を変更しました。

プラグイン設定の変更

AccessAnalyticsプラグインによるアクセストラッキングプログラムを Ajaxで読み込んでいますが、こちらもドメインが変更されたことによって、ブロックされていました。トラッキングのURLは <mt:accesstracking /> タグで出力されますが、このURLはプラグイン設定で変更できます。こちらも変更して再構築することでエラーにならなくなり、正常に取得できるようになりました。

カテゴリー:サイト制作全般 | 技術情報

投稿者:Junnama Noda

ブログ内検索

アーカイブ