本文へ移動
SiteKit 無料で始める
目次 よくあるエラーと対処

Docs

よくあるエラーと対処

症状から原因と手当てを引く。サイトを作る人と、管理画面を使うお店の人の両方で起きるもの。

値が入らない(HTML の文言のまま)

  1. 1分待つ。 公開 JSON は 60 秒キャッシュされます
  2. 中継の環境変数を確かめる。 CMS_SITE と CMS_ORIGIN のどちらかが無いと、中継は何もしません
  3. GET で確かめる。 curl -sD - -o /dev/null https://example.com/ | grep -i sitekit で x-sitekit-rendered: 1 が出れば中継は効いています。curl -I(HEAD)では付かないので、効いていないと誤解しないこと
  4. キーの綴りを確かめる。 data-cms="hours.days" は schema.json の groups[].key と fields[].key の組み合わせです
  5. 一覧が空なら公開状態を確かめる。 下書きの記事は載りません

一部の表示が崩れる・閉じタグが余る

印を付けた要素の中に、同じタグ名の要素が入っています。<div data-cms="x"><div>…</div></div> は壊れます。中を <span> など別のタグにします。

属性が付かない

  • data-cms-attr を1つの要素に2つ書いていませんか(href:url data-color:color)。2つ書くとどちらも付きません。要素を分けます
  • タグ名・属性名が大文字だと無視されます
  • URL を入れる属性に javascript: などで始まる値は入りません

お知らせの欄が空のまま(「まだありません」も出ない)

data-cms-filter で0件になると、行も data-cms-empty も出ません。data-cms-empty が見るのは一覧そのものが空かどうかです。タグページでは、中継が絞り込んだ一覧を使います(直せる箇所の印)。

記事ページの <title> や OGP がサイト共通の値になる・<title> が2つ出る

<head> にも <template data-cms-entry="news"> を置き、その中に <title> や <meta> を書きます。静的な <title> には data-cms-fallback="news" を付けます(記事ごとのページ)。

文字色やタグの色が付かない

サイトの CSS に .sk-c-red などの6色や、.sk-tag[data-color=…] を書いていません。属性は出ているのに規則が無い状態です。6色とも最初に書きます。

値が二重に入る・一覧の値がおかしい

中継を使うサイトで、script に data-embed も付けています。埋め込みは2回実行できません。data-embed を外します。

「入力内容をご確認ください」と出る(invalid_request)

  • required の項目が空です
  • 型の制約を超えています(text は 200 文字まで、email の形でない など)
  • 入力の name と schema.json の fields[].key を確かめます。誤りのある項目には aria-invalid="true" が付きます

送信すると not_found になる

data-sitekit-form="…" の値が schema.json の forms[].key と一致していないか、data-site のサイト ID が違います。

送信ボタンを押すと「送信できませんでした」

  • ブラウザの開発者ツールで CORS のエラーが出ているなら、そのページのオリジンがサイトの許可オリジンに入っていません(スキーム・ポートまで完全一致)。この場合も送信は保存されていることがあります
  • rate_limited は同じ接続元から 10 分に 20 件を超えたときです。時間をおけば送れます

チェックボックスの値が1つしか届かない

同じ name を複数使うと最後の値だけが送られます。キーを分けます(topic_a、topic_b)。

送ったのに届いていない

  • ハニーポット(_hp)が埋まっていないか。 埋まった送信は、画面上は成功に見えても保存されません。autocomplete="off" と tabindex="-1" を付け、画面の外に置きます
  • 管理画面のお問い合わせ一覧にあるなら、保存はされています。届いていないのは通知です(次へ)

通知が届かない

お問い合わせの詳細で、通知ごとの成否を見ます。✗ は「連絡が届いていない」であって「お問い合わせが消えた」ではありません。失敗した通知は再送できます。

  • 何も記録されていない — その通知が設定されていません。管理画面の「設定 → 各フォーム」で宛先を入れ、オンにします
  • Slack — チャンネルを消した・アプリを外したときは、Webhook URL を発行し直して入れ直します
  • お礼メールが送られない — フォームに type: "email" の項目があり、値が入っているときだけ送られます
  • schema.json を直したのに宛先が変わらない — 宛先は schema.json では決めていません。管理画面の設定が正本です

GTM でフォーム送信が数えられない

  • 管理画面で完了イベント名を変えたのに、GTM のトリガーが古い名前のままになっていませんか
  • 中継を使うサイトで data-gtm と管理画面の GTM ID の両方を書くと、コンテナが食い違います。data-gtm を外します
  • GTM のプレビューでフォームを実際に送り、イベント一覧に完了イベントが出るか確かめます

検索結果にプレビューのページが出る

中継の CMS_INDEXABLE_HOSTS に本番のホストだけを書きます(中継とホスティング)。

既存の記事の見え方が変わった

本文の書き方(**太字**・[文字](URL)・{color:…}・素の URL の自動リンク)は、前に書いた記事にも効きます。記号として書いた ** が太字になるのが一番多い形です。本文を検索して ** を確かめます。

管理画面: ログインできない

ログインを何度も間違えると、しばらくロックされます(ログイン ID と接続元ごとに 10 分に 5 回、ログイン ID ごとに 10 分に 50 回)。10 分待てば自然に解けます。 解けないときは、パスワード・ログイン ID の誤りか、担当から外れていないかを確かめます。

管理画面: パスワードを変えたら他の端末がログアウトした

仕様です。パスワードを変えると、安全のため他の端末(お店のタブレットなど)はいったんログアウトされます。新しいパスワードで入り直します。

管理画面: 動画や写真がアップロードできない

  • 受け付ける動画は MP4(H.264)だけです。iPhone の .mov(HEVC)や HEIC の写真は、ブラウザで再生・表示できないため受け付けません。拡張子を変えても通りません
  • iPhone は「設定 → カメラ → フォーマット → 互換性優先」にすると、以後の撮影が MP4・JPEG になります(撮影済みのものは変わりません)
  • 100MB を超える動画は受け付けません。YouTube などに上げて、動画ブロックの「外部URL」に貼ります

管理画面: リンクを貼っても情報が取れない

リンクカードの「情報を取得」は、相手のページの og:title などを読みます。相手のページに OGP が無い・ログインが要る・ボットを弾いている・5秒で応答しない・HTML でない、のどれかなら取れません。異常ではないので、手で書きます。

このページは Markdown でも読めます。AI エージェントには llms.txt(目次)か llms-full.txt(全文)を渡してください。