コンテンツにスキップ

サブドメインとサブディレクトリ

サブドメインでAPOを実行する

APOを有効にした後、WordPressを使用しているサブドメインで実行するように設定します。たとえば、www.mysite.comというウェブサイトがあり、その中にshop.mysite.comというWordPressを実行しているサブドメインがある場合、APOをshop.mysite.comサブドメインで実行するように設定します。

  1. Cloudflare WordPressプラグインのバージョン4.4.0以上をインストールします。
  2. Cloudflare API tokenまたはGlobal keyを使用してログインします。
  3. APOを有効にします。サブドメインがカードのホスト名リストに表示されます。
  4. 各サブドメインについてAPOを有効にするためにこのプロセスを繰り返します。

デフォルトでは、APOはエイペックスドメイン(「ルートドメイン」または「ネイキッドドメイン」とも呼ばれます)で実行されます。サブドメインでAPOを実行することを選択した場合、エイペックスドメインは自動的に無効になります。サブドメインとエイペックスドメインの両方でAPOを実行するには、エイペックスドメインでWordPressプラグインをバージョン4.4.0以上にアップグレードし、APOを再度有効にします。

サブディレクトリでAPOを実行する

APOを有効にした後、WordPressを使用しているサブディレクトリで実行するように設定します。たとえば、www.mysite.comというウェブサイトがあり、その中にmysite.com/shopというWordPressを実行しているサブディレクトリがある場合、APOをmysite.comドメインで実行するように設定します。

  1. Cloudflare WordPressプラグインをインストールします。
  2. Cloudflare API Tokenを追加します。
  3. APOを有効にします。

自動キャッシュパージのために、各サブディレクトリについてステップ1と2を繰り返してWordPressプラグインを有効にします。

サブディレクトリのみでAPOを実行する

APOをサブディレクトリのみで実行することを選択した場合、ドメインの残りの部分はAPOをバイパスするように設定する必要があります。APOをバイパスする方法は2つあります。

cf-edge-cacheレスポンスヘッダーを使用する

cf-edge-cache: no-cacheは、APOサービスにサイトの非WordPress部分のキャッシュをバイパスするよう指示します。このオプションは、以下の例を使用してCloudflare Workersで実装できます。

addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});
async function handleRequest(request) {
/**
* レスポンスプロパティは不変です。変更するには、新しい
* Responseオブジェクトを構築します。レスポンスヘッダーは`set`メソッドを通じて変更できます。
*/
const originalResponse = await fetch(request);
let response = new Response(originalResponse.body, originalResponse);
// setメソッドを使用してヘッダーを追加
response.headers.set('cf-edge-cache', 'no-cache');
return response;
}

キャッシュルールを使用する

Cache eligibility: Bypass cacheを使用して、サイトの非WordPress部分をキャッシュから除外するキャッシュルールを作成します。このオプションは、これらのパスの静的アセットを含むすべてのキャッシュを無効にします。その結果、レスポンスヘッダーを介してAPOを無効にすることをお勧めします。