PR|この記事にはアフィリエイト広告(A8.net)が含まれます。
ポートフォリオサイトが自分のパソコンの中で完成した。次は、応募先や仕事の相談相手にURLを渡せるように、インターネットに公開する番です。ところが調べると「GitHub Pagesなら無料」「独自ドメインとレンタルサーバーで公開すべき」と両方の意見があり、どちらにすればよいか迷ってしまいます。
HTMLとCSSで作ったポートフォリオなら、GitHub Pagesを使って無料で公開できます。無料のGitHub Freeでは、サイトのファイルを置くリポジトリを公開にする必要があり、PHPで動く問い合わせフォームは使えません。独自ドメインのメールアドレスや問い合わせフォームも用意したい場合と、WordPressで作った場合は、エックスサーバーのようなレンタルサーバーが候補になります。この記事では、両者の違いと選び方、それぞれの公開手順と費用を、公式ドキュメントと公式マニュアルに沿って説明します。
情報確認日:2026年10月1日(料金とキャンペーンは期限ごとに変わるため、申し込む前に公式ページで確認してください)
GitHub公式ドキュメントとエックスサーバーの公式マニュアル・料金ページをまとめた解説です。プログラミング独学ロードマップ 第3回(ポートフォリオサイトの作り方)の続きとして、作り終えたサイトを公開するところを扱います。
- GitHub Pagesは、HTML・CSS・JavaScriptのファイルをそのまま公開するサービスです。PHP・Ruby・Pythonなどのサーバー側の言語には対応しておらず、WordPressで作ったポートフォリオは置けません。
- GitHub Freeでは、サイトのリポジトリを公開(Public)にする必要があります。HTMLやCSSのコードも誰でも見られます。
- GitHub Pagesを、商取引を主な目的としたサイトの無料ホスティングとして使うことは認められていません。自分の実績を見せるポートフォリオとは目的が違いますが、サイト上で商品やサービスを直接販売する場合は当てはまる可能性があります。
- 模写したページは、ポートフォリオの作品として公開しないでください。理由は、後の「公開する前に確認すること」で説明します。
GitHub Pagesとレンタルサーバーは何が違う?

2026年10月1日にGitHub公式ドキュメントとエックスサーバーの公式ページで確認した条件を、ポートフォリオを公開する場面に絞って並べました。レンタルサーバーは、エックスサーバーのいちばん安いスタンダードプランで比べています。
| 比べる点 | GitHub Pages(GitHub Free) | レンタルサーバー(エックスサーバー スタンダード) |
|---|---|---|
| 費用 | 0円(独自ドメインを使う場合はドメイン代だけかかる) | 月あたり990〜1,320円(税込、契約期間で変わる。期間分を一括前払い。2026年10月5日17:00までのキャンペーン価格) |
| URL | ユーザー名.github.io。独自ドメインも使える | 独自ドメイン。契約時の初期ドメイン(サーバーID.xsrv.jp)も使える |
| 置けるもの | HTML・CSS・JavaScriptなどの静的なファイル | 静的なファイルに加えて、PHP・WordPress・データベース |
| 問い合わせフォーム | PHPのフォームは動かない | サーバーパネルからメールフォーム(CGIツール)を設置できる。PHPのフォームも置ける |
| 独自ドメインのメール | なし | メールアカウントを作れる |
| コードの公開 | リポジトリを公開にするのが条件 | 公開用のフォルダ(public_html)に置くだけで、作業用のコードを公開する必要はない |
| 容量などの上限 | 公開サイト1GBまで、帯域は月100GBが目安 | ディスク500GB(NVMe) |
| 始めるのに必要なもの | GitHubのアカウント | サーバーの契約(10日間の無料お試しあり)。独自ドメインで公開するならドメインも |
ポートフォリオを見る人にとっては、どちらで公開してもページの見え方は同じです。違いが出るのは、URLが独自ドメインかどうか、問い合わせを受ける手段、WordPressを使うかどうか、毎月の費用の4点です。
どちらを選ぶ?目的別の考え方
ここからは、公式に書かれている条件をもとに筆者の提案を述べます。
GitHub Pagesが向くのは、学習の成果としてまず1つ公開してみたい人です。HTMLとCSS(とJavaScript)だけで作っていて、問い合わせはメールアドレスやSNSへの案内で足りる場合も合います。コードを見られても困らない人や、応募先にコードも見てほしい人、月額の費用をかけたくない人にも向いています。
レンタルサーバーが向くのは、制作の仕事を受けるために、独自ドメインのURLとメールアドレス(例:info@自分のドメイン)を名刺代わりにしたい人です。ポートフォリオに問い合わせフォームを付けたい人、ロードマップ第3回で紹介したようにWordPressでポートフォリオを作った人、作品のコードを公開したくない人もこちらが候補になります。
迷う場合は、GitHub Pagesで無料公開して応募や相談に使い始め、仕事を受ける段階になったらレンタルサーバーと独自ドメインに移す順番でも遅くないと筆者は考えます。HTMLとCSSのファイルはそのまま移せるので、作り直す必要はありません。独自ドメインだけ欲しい場合は、ドメインを取得してGitHub Pagesにつなぐ方法もあり、後の「独自ドメインをつなぐ場合」で手順を説明しています。
公開する前に確認すること
公開すると、URLを知っている人は誰でもページとファイルを見られます。次の4点を先に確かめてください。
- 模写したページを作品として載せていないか。ロードマップ第2回(サイト模写編)では、模写は自分のパソコンの中で完結させ、公開やポートフォリオへの掲載はしないようお願いしています。GitHubの公式ドキュメントによると、学習のために既存サイトを写したものをGitHub Pagesに置くこと自体は禁止されていません。ただし、コードを自分で書くこと、利用者のデータを集めないこと、元のサイトと無関係で学習目的だと目立つように表示することが条件です。見本にしたサイトの権利の問題は別に残るので、ポートフォリオには自分で作ったものだけを載せるほうが安全です。
- 画像やアイコンの利用条件を守っているか。素材サイトの写真やAIで作った画像は、それぞれのサービスの利用条件の範囲で使います。ロードマップ第3回で紹介した素材サイトも、条件は各サイトの規約で確認してください。
- 載せたくない個人情報が入っていないか。住所、電話番号、本名などは、ページに出していなくても、HTMLのコメントや画像のファイル名に残っていることがあります。GitHub Pagesの場合はリポジトリ自体が公開になるので、サイトに使わないメモや下書きのファイルも一緒に上げないようにします。
- リンクと画像のパスが正しいか。パソコンでは表示できていても、フォルダ構成が変わると画像が出なくなることがあります。後で説明するプロジェクトサイト(ユーザー名.github.io/リポジトリ名)で公開する場合、「/css/style.css」のように / から始まる書き方ではリポジトリ名の分だけ場所がずれます。「css/style.css」のような相対パスにしておくと安全です。
GitHub Pagesでポートフォリオを公開する手順
ポートフォリオ本体は、GitHub Pagesの「ユーザーサイト」として公開すると分かりやすくなります。ユーザーサイトはアカウントごとに1つだけ作れて、URLは「ユーザー名.github.io」です。GitHub公式ドキュメント(英語)の手順を、Gitのコマンドを使わずブラウザだけで進める形で説明します。
- GitHubにログインし、画面右上の「+」からNew repositoryを選びます。
- リポジトリ名に「ユーザー名.github.io」と入力します。ユーザー名に大文字が含まれる場合は小文字にします。公開範囲はPublicを選び、Add READMEをオンにしてCreate repositoryを押します。
- ファイル一覧の上のAdd fileからUpload filesを選び、index.html、css・imagesなどのフォルダをドラッグ&ドロップしてコミットします。ブラウザから上げられるのは1ファイル25MiBまで、一度に100ファイルまでです。背景に動画を使っている場合は、ファイルの大きさに気をつけてください。
- Settingsを開き、左側の「Code, planning, and automation」にあるPagesを選びます。「Build and deployment」の「Source」がDeploy from a branchになっていることを確認し、ブランチにmain、フォルダに/(root)を選んでSaveを押します。
- Pagesの画面のVisit siteから開くか、ブラウザで「https://ユーザー名.github.io」を開きます。変更が公開されるまで、最大10分ほどかかることがあります。
GitHub Pagesは、公開するフォルダの一番上にあるindex.htmlを入口として探します。index.htmlがフォルダの中に入り込んでいると表示されないので、アップロードしたときの並びを確かめてください。公開後にスマートフォンで開き、レイアウトと画像を確認しておくと安心です。
作品ごとに別のURLで公開する(プロジェクトサイト)
ポートフォリオに載せる作品(自分で作ったLPや小さなツール)も公開したい場合は、作品ごとにリポジトリを作り、同じ手順でPagesを有効にします。これを「プロジェクトサイト」と呼び、URLは「ユーザー名.github.io/リポジトリ名」です。プロジェクトサイトはリポジトリごとに1つ作れるので、ポートフォリオの実績欄から各作品のURLへリンクを張れます。
独自ドメインをつなぐ場合
取得した独自ドメインで、GitHub Pagesのサイトを表示することもできます。公式ドキュメントの流れは次のとおりです。
- 先にGitHubの設定でドメインの所有確認(verify)をしておきます。GitHubは、ほかの人にドメインを使われる乗っ取りを防ぐため、この確認を勧めています。
- リポジトリのSettings→Pagesの「Custom domain」にドメインを入力してSaveを押します。
- ドメインを取得した会社のDNS設定で、www付きのサブドメインならCNAMEレコード、wwwなしのドメインならAレコードなどを、公式ドキュメントに載っている値で追加します。反映まで最大24時間かかることがあります。
- 証明書が発行されたら、Pagesの画面でEnforce HTTPSを選びます。
ユーザーサイトに独自ドメインを設定すると、同じアカウントのプロジェクトサイトも、既定で「独自ドメイン/リポジトリ名」で表示されます。GitHubは、wwwなしのドメインを使う場合も、www付きの設定をあわせて行うよう勧めています。
問い合わせフォームはどうする?
GitHub PagesではPHPが動かないので、PHPで書いたメールフォームは送信できません。GitHub Pagesのままにするなら、問い合わせ欄はメールアドレスやSNSのアカウントへの案内にしておくのが手軽です。
フォームの送信を受け付ける機能を持つホスティングサービスを使う方法もあります。たとえばNetlifyでサイトを公開する場合は、フォームの検出を有効にしてformタグにdata-netlify="true"(またはnetlify)属性を付けると、送信を受け付ける仕組みです。Netlifyの料金ページでは、フォームの送信はクレジットを消費せず無制限とされています。ただし、この機能はNetlifyで公開したサイトで使うもので、GitHub Pagesで公開したサイトでは使えません。独自ドメインのメールで受け取りたい場合は、次に説明するレンタルサーバーを使うほうが手順が少なく済みます。
エックスサーバーでポートフォリオを公開する手順
エックスサーバーの公式マニュアルに書かれている流れです。HTMLとCSSで作ったポートフォリオなら、ブラウザで使えるファイルマネージャでアップロードできます。
- サーバーを申し込みます。全プランに10日間の無料お試しがあります。独自ドメインの無料特典は、スタンダードプランでは12か月以上の契約(12か月で1つ、24か月以上で2つ)と、自動更新設定の有効化が条件です。
- サーバーパネルの「ドメイン設定」で「ドメインを追加」を選び、ドメイン名を入力して「追加する」を押します。無料独自SSLの設定も同時に追加されます。反映まで数時間〜最大24時間ほどかかる場合があります。
- ファイルマネージャにログインし、「ドメイン名」フォルダの中の「public_html」を開いて、「アップロード」からindex.htmlとcss・imagesなどのファイルを上げます。公式マニュアルでは、サイトのデータは「ドメイン名/public_html/」の下に置くよう書かれています。
- ブラウザで「https://ドメイン名/」を開いて表示を確かめます。
問い合わせフォームを付ける場合は、サーバーパネルの「メールフォーム(CGIツール)」から「新規インストール」を選びます。フォルダ名、管理画面のIDとパスワード、受信するメールアドレスを入れて「インストールする」を押すと、メールフォームの設置は完了です。できたフォームのURLを、ポートフォリオの問い合わせボタンのリンク先にしてください。受信用のメールアドレスは、サーバーパネルの「メールアカウント設定」で独自ドメインのアドレスとして作れます。ただし公式マニュアルによると、10日間の無料お試し期間中はメールアカウントを追加できません。
WordPressでポートフォリオを作った場合は、サーバーパネルの「WordPress簡単インストール」で公開先にWordPressを入れ、ロードマップ第3回で紹介したAll-in-One WP Migrationのような移行用のプラグインで中身を移す流れです。エックスサーバーのマニュアルには、WordPressを「https://ドメイン名/」で表示したい場合、インストール先を「ドメイン名/public_html/」にするよう書かれています。
費用はいくらかかる?
エックスサーバーのスタンダードプランは、契約期間を選んで期間分を一括で前払いします。次の表は、2026年10月1日に料金ページで確認した金額(税込)と、それをもとに筆者が計算した支払い総額です。
| 契約期間 | 月あたりの料金 | 申込み時に払う金額(計算値) |
|---|---|---|
| 3か月 | 1,320円 | 3,960円 |
| 6か月 | 1,210円 | 7,260円 |
| 12か月 | 1,100円 | 13,200円 |
| 24か月 | 1,045円 | 25,080円 |
| 36か月 | 990円 | 35,640円 |
初期費用は0円です。料金ページでは、上の月あたりの金額も「2026年9月7日17:00から10月5日17:00までのキャンペーン価格」と注記されています。同じ期間の新規申込みでは、12か月以上の契約で利用料金の半額がキャッシュバックされるキャンペーンも行われています(スタンダード12か月なら6,600円、36か月なら17,820円)。キャッシュバックを申請できるのは、サーバーを申し込んでから満6か月以上使った後で、その時点で契約が終わっていると対象外です。キャンペーンの有無にかかわらず、申込み時には契約期間分の金額をまとめて払う点に注意してください。2026年10月5日17:00を過ぎた後に申し込む場合は、公式の料金ページで金額を確認してください。
GitHub Pagesで公開する場合は0円です。独自ドメインをつなぐ場合のドメイン代は、ドメインを取得する会社と種類(.com、.jpなど)で変わります。
レンタルサーバーをエックスサーバーとConoHa WINGで比べたい方は、次の記事で契約期間別の支払総額と、独自ドメインが無料になる条件の違いを確認できます。

エックスサーバーは、HTMLのポートフォリオをファイルマネージャで公開できるレンタルサーバーです。独自ドメインのメールアドレス、メールフォーム、WordPressも1つの契約で使えます。仕事の相談を受けられる形でポートフォリオを公開したい人の候補になります。
- スタンダードプランは月あたり990〜1,320円(税込)で、契約期間分を一括前払いします。この金額は2026年10月5日17:00までのキャンペーン価格です。
- 独自ドメインの無料特典は、スタンダードでは12か月以上の契約と自動更新設定の有効化が条件です。2026年10月5日17:00までの新規申込みは、12か月以上の契約で利用料金の半額キャッシュバックの対象です(申請は申込みから満6か月以上利用した後)。
- 全プランに10日間の無料お試しがあります。コードを公開してよく、フォームも不要なら、GitHub Pagesで足ります。
料金・条件は2026年10月1日に公式サイトで確認した内容です。2026年10月5日17:00のキャンペーン終了後は、公式の料金ページで最新の表示を確認してください。
ポートフォリオを公開した後に読みたい記事
ポートフォリオを公開した後、独学を続けるかスクールで学ぶかを考えている方は、次の記事で判断の目安と、無料カウンセリングで確かめることを確認できます。

Claude CodeやCodexで作ったサイトも公開したい方には、次の記事が参考になるはずです。GitHub Pages以外の無料の置き場所と、AIに公開作業まで任せるときの注意をまとめています。

ロードマップの前の回も、公開の前に見直しておくと役に立つでしょう。HTML/CSS/レスポンシブ編(第1回)ではポートフォリオを作る前に身につける基本を、サイト模写編(第2回)では模写の進め方と模写したページを公開しない理由を説明しています。ポートフォリオに載せる内容とデザイン・素材の用意は、ポートフォリオサイトの作り方(第3回)にまとめました。
ポートフォリオに載せてよい条件で練習用の作品を作りたい方は、コーディング練習用のデザインカンプの無料配布を使えます。GitHubのアカウントのままエディタでAIに補助させる方法と無料プランの範囲は、GitHub Copilotの使い方の記事で確認できます。
参考にした公式資料
- GitHub Docs:What is GitHub Pages?
- GitHub Docs:Creating a GitHub Pages site
- GitHub Docs:GitHub Pages limits
- GitHub Docs:Quickstart for GitHub Pages
- GitHub Docs:Configuring a publishing source for your GitHub Pages site
- GitHub Docs:Adding a file to a repository
- GitHub Docs:About custom domains and GitHub Pages、Managing a custom domain for your GitHub Pages site
- GitHub Docs:Securing your GitHub Pages site with HTTPS
- Netlify Docs:Forms setup、Credit-based pricing plans
- エックスサーバー:料金プラン、半額キャッシュバックキャンペーン
- エックスサーバー:ドメイン設定、ファイルマネージャ、メールフォーム、メールアカウントの追加、WordPress簡単インストール
