개발 워크플로우 실무
워드프레스를 GitHub 에 올릴 때의 .gitignore
워드프레스 저장소에서 커밋해야 할 것과 절대 커밋하면 안 되는 것의 경계는 명확합니다. wp-config.php 한 파일이 저장소에 들어가는 순간 DB 비밀번호와 인증 솔트가 통째로 유출됩니다.
Technote
워드프레스를 코드로 다루는 개발자를 위한 가이드. 훅 · WP-CLI · Git 워크플로우 · 배포 자동화를 다룹니다.
글 34편· 개발자
개발 워크플로우 실무
워드프레스 저장소에서 커밋해야 할 것과 절대 커밋하면 안 되는 것의 경계는 명확합니다. wp-config.php 한 파일이 저장소에 들어가는 순간 DB 비밀번호와 인증 솔트가 통째로 유출됩니다.
성능 최적화 실무
워드프레스가 느린 원인의 상당수는 페이지를 만들 때마다 같은 데이터베이스 쿼리를 반복하는 데 있습니다. Redis 오브젝트 캐시는 이 반복 쿼리를 메모리에서 꺼내 쓰게 만들어, 특히 관리자…
성능 최적화 심화
적중률 숫자 하나만 보고 캐시가 잘 돌고 있다고 판단하면, 정작 느린 화면은 그대로 남습니다. 어떤 키가 몇 번 조회되는지까지 내려가 봐야 병목이 보입니다.
개발 워크플로우 실무
워드프레스 테마는 빌드 스텝 없이 배포되는 것이 표준입니다. 그래서 일반적인 애플리케이션 코드와는 반대되는 결론이 나오고, 그 대가도 함께 옵니다.
보안 실무
세 가지 방식은 편의의 차이가 아니라 위협 모델의 차이입니다. 브라우저에서 부르는가, 서버가 부르는가, 제3자가 발급하는가에 따라 답이 정해집니다.
개발 워크플로우 실무
완전히 로드된 워드프레스 안에서 내 PHP 파일을 실행하는 방법입니다. 다만 --로 시작하는 플래그는 스크립트에 도착하지 않습니다 — WP-CLI 가 먼저 먹기 때문입니다.
성능 최적화 실무
반복되는 동일 조회는 사라집니다. 느린 쿼리 한 건은 그대로입니다. 이 구분을 모르면 캐시를 붙여 놓고 왜 안 빨라지는지 묻게 됩니다.
개발 워크플로우 실무
이 훅은 모든 WP_Query 에 대해 돕니다. 메뉴 · 위젯 · 관리자 목록까지 전부 포함되므로, 판정 없이 조건을 넣으면 의도하지 않은 화면이 조용히 바뀝니다.
SEO 입문
SEO 플러그인 두 개는 두 배의 최적화가 아니라 서로를 무효화하는 중복 선언입니다. canonical · 사이트맵 · 구조화 데이터가 두 벌씩 나가는 순간 검색엔진은 어느 쪽도 믿지 않습니다.
개발 워크플로우 실무
워드프레스는 옵션과 메타에 직렬화된 PHP 배열을 넣고, 그 안에는 문자열의 길이가 함께 적혀 있습니다. SQL REPLACE 는 값만 바꾸고 길이는 그대로 둡니다.
서버 · 인프라 실무
서비스 네 개를 컨테이너로 가르는 이유는 유행이 아니라 재현성입니다. 다음 서버에서도, 사고 후 복구에서도, 같은 파일이 같은 스택을 다시 세웁니다.
개발 워크플로우 실무
permission_callback 은 선택 인자가 아닙니다. 빠뜨리면 라우트가 공개되고 코어가 경고를 남깁니다. 그리고 args 스키마를 주면 검증 코드를 핸들러에 손으로 쓰지 않아도 됩니다.