WordPressはWebの43%を支えています。SSL/HTTPSの追加には3つのステップがあります:証明書を取得し、サーバーにインストールし、WordPressをHTTPS URLを使用するよう更新します。このガイドでは3つすべてを解説します。
ステップ1: 証明書を取得する
ほとんどのWordPressホストには無料SSLが含まれています。まず確認してください:
| ホストタイプ | 確認方法 |
|---|---|
| マネージドWordPress(SiteGround、Bluehost、WP Engine) | コントロールパネル → Security/SSLセクション — 自動有効化されていることが多い |
| cPanel共有ホスティング | cPanel → SSL/TLS Status — AutoSSLを探す |
| VPS/専用サーバー | 組み込みSSLなし — 自分でインストールが必要 |
ホストがSSLを提供していない場合は、GetHTTPSで無料証明書を取得し、cPanel、Nginx、またはApache経由でインストールしてください。
ステップ2: WordPress URLを更新する
証明書がサーバーにインストールされたら、WordPressにHTTPSを使用するよう伝えます:
方法A: WordPress設定(最も簡単)
- Settings → Generalに移動します
- 両方のURLを
http://からhttps://に変更します:- WordPress Address (URL):
https://yourdomain.com - Site Address (URL):
https://yourdomain.com
- WordPress Address (URL):
- Save Changesをクリックします
ログアウトされます。新しいhttps:// URLでログインし直してください。
方法B: wp-config.php(ダッシュボードにアクセスできない場合)
/* That's all, stop editing! */の前に追加します:
define('WP_HOME', 'https://yourdomain.com');
define('WP_SITEURL', 'https://yourdomain.com');
define('FORCE_SSL_ADMIN', true);
ステップ3: 混合コンテンツを修正する
WordPressは絶対URLをデータベースに保存しています(投稿コンテンツ、画像、ウィジェットテキスト)。HTTPSに切り替えた後、古いhttp://参照は混合コンテンツ警告を引き起こします。
クイックフィックス: Really Simple SSLプラグイン
- Really Simple SSLプラグインをインストールします
- 有効化します。証明書を検出し、ほとんどの混合コンテンツを自動的に修正します
upgrade-insecure-requestsヘッダーを追加し、URLを動的に書き換えます
恒久的な修正: データベースの一括置換
プラグインに依存しないクリーンなソリューション:
# WP-CLI使用(推奨)
wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' --all-tables
またはBetter Search Replaceプラグインを使用:
- 検索:
http://yourdomain.com - 置換:
https://yourdomain.com - すべてのテーブルを選択
- 実行(まずドライランを実行)
手動SQL(上級者向け)
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://yourdomain.com', 'https://yourdomain.com') WHERE option_name IN ('home', 'siteurl');
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://yourdomain.com', 'https://yourdomain.com');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://yourdomain.com', 'https://yourdomain.com');
ステップ4: HTTP → HTTPSリダイレクトを設定する
http://と入力してもすべての訪問者にHTTPSを提供するようにします:
.htaccess(Apache — WordPressで最も一般的)
.htaccessファイルの先頭(WordPressルールの前)に追加します:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Nginx
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
return 301 https://$host$request_uri;
}
リダイレクトの完全ガイドをご覧ください。
ステップ5: 外部サービスを更新する
HTTPSへの移行後、以下のURLを更新してください:
- Google Search Console —
https://プロパティを追加 - Google Analytics — 設定 → デフォルトURL →
https://に変更 - サイトマップ —
https://URLで再生成(Yoast/Rank Mathが自動的に行います) - SNSプロフィール — Facebook、Twitterのサイトリンク
- CDN — 使用している場合、HTTPS経由で配信されることを確認
確認する
https://yourdomain.comにアクセス — パドロックアイコンが表示されること- DevTools(F12)→ Console — 混合コンテンツの警告がないか確認
- いくつかの内部ページとブログ記事をテスト
- Google Search Consoleでクロールエラーがないか確認
トラブルシューティング
HTTPS有効化後のリダイレクトループ
プロキシ(Cloudflare、ロードバランサー)の背後でよくある問題です。プロキシがWordPressにHTTPを送信し、WordPressがHTTPSにリダイレクトし、プロキシが再びHTTPとして送信します。修正:
// プロキシの背後の場合はwp-config.phpに追加
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'on';
}
SSLインストール後に「この接続ではプライバシーが保護されません」と表示される
証明書がサーバーレベルで正しくインストールされていない可能性があります。WordPressのトラブルシューティングの前に、サーバー設定(NginxまたはApache)を確認してください。
一部の画像/リソースがまだHTTP経由で読み込まれる
データベースの一括置換(ステップ3)を実行してください。テーマファイルやカスタムCSSにハードコードされたhttp:// URLがないか確認してください。安全策としてupgrade-insecure-requests CSPヘッダーを使用してください。
よくある質問
WordPressにSSLプラグインは必要ですか?
いいえ。Really Simple SSLなどのプラグインは移行を容易にします(特に混合コンテンツ)が、必須ではありません。手動でURLを更新し、.htaccessでリダイレクトを追加できます。プラグインはページ読み込みのたびにわずかなオーバーヘッドを追加します。
HTTPSへの切り替えはSEOに影響しますか?
一時的に、Googleがサイトを再クロールする間、わずかなランキング変動がある場合があります。長期的にはHTTPSはSEOを向上させます。Googleのランキングシグナルだからです。リンクエクイティが転送されるよう、HTTPからHTTPSへの301リダイレクトを使用してください。
WordPressで無料のLet’s Encrypt証明書を使用できますか?
はい。Let’s Encrypt証明書はWordPressを含むあらゆるWebサイトで動作します。GetHTTPSから取得して、サーバーまたはcPanel経由でインストールしてください。証明書はWordPressが背後で動作していることを認識しないし、関係もありません。
WordPressの証明書を更新するにはどうすればいいですか?
証明書はWordPressではなくサーバーレベルでインストールされます。新しい証明書を取得してサーバー上のファイルを置き換えることで更新してください。WordPress自体は証明書を管理しません。
WooCommerce / WordPress ECサイトの場合は?
無料のLet’s Encrypt DV証明書はWooCommerceに十分です。PCI DSSはOVやEV証明書を要求しません。暗号化を要求しており、DVはそれを提供します。決済ゲートウェイ(Stripe、PayPal、Square)が最も機密性の高いカードデータを処理します。
WordPress マルチサイトでSSLは使えますか?
はい。サブドメイン型のWordPressマルチサイト(例:site1.example.com、site2.example.com)では、ワイルドカード証明書(*.example.com)を使用してください。サブディレクトリ型のマルチサイト(例:example.com/site1/)では、単一ドメイン証明書で動作します。
ホストが無料SSLを提供すると言っています。GetHTTPSは必要ですか?
ホストが無料SSL(AutoSSLまたは同様のシステム経由)を提供している場合、それを使用してください。最もシンプルな方法です。GetHTTPSは、ホストが無料SSLを提供していない場合、特定の証明書タイプ(ワイルドカード、マルチドメイン)が必要な場合、または秘密鍵を自分で管理したい場合に使用します。