コンテンツに移動
Silktideヘルプ

カスタムCMSを接続する

Silktideにお使いのCMS用プラグインがない場合は、開発者が自分で接続できます。カスタム接続では、ほかの接続と同じ2つのことを行います(CMS接続を参照)。

  • 公開: ページが公開または変更されると、CMSがSilktideに通知し、Silktideがそのページを再テストします。
  • 編集: 各ページには編集場所を示すメタタグが含まれ、SilktideのCMSで開くからCMS内のそのページを開けます。

どちらか一方のみ、または両方を構築できます。

1. キーとAPIアドレスを取得する

  1. Silktideで設定を開き、次に連携を開いて、CMSを選択します。
  2. カスタムCMSを選択し、接続の適用対象を選んでから、接続を選択します。
  3. キーとAPIアドレスをコピーします。

APIアドレスはアカウントのリージョンによって異なります(例: https://api.eu.silktide.com)。Silktideに表示されるものを使用してください。以下の例では、https://api.eu.silktide.comをそのアドレスに、キーをお使いのキーに置き換えてください。

キーが機能するか確認するには、/cms/test-keyに送信します。キーが有効な場合、Silktideは200を返し、無効な場合は403を返します。

curl --request POST \
  --header "Content-Type: application/json" \
  --data '{"apiKey": "eu:your-key"}' \
  https://api.eu.silktide.com/cms/test-key

連携でこれを呼び出す必要はありません。テスト用に用意されています。

2. 公開: 変更内容をSilktideに通知する

ページが追加または変更されたとき、JSON本文を含むPOSTリクエストを/cms/updateに送信します。

  • apiKey: お使いのキー。
  • url: 変更されたページの公開アドレス、またはurls: アドレスのリスト。
  • deferRetestSeconds(任意): テスト前にSilktideが待機する秒数。たとえば、キャッシュがクリアされるまで待機する場合に使用します。
curl --request POST \
  --header "Content-Type: application/json" \
  --data '{"apiKey": "eu:your-key", "url": "https://www.example.com/news/open-day"}' \
  https://api.eu.silktide.com/cms/update

Silktideはすぐに応答し、テストをキューに追加します。通常、ページは1分以内に再テストされます。

Silktideがテストするのは、接続の適用対象となるWebサイトに属し、各Webサイトのテスト対象範囲内にあるアドレスのみです。それ以外は無視されます。

3. 編集: 各ページの編集場所を指定する

CMSが公開するすべてのページの<head>にメタタグを追加します。

<meta name="silktide-cms" content="...">

contentには、Base64エンコードされたJSONオブジェクトを指定します。

{"cms": "Your CMS name", "editorUrl": "https://cms.example.com/pages/123/edit"}
  • cmsにはCMSの名前を指定します。自由入力のテキストです。
  • editorUrlは、このページを編集するためにアクセスするアドレスです。

Silktideはページをテストするたびにタグを読み取ります。CMSで開くを選択すると、新しいタブでeditorUrlが開きます。

Base64は簡単にデコードできるため、ページを閲覧する人は誰でもeditorUrlを読み取れます。トークンやユーザー名など、ログインに使用できる情報は絶対に含めないでください。エディターのアドレスをまったく表示したくない場合は、タグを暗号化してください。

タグを暗号化する(任意)

お使いのキーを暗号化キーとして使用し、AES-256-CBCでJSONを暗号化します。次に、初期化ベクトル、暗号化されたバイト列のSHA-256 HMAC(これにもお使いのキーを使用)、暗号化されたバイト列の順にBase64エンコードします。PHPの場合:

$data = ['cms' => 'Your CMS name', 'editorUrl' => 'https://cms.example.com/pages/123/edit'];
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('AES-256-CBC'));
$encrypted = openssl_encrypt(json_encode($data), 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
$hmac = hash_hmac('sha256', $encrypted, $key, true);
$content = base64_encode($iv . $hmac . $encrypted);
// $content is the meta tag's content.

4. テストする

  1. 変更をデプロイします。メタタグを追加した場合は、公開ページにタグが含まれるよう、すべてのキャッシュをクリアします。
  2. SilktideでWebサイトを再テストします。
  3. インスペクターでページを開きます。CMSで開くが表示され、CMS内のそのページを開けるはずです。
  4. CMSでページを公開します。Silktideは1分以内にそのページのテストを開始するはずです。

何かが機能しない場合は、Silktideでサポートに問い合わせるを選択してください。

最終更新

このページは役に立ちましたか?