StackPathのCDNは、コンテンツ保護やアセット最適化など、高度なカスタマイズが可能です。
WordPressの場合、StackPathでは「Full Site Integration(サイト全体の統合)」と「Static Assets Integration(静的アセットの統合)」という2つの構成から選べます。「Full Site Integration」はサイト全体を同じドメインでキャッシュし、「Static Assets Integration」はサブドメインを使用して静的コンテンツのみをキャッシュします。これらは両方とも、KinstaのCloudflare統合と互換性があります。
「Static Assets Integration」を使用するには、サブドメインが必要ですが、MyKinstaではドメインを追加するときに、ワイルドカードサブドメイン(*.example.com)が自動的に追加されるので、ご自身でサブドメインをサイトのドメイン一覧に追加する必要はありません。また、CDN Enablerなどのプラグインを使用して、アセットのURLをStackPathのエッジアドレスからお客様のサブドメインに書き換える必要があります。これについては、この後の「Static Assets Integration」のセクションでもう少し詳しく説明します。
「Static Assets Integration」でサブドメインが必要なことをのぞくと、KinstaのCloudflare統合との互換性を確保するための設定は、StackPathのいずれの構成でも同じです。「Static Assets Integration」では、静的アセットのURLを変更するプラグインも必要になりますが、これについては後ほど、「Static Assets Integration」のセクションで説明します。
StackPath CDNの利用を開始する
StackPathのアカウントをまだお持ちでない方は、登録画面からご登録ください。その後、StackPathのアカウントにログインし、「Sites」セクションの「Create Site」ボタンをクリックします。

「Select an Integration」の画面で、統合のタイプ(「Full Site」、「Static Assets」のいずれか)をクリックします。

「Full Site Integration」を選択した場合
ステップ1
「Full Site Integration」を選択して次のページに進んだら、ドメイン名を入力し、サイトで使用したいサービスを選択して、「Set Up Your Origin」をクリックします。

ステップ2
「Set Up Your Origin」ページで、StackPathで自動的に入力されたIPアドレスが、MyKinsta上のサイトのIPアドレスと一致していることを確認します。
Kinstaサイトがパスワードで保護されている場合、「Is your origin address password protected?」で「Yes」を選択します。次に、StackPathがコンテンツにアクセスできるように、認証に使用するユーザー名とパスワードを入力します。
前のステップで配信ドメインを設定したので、ここで独自ドメインを入力する必要はありません。
「Confirm Origin Address」ボタンをクリックして、次の画面に進みます。

ステップ3
SSL方式では、StackPathが提供する無料のSSLを使用することが推奨されます。KinstaのCloudflareとの統合で付与されるCloudflare SSLと干渉することはありません。
また、お客様のサイトがサードパーティで購入した別のSSL証明書を使用している場合、そのSSL証明書をアップロードすることもできます。
SSL接続で保護したいドメインを確認したら、「Confirm SSL Method」をクリックします。

ステップ4
StackPathのSSL証明書を発行するためには、ドメインの所有権を確認する必要があります。「DNS Challenge」または「HTTP Request」のいずれかが選べます。今回は、Kinsta DNSで管理するDNSを使用して、「DNS Challenge」の方法を選択しました。
別のDNSプロバイダ(レジストラまたは別のDNSホスト ※ドメインのネームサーバーをどこに紐付けたかにより異なります)を使用している場合は、手順が少し異なる場合があります。
「Name」と「Value」の横にあるコピー(クリップボード)のアイコンをクリックして、DNSレコードに追加するCNAMEの情報をコピーします。

Kinsta DNSにCNAMEレコードを追加するには、MyKinstaにログインし、左サイドバーナビゲーションで「Kinsta DNS」をクリックしてください。
- DNSレコードを追加したいドメインをクリックします。
- 「DNSレコードを追加する」ボタンを押します。
- 「CNAME」タブをクリックし、StackPathのVerify Domain Ownershipページからコピーした内容を「ホスト名」と「指定先」に貼り付けます。その後「DNSレコードを追加する」ボタンをクリックし、CNAMEレコードを保存します。
注)DNSレコードのTTL設定により、DNSレコードが伝搬するまでに数分から数時間かかる場合があります。

ステップ5
StackPathに戻り、「I have completed one of above validation steps to verify I own the domain.」の隣のボックスにチェックを入れ、「Verify Domain Ownership」ボタンをクリックします。

ステップ6
DNS伝搬が完了すると、ドメイン所有権が確認され、StackPathにDNSを紐付けるための情報が表示されます。コピー(クリップボード)アイコンをクリックして、表示されたIPアドレスをコピーしてください。
ステップ7
今回も、Kinsta DNSで行う方法をご紹介します。この手順は、お使いのDNSプロバイダによって異なる場合があります。
- MyKinstaのKinsta DNSを開いていない場合は、左サイドバーナビゲーションにあるKinsta DNSをクリックしてください。
- DNSレコードを追加したいドメインをクリックします。
- ドメインに既存のAレコードがある場合は、編集(鉛筆)アイコンをクリックして、StackPathで表示される最初のIPアドレスに変更します。そうでない場合は、「DNSレコードを追加する」ボタンをクリックします。
- サブドメインにAレコードを追加しない限り、ホスト名は空欄のままにしてください
- IPv4 アドレスには、StackPathからコピーしたIPアドレスを使用します
- 「DNSレコードを変更する」ボタン(DNSレコードの更新)または「DNSレコードを追加する」ボタン(新しいDNSレコードの追加)をクリックして、DNSレコードを保存します。
Aレコードを変更し、StackPathに紐付ける Aレコードを追加し、StackPathに紐付ける
注意)DNSレコード伝搬まで、最大で1時間かかる場合があります。
ステップ8
StackPathのダッシュボードに戻り、DNSを更新する手順が完了したことを確認するボックスにチェックを入れ、「Complete Setup」ボタンをクリックします。

ステップ9
StackPathのサイトの「Overview」ページが表示されます。「www」版CNAME (www.example.com)のために追加または変更する必要がある別のDNSレコードが確認できます。「コピー(クリップボード)」アイコンをクリックし、値をコピーします。

ステップ10
引き続き、Kinsta DNSでこのDNSレコードを追加または編集する方法を紹介します。この手順は、お使いのDNSプロバイダによって異なる場合があります。
- 「www」のホスト名に対してすでにCNAMEレコードがある場合は、「編集(鉛筆)」アイコンをクリックしてそれを更新します。そうでない場合は「DNSレコードを追加する」ボタンをクリックし、「CNAME」タブを選択します。
- ホスト名: www
- 指定先: StackPathで表示される、wwwに紐付けるホスト名
- 「DNSレコードを変更する」ボタン(DNSレコードの更新)または「DNSレコードを追加する」ボタン(新しいDNSレコードの追加)をクリックして、DNSレコードを保存します。「www」のCNAMEレコードを編集し、StackPathに紐付ける
「www」のCNAMEレコードを編集し、StackPathに紐付ける 「www」のCNAMEレコードを追加し、StackPathに紐付ける
注意)DNSレコード伝搬まで、最大で1時間かかる場合があります。
ステップ11
StackPathのダッシュボードに戻り、「Re-Check DNS Settings」ボタンをクリックします。

これでサイトをStackPathのCDNに接続できました。設定の確認と構成(後述)を行って終了です。
「Static Assets Integration」を選択した場合
ステップ1
「Static Assets Integration」を選択して次のページに進んだら、静的アセットのサブドメインを入力し、「Content Delivery Network (CDN)」にチェックを入れて、「Set Up Your Origin」ボタンをクリックします。

ステップ2
「Set Up Your Origin」ページで、「Origin Hostname」フィールドにのサイトのプライマリドメインを入力します。
Kinstaサイトがパスワードで保護されている場合、「Is your origin address password protected?」で「Yes」を選択します。次に、StackPathがコンテンツにアクセスできるように、認証に使用するユーザー名とパスワードを入力します。
前のステップで設定済みなので、ここで独自ドメインを追加する必要はありません。
「Complete Setup」ボタンをクリックすると、次のページに進みます。

ステップ3
StackPathのサイトの「Overview」ページが表示されます。ここから、設定を完了するために必要ないくつかのステップが始まります。まずサブドメインのSSL証明書を設定します。StackPathがサブドメイン上の静的アセットを安全に提供するためには、サブドメインの検証を終え、StackPathにカスタムSSL証明書を追加する必要があります。「Configure SSL」 の下にある「Click here to configure」をクリックして、作業を開始します。

ステップ4
EdgeSSLページで、「Create Certificate」ボタンをクリックします。

ステップ5
StackPathが提供する無料のSSLを使用することが推奨されます。KinstaのCloudflareとの統合で付与されるCloudflare SSLと干渉することはありません。
また、お客様のサイトがサードパーティで購入した別のSSL証明書を使用している場合、そのSSL証明書をアップロードすることもできます。
「Free Dedicated Certificate」下の「Generate」ボタンをクリックすると、StackPathでのカスタム証明書の作成が始まります。

ステップ6
対象のサブドメインを選択し、「Continue to Validation」ボタンをクリックします。

ステップ7
StackPathのSSL証明書を発行するためには、ドメインの所有権を確認する必要があります。「DNS Challenge」または「HTTP Request」のいずれかが選べます。今回は、Kinsta DNSで管理するDNSを使用して、「DNS Challenge」の方法を選択しました。
別のDNSプロバイダ(レジストラまたは別のDNSホスト ※ドメインのネームサーバーをどこに紐付けたかにより異なります)を使用している場合は、手順が少し異なる場合があります。
「DNS Challenge Validation」の横にある「Show Instructions」をクリックし、「Name」と「Value」の横にあるコピー(クリップボード)のアイコンをクリックして、DNSレコードに追加するCNAMEの情報をコピーします。

Kinsta DNSにCNAMEレコードを追加するには、MyKinstaにログインし、左サイドバーナビゲーションで「Kinsta DNS」をクリックしてください。
- DNSレコードを追加したいドメインをクリックします。
- 「DNSレコードを追加する」ボタンを押します。
- 「CNAME」タブをクリックし、StackPathのVerify Domain Ownershipページからコピーした内容を「ホスト名」と「指定先」に貼り付けます。その後「DNSレコードを追加する」ボタンをクリックし、CNAMEレコードを保存します。
注)DNSレコードのTTL設定により、DNSレコードが伝搬するまでに数分から数時間かかる場合があります。

ステップ8
StackPathに戻り、「I’ve configured my DNS. Continue」ボタンをクリックします。「EdgeSSL」ページで、無料専用証明書が有効になっていることが確認できます。有効になっていない場合は、DNSが伝搬し、証明書が有効になるまでにもう少し時間がかかります。

ステップ9
続いて、CDNが静的アセットを配信できるように、サブドメインをStackPathに紐付けます。「Overview」ページに移動し、「コピー(クリップボード)」アイコンをクリックして、CNAMEの値をコピーします。

ステップ10
今回も、Kinsta DNSでのDNSレコード追加、編集方法を紹介します。この手順は、お使いのDNSプロバイダによって異なる場合があります。
- MyKinstaのKinsta DNSを開いていない場合は、左サイドバーナビゲーションにあるKinsta DNSをクリックしてください。
- DNSレコードを追加したいドメインをクリックします。
- 「DNSレコードを追加する」ボタンをクリックします。
- 「CNAME」タブをクリックし、「ホスト名」フィールドにサブドメインの最初の部分(例: static)を貼り付けます。
- StackPath からコピーした「Value」を「指定先」フィールドに貼り付けます。
- 「DNSレコードを追加する」ボタンをクリックして、CNAMEレコードを保存します。
静的アセットのサブドメインにCNAMEレコードを追加する
注意)DNSレコード伝搬まで、最大で1時間かかる場合があります。
ステップ11
StackPathに戻り、「Overview」ページで「Re-Check DNS Settings」ボタンをクリックします。

必要に応じて、DNSが伝搬するまでにさらに時間をかけ、DNSの設定を再度確認します。DNSが伝搬すると、サイトを指定するための指示が消え、「Overview」ページにサイトを管理するためのオプションが表示されます。
ステップ12
静的アセットのURLをStackPathのエッジアドレスから自らのサブドメインに書き換えるには、CDN Enablerプラグインを追加して設定する必要があります。このプラグインはKeyCDNにより開発されたものですが、他のCDNでも利用できます。プラグインをインストールし、有効化したら、プラグインの設定ページに移動し、サイトの静的アセット用のサブドメイン(例: static.example.com)を入力し、「Save Changes and Validate Configuration」ボタンをクリックします。

すべてが正しく設定できると、CDNホスト名が有効であることを示すメッセージが表示され、200ステータスが返されます。保存時にエラーが表示された場合は、上記のすべての設定、サブドメインのスペル、およびDNSが伝搬されていることを再確認してください。

これでお客様のサイトはStackPathに接続された状態であり、StackPathのCDNが静的アセットを配信していることが確認できました。ここから、設定の調整(次のセクション)へと進むことができます。
StackPathの設定
ドメインが完全にStackPathに紐付けられたので、KinstaのCloudflare統合との互換性を保つために設定の調整と確認を始めることができます。
設定
(「Sites」>「Settings」)
Pull Protocol: リダイレクトのループやエラーを回避するために、「HTTPS Only」に設定します。
CDN
(「Sites」>「Settings」)
- Query String Control: デフォルトの「Cache all Query Strings」のままにしておくと、正しくないコンテンツの読み込みを防ぐことができます。
- Content Persistence: これはデフォルトでは無効になっていますが、オリジンサーバーがダウンした時でもコンテンツの可用性を確保したい、という場合には、有効にすることができます。
- URL Caching: (特に動的なサイトを運営している場合は)無効のままにしてください。動的なサイトで、特定のセクションをファイル拡張子なしでキャッシュするには、独自のEdgeRule を作成してください。
その他の構成と設定
- 「Sites」>「EdgeSSL」>「Force HTTPS Connections」: すべての訪問者をHTTPではなくHTTPSにリダイレクトするには、MyKinstaでHTTPSリダイレクトを設定するか、StackPathでHTTPSを強制します。リダイレクトエラーやループが発生する可能性が高いため、両方の機能を有効にしないようにご注意ください。
- 「Sites」>「EdgeRules」>「Delivery Rule」: 特定の状況下で、管理ツールバーやその他のユーザーの要素が誤ってキャッシュされることがあります。この潜在的に重大なセキュリティ上のリスクを抑えるためには、新しいDelivery Rule(配信ルール)を作成する必要があります。
- If: クッキーがwordpres_logged_in*にマッチする場合(Cookie Matches wordpres_logged_in*)
- Then: キャッシュをバイパスする(Bypass Cache)
- 「Sites」>「EdgeRules」>「Force www Connections」: 複数のドメインやHostヘッダーと競合する可能性があるため、無効のままにしておくことをお勧めします。有効にした場合、wwwサブドメイン(www.example.com)のDNSをStackPathに紐付けてください。
これで、StackPathでの設定と構成は完了です。何か問題が発生した場合には、以下のトラブルシューティングセクションをご活用ください。
StackPathの一般的な問題のトラブルシューティング
StackPathのセットアップ後に、サイトが期待通りに動作しないことがあるかもしれません。CDNの層を追加した状態では、それに準じたトラブルシューティングを行う必要があります。以下に、一般的な例を紹介します。
サイトに変更が反映されない
StackPathを使用すると、キャッシュの層が追加されるため、キャッシュクリアの際には、これを忘れてはなりません。インストール後、または再インストール後に、サイトの変更内容がうまく表示されない場合、またはプラグインが期待通りに動作しない場合は、以下を含むすべてのレイヤーでキャッシュをクリアしてください。
- プラグイン(該当する場合)
- テーマ(該当する場合)
- Kinstaのサイト/サーバーキャッシュ(MyKinstaまたはKinsta MUプラグインのいずれかから)。
- StackPathのキャッシュ
- ブラウザのキャッシュ
誤検出によりIPアドレスがブロックされた
StackPathでWAFandまたはFirewall(ファイアウォール)を有効にすると、サイト管理者や訪問者によるサイトの閲覧が誤ってブロックされることがあります。そのような問題が発生した場合、StackPathのサポート、Kinstaのサポートを利用し、ブロックが発生した場所を突き止める必要があります。
「EdgeRules」>「Delivery Rules」で独自のルールを設定している場合は、そのルールも確認する必要があります。
HTTPとHTTPSのリダイレクトループ
サイト上でHTTPからHTTPSへのリダイレクトループが発生している場合は、以下の設定を確認してください。
- StackPathで、Pull Protocol(「Sites」>「Overview」>「Settings」)が「HTTPS Only」に設定されていることを確認してください。
- MyKinsta (「Sites」>(サイト名)>「ツール」>「HTTPSリダイレクト」) または StackPath (「Sites」>「EdgeSSL」>「Force HTTPS Connections」) のいずれか一箇所のみで(両方ではなく)、HTTPSリダイレクトが有効になっていることを確認してください。
高度な設定と互換性
Host Header
「Sites」>「Settings」>「Host Header」: Hostヘッダは、MyKinstaに追加されているドメインと一致する必要があります。StackPathで追加した最初のドメインがデフォルトで、オリジンサーバーからコンテンツを取得するのに使用されるHostヘッダになります。MyKinstaとStackPathの両方に複数のドメインが追加されている場合、これを「Dynamic」に変更してください。
Origin Authentication
「Sites」>「Settings」>「Origin Authentication」を選択します。Kinstaのサイトがパスワードで保護されている場合、StackPathがコンテンツにアクセスできるように設定する必要があります。
Lifetime
「Sites」>「CDN」>「Lifetime」: デフォルトは“オリジンコントロール”であり、これはStackPathがオリジンヘッダを尊重することを意味します。KinstaのCloudflare統合機能では、静的ファイルの有効期限は最大に設定されています。別の設定にしたい場合には、StackPathでこれを変更できます。
Caching By Header
「Sites」>「CDN」>「Caching By Header」: 同じURLで、モバイル・PC間で異なるコンテンツ(CSSやJavaScriptで別のレイアウトを表示するわけではなく、完全に異なるコンテンツ)を配信する場合にのみ有効にします。また、そのコンテンツの配信のためのNginxルールを作成するために、サポートへのお問い合わせが必要になる場合があります。
Delivery Rules
「Sites」>「EdgeRules」>「Delivery Rules」: WordPressのログインURLを変更している場合は、そのページのキャッシュをバイパスするためにEdgeRulesで特別なルールを作成する必要があります。次の例では、ログインURLが「https://example.com/mylogin」だと仮定しています。
- If: URLがhttps://example.com/mylogin*に一致する場合(URL Matches https://example.com/mylogin*)
- Then:キャッシュをバイパスする(Bypass Cache)
Custom robots.txt file
「Sites」>「EdgeRules」>「Custom robots.txt file」: StackPathでこれを有効にすると、Kinstaに提供のrobots.txtファイルは無視され、StackPathでrobots.txtファイルを管理することになります。Kinstaでrobots.txtファイルに加えられた変更は、StackPathにより提供されるrobots.txtファイルに影響せず、検索エンジンによって見られることもありません。
Referrer Protection
「Sites」>「EdgeRules」>「Referrer Protection」: この機能が必要な場合には、サイトへのすべてのトラフィックがブロックされる可能性があるため、注意して有効にしてください。訪問者のリファラ(参照元)がStackPathのリストにあるドメインと一致しない場合、「403 Forbidden」レスポンスが返され、サイト閲覧ができなくなります。