キクと散歩 QMACサイトの本格的稼働

なぎさ公園をキクと散歩 小雨が降っている

QMACサイトの本格的稼働

1.本番切替(.jp)

テスト用に.worldを構築していたので、その内容を本番の.jpに移行

  • ドメイン付け替え 旧アカウント(awl-web)から削除 → 協会の新サーバーのアカウント(xsXXXX66)へ追加
  • サイト配置 事前構築済みの qmac_jp_build を rsync。DB は xsXX5766_wp2
  • URL置換 qmac.world → qmac.jp 640件(事前算出値と完全一致)
  • DNS・SSL Aレコード XX.XXX.221.147、無料独自SSL発行
  • 旧サイト保全 2.5GB・11,373件・・手元とサーバーに二重保管
2.行事の新規・修正の管理画面改善

行事を作成・修正する編集画面は、Wordpressの標準から独自のソフトで構築したため、編集機能の右サイドバーメニューの縦側が大幅に長くなって、かなり下までスクロールしないと、編集作業ができないばかりか、良く機能が分からない状態だったので、UIを含めて大幅な改善をする

  • 管理バーから「サイトを編集」を削除(開いても編集できず表示が崩れるため・・Wordpress標準だが使えない)
  • 抜粋の改行バグを修正(改行だけ残ると一覧が空白になる)・・保存時に post_excerpt を trim(不要な空白等を自動削除)
  • 行事リストで内容が分からないので、行事一覧にタイトル+副題の連結する、開催日列の書式・ソート
  • 使用しないアイキャッチを非表示(行事・固定ページ・投稿)
  • 写真の代替探索を削除(削除しても消えない問題を解消)
  • トップの写真帯を行事ごとにグループ化
  • 年の桁数を4桁に制限、全画面モード既定OFF、スラッグ欄を編集者から非表示
3.右サイドバーメニューの縦方向圧縮

幅を420pxに広げ、2列化。写真と資料のパネル分離、▲▼での並べ替え、複数枚の一括選択、重複除外を実装

  • 2,849px → 約1,600px(−44%)
  • 行事の詳細 589px →313px
  • 写真・資料
    1,685px→
    917px(写真/資料に分離)
4.マニュアル更新

パネル名・ボタン名の変更に伴う15か所、さらに古くなった記述6件を修正・・抜粋の説明を新規追加

▶この続きを見る・・・・

キクの脱走 QMACサイトの新サーバ構築

また、朝キクが脱走していて、犬を散歩させている近くの叔母さんが、連れて来てもらった・・・急に、脱走し始めたのでどこに原因があるかを探すと、カレーの厨房に2カ所に抜道を発見、さっそく合板で穴を塞ぎ、ついでに長い間て片付けていなかったカレーの厨房と中庭、バルコニーを全員で大掃除
かなりの不要材を整理する
甲斐犬のキクの脱走はすっかり近所では有名になり、マークされる存在となった
2~3日前から、少し喉が痛い
昼からは何となく寒くなり、夕方まで寝て過ごす

QMACサイト本番用のDB作成

QMACサイトの新しいサーバにはテスト用の.worldのDBがあり、新しく本番用のDBをMysqlで作成して、管理者パスワードを設定し、.worldの内容を本番用にコピーして、BASIC認証は削除する

  • cp -a ファイルを複製 → qmac_jp_build/
  • wp db export DBをテキストに書き出し → qmac_cutover.sql
  • wp db import 別のDBに流し込み → xs815766_wp2
  • dry-run 640件と予告(DBは無傷)
  • 本実行 640件を書き換え
  • 残存確認 0件 → 漏れなし
wp-config.php を新DB用に書換

変更箇所

  • DB_NAME → xs815766_wp2
  • DB_USER / DB_PASSWORD → 管理者パスワード
  • コピーした認証キー8行(AUTH_KEY 等のSALT)を差し替え — https://api.wordpress.org/secret-key/1.1/salt/ で生成して差し替えする
  • 認証キーについて、wp-config.php の中に、WordPressが自動生成した8行の鍵・・不正アクセスが疑われるとき、管理者が交代したときは、wp config shuffle-salts で作り直す
甲斐犬のキク

シルバーウイーク QMACサイトの移行について

今日からシルバーウイークだが、台風の影響もあり天気が悪いので、キャンプは中止・・家でノンビリ・・・・敬老の日での町内会からのお祝い
切替で何が起きるか
レコード切替前切替後
NS ×5ns1〜5.xserver.jp変わらない
A(3本)XXX.XX.XXX.XXX協会サーバーのIP(自動設定)
MXXXXX.jp自動で再作成される
TXT(SPF)svXXXX を含む自動生成され、内容が変わる

★注意:旧アカウントから削除した瞬間、ゾーン全体が消えます・・Aレコードが古いまま残る状態より深刻で、ドメインそのものが引けなくなります(名前解決エラー)・・・削除と追加は連続して、間を空けずに実施してください。数分以内が理想

TTLについて

全レコードが3600秒(1時間)です。切替の前日に、Aレコード3本のTTLを300秒に下げておいてください。 切替後の反映待ちが1時間から5分程度に縮みます・・切替が落ち着いたら3600に戻します。

QMACサイトの移行について

DNSレコードの役割
種別役割無いとどうなるか
NSこのドメインの電話帳をどのサーバーが管理しているかを示すドメイン全体が引けない
Aホスト名をIPアドレスに変換Webの接続先
サイトが表示されない
MXメールの配送先を指定メールが届かない
TXT任意の文字列
SPF(送信元の正当性宣言)や所有権確認に使う
なりすましを防げない
認証できない
CNAME別のホスト名の別名(今回は未使用)—

Web(A)とメール(MX)は完全に独立しています・・片方を変えてももう片方に影響しません。今回メールを使っていないので、実質Aレコードだけの話になります

  • NS ×5(ns1〜ns5.xserver.jp)この5本が今回の移行を非常に楽にしています・・ドメインの管理をXserverのDNSサーバーに委任している状態・・旧アカウントも協会アカウントも同じXserverのNSを使うため、アカウントを移してもNSは変わりません→ レジストラ(ドメイン登録業者)側の設定変更が不要、世界中のDNSに伝播する48時間待ちも発生しません・・変わるのはAレコードの値だけ
  • A:XXX.jp → XXX.XX.XXX.XXX・・・現在の旧サーバーのIPです・・切替で変わるのはここ1行(+www・ワイルドカード)・・協会アカウントにドメインを追加すると、Xserverが自動でそのアカウントのサーバーIPに書き換えます・・手で入力する必要はない
  • A:www.qmac.jp → 同じIPwww.qmac.jp でもアクセスできるようにするもの・・ただし切替後、www 有り/無しのどちらかに統一する必要があります。両方が同じ内容で表示されると、検索エンジンから重複コンテンツと見なされます(.htaccess で301リダイレクト)
  • A:*.qmac.jp → 同じIP(ワイルドカード)・・存在しないものを含む、あらゆるサブドメインを受け付ける設定で、abc.qmac.jp でも test.qmac.jp でも、すべてこのサーバーに来ます・・削除は切替が完全に落ち着いてからに
  • MX:XXX.jp(優先度0)・・@XXX.jp 宛のメールを「XXX.jp のAレコードが指すサーバー」に配送する設定、メールを使用していないので機能していませんが、MXが存在する以上、外部から送られたメールは受理されます・・ 受け皿が無ければ捨てられるか、エラーで返ります
  • TXT:SPFレコード・・v=XXX +a:svXXX.xserver.jp +a:qmac.jp +mx include:XXX.sender.xserver.jp ~all、「@qmac.jp を名乗って送信してよいのは、ここに書かれたサーバーだけ」という宣言です。なりすまし対策に使用・・注目すべき点:svXXXX.xserver.jp — これは旧アカウントのサーバー名です。協会アカウントは svXXXX なので、切替後この記述は無意味になります

QMACサイトの再編とWordPress化

朝は甲斐犬のキクを連れて、元宇品の森に・・かなり涼しくなった

4. 構築過程で発見・対処した問題

8件すべて、実際に動かして判明した内容

  • .htpasswd が公開ルート直下に置かれ、.htaccess は全行コメントアウト(旧サイトの重大な設定不備)
  • 管理画面でカスタムフィールドが編集できない(supports に custom-fields 欠落)
  • 中身のない年度18本もリンク表示され、空ページへ飛ぶ状態
  • 年度アーカイブが機能せず、ブログ形式・投稿日で表示
  • 一括投入で画像圧縮が効かない経路があり、原本1.71MBが残る
  • 静的アーカイブが全ページ文字化け(HTTPヘッダのcharsetがmetaより優先)
  • マニュアルの開催日入力手順が実際の画面と相違(手順どおりに操作すると失敗する)
  • 空の画像ブロック20個がすべて検証エラー

5. 旧サイト由来の誤記(原本どおり投入・訂正待ち)

行事名が空 2件 旧サイトが行事名自体をPDFリンクにしていた
日付の年が1年ずれ 3件 2008年度、曜日は正しく年だけ誤り
曜日が合わない4件 2020〜2023年度
表記の重複誤記 3件 「先進企業視察会視察会」
名簿の疑わしい記載 6件 「幹事→監事」「㈱ダイクレ㈱」等

6. 事務局向けマニュアル

780行・9章+付録2

対象を事務局に絞り、管理者向けの内容とは分けた・・・マニュアルは公開サイト上の固定ページとして設置している・・・更新経路は「ページ上で直接編集」に一本化・・・ 変換スクリプトとページ編集の二経路があると、どちらかの修正が失われる・・・スクリプトは移行用の一度きりのものとして明記のうえ保管

1. 移行前の状態と課題

構成 frameset ベースの静的HTML
規模 773ファイル / 2.74GB
制作 Dreamweaverで約15年間
スマホ対応 なし

2. 資産の棚卸し

破棄したもの

運営委員会PDF 1,534本 / 206MB パスワード運用ごと廃止
死蔵HTML 654本 トップから到達不能な滞留分
制作元データ(.mif / .pef)207MB サイト運用に不要

移行したもの

行事 192件(2008〜2025年度・18年分)
添付ファイル 368件 / 84MB(写真138・PDF230)
固定ページ 8本(協会案内5・名簿2・マニュアル1)
静的アーカイブ 16本(1992〜2007年度)

3. 設計の要点

3-1. データと見た目の分離
親テーマtwentytwentyfive(WordPress公式) 本体と同時に更新される基盤
子テーマqmac(新規作成) 配色・レイアウト・動的ブロック
プラグインqmac-core(新規作成) 投稿タイプ・分類・管理画面整理
3-2. ブロックテーマの子テーマ方式を採用

当初はクラシックテーマを検討したが撤回した・・・クラシックテーマはWordPress本体の更新に追従しにくく、ブロックエディタで書かれた投稿との整合が崩れやすい・・子テーマ方式なら親テーマが本体と一緒に更新され、独自の差分だけを自前で保守すればよい。保守性と自由度が両立する・・・・親テーマが公式テーマである点も重要で、コアチームが保守しており、第三者テーマのように開発停止で行き詰まるリスクが小さい

3-3. 事務局が壊せる箇所を構造的に減らした

「マニュアルに書いてあるから大丈夫」ではなく、そもそも触れないようにする方針

権限 編集者権限(外観・プラグイン・ツールに到達不可)
左メニュー 5項目に限定
ブロック 102種を非表示にし、17種のみ許可
パターン 挿入可能なパターンを0本に
テンプレート 編集欄を非表示にしたうえ、保存自体を拒否
3-4. 年度アーカイブの自動化

現行運用で最も手間だった作業を自動化・・・開催日を入力するだけで、年度タームの作成・付与・サイドパネルへの反映がすべて自動で行われる・・事務局の手作業はゼロ・・・・年度末の切替も、状態を「予定 → 終了」に変えるボタン1つ(取り消し可)に集約

更新の担い手事務局
行事の追加管理画面で入力
年度末の切替ボタンで切り替え
過去年度リンク完全自動
写真の掲載ドラッグで追加(自動圧縮)
スマホ対応あり
▶この続きを見る・・・・
  • 2026年10月
    月 火 水 木 金 土 日
     1234
    567891011
    12131415161718
    19202122232425
    262728293031