* 이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
(워드프레스 해부 ㉟) 멀티사이트
워드프레스 하나로 여러 사이트를 굴릴 수 있다. 이게 멀티사이트(Multisite)다. 사실 이 cozlab.app도 처음 구상은 “한 서버에 워드프레스 여러 개”였는데, 그 방법 중 하나가 바로 이 멀티사이트다(다른 하나는 워드프레스를 완전히 따로 여러 벌 까는 것).
켜는 법은 wp-config.php에 상수 하나. 그러면 도구 메뉴에 “네트워크 설정”이 생기고, 안내를 따르면 네트워크 관리자가 활성화된다. 사이트들은 서브도메인(a.example.com) 또는 서브디렉터리(example.com/a)로 나뉜다.
구조적으로는 DB(7편)에 wp_blogs, wp_site 같은 테이블이 추가되고, 사이트마다 wp_2_posts, wp_3_posts처럼 접두사(3편)에 번호가 붙은 테이블 세트가 생긴다. 코어·플러그인·업로드 용량은 공유하고, 콘텐츠만 사이트별로 분리되는 셈이다.
직접 해보기
# wp-config.php 에 추가하면 '네트워크 설정' 메뉴가 열린다
define( 'WP_ALLOW_MULTISITE', true );
# WP-CLI로 상태 확인
$ wp site list # 멀티사이트면 사이트 목록이 나온다
✅ 확인 —
WP_ALLOW_MULTISITE를 켜면 도구 → 네트워크 설정 메뉴가 생긴다. 다만 멀티사이트는 한 번 켜면 되돌리기 번거로우니, 진짜 여러 사이트가 필요할 때만 신중히 켜는 게 좋다. 사이트 하나면 굳이 쓸 이유가 없다.
흔히 막히는 지점 — 멀티사이트는 켜기 전에 서브도메인 vs 서브디렉터리를 먼저 정해야 한다 — 활성화 후엔 바꾸기 까다롭다. 서브도메인은 와일드카드 DNS·인증서가 필요하고, 플러그인/테마는 ‘네트워크 활성화’가 따로 있다. 단일 사이트로 충분하면 멀티사이트는 관리 복잡도만 는다.
서브도메인이냐, 서브디렉터리냐
멀티사이트를 켤 때 딱 한 번, 나중에 되돌리기 어려운 선택을 한다. 각 사이트를 서브도메인(site1.example.com)으로 둘지, 서브디렉터리(example.com/site1)로 둘지다.
| 항목 | 서브도메인 | 서브디렉터리 |
|---|---|---|
| 주소 | site.example.com | example.com/site |
| DNS | 와일드카드 DNS 필요 | 불필요 |
| SSL | 와일드카드 인증서 | 단일 인증서로 충분 |
| SEO | 각각 별개 사이트로 취급 | 권위·링크가 한데 모임 |
| 적합 | 완전 독립 사이트 | 한 브랜드의 여러 섹션 |
검색 크롤러는 서브도메인을 별개 사이트로 보는 경향이 있어 봇 트래픽과 SSL 관리 부담이 늘고, 서브디렉터리는 권위가 한 도메인에 모여 SEO에 유리하다. 게다가 둘 사이를 나중에 바꾸는 건 설정 하나 바꾸는 게 아니라 고위험 작업이다. 그래서 시작할 때 신중히 정해야 한다.
켜는 순서
활성화는 순서대로 밟는다. 먼저 wp-config.php에 상수 하나를 넣고, 관리자에서 네트워크를 설정한 뒤, 안내대로 상수와 .htaccess를 마저 채운다.
/* 1) 먼저 이 한 줄 */
define( 'WP_ALLOW_MULTISITE', true );
/* 2) 도구 → 네트워크 설정에서 서브도메인/서브디렉터리 선택 후,
안내에 따라 아래를 추가 */
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false ); // 서브디렉터리면 false
define( 'DOMAIN_CURRENT_SITE', 'example.com' );
다시 로그인하면 상단 관리자 막대에 ‘내 사이트 → 네트워크 관리’ 메뉴가 생긴다. 여기서 사이트를 추가하고 전체를 관리한다.
슈퍼 관리자와 사이트 관리자
멀티사이트엔 역할이 하나 더 생긴다. 네트워크 전체를 다루는 슈퍼 관리자와, 자기 사이트만 다루는 사이트 관리자다. 테마·플러그인 설치는 슈퍼 관리자만 할 수 있고, 각 사이트 관리자는 네트워크가 허용한 범위 안에서만 쓴다. 플러그인·테마는 네트워크에서 한 번 설치해 공유하며, ‘네트워크 활성화’를 누르면 모든 사이트에 한꺼번에 켜진다.
멀티사이트를 피해야 할 때
편해 보이지만 함정도 분명하다. 코어·플러그인 업데이트가 네트워크 전체에 동시에 적용돼서, 한 사이트의 사정 때문에 전체를 못 올리는 상황이 생긴다. 한 사이트가 무거운 플러그인으로 문제를 일으키면 같은 인프라를 쓰는 다른 사이트도 흔들린다. 사이트들이 서로 완전히 독립적이어야 하거나 운영 주체가 다르다면, 차라리 워드프레스를 따로 여러 벌 까는 편이 낫다. 앞서 말했듯 cozlab이 결국 택한 것도 이 방향이었다.
무엇이 공유되고 무엇이 분리되나
멀티사이트에서 제일 헷갈리는 게 ‘어디까지 공유되느냐’다. 네트워크가 공유하는 건 워드프레스 코어, 설치된 플러그인·테마 파일, 그리고 사용자 계정이다. 반대로 각 사이트가 따로 갖는 건 글·페이지·설정·업로드 폴더다.
DB로 보면 구조가 선명하다. 사용자 테이블(wp_users·wp_usermeta)은 네트워크에 하나뿐이고, 그 위에 사이트마다 번호가 붙은 테이블 세트(wp_2_posts·wp_2_options…)가 새로 생긴다. 덕분에 한 사람이 여러 사이트에 각각 다른 권한으로 참여할 수 있다. 7편의 테이블 지도를 떠올리면 이 구조가 바로 이해된다.
대장정의 마지막 편은, 이 시리즈 실습에서 계속 함께한 그 도구 — WP-CLI로 워드프레스를 명령줄로 다루는 법이다.
자주 묻는 질문 (FAQ)
멀티사이트가 뭔가요?
하나의 워드프레스 설치로 여러 사이트를 운영하는 기능입니다. 테마·플러그인·업데이트를 공유해 관리가 편합니다.
멀티사이트는 언제 쓰나요?
여러 유사한 사이트를 한 곳에서 관리할 때 유용합니다. 완전히 독립적이어야 한다면 별도 설치가 나을 수 있습니다.

답글 남기기