はじめに:作業前に必ず読む3つの原則

このマニュアルは、WEBサイトを1つ公開するまでの流れを順番に説明します。専門用語は本文中でそのつど補足し、末尾に用語集もあります。まず、制作を通して守り続ける3つの原則から確認してください。

📌 原則1

設計が全て。時間をかける。
手を動かす(コーディングする)前に、サイトマップ・ワイヤーフレーム・デザインで作るものを固めきる。設計であいまいなまま進めると、後工程での作り直し(手戻り)が必ず発生します。「早く作り始める」より「設計に時間をかける」方が、結果的に速く終わります。

📌 原則2

一人で決めない。実装方法は必ず会議で決める。
使用する技術・ライブラリ・実装の方針を独断で決めてはいけません。必ず会議で共有し、合意を取ってから進めます。判断に迷ったら止まって相談する。これは 報告・連絡・相談決裁ルール の考え方と同じです。会議の進め方は 会議・MTG を参照してください。

📌 原則3

重複を作らない。共通化できるものは共通化する。
同じ見た目・同じ処理を各ページにコピーして貼らない。ヘッダー・フッター・ボタン・カードなど、繰り返し使うパーツは共通コンポーネントとして1か所にまとめ、各ページから読み込みます。1か所を直せば全ページに反映される状態を保つことが、品質と修正スピードにつながります。(この考え方を DRY = Don't Repeat Yourself と呼びます)

🎯 このマニュアルのゴール
ヒアリングで要望を正しく引き出し、設計で作るものを固め、共通化しながら制作し、テストを経て Firebase Hosting で公開できる状態になること。
制作フローの全体像(ヒアリング → 公開)

サイト制作は、次の8ステップで進みます。上から順に1つずつ完了させてから次に進みます。ステップ8「公開」では、案件の条件によって手順が枝分かれ(分岐)します。分岐は後半のカードで説明します。

1
ヒアリング
目的・ターゲット・参考サイト・必要な機能・公開希望日、そして「既存サイト/既存ドメイン/既存メールの有無」を確認する。ここが分岐の起点。
2
企画・要件定義
サイトマップ(ページ構成)とページ一覧、機能要件、素材(原稿・写真・ロゴ)の支給範囲を決める。
3
見積・契約
制作費と「ドメイン・サーバー費用」を分けて提示する。保守の有無も確認。受注の流れに従う。
4
設計(最重要)
ワイヤーフレーム → デザイン → 共通パーツの洗い出し → 承認。ここに一番時間をかける(原則1)。
5
制作(コーディング)
HTML/CSS/JavaScript で実装。共通コンポーネント化を徹底する(原則3)。スマホ対応(レスポンシブ)も同時に作る。
6
コンテンツ投入・SEO
原稿・画像を入れ、title/description/OGP/favicon/JSON-LD 構造化データを設定する。
7
テスト・検収
表示崩れ・リンク切れ・フォーム動作・スマホ表示・表示速度を確認し、顧客に検収してもらう。テストルールに準拠。
8
公開(ゴール)
Firebase Hosting へデプロイし、独自ドメインを接続する。公開後の表示チェックまで行う。→ 公開・デプロイ / ドメイン / 公開ケース の分岐へ。
⚠️ 実装方法は会議で決める
ステップ4〜5に入る前に、実装の方針(使う技術・共通化の設計・ディレクトリ構成)を会議で共有し、合意してから着手すること。一人で決めない(原則2)。
① ヒアリング

最初に顧客の要望を引き出す工程です。ここで聞き漏らすと後の全工程がずれます。特に「既存のもの」の有無は、公開時の分岐(新規かリニューアルか)を決める重要情報です。

必ず確認する項目

  • 目的:何のためのサイトか(集客・採用・ブランディング・販売など)
  • ターゲット:誰に見てほしいか
  • 参考サイト:好み・イメージに近いサイトのURL(2〜3件)
  • 必要な機能:問い合わせフォーム、ブログ、予約、地図など
  • ページ構成の希望:欲しいページ(トップ・会社概要・サービス・お問い合わせ 等)
  • 素材の支給範囲:原稿・写真・ロゴを顧客が用意するか、こちらで用意するか
  • 公開希望日:いつまでに公開したいか
📌 分岐を決める3つの質問(最重要)

既存のWEBサイトはありますか?(ある=リニューアル。公開ケースが変わる)
ドメインはお持ちですか?(新規取得か/移管か/そのまま使うか。ドメインが変わる)
そのドメインでメールを使っていますか?(使っている=切替時にメールを止めない配慮が必須。公開ケース参照)

② 企画・要件定義

ヒアリング内容を、作れる形に落とし込みます。ここでの成果物は顧客と合意し、ドキュメントとして保管します(資産の保管場所)。

  • サイトマップ:サイト全体のページ構成図(どのページがどこにぶら下がるか)
  • ページ一覧:各ページの名前・目的・掲載内容
  • 機能要件:フォーム送信先、必要な入力項目、動的な仕掛けの有無
  • 素材リスト:支給される原稿・写真・ロゴと、その受領期日
  • 非機能要件:スマホ対応、表示速度、対応ブラウザ
⚠️ 素材の遅延は公開遅延に直結
原稿・写真の支給が遅れると制作が止まります。誰が・いつまでに・何を出すのかを、この段階で明確にしておくこと。
③ 見積・契約

金額の提示は 受注の流れ見積書 のルールに従います。サイト制作では、費用を必ず次の2つに分けて提示します。

費用の種類内容性質
制作費設計・デザイン・コーディング・テスト初回のみ(一括)
ドメイン・サーバー費ドメイン更新料・ホスティング費用毎年 or 毎月 継続
保守費(任意)公開後の更新・修正対応契約により継続
⚠️ ドメイン・サーバーの名義を必ず決める
ドメインを「顧客名義」で取るか「自社名義」で取るかを契約前に確認する。名義があいまいだと、解約・移管・更新のときにトラブルになります。→ 詳細は ドメイン のカードへ。
④ 設計 = 最重要工程(時間をかける)
📌 なぜ設計に時間をかけるのか

コーディングを始めてから「やっぱり構成を変えたい」となると、作ったものを大きく作り直すことになります。設計段階(=紙やデザインツール上)での修正はコストが小さく、コーディング後の修正はコストが大きい。だから設計で作るものを固めきってから手を動かす。これが原則1の実践です。

設計の順番

1
サイトマップの確定
ページ構成を図で固める。URL(各ページのファイル名)もここで決める。
2
ワイヤーフレーム
各ページの「どこに何を置くか」を、色や装飾なしの骨組みで作る。要素の並び順と優先度を決める。
3
デザイン
ワイヤーに色・フォント・写真を乗せて仕上がりイメージを作る。顧客の承認を取る。
4
共通パーツの洗い出し(原則3の準備)
全ページのデザインを見比べ、繰り返し出てくるパーツ(ヘッダー・フッター・ボタン・見出し・カード等)を一覧化する。これが後の共通コンポーネントになる。
5
実装方針を会議で決定(原則2)
使う技術・共通化のやり方・ディレクトリ構成を会議で共有し、合意してから制作へ進む。一人で決めない。
🎯 設計完了の判断
「このデザインとサイトマップで、迷わずコーディングできる」状態になったら設計完了。少しでも迷う箇所が残っていれば、まだ設計が足りていません。
⑤ 制作(コーディング)と共通化

設計で決めたとおりに、HTML(構造)・CSS(見た目)・JavaScript(動き)で実装します。ここで原則3「共通化」を徹底します。

📌 共通化のルール(DRY)

・同じ見た目・同じ処理を各ページにコピペしない
・ヘッダー/フッター/ボタン/カードなどの繰り返しパーツは1か所にまとめて共通コンポーネント化し、各ページから読み込む
・色・余白・フォントサイズなどの数値は、CSS変数などで1か所に定義して使い回す
・「同じ修正を複数ファイルに手作業で入れている」と感じたら、それは共通化できていないサイン

制作時のチェックリスト

  • ディレクトリ構成(フォルダの分け方)を会議で決めた形に統一する
  • Git でバージョン管理する(変更履歴を残し、いつでも戻せるようにする)
  • 共通パーツはコピペせず、1か所を参照する形にする
  • スマホ・タブレット・PCで崩れないレスポンシブ対応にする
  • 画像は表示速度のために適切なサイズ・形式に最適化する
  • 命名規則(クラス名・ファイル名の付け方)をチーム内でそろえる
⚠️ 迷ったら止まって相談
「この実装で合っているか」判断に迷ったら、自己判断で進めず会議・報連相で確認する。手戻りを防ぐ一番の近道です。
⑥ コンテンツ投入・SEO・構造化データ

SEO(検索エンジン最適化)とは、Google などの検索結果で見つけてもらいやすくするための設定です。原稿・画像を入れたら、次の項目を各ページに設定します。

各ページに必ず設定する

項目役割
title検索結果やタブに出るページのタイトル。ページごとに変える
meta description検索結果に出る説明文。ページごとに変える
OGP(og:title / og:image 等)SNSでシェアされたときに出るタイトル・画像
faviconタブに出る小さいアイコン
JSON-LD(構造化データ)ページの内容を検索エンジンに正確に伝える。下記参照

JSON-LD 構造化データ

構造化データとは、「このページは会社情報」「これはよくある質問」といったページの意味を機械が読める形で書いたものです。Google が推奨する書き方が JSON-LD で、<script type="application/ld+json"> の中に書きます。正しく設定すると、検索結果にパンくずやFAQなどが表示されやすくなります(リッチリザルト)。

📌 よく使う構造化データ(schema.org)

Organization / LocalBusiness:会社・店舗の名前・住所・電話・ロゴ
BreadcrumbList:パンくずリスト(トップ > サービス > …)
WebSite:サイト名・サイト内検索
Article / BlogPosting:記事・ブログ
FAQPage:よくある質問

⚠️ 実装したら必ず検証する
JSON-LD を書いたら、Google の「リッチリザルト テスト」でエラーが出ないか確認してから公開する。書いた内容とページの実際の表示は必ず一致させること(虚偽の情報はペナルティ対象)。
🎯 実装方法は会議で決める
どのページにどの構造化データを入れるか、雛形をどう共通化するかは、一人で決めず会議で方針を合わせてから実装します(原則2・原則3)。
⑦ テスト・検収

公開前に、すべてのページ・機能を確認します。テストルールのとおり、テストは必ず2人以上で実施・確認します。

  • 全ページの表示崩れがないか(PC・タブレット・スマホ)
  • リンク切れ(クリックしても飛ばない・404になる)がないか
  • 問い合わせフォームが正しく送信され、正しい宛先に届くか
  • 主要ブラウザ(Chrome・Safari・Edge)で表示を確認
  • 表示速度が遅すぎないか(重い画像がないか)
  • title / description / OGP / favicon / JSON-LD が各ページに入っているか
  • 誤字脱字・画像の粗さがないか
📌 顧客検収

社内テストが終わったら、顧客に確認してもらい、公開の承認を得ます。承認前に本番公開しないこと。

⑧ 公開・デプロイ(本命:Firebase Hosting)

完成したファイルをインターネット上に置いて、誰でも見られる状態にすることを「公開(デプロイ)」と言います。当社の標準は Firebase Hosting です。

Firebase Hosting の公開手順

1
プロジェクト準備
Firebase コンソールでホスティング先のプロジェクトを用意する(既存の運用ルールに従う)。
2
初期設定
firebase loginfirebase init hosting で公開するフォルダ(例:public)を設定する。
3
デプロイ
firebase deploy を実行。*.web.app の仮URLで公開され、まず動作確認できる。
4
独自ドメイン接続
Firebase コンソールの「カスタムドメインを追加」から、案件のドメインを接続する。表示される認証用の TXT レコードと、A / AAAA レコードをドメイン側(バリュードメイン)に設定する。→ ドメインカード参照。
5
SSL(https)自動発行を待つ
Firebase が SSL証明書を自動発行するので、https:// で正しく表示されるまで待つ(反映に時間がかかる場合あり)。
6
公開後チェック
独自ドメイン・https で全ページが正しく表示されるか、スマホでも確認する。
⚠️ Xserver を使う既存案件の場合(補足)
既存でエックスサーバーを使っている案件では、サーバーパネルでドメインを追加 → ファイルをアップロード → 無料独自SSLを設定、という流れになります。新規案件は原則 Firebase Hosting を使います。どちらにするかは会議で決めること。
分岐:ドメイン(当社標準=バリュードメイン)

ドメインとは example.com のような「サイトの住所」です。当社はレジストラ(ドメインを管理する会社)としてバリュードメインを標準で使います。案件によって、次の3つのケースに分かれます。

ケースA:新規取得

  • バリュードメインで希望のドメイン名が空いているか検索し、取得する
  • 名義(顧客名義/自社名義)を契約どおりに設定する
  • 取得後、公開先(Firebase)に合わせてDNS(A / AAAA / TXT)を設定する

ケースB:他社からの移管

他社で管理しているドメインを、バリュードメインに移してくるケースです。移管には時間がかかるため、公開スケジュールに余裕を持って着手します。

  • 移管元で認証コード(Authコード / EPPコード)を取得する
  • 移管元でレジストラロック(移管ロック)を解除する
  • ドメインのWhois連絡先メールが受信できる状態にする(承認メールが届く)
  • ドメインの有効期限が近すぎないことを確認(期限間近は失敗しやすい)
  • 移管完了まで数日かかる。完了後にDNSを設定する

ケースC:既存ドメインをそのまま使う(移管しない)

ドメインは今のレジストラのまま、公開先だけ新サイト(Firebase)に向けるケースです。DNS(ネームサーバーやレコード)の変更だけを行います。

  • 現在のドメイン管理画面にログインできるか(ID/PW)を確認する
  • Firebase が指定する A / AAAA / TXT レコードを設定する
  • 反映(DNSの浸透)に時間がかかることを見込む
⚠️ 事故が一番多いポイント
ネームサーバーごと切り替えると、そのドメインで使っているメール(MXレコード)も一緒に切り替わり、メールが止まることがあります。既存メールを使っている場合は、ネームサーバー変更ではなく必要なレコードだけを変更し、MXレコード(メール設定)を引き継ぐこと。→ 次の公開ケースで詳しく説明します。
分岐:新規公開 と リニューアル公開

ケース1:新規公開(既存サイトなし)

既存サイトがないため、切り替えの心配が少ないケースです。ドメインを設定し、Firebase にデプロイして公開します。公開後の表示確認をして完了です。

ケース2:リニューアル公開(既存サイトあり)

今動いているサイトを、新サイトに切り替えるケースです。切り替え中にサイトが見られない時間(ダウンタイム)や、メールが止まる事故が起きやすいため、特に慎重に進めます。

📌 リニューアル時の必須チェック

メール(MXレコード)を止めない:既存ドメインでメールを使っている場合、DNS切替でメールが止まらないよう、MXレコードを必ず引き継ぐ
301リダイレクト:旧ページのURLが変わる場合、旧URL→新URLへ転送を設定し、検索評価とブックマークを引き継ぐ
切替タイミング:アクセスの少ない時間帯に切り替え、直後に全ページ・フォーム・メールを確認する
切り戻し手順:問題が起きたときに元へ戻せる手順を、切替前に用意しておく

⚠️ 切替は一人で実行しない
リニューアルの切替は影響が大きい作業です。手順を会議で共有し、2人以上で確認しながら実行すること(原則2)。
用語集

本文に出てくる用語の意味です。「もっと知る」から公式の解説ページに飛べます。

用語意味(ざっくり)もっと知る
ドメインexample.com のようなサイトの住所。バリュードメイン
DNSドメイン名を、サーバーの住所(IPアドレス)に変換する仕組み。インターネットの電話帳。ネームサーバーとは
ネームサーバーそのドメインのDNS設定を管理しているサーバー。NS変更手順
MXレコードそのドメインのメールをどのサーバーで受け取るかを示すDNS設定。切替時に消すとメールが止まる。
サーバー / ホスティングサイトのファイルを置いて、インターネットに公開しておく場所。当社標準は Firebase Hosting。Firebase Hosting
デプロイ作ったファイルをサーバーに反映して公開すること。Firebase 公開手順
HTMLページの構造(見出し・段落・画像など)を書く言語。MDN HTML
CSSページの見た目(色・余白・レイアウト)を指定する言語。MDN CSS
JavaScriptページに動き・機能をつけるプログラミング言語。MDN 学習
SEO検索結果で見つけてもらいやすくする施策。Google SEOガイド
JSON-LD / 構造化データページの意味を検索エンジンに正確に伝えるための記述。構造化データ入門
SSL / https通信を暗号化する仕組み。URLが https:// になる。Firebaseは自動発行。MDN HTTPS
OGPSNSでシェアされたときに表示されるタイトル・画像の設定。
faviconブラウザのタブに表示される小さいアイコン。
レスポンシブPC・スマホなど画面幅に合わせて見た目が変わる作り。
Gitファイルの変更履歴を管理し、いつでも過去に戻せるようにする仕組み。
DRYDon't Repeat Yourself。同じものを繰り返し書かず共通化する考え方。
参考リンク集(公式)

仕組みを詳しく知りたいときの、信頼できる公式ドキュメントです。

HTML / CSS / JavaScript を学ぶ(MDN)

SEO・構造化データ(Google 検索セントラル)

公開・ホスティング(Firebase)

ドメイン・DNS・移管(バリュードメイン)