コンテンツにスキップ

ルーティング: 出力形式とキャッシュ

このページでは、ルートで使える出力形式(HTML 以外の JSON / RSS / Atom 出力)と、HTTP キャッシュ制御、サムネイル(画像リサイズ)、プレビューについて説明します。

このページは ルート設定 の続きです。

出力形式

通常のルートは HTML を返しますが、用途に応じて JSON / RSS / Atom 形式での配信に切り替えることもできます。

JSON 出力

データバインディングの結果を JSON として返します。スマートフォンアプリ・他システム連携・JavaScript からの非同期取得に利用します。

項目 説明 必須
コールバック JSONP のコールバックパラメータ名 いいえ
CORS ヘッダ Access-Control-Allow-Origin の値 いいえ
バインド名 出力対象のバインド名 いいえ
カラム 出力に含めるフィールド いいえ
ページネーション ページネーションのオン/オフ いいえ

ルートの JSON 出力設定画面

CORS ヘッダを * に設定すると、すべてのオリジンからアクセス可能になります。社内システムなど対象を限定したい場合は、特定のオリジンを明示してください。

フィード出力(RSS / Atom)

ニュース・ブログなどを RSS 2.0 または Atom 1.0 形式で配信できます。

項目 説明 必須
フィードタイプ rss_2.0 または atom_1.0 はい
タイトル フィードのタイトル はい
リンク フィードの URL はい
著者名 フィード著者 いいえ
言語 フィードの言語 いいえ
説明 フィードの説明文 いいえ
バインド名 エントリに使うバインド はい

RSS リーダーに購読してもらうには、サイトの <head> 内に <link rel="alternate" type="application/rss+xml" ...> を追加することが一般的です。

HTTP キャッシュ制御

ルートに対する Cache-Control レスポンスヘッダを設定できます。配信効率と更新反映のバランスを調整する用途で使います。

利用できるディレクティブ

ディレクティブ 説明
no-cache キャッシュは保持するが、毎回サーバーで再検証
no-store キャッシュに保存させない
private プライベートキャッシュ(ブラウザ)のみ許可
must-revalidate 有効期限が切れたら必ず再検証
max-age キャッシュの最大有効期間(秒)
s-maxage 共有キャッシュ(CDN 等)の最大有効期間(秒)
stale-while-revalidate 期限切れでも再検証中は古いキャッシュを配信
cache-busting キャッシュバスティング(URL にバージョン番号を含める方式)

値の組み合わせによっては、CDN とブラウザで挙動が変わることがあります。たとえば private を設定すると CDN ではキャッシュされません。CDN を使っている場合は s-maxage を明示的に指定することを推奨します。

よく使う設定例

用途 推奨設定
お知らせなど更新頻度が高いページ max-age=60, s-maxage=60
画像・CSS・JS などのアセット max-age=86400, s-maxage=86400
管理画面のログイン後ページ no-store, private
個人情報を含むページ no-store, no-cache, private

サムネイル(画像リサイズ)設定

ルートに対して、クエリパラメータ ?_size=N でアクセスされたときに返す画像のリサイズ設定を定義します。元画像 1 つから複数サイズのバリエーションを動的に生成する用途で使います。

設定画面の場所

ルート編集画面の右側パネルの サムネイル セクションを開きます。

設定項目

項目 入力形式 説明
数値 リサイズ後の幅
高さ 数値 リサイズ後の高さ
単位 選択 幅・高さの単位 (px / % など)
方式 選択 リサイズアルゴリズム
フィット 選択 領域内へのフィット方式 (cover / contain など)
オプション 任意 追加オプション

複数のリサイズ設定を _size=0 / _size=1 のように連番で登録し、?_size=N のクエリでサイズを切り替えてアクセスします。

操作手順

  1. ルート編集画面で対象ルートを開きます。
  2. 右パネルの サムネイル セクションを展開します。
  3. 追加 をクリックして新しいサイズ (_size=N) を作成します。
  4. 幅・高さ・方式・フィット等を入力します。
  5. 保存 をクリックします。

SNS シェア用の OGP 画像 (og:image) や、検索結果向け画像など、用途別の専用スロットはこの画面にはありません。HTML テンプレート側のメタタグ出力で別途指定してください。

プレビュー

設定したルートを公開前に確認するには、申請画面のプレビュー URL を利用します。

  • 編集中のルートと公開済みのルートを別 URL で確認可能
  • 承認者にプレビュー URL を共有して、承認前に内容を確認してもらう運用が一般的

詳しくは 申請 / プレビュー URL を参照してください。

トラブルシューティング

症状 確認ポイント
公開後もページが古い内容のまま キャッシュの max-age 設定、CDN やブラウザのキャッシュをクリア
JSON 出力が CORS エラーになる CORS ヘッダが設定されているか、許可するオリジンが正しいか
RSS リーダーで読み込めない <link rel="alternate"> がトップページに設置されているか、フィード URL が正しいか
サムネイルが指定サイズで返らない ?_size=N の N が、サムネイル設定で登録した連番に対応しているか

詳しい対処法は トラブルシューティング を参照してください。

次に読むページ