WordPress 콘텐츠 버전 관리 및 GitHub 백업 - n8n 워크플로우

이 고급 n8n 워크플로우를 사용하여 워드프레스 콘텐츠를 안전하게 보호하세요. 자동 백업을 예약하고, 콘텐츠 변경 사항을 비교하여 새로 추가되거나 수정된 포스트만 GitHub에 커밋합니다.

워크플로우 미리보기

자동화할 준비가 되셨나요?

이 n8n 워크플로우 템플릿을 다운로드하고 즉시 사용을 시작하세요.

추천 대상


  • 신뢰할 수 있는 자동 콘텐츠 백업이 필요한 블로그 관리자.

  • 버전 기록 및 검색을 위해 블로그 콘텐츠를 코드로 취급하는 데 관심 있는 개발자.

  • 복잡한 차등 논리 및 자체 참조 워크플로우를 보여주는 고급 n8n 템플릿을 찾는 n8n 사용자.

  • GitHub 파일 관리를 위한 강력한 n8n 워크플로우가 필요한 모든 사람.

개요

이 포괄적인 n8n 워크플로우는 포스트를 전용 GitHub 리포지토리에 백업하여 워드프레스 콘텐츠의 무결성과 버전 기록을 보장하도록 설계되었습니다. 단순한 백업 솔루션과 달리, 이 n8n 자동화는 콘텐츠가 실제로 새로 추가되거나 수정된 경우에만 변경 사항을 커밋하여 불필요한 커밋을 방지하고 깔끔한 리포지토리 기록을 유지합니다. 정교한 서브 워크플로우 구조와 JSON 콘텐츠의 차등 비교를 위한 사용자 지정 n8n 노드를 활용하여 n8n 내의 고급 자동화 기능을 보여주는 훌륭한 예시입니다.

작동 방식

n8n 워크플로우는 예약 또는 수동 시작을 사용하여 작동합니다.


  1. 트리거 및 추출: n8n 트리거(예약 또는 수동)가 프로세스를 시작합니다. 'Get All WP Posts' n8n 노드는 구성된 워드프레스 사이트에서 모든 콘텐츠를 검색합니다.

  2. 워크플로우 반복: 'Execute Workflow' n8n 노드는 각 워드프레스 포스트를 개별적으로 처리합니다. 중요하게도 이 노드는 동일한 n8n 워크플로우의 뒷부분(서브루틴 역할)을 실행하여 포스트 데이터를 항목별로 전달합니다.

  3. 설정 및 검색: 서브루틴은 먼저 전역 GitHub 리포지토리 설정을 정의합니다(Globals). 'Get file data' n8n 노드를 사용하여 해당 특정 포스트의 기존 백업 파일을 GitHub에서 검색하려고 시도합니다. 이 노드는 파일이 존재하지 않을 수 있음(즉, 새 포스트임)을 예상하여 실패 시 계속 진행하도록 구성됩니다.

  4. 콘텐츠 비교: 데이터 흐름은 검색된 GitHub 메타데이터와 실제 워드프레스 콘텐츠 JSON을 병합합니다. 사용자 지정 'isDiffOrNew' 코드 n8n 노드가 실행됩니다. 이 특수 코드는 GitHub에서 Base64 콘텐츠를 디코딩하고, 정확한 바이트 단위 비교를 보장하기 위해 기존 데이터와 새 데이터의 JSON 키 순서를 지정하며, 상태 변수(github_status: "same", "different", 또는 "new")를 설정합니다.

  5. 조건부 작업: 'Check Status' n8n 노드는 비교 결과에 따라 스위치 역할을 합니다.

상태가 "same"이면 n8n 워크플로우는 커밋을 건너뜁니다.
상태가 "different"이면 'Edit existing file' GitHub n8n 노드가 새 콘텐츠로 파일을 업데이트합니다.
* 상태가 "new"이면 'Create new file' GitHub n8n 노드가 처음으로 백업 파일을 생성합니다.

이 강력한 논리는 모든 n8n 실행이 콘텐츠 버전 관리에 의미 있게 기여하도록 보장합니다.

설치 가이드

이 강력한 n8n 워크플로우 템플릿을 배포하려면 다음 단계를 따르십시오.


  1. 가져오기: 제공된 JSON 데이터를 복사하여 n8n 인스턴스에 직접 가져옵니다.

  2. WordPress 인증 정보: 'Get All WP Posts' n8n 노드를 워드프레스 API 인증 정보로 구성합니다.

  3. GitHub 인증 정보: 리포지토리 쓰기 권한이 있는 개인용 액세스 토큰(PAT)을 사용하여 GitHub n8n 노드 인증 정보('Get file data', 'Create new file', 'Edit existing file')를 구성합니다.

  4. 전역 리포지토리 설정: 'Globals' n8n 노드(위치 200, 120)를 찾습니다. 여기의 매개변수를 반드시 편집해야 합니다.

repo.owner를 GitHub 사용자 이름 또는 조직 이름으로 설정합니다.
repo.name을 백업 리포지토리 이름으로 설정합니다.
선택 사항:* 백업된 파일에 특정 디렉터리 구조를 원하는 경우 repo.path를 조정합니다.

  1. 예약: 원하는 백업 빈도에 맞게 'Schedule Trigger' n8n 노드를 검토하고 조정합니다. 현재 설정은 매일 UTC 기준 오후 5시에 실행됩니다.

노드 상세 정보

Schedule Trigger / Manual Trigger: 백업 프로세스 시작을 위한 기본 n8n 트리거 역할을 하며, 예약된 실행 또는 즉각적인 실행을 모두 허용합니다.
WordPress n8n node (Get All WP Posts): 'getAll' 작업을 사용하여 워드프레스 사이트에서 모든 포스트와 페이지를 가져옵니다. 이 데이터는 나머지 n8n 워크플로우의 페이로드를 형성합니다.
Execute Workflow n8n node: 워드프레스 포스트를 반복 처리하는 데 필수적입니다. 'each' 항목 모드에서 동일한 워크플로우 ID를 호출하여 단일 포스트에 대한 GitHub 백업 로직을 격리합니다.
Set n8n node (Globals): GitHub 리포지토리 소유자, 이름 및 파일 경로 구조에 대한 구성을 중앙 집중화하여 이 n8n 템플릿의 유지 관리를 개선합니다.
GitHub n8n node (Get file data): 항목 ID를 파일 이름으로 사용하여 특정 워드프레스 항목에 대한 기존 JSON 백업 파일을 검색하려고 시도합니다. 중요하게도 파일이 아직 존재하지 않는 경우를 처리하기 위해 continueOnFail: true를 사용합니다.
Code n8n node (isDiffOrNew): 핵심 버전 관리 논리를 포함합니다. 기존 파일의 Base64 디코딩을 처리하고 콘텐츠가 'same', 'different' 또는 'new'인지 확인하기 위해 엄격한 문자열 비교를 수행하기 전에 JSON 객체 키를 표준화합니다.
Switch n8n node (Check Status): 이전 n8n 노드에서 결정된 github_status를 기반으로 흐름을 라우팅하여 올바른 GitHub 작업(건너뛰기, 편집 또는 생성)이 수행되도록 보장합니다.
GitHub n8n nodes (Create new file / Edit existing file): GitHub 리포지토리에서 필요한 파일 작업을 수행하며, 업데이트 상태를 나타내는 관련 커밋 메시지와 함께 문자열화된 워드프레스 콘텐츠 JSON을 커밋합니다.

관련 n8n 워크플로우

무료

노드: 14 노드
업데이트됨: 12월 26 2025
모두 보기
작성자

추천*