리뷰: WordPress 블록 에디터의 실시간 협업과 플러그인 및 블록 개발자를 위한 변경 사항

발행: (2026년 3월 11일 AM 02:37 GMT+9)
9 분 소요
원문: Dev.to

Source: Dev.to

Make WordPress Core, March 10 2026

WordPress는 2026년 3월 10일에 블록 편집기용 실시간 협업을 공식 문서화했으며, 이는 WordPress 7.0 사이클 동안 이루어졌습니다. 이는 Gutenberg Phase 3 협업의 첫 번째 코어‑대상 구현으로, 플러그인 및 블록 코드가 편집기 상태와 상호 작용하는 방식을 변경합니다.

아래 리뷰는 네 가지 실용적인 영역에 초점을 맞춥니다:

  1. 데이터 모델
  2. 충돌 처리
  3. 확장성
  4. 호환성 위험

Source:

1. 데이터 모델

  • 협업 상태는 WordPress 데이터 스토어에 연결된 Yjs‑기반 CRDT 모델을 통해 동기화되며, 임시 컴포넌트 상태를 통해서는 동기화되지 않습니다.
  • 레거시 메타 박스는 강력한 경계 역할을 합니다: 감지될 경우, 동기화되지 않은 쓰기를 방지하기 위해 협업이 비활성화됩니다.

핵심 원칙: 편집기 UI는 WordPress 스토어에서 값을 파생해야 합니다. 플러그인 개발자에게는 “진실의 원천”(source of truth) 규율이 그 어느 때보다 중요합니다.

핵심 모델 (단순화)

개념설명
동기화된 문서포스트/페이지당 하나의 공유 Yjs 문서.
편집기 UIWordPress 스토어(select)에서 읽고, 편집기 액션(dispatch)을 통해 기록합니다.
플러그인 UI동일한 스토어 셀렉터와 액션을 사용해야 하며, 공유 데이터의 독립적인 로컬 복사본을 만들지 않아야 합니다.

2. 충돌 처리

  • Strong: 공유 문서 상태에 대해 – CRDT 병합은 대부분의 동시 편집을 해결합니다.
  • Weak: 공유 모델을 우회하는 플러그인 패턴에 대해 (예: defaultValue, 로컬 useState 복제, 삽입 부수 효과). 이러한 경우에도 사용자에게 보이는 충돌이 발생합니다.

Typical Conflict Boundaries

영역문제영향
Meta boxes클래식 메타 박스는 동기화되지 않습니다.존재 시 협업이 비활성화됩니다.
Same‑block editing여러 사용자가 같은 블록을 편집할 때 커서/선택 이상 현상.일시적인 UI 이상 현상.
Local state anti‑patterns공유 데이터를 useState 스냅샷으로 복사.UI가 스토어 업데이트와 동기화되지 않음.
Insertion side‑effects커스텀 블록이 삽입 시 부수 효과를 실행.협업자마다 반복되거나 의도치 않은 효과 발생.

핵심: CRDT는 비결정적 플러그인 UX에 대한 허가가 아닙니다. 여전히 멱등 효과와 공유 vs. 로컬 상태에 대한 명시적 소유권이 필요합니다.

3. Extensibility (Transport Layer)

WordPress는 sync.providers 필터를 제공하여 동기화 전송 방식을 교체하거나 확장할 수 있습니다.

  • 기본 전송: HTTP 폴링.
  • 맞춤 제공자: 예, WebSocket‑기반 구현.

전송을 오버라이드할 때의 책임

  1. 연결 수명 주기connecting, connected, disconnected 상태와 UI 피드백 처리.
  2. 인증/인가 – 누가 어떤 협업 객체에 참여할 수 있는지 보장.
  3. 정리 – 채널을 파괴하여 유령 존재나 메모리 누수를 방지.
  4. 네트워크 복원력 – 패킷 손실, 재연결 폭풍, 혼합 지연 상황에서의 동작.

대부분의 팀에게 가장 안전한 기본선은 기본 전송을 유지하는 것이며, 폴링이 편집 워크플로를 제한한다는 측정된 증거가 있을 때만 변경을 고려하십시오.

4. Compatibility Risk & Testing

협업 지원을 단일 체크박스가 아니라 호환성 매트릭스로 간주하십시오.

광범위한 활성화 전에 테스트해야 할 고위험 영역

  • 맞춤 포스트 메타 편집 흐름(특히 메타 박스로 구현된 경우).
  • 파생 상태, 비동기 가져오기 및 로컬 낙관적 업데이트가 포함된 복잡한 블록 UI.
  • 블록 삽입, 복제, 변환 및 실행 취소/다시 실행 경로에 대한 부작용.
  • 중첩 블록 및 재사용 가능한 패턴이 있는 장문 포스트의 동시 편집.
  • 사이트 편집기 템플릿 편집(포스트 편집기 흐름에만 국한되지 않음).
  • 동시 커서/프레즌스 업데이트 상황에서의 접근성(키보드 및 스크린 리더).

권장 롤아웃 전략

  1. 작게 시작 – 하나의 플러그인 화면 또는 블록 패밀리를 선택합니다.
  2. 제어된 입력 + 스토어 기반 상태에 대해 하드엔드합니다.
  3. 가능한 경우 레거시 메타박스 의존성을 제거하거나 마이그레이션합니다.
  4. 먼저 전송에 구애받지 않는 테스트를 추가하고, 그 다음에 맞춤 제공자를 평가합니다.
  5. 협업이 불가능할 때도 편집 워크플로가 안전하게 유지되도록 비협업 모드용 명시적 폴백 UX를 정의합니다.

5. 다중‑CMS 팀을 위한 가이드

워드프레스와 드루팔을 모두 운영하는 에이전시 및 플랫폼 팀은 이미 디커플드 편집 시스템에서 관리하고 있는 분산‑상태 문제와 동일한 범주로 다루어야 합니다:

  • 엄격한 상태 소유 – 정규 상태를 중앙에 유지합니다.
  • 결정론적 쓰기 – 부수 효과가 멱등이며 명시적임을 보장합니다.
  • 관찰 가능한 충돌 동작 – QA에서 이를 포착하고, 정상 흐름 데모에만 의존하지 마세요.

6. 참고문헌

SourceLink
블록 편집기에서 실시간 협업 (Make WordPress Core)https://make.wordpress.org/core/2026/03/10/real-time-collaboration-in-the-block-editor/
WordPress 7.0 테스트 돕기 (Make WordPress Test)https://make.wordpress.org/test/2026/02/20/help-test-wordpress-7-0/
동기화 엔진 및 실시간 협업 개요 – 이슈 #52593 (WordPress/gutenberg)https://github.com/WordPress/gutenberg/issues/52593
Gutenberg 프로젝트 README 및 로드맵https://github.com/WordPress/gutenberg#readme
VictorStack AI – Drupal 및 WordPress 참고자료https://victorjimenezdev.github.io/
LinkedIn 프로필https://www.linkedin.com/in/victorjimenezdev/

7. 저자 소개

Victor Jiménez – AI‑보강 CMS 플랫폼 구축에 초점을 맞춘 아키텍트.
코드만 작성하는 것이 아니라 팀의 생산성을 배가시키는 AI 시스템을 구축하는 아키텍트를 찾고 계신가요? 기업용 CMS 사례 연구는 **victorjimenezdev.github.io**에서 확인하시고, **LinkedIn**에서 저와 연결해 주세요.

0 조회
Back to Blog

관련 글

더 보기 »