업데이트가 무서워 미루는 사이트를 자주 봅니다. 그런데 미루는 것은 문제를 없애지 않고 쌓아 둘 뿐입니다. 버전 차이가 벌어질수록 한 번에 바뀌는 것이 많아져 더 무서워지고, 그 사이 공개된 취약점은 계속 열려 있습니다.
업데이트가 무서운 진짜 이유는 무엇이 깨질지 모르기 때문입니다. 그것을 아는 방법이 있고, 그러면 업데이트는 순서가 정해진 평범한 작업이 됩니다.
1. 무엇을 덮어썼는지 목록으로 갖는다
깨질 수 있는 곳은 우리가 부모에 개입한 자리뿐입니다. 개입은 세 종류입니다 — 자식 테마에 복사한 템플릿, 부모 선택자를 겨냥한 CSS, 부모의 훅에 붙인 코드.
4회차에서 복사한 파일마다 “부모 몇 버전에서 복사” 를 적어 두라고 한 이유가 여기 있습니다. 그 주석이 곧 업데이트 시 비교할 파일 목록입니다. 목록이 없으면 매번 테마 전체를 훑어야 합니다.
2. 변경 사항을 먼저 읽는다
테마 업데이트 알림에는 대개 변경 목록이 붙어 있습니다. 디자이너가 봐야 할 항목은 세 가지입니다.
클래스 이름이 바뀌었다는 한 줄이 가장 위험합니다. 사이트는 정상 동작하는데 우리 스타일만 조용히 빗나가서, 며칠 뒤 누군가 “여백이 이상하다” 고 말할 때까지 아무도 모릅니다.
유료 테마라면 라이선스가 아직 유효한지도 함께 봅니다. 대개 1년 단위이고, 만료되면 업데이트 알림 자체가 오지 않아 “업데이트가 없구나” 로 오해하기 쉽습니다.
3. 순서대로 진행한다
백업은 파일과 데이터베이스를 함께 받습니다. 테마만 되돌려도 될 것 같지만, 업데이트 과정에서 테마 설정 값이 새 구조로 변환되는 경우가 있어 DB 도 짝으로 필요합니다.
스테이징은 프로덕션과 같은 구성의 사본입니다. 여기서 먼저 업데이트하고 화면을 봅니다. 사본을 둘 여건이 안 되면, 최소한 트래픽이 가장 적은 시간대에 하고 되돌릴 준비를 해 둡니다.
화면 대조는 눈으로 합니다. 업데이트 전에 주요 페이지(홈 · 서비스 · 아티클 한 편 · 문의 폼 · 모바일 화면)를 스크린샷으로 남기고, 업데이트 후 같은 화면과 나란히 놓고 봅니다. 이 다섯 장이 대부분의 회귀를 잡아냅니다.
업데이트 후 확인
화면 외에 두 가지를 더 봅니다. 자식 테마가 의존하던 부모 스타일 핸들이 그대로 있는지(이름이 바뀌면 우리 스타일이 로드는 되지만 순서를 잃습니다), 그리고 복사해 둔 템플릿과 새 부모 파일의 차이입니다. 후자는 즉시 반영하지 않아도 되지만, 미뤄 둔 차이는 다음 업데이트에서 두 배가 됩니다.
업데이트를 안전하게 굴리는 절차 전반은 개발 워크플로우 아카이브에 있고, 스테이징 구성과 회귀 확인을 포함한 실제 작업 흐름은 작업 과정에 단계별로 공개돼 있습니다.
다음 회차
다음 회차는 페이지 빌더입니다. 편집이 편해지는 대신 무엇을 내주는지, 그리고 어디에 경계선을 그으면 둘 다 가질 수 있는지 다룹니다.