SquarespaceのコードインジェクションをGitHubへ自動バックアップ - n8n ワークフロー

この堅牢なn8nワークフローを使用して、Squarespaceのヘッダー/フッターコードインジェクションを定期的にGitHubへ自動バックアップします。これらのn8nテンプレートでカスタムコードを確実に保護しましょう。

ワークフロープレビュー

自動化の準備はいいですか?

このn8nワークフローテンプレートをダウンロードして、今すぐ使い始めましょう。

こんな方におすすめ

カスタムコードインジェクションを利用しているSquarespaceの開発者やデザイナーの方。
重要なウェブサイト設定に対してバージョン管理を必要としているユーザー。
ウェブサイトのコードに関して、信頼性の高い自動化された災害復旧手段を探している方。
カスタムスクリプトを用いたn8nノードフレームワークの高度な使用例を探しているn8nパワーユーザー。

概要

Squarespaceのようなプラットフォームでカスタムコードインジェクションを維持することは非常に重要ですが、これらの変更にはネイティブなバージョン管理が欠けていることが多く、アップデート時やサイト移行時にリスクを伴います。この強力なn8nワークフローは、スケジュールされた自動バックアップソリューションをGitHubに直接提供することで、この問題を解決します。この特定のn8nテンプレートは、HTTPリクエストを使用して関連コードを取得し、カスタムのn8nノードスクリプト(Cheerio)でHTMLデータを丹念にクリーンアップし、プラットフォームの定型コードではなく、インジェクションされたカスタムコードのみが保存されるようにします。このn8nワークフローを設定することで、カスタムヘッダーとフッターが安全に保存され、信頼性の高いn8nトリガーによって2時間ごとにバージョン管理されるという安心感が得られます。

仕組み

このオートメーションは、2時間ごとに実行されるように設定されたスケジュールされたn8nトリガーから開始されます。代替として、「Executeボタンクリック時」のn8nノードを介して手動で実行することも可能です。


  1. データ取得: Get Squarespace data n8nノード(HTTPリクエスト)は、指定されたSquarespace URLに対してpage-context形式を使用してクエリを実行し、ヘッダーとフッターのインジェクションポイントを含む現在のサイト設定を取得します。

  2. データ分離とメタデータ: データは2つのストリーム(ヘッダー用とフッター用)に分割され、Set n8nノード(Get Header Injection および Get Footer Injection)を使用して処理されます。これらのノードは、ドメイン名やタイムスタンプなどの重要なメタデータも抽出して設定します。

  3. コードのクリーンアップ: Clean up Footers および Clean up Headers n8nノードは、カスタムJavaScriptとCheerioを利用して、Squarespaceフレームワークによる標準要素を取り除き、真にカスタムでインジェクションされたコードのみを抽出します。

  4. GitHubへの準備: Merge Injections n8nノードは、分離された2つのクリーンアップ済みアイテム(ヘッダーデータとフッターデータ)を再び結合します。その後、Globals n8nノードがユーザー定義のGitHubリポジトリ設定(オーナー、名前、パス)を適用します。

  5. GitHubへの保存: Loop Over Items n8nノードは、ヘッダーデータとフッターデータを個別に処理します。最初にあるGitHub n8nノード(Edit Injection data)は既存ファイルの更新を試みます。この処理が失敗した場合(ファイルがまだ存在しないことを示すIf n8nノードが「見つかりません」エラーをチェックすることで検知)、フローはCreate Injection data n8nノードに進み、ファイルが初めて作成されることを保証します。この条件付きロジックにより、一貫したバックアップ履歴を維持しながら、更新または新規作成のいずれかが確実に実行されます。

インストールガイド

このn8nワークフローを効果的にデプロイするために、以下の手順に従ってください:


  1. インポート: 提供されたn8nワークフローJSONをコピーし、ご自身のn8nインスタンスに貼り付けます。

  2. Squarespace URL: Get Squarespace data n8nノードを見つけ、URLパラメータをSquarespaceサイトのプライマリドメインに更新します。

  3. GitHub認証情報: Edit Injection data および Create Injection data n8nノードで必要とされるGitHub API認証情報を設定します。これには、リポジトリへの書き込み権限を持つ個人アクセストークンが必要です。

  4. リポジトリパスの定義: Globals n8nノードを開き、以下の設定を更新します:

repo.owner: あなたのGitHubユーザー名。
repo.name: 対象リポジトリの名前。
* repo.path: バックアップを保存するリポジトリ内のベースパス(フォルダ)(例: squarespace-backup/)。

  1. 有効化: 自動バックアップを有効にするため、Schedule Trigger n8nトリガーがアクティブになっていることを確認します。

ノード詳細

この高度なn8nワークフローは、いくつかの特定のn8nノードタイプに依存しています:

Schedule Trigger: メインのn8nトリガーとして機能し、2時間ごとにバックアッププロセスを開始します。定期的なタスクに非常に信頼性の高いn8nノードです。
HTTP Request (Get Squarespace data): 生のSquarespaceページコンテキストデータを取得します。主要な設定: ?format=page-context クエリパラメータを使用します。
Set (Get Header/Footer Injection & Globals): 主にデータ操作に使用されます。インジェクションノードは生コンテンツを抽出し、IDやドメインなどのサポートメタデータを作成します。Globals n8nノードはGitHubの設定詳細を一元管理します。
Code (Clean up Footers/Headers): データクレンジングにおいて極めて重要です。これらのカスタムスクリプトを用いたn8nノード実装は、cheerioライブラリを使用してHTMLを解析し、Squarespaceが追加した定型コードを除去して、インジェクションされたカスタムコードのみを分離します。
Merge: 独立したヘッダーとフッターのデータストリームを、後続の処理のために単一の入力ストリームに結合します。
Loop Over Items (Split in Batches): ヘッダーファイルとフッターファイルがGitHub n8nノードによって順次かつ独立して処理されることを保証します。


  • GitHub (Edit/Create Injection data): 実際の保存処理を担当します。Edit操作はファイルの更新を試みます。失敗した場合、If n8nノードは実行をCreate操作に誘導し、GitHubリポジトリ内でのシームレスなバージョン管理を促進します。

関連するn8nワークフロー

無料

ノード: 10 ノード
更新済み: 12月 26 2025
すべて表示
作成者

Automation specialist with 10+ years of experience helping SME website owners streamline their workflows—specializing in Squarespace, Shopify, and WordPress. Book an initial consultation for custom n8n automation using my link.

特徴*