본문으로 건너뛰기

WordPress 멀티사이트란?

WordPress의 핵심 기능 중 하나인 ‘멀티사이트’는 2010년 WordPress 3.0 출시와 함께 시작되었습니다. 이후 여러 개의 기능을 도입하고 보안을 강화하기 위한 수많은 개정이 이루어졌습니다.

본질적으로 WordPress 멀티사이트는 다음과 같이 생각할 수 있습니다: 한 대학이 WordPress를 한 번 설치하고, 각 학부가 자신만의 WordPress 사이트를 운영하는 것과 같습니다.

WordPress 멀티사이트가 정확히 무엇인가요?

멀티사이트는 여러 사이트가 하나의 WordPress 설치를 공유하도록 허용하는 WordPress 기능입니다. 멀티사이트가 활성화되면 원래의 WordPress 사이트는 일반적으로 네트워크라고 불리는 형태로 변환됩니다.

이 네트워크는 파일 시스템(즉, 플러그인과 테마도 공유), 데이터베이스, WordPress 핵심 파일, wp-config.php 등을 공유합니다.

즉, WordPress, 테마, 플러그인 업데이트는 네트워크에 속한 모든 사이트에 대해 한 번만 수행하면 됩니다. 파일 시스템에서 동일한 파일을 공유하기 때문입니다.

이 사실은 멀티사이트의 주요 장점 중 하나이며, 관리해야 할 고객 사이트 수를 동일하게 유지하면서 관리하는 사이트 수를 늘릴 수 있게 해줍니다.

서브도메인인가 서브디렉터리인가?

WordPress 멀티사이트를 실행하는 두 가지 모드가 있으며, 정규 WordPress 설치를 멀티사이트 설치로 변환할 때 하나를 선택해야 합니다:

서브도메인: ex.: site.domain.com

…또는

서브디렉터리: ex.: yourdomain.com/site

각 모드는 장단점이 있으므로 이 결정을 내릴 때 고려해야 합니다.

한 가지 중요한 점은, 결정을 내린 후 네트워크를 서브디렉터리에서 서브도메인으로, 또는 그 반대로 바꾸는 것은 매우 어렵다는 것입니다 – 특히 이미 몇 개의 사이트가 생성된 경우에는 더욱 그렇습니다.

결정을 내리기 전에 기억해야 할 몇 가지 포인트가 있습니다:

서브디렉터리 모드는 설정 및 유지 관리 측면에서 가장 쉬운 모드입니다. 이는 모든 사이트가 메인 도메인에 연결된 경로일 뿐이기 때문입니다(예: yourdomain.com/subsite). 결과적으로 메인 도메인에 한 개의 SSL 인증서만 있으면 전체 네트워크를 커버합니다.

동시에 URL 구조 때문에 Google 및 대부분의 다른 검색 엔진은 서브디렉터리 기반 네트워크의 모든 서브사이트를 하나의 거대한 사이트로 간주합니다. 따라서 최종 고객이 서브사이트에 추가한 콘텐츠가 랜딩 사이트의 SEO 성능에 영향을 미칠 수 있습니다. 영향 정도는 논란의 여지가 있지만, 이러한 구성이 SEO 성능에 이점이 될 수 있다는 주장이 있습니다.

서브도메인 모드는 설정이 조금 더 복잡하지만, URL 구조(예: subsite.yournetwork.com)는 일반적으로 “더 전문적”으로 인식됩니다.

서브도메인 모드를 설정할 때 가장 큰 과제 중 하나는 전체 네트워크에 대한 SSL(HTTPS) 보장입니다. 이는 브라우저가 서브도메인을 고립된 엔터티로 간주하기 때문입니다. 결과적으로 네트워크의 각 서브도메인에 대해 별도의 SSL 인증서가 필요하거나 와일드카드 SSL 인증서라는 특수한 인증서를 사용해야 합니다. 최근 몇 년간 호스팅 제공업체와 패널은 SSL 프로비저닝을 강화하고, 버튼 클릭으로 와일드카드 인증서를 제공함으로써 두 모드 간 설정 복잡성 격차를 줄이고 있습니다.

서브디렉터리 모드와 달리 서브도메인 기반 네트워크의 서브사이트는 검색 엔진에 별도의 웹사이트로 인식되므로, 한 서브사이트의 콘텐츠가 다른 서브사이트의 SEO 성능에 전혀 영향을 주지 않습니다.

슈퍼 관리자

단일 사이트 WordPress 설치는 무제한 사용자 추가와 다양한 사용자 역할 및 권한 부여가 가능합니다.

WordPress 멀티사이트에서는 새로운 사용자 유형이 열립니다: 슈퍼 관리자 – 그리고 새로운 관리 패널이 열립니다: 네트워크 관리자 패널.

이름이 시사하듯, 슈퍼 관리자는 네트워크에 대한 초능력을 가지고 있으며, 모든 서브사이트, 플러그인, 테마, 모든 것을 관리할 수 있습니다!

단일 사이트 WordPress 설치를 멀티사이트로 변환하면 원래의 단일 사이트 관리자도 자동으로 슈퍼 관리자로 업그레이드됩니다.

플러그인과 테마는 슈퍼 관리자만이 네트워크 관리자 패널에서 설치하거나 제거할 수 있습니다. 서브사이트 관리자는 이후 해당 플러그인이나 테마를 활성화하거나 비활성화할 수 있습니다. 단, 슈퍼 관리자가 네트워크에서 플러그인을 활성화하면 모든 서브사이트에 대해 항상 활성화됩니다.

참고: 네트워크에 초대하고 슈퍼 관리자 권한을 부여하면 해당 사용자는 네트워크에 대한 완전한 제어권을 갖게 됩니다. 예를 들어, 다른 슈퍼 관리자는 당신의 슈퍼 관리자 권한을 제거하여 네트워크 관리자 패널에서 당신을 차단할 수 있습니다. Ultimate Multisite 고객이 추가 슈퍼 관리자가 할 수 있는 일을 세밀하게 제어할 수 있도록 우리는 Support Agents라는 애드온을 제공하고 있습니다. 이 애드온은 네트워크에서 작업을 수행할 때 필요한 권한만 부여받은 에이전트라는 또 다른 사용자 유형을 만들 수 있게 해줍니다.

서브사이트 간에 공유되는 것과 공유되지 않는 것

앞서 언급했듯이 WordPress 멀티사이트의 주요 장점 중 하나는 모든 서브사이트가 동일한 구성, 핵심 파일, 테마, 플러그인, WordPress 핵심 파일 등을 공유한다는 점입니다.

그러나 몇 가지 요소는 서브사이트별로 잘 구분됩니다.

  • 예를 들어, 각 서브사이트는 자체 업로드 폴더를 가집니다. 결과적으로 한 서브사이트의 사용자가 업로드한 파일은 다른 서브사이트에서 접근할 수 없습니다.
  • 각 서브사이트는 전용 관리자 패널을 가지고 있으며, 플러그인이나 테마를 활성화하거나 비활성화할 수 있습니다(슈퍼 관리자가 네트워크에서 활성화하지 않은 경우).
  • 대부분의 데이터베이스 테이블은 각 서브사이트마다 생성됩니다. 즉, 게시물, 댓글, 페이지, 설정 등은 각 서브사이트에 대해 별도로 관리됩니다.

WordPress 멀티사이트에서의 사용자 관리

WordPress 멀티사이트에서 사용자 관리는 섬세한 주제입니다. WordPress 사용자 테이블은 서브사이트 전체에서 공유되는 몇 안 되는 테이블 중 하나입니다.

이 구조는 네트워크에서 구축하려는 것에 따라 몇 가지 문제를 일으킬 수 있습니다. 아래 예시는 가장 시급한 문제를 설명합니다.

다음 시나리오를 상상해 보세요:

WordPress 멀티사이트 네트워크를 만들고, 월간 요금으로 서브사이트를 제공하려는 사람들에게 전자상거래 스토어를 제공합니다.

첫 번째 유료 고객인 존을 만듭니다. 존을 위해 네트워크에 사이트를 만들고, 필요한 모든 플러그인을 설치한 뒤, 존이 자신의 스토어를 관리할 수 있도록 사용자 계정을 만듭니다.

그 다음 두 번째 고객인 앨리스를 만듭니다. 그녀에게도 같은 일을 하고, 이제 그녀도 네트워크에 스토어를 갖게 됩니다.

존과 앨리스는 모두 고객이지만 서로를 모릅니다. 더 중요한 것은, 둘 중 한 명이 다른 사람의 스토어 웹사이트를 방문하면, 두 스토어가 같은 네트워크에 호스팅되고 있다는 사실을 알 수 있는 방법이 없습니다.

어느 날, 존이 새 신발 한 켤레를 사야 하고, 앨리스의 스토어에서 완벽한 신발을 찾습니다. 구매를 마치려 할 때, “이메일이 이미 사용 중”이라는 오류 메시지가 표시됩니다. 이는 존이 앨리스의 웹사이트를 처음 방문한 것임에도 불구하고, 같은 이메일 주소를 가진 사용자가 이미 존재한다는 것을 WordPress가 감지했기 때문입니다.

참고: 사용 사례에 따라 이 상황이 얼마나 나쁜지 이해합니다. Ultimate Multisite는 기존 사용자 확인을 우회하는 옵션을 제공하여 동일한 이메일 주소를 사용해 여러 계정을 만들 수 있게 합니다. 각 계정은 서브사이트에 바인딩되므로 충돌 위험이 최소화됩니다. 위 예에서 존은 오류 메시지를 받지 않고 문제 없이 신발을 구매할 수 있습니다. 이 옵션은 Enable Multiple Accounts이며, Ultimate Multisite → Settings → Login & Registration에서 활성화할 수 있습니다.

사용자 테이블이 공유되더라도, 서브사이트 관리자는 서브사이트에 사용자를 추가하거나 제거할 수 있으며, 슈퍼 관리자는 이를 수행할 수 있습니다. 또한 사용자는 서로 다른 서브사이트에서 다른 역할을 가질 수 있습니다.

성능 고려 사항

WordPress 멀티사이트는 지원할 수 있는 사이트 수가 매우 많습니다. 이는 WordPress.com, Edublogs, Campuspress가 모두 멀티사이트 기반 서비스이며, 각각 수천 개의 사이트를 호스팅한다는 사실로 입증됩니다.

이론적으로는 단일 WordPress 멀티사이트 설치에서 호스팅할 수 있는 사이트 수에 제한이 없지만, 실제로는 사이트가 얼마나 동적인지, 서브사이트에서 사용할 수 있는 플러그인, 등 여러 요인에 따라 만족스럽게 운영할 수 있는 사이트 수가 크게 달라집니다.

일반적으로 네트워크가 단순할수록 좋습니다. 콘텐츠가 크게 동적이지 않은 사이트(예: 공격적인 캐싱 전략에 적합)를 선호하고, 플러그인 스택을 가볍게 유지(활성 플러그인 수가 적을수록 좋음)하면 호스팅할 수 있는 서브사이트 수를 크게 늘릴 수 있습니다.

가장 좋은 점은, 모든 것이 WordPress이기 때문에 이미 알고 있고 좋아하는 성능 향상 도구가 멀티사이트 네트워크에서도 동일하게 작동한다는 것입니다.

멀티사이트의 주요 병목 현상은 데이터베이스이며, 다른 모든 것이 올바르게 설정되어 있다면 수천 개의 사이트를 운영하기 전에 걱정할 필요가 없습니다. 그때도, 데이터베이스 샤딩 솔루션 등과 같은 점진적으로 추가할 수 있는 솔루션이 있습니다.