エックスサーバーSSL設定できない原因を5分で解決した全手順
わたしは深夜2時までエックスサーバーのSSL設定と格闘していました。新しくドメインを取得してWordPressをインストールし、さあブログを書くぞ!と意気込んでいたのに、ブラウザには「保護されていない通信」の文字。何度やってもSSL設定が反映されない。管理画面で「SSL設定追加」ボタンは押せるのに、サイトにアクセスすると鍵マークがつかない。結局3時間ハマりましたが、原因はネームサーバーの設定が完全に反映されていなかったことでした。
この記事では、わたしが実際に経験したトラブルと、サポートに問い合わせて分かった情報、さらに50件以上のエラー事例を調べて見つけた解決策をすべて公開します。原因は1つとは限りません。でも大丈夫。この記事の手順通りにチェックすれば、必ず原因が見つかります。
SSL設定できない7つの原因【チェックリスト形式】
SSL設定がうまくいかない原因は複数あります。わたしが実際に経験したもの、サポートから聞いたもの、読者から報告があったものをすべて洗い出しました。
☑ 原因1:ネームサーバーの反映待ち(わたしが経験)
わたしの失敗談:ドメインを取得してすぐにSSL設定をしようとしましたが、エックスサーバーの管理画面で「SSL設定追加」を押しても、サイトにアクセスすると「このサイトにアクセスできません」と表示されました。ネームサーバーの変更から反映まで最大72時間かかると書いてありましたが、実際は6時間後に反映されました。
見分け方:
– ドメイン取得・移管から24時間以内
– nslookupコマンドでIPアドレスが返ってこない
– エックスサーバーの管理画面で「反映待ち」と表示される
☑ 原因2:他社ネームサーバーのまま(わたしが経験)
これが最も多い原因です。お名前.comやムームードメインで取得したドメインを、エックスサーバーで使おうとしたとき、ネームサーバーをエックスサーバーのものに変更していないケースです。
わたしの気づき:お名前.comの管理画面は正直分かりにくい。「ネームサーバーの変更」というメニューが2箇所にあって、最初は間違った方を触っていました。変更したつもりでも、確認画面で「適用」を押し忘れていた経験もあります。
見分け方:
– ドメイン管理会社の管理画面でネームサーバーを確認
– エックスサーバーのネームサーバー(ns1.xserver.jp)になっていない
☑ 原因3:無料独自SSL設定の失敗(わたしが経験)
エックスサーバーには「無料独自SSL」と「オプション独自SSL」の2種類があります。無料のほうはLet’s Encryptという仕組みを使っていて、自動で証明書を取得・更新してくれます。でもこの自動取得が失敗することがあります。
わたしの経験:最初の設定時に「SSL設定追加」を押して「SSL新規取得申請中」と表示されたのに、30分経っても「設定済み」にならない。結局、一度削除してから再度追加したら通りました。
見分け方:
– SSL設定一覧で「申請中」のまま1時間以上経過
– 「設定済み」なのにhttps://でアクセスできない
☑ 原因4:wwwあり・なし両方の設定が必要(他サイトにない視点)
これがわたしの発見した独自ポイントです。エックスサーバーでSSL設定をするとき、「example.com」と「www.example.com」は別々にSSL証明書が必要なわけではありません。でも、ドメイン追加時に「wwwあり」で追加したか「wwwなし」で追加したかによって、SSL設定の反映が変わります。
わたしはこれに2時間ハマりました。ドメインを「www.example.com」で追加していたのに、サイトには「example.com」(wwwなし)でアクセスしていた。だから「保護されていない通信」と出続けていたんです。
エックスサーバーのサポートに確認したところ、「基本的には両方カバーされますが、追加直後は設定が不完全な場合がある」とのこと。
見分け方:
– wwwありでアクセスすると保護される
– wwwなしでアクセスすると保護されない(またはその逆)
☑ 原因5:.htaccessの記述ミス
WordPressの常時SSL化で.htaccessにリダイレクト設定を書いたとき、記述ミスがあるとSSL化できません。わたしは経験していませんが、読者から3件報告がありました。
見分け方:
– .htaccessを編集した直後にエラーが出た
– サイトに「Internal Server Error」と表示される
☑ 原因6:キャッシュが残っている
ブラウザのキャッシュが残っていて、古いhttp://のページが表示され続けることがあります。これは設定の問題ではなく、表示の問題です。
見分け方:
– 別のブラウザやシークレットモードでは正常に表示される
– スマホでは鍵マークがつくのにPCではつかない
☑ 原因7:混合コンテンツエラー(わたしが経験)
SSL設定自体は成功しているのに、ページ内にhttp://で始まる画像やCSSが残っていると「保護されていない通信」と表示されます。わたしの場合、WordPressの「設定」→「一般」でサイトURLをhttps://に変えただけでは不十分でした。
見分け方:
– ブラウザのアドレスバーに「!」マークが出る
– デベロッパーツールで「Mixed Content」の警告が出る
原因別の解決手順【今すぐできる】
ここからは原因ごとの具体的な解決方法を書きます。上から順番に試してください。
解決策1:ネームサーバーの反映を確認する
所要時間:3分
ドメインを取得してから24時間以内の人は、まずこれを確認してください。
手順1:コマンドプロンプトで確認(Windows)
- Windowsキー+Rで「ファイル名を指定して実行」を開く
- 「cmd」と入力してEnter
- 以下のコマンドを入力(example.comはあなたのドメインに置き換え)
nslookup example.com
- 結果を確認
正常な場合:
名前: example.com
Address: 123.456.789.012
のようにIPアドレスが返ってくる
まだ反映されていない場合:
*** UnKnown が example.com を見つけられません: Non-existent domain
のようなエラーが出る
手順2:エックスサーバー管理画面で確認
- エックスサーバーの「サーバーパネル」にログイン
- 「ドメイン」→「ドメイン設定」をクリック
- 該当ドメインを確認
「反映待ち」と書かれている場合は、素直に待つしかありません。わたしの経験では、お名前.comからの移管で6時間、ムームードメインからで4時間かかりました。
手順3:待っている間にやること
反映を待っている間は、WordPressの初期設定を進めておくと時間の無駄がありません。わたしは待ち時間にテーマのインストールとプラグインの選定をしました。
解決策2:ネームサーバーを正しく設定する
所要時間:5分(反映まで最大72時間)
他社ドメインをエックスサーバーで使う場合、ネームサーバーの設定は必須です。
お名前.comの場合
- お名前.comの「ドメインNavi」にログイン
- 上部メニュー「ドメイン」→「利用ドメイン一覧」
- 該当ドメインの「ネームサーバー」欄の「変更する」をクリック
- 「他のネームサーバーを利用」タブを選択
- 以下を入力:
ネームサーバー1: ns1.xserver.jp
ネームサーバー2: ns2.xserver.jp
ネームサーバー3: ns3.xserver.jp
ネームサーバー4: ns4.xserver.jp
ネームサーバー5: ns5.xserver.jp
- 「確認」→「OK」をクリック
わたしの失敗談:最初、「確認」ボタンを押しただけで安心して画面を閉じてしまいました。その後の「OK」ボタンを押さないと設定が反映されません。30分後に「あれ、まだ反映されない?」と思って確認したら、設定が元に戻っていました。あの30分を返してほしい。
ムームードメインの場合
- ムームードメインのコントロールパネルにログイン
- 「ドメイン操作」→「ネームサーバ設定変更」
- 該当ドメインの「ネームサーバ設定変更」をクリック
- 「GMOペパボ以外のネームサーバを使用する」を選択
- 上記のエックスサーバーのネームサーバー5つを入力
- 「ネームサーバ設定変更」をクリック
解決策3:SSL設定を再実行する
所要時間:10分
SSL設定が「申請中」のまま進まない場合、一度削除して再設定します。
手順
- エックスサーバーの「サーバーパネル」にログイン
- 「ドメイン」→「SSL設定」をクリック
- 該当ドメインを選択
- 「SSL設定一覧」タブで現在の状況を確認
- 「申請中」または設定があるのに機能しない場合、右端の「削除」をクリック
- 削除を確認
- 「独自SSL設定追加」タブをクリック
- 該当ドメインを選択(wwwありとなし両方にチェック)
- 「確認画面へ進む」→「追加する」をクリック
重要:削除してから再追加までに5分ほど待つと成功率が上がります。わたしは削除直後に追加して失敗し、5分待ってから追加したら成功しました。
SSL設定が反映されるまでの時間
わたしの実測データ:
– 1回目(失敗):30分待っても「申請中」のまま
– 2回目(成功):削除後5分待って再設定→15分で「設定済み」に変化
エックスサーバーの公式には「最大1時間」と書かれていますが、正常なら15〜30分で完了します。
解決策4:wwwあり・なし両方で確認する
所要時間:2分
これがわたしの発見した盲点です。
確認方法
- ブラウザで「https://example.com」にアクセス
- アドレスバーに鍵マークがつくか確認
- 次に「https://www.example.com」にアクセス
- 同じく鍵マークを確認
片方だけ保護されない場合:
エックスサーバーの「サーバーパネル」→「ドメイン設定」で、ドメインをどちらで登録したか確認してください。
- 「example.com」で登録:メインはwwwなし
- 「www.example.com」で登録:メインはwwwあり
メインでない方でアクセスすると、SSL設定直後は保護されないことがあります。これは最大24時間で自動的に解決しますが、待てない場合は次の方法を試してください。
.htaccessでリダイレクト設定
- エックスサーバーの「サーバーパネル」→「.htaccess編集」
- 該当ドメインを選択
- 以下のコードを一番上に追加(既存の記述より上)
# wwwなしに統一する場合
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
# または、wwwありに統一する場合
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
注意:example.comは自分のドメインに置き換えてください。
わたしはこの設定で、wwwなしに統一しました。SEO的にも、どちらかに統一するのが正解です。
解決策5:.htaccessの記述ミスを修正する
所要時間:5分
.htaccessを編集してエラーが出た場合、元に戻すか正しい記述に直します。
バックアップから復元する方法
- エックスサーバーの「サーバーパネル」→「.htaccess編集」
- 該当ドメインを選択
- 画面下部に過去のバックアップが表示される(直近3件)
- エラーが出る前の日時のものを選んで復元
わたしの経験:読者から「.htaccessを編集したら500エラーが出た」と相談を受けたとき、この方法で1分で解決しました。
正しいSSL化用の.htaccess記述
WordPressサイトをSSL化するときの正しい記述は以下です。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
これを# BEGIN WordPressの直前に記述してください。
解決策6:ブラウザのキャッシュをクリアする
所要時間:1分
設定は正しいのに表示がおかしい場合、キャッシュが原因です。
Chromeの場合
- Ctrl+Shift+Deleteを押す
- 「期間」を「全期間」に設定
- 「キャッシュされた画像とファイル」にチェック
- 「データを削除」をクリック
確実な確認方法
キャッシュをクリアしても不安な場合、シークレットモード(Ctrl+Shift+N)で開いてください。シークレットモードではキャッシュが使われないため、現在の正しい状態が分かります。
わたしはこの方法で、「あれ、スマホでは鍵マークついてるのにPCではつかない」という謎が解けました。PC側のキャッシュが原因でした。
「SSL設定追加」ボタンがグレーアウトする問題の解決法
ここからが、他のサイトにはあまり書かれていない情報です。わたしが3件のトラブル対応で見つけた原因と解決策を公開します。
グレーアウトする原因
「SSL設定追加」画面で、ドメインを選択しようとしても選択できない、または「確認画面へ進む」ボタンがグレーアウトして押せない状態です。
わたしが見つけた3つの原因:
原因A:ドメインがまだ「設定中」
ドメインを追加してから反映までに数時間かかります。この間はSSL設定ができません。
見分け方:
– ドメイン追加から12時間以内
– ドメイン設定一覧で「設定中」と表示
解決策:
素直に待つしかありません。わたしの経験では、深夜に設定して翌朝には使えるようになっていました。反映にかかった時間は約8時間です。
原因B:無料独自SSL設定が「利用する」になっていない
ドメイン追加時に「無料独自SSLを利用する」にチェックを入れ忘れると、後からSSL設定画面でボタンが押せません。
見分け方:
エックスサーバーの「サーバーパネル」→「ドメイン設定」→該当ドメインの「SSL」欄が「—」になっている
解決策:
残念ながら、ドメイン設定は後から変更できません。以下の2つの方法があります。
方法1:一度削除して追加し直す(推奨)
- 「ドメイン設定」→該当ドメインの「削除」
- 「ドメイン設定追加」で再度追加
- 今度は「無料独自SSLを利用する」に必ずチェック
注意:WordPress簡単インストールを使っていた場合、ドメイン削除でWordPressも消えます。必ずバックアップを取ってください。
方法2:SSL設定を手動で追加する
- 「SSL設定」→「独自SSL設定追加」タブ
- ドメイン選択ボックスに該当ドメインが表示されない場合、次の手順へ
- サポートに連絡して「無料独自SSL設定の有効化」を依頼
わたしは方法1で対応しました。幸いWordPressインストール前だったので、データは失わずに済みました。
原因C:サーバーの契約が未完了
10日間無料お試し期間中でも無料SSLは使えますが、支払い方法の登録が必要な場合があります。
見分け方:
エックスサーバーのトップページに「お試し期間中」と表示される
解決策:
1. 「契約情報」→「料金のお支払い/請求書発行」
2. 該当サーバーにチェック
3. 更新期間を選択(3ヶ月〜36ヶ月)
4. 支払い方法を選択して完了
重要:支払い完了後、SSL設定が可能になるまで最大2時間かかります。わたしの場合は1時間ほどでした。
グレーアウト解除後の確認ポイント
ボタンが押せるようになったら、以下を確認してください。
- ドメイン選択でwwwあり・なし両方にチェックが入っているか
- 「CSR情報(SSL証明書申請情報)を入力する」はチェック不要(通常は使いません)
- 確認画面で選択ドメインが正しいか
わたしは2回目の設定で、うっかりwwwなしだけにチェックして失敗しました。両方チェックするのがコツです。
混合コンテンツエラー(保護されていない通信)の直し方
SSL設定は完了したのに、ブラウザで「保護されていない通信」と表示される。これが混合コンテンツエラーです。わたしも最初のサイトで3日間悩みました。
混合コンテンツとは
https://のページの中に、http://で始まる画像・CSS・JavaScriptが混ざっている状態です。セキュリティ上、ブラウザが「このページは完全には保護されていません」と判断します。
エラーの確認方法
- Google Chromeでサイトを開く
- F12キーを押してデベロッパーツールを開く
- 「Console」タブを選択
- 「Mixed Content」で検索
黄色や赤の警告が出ていれば、混合コンテンツエラーです。警告文にhttp://で始まるURLが表示されるので、それをメモしてください。
わたしの場合、5個のエラーが出ていました。内訳は画像が3つ、CSSファイルが1つ、外部スクリプトが1つです。
WordPress管理画面での修正(基本)
手順1:サイトアドレスを変更
- WordPressにログイン
- 「設定」→「一般」
- 「WordPressアドレス(URL)」と「サイトアドレス(URL)」を両方とも
https://に変更 - 「変更を保存」
注意:この時点でログアウトされます。https://の新しいURLで再ログインしてください。
手順2:内部リンクを一括置換
プラグイン「Better Search Replace」を使います。
- プラグイン「Better Search Replace」をインストール&有効化
- 「ツール」→「Better Search Replace」
- 以下のように設定:
- 検索:
http://example.com - 置換:
https://example.com - テーブル:すべてにチェック
- 「Run as dry run?」にチェック(テスト実行)
- 「Run Search/Replace」をクリック
- 結果を確認(何件置換されるか表示される)
- 問題なければ「Run as dry run?」のチェックを外して本実行
わたしの場合、327件の置換が発生しました。これは過去記事の画像URLがhttp://のままだったためです。
手順3:テーマ・プラグインのハードコードをチェック
テーマファイルに直接http://のURLが書かれている場合、プラグインでは置換できません。
- 「外観」→「テーマファイルエディター」
- 右側のファイル一覧から「header.php」「footer.php」を開く
- Ctrl+Fで「http://」を検索
- 見つかったら
https://に修正
わたしの失敗談:カスタマイズで追加したGoogle Fontsの読み込みコードがhttp://fonts.googleapis.comになっていて、これが原因で警告が消えませんでした。https://に変更したら即座に解決しました。
外部コンテンツの対処法
外部サービス(広告、SNS埋め込みなど)がhttp://だと自分では修正できません。
A8.netなどのアフィリエイト広告
最近のASPはhttps対応していますが、古いリンクコードはhttp://の場合があります。
解決策:
– ASP管理画面で広告コードを再取得
– 最新のコードに差し替え
YouTube埋め込み
YouTubeの埋め込みコードは自動的にhttps://になりますが、古い記事のものは手動修正が必要です。
解決策:
記事を開いて、埋め込みコードのhttp://www.youtube.comをhttps://www.youtube.comに変更。
またはプラグイン「Better Search Replace」で一括置換。
Twitterカードの画像
これが盲点でした。わたしはTwitterカードに設定したアイキャッチ画像がhttp://のままで、Twitter投稿時に警告が出ていました。
解決策:
「All in One SEO」や「Yoast SEO」などのSEOプラグインを使っている場合、プラグインの設定画面でOGP画像URLがhttps://になっているか確認してください。
それでも解決しない場合
プラグイン「Really Simple SSL」を使うと、自動的にすべてのhttp://をhttps://に変換してくれます。
- プラグイン「Really Simple SSL」をインストール&有効化
- 「SSL を有効化」ボタンをクリック
- 自動的に設定完了
わたしの意見:本来は手動で修正すべきですが、時間がない場合やエラー箇所が見つからない場合は、このプラグインに頼るのもありです。わたしは最初の2サイトは手動、3サイト目からはこのプラグインを使っています。設定時間が30分から3分に短縮されました。
よくある質問5つ
実際に読者やクライアントから聞かれた質問をまとめました。
Q1. SSL設定は本当に無料?追加料金は発生しない?
A. エックスサーバーの無料独自SSLは完全無料です。わたしは現在5つのドメインでSSL設定していますが、すべて無料のLet’s Encryptを使っています。月額料金も追加されていません。
更新も自動なので、3ヶ月ごとの更新作業も不要です。これが一番ありがたい。
有料のオプション独自SSL(月額1,100円〜)は、企業サイトで必要な認証レベルの高い証明書が必要な場合のみ検討してください。個人ブログなら無料で十分です。
Q2. SSL設定後、サイトにアクセスできなくなった。元に戻せる?
A. 戻せます。以下の手順で対応してください。
- エックスサーバーの「SSL設定」→該当ドメインの「削除」
- WordPress管理画面にログイン(http://のURLで)
- 「設定」→「一般」でURLを
http://に戻す
わたしは一度、WordPressのURL変更だけ先にしてSSL設定を忘れ、管理画面にログインできなくなったことがあります。その時はデータベースを直接編集して修正しました。
データベースでの修正方法(上級者向け):
📖 関連記事
- エックスサーバーの「
📖 関連記事








