WordPress 호스팅 및 플러그인

WordPress를 빠르고 안전하게 만들기: 성능 및 플러그인 체크리스트

WordPress의 속도와 보안은 이를 실행하는 환경에 전적으로 달려 있습니다. 당사가 호스팅하는 모든 WordPress 사이트에 적용하는 실용적인 점검 목록은 다음과 같습니다. 캐시해야 할 대상, 보안을 강화해야 할 대상, 그리고 플랫폼 자체 기능으로 대체되어 불필요해진 플러그인과 달리 실제로 사용할 가치가 있는 플러그인을 안내합니다.

WordPress의 성능은 그것을 구동하는 환경에 달려 있습니다

WordPress는 유연성 덕분에 웹의 상당 부분을 구동하고 있지만, 바로 그 유연성 때문에 속도가 느려지고 보안이 취약해지기도 합니다. 기본 설치 상태에서는 페이지당 수십 번의 데이터베이스 쿼리를 실행하고, 확인하는 모든 사람에게 버전과 스택을 노출하며, 성능 저하와 공격 표면이 은밀하게 확대될 때까지 플러그인을 계속 추가하도록 유도합니다. 이 중 어느 것도 WordPress 자체의 결함이라기보다는 아무런 지원도 제공하지 않는 인프라에서 실행한 데 따른 결과입니다.

다행인 점은 동일한 몇 가지 결정만으로 문제의 대부분을 해결할 수 있으며, 이러한 결정은 콘텐츠가 아닌 스택에 관한 것이라는 점입니다. 올바른 계층에서 적극적으로 캐시를 적용하고, 데이터베이스를 핫 패스에서 제외하며, 진정으로 가치 있는 소수의 플러그인만 실행하고, 모든 것을 최신 패치 상태로 유지하며, 문제가 확산되지 않도록 사이트를 격리하십시오. 이 글은 해당 체크리스트이며, 당사 플랫폼의 모든 WordPress 사이트에 적용하는 순서대로 정리되어 있습니다.

플러그인뿐만 아니라 서버에서 캐시하세요

WordPress 속도에 가장 큰 영향을 미치는 요인은 대부분의 방문에서 WordPress를 전혀 실행하지 않는 것입니다. 표준 요청은 단 1바이트를 전송하기 전에도 WordPress를 부팅하고, 플러그인을 실행하며, 데이터베이스를 조회합니다. 반면 전체 페이지 캐시는 다음 방문 시 웹 서버에서 직접 완성된 페이지를 제공하여 이 모든 부팅 과정을 건너뜁니다. 이 캐시가 어디에 위치하는지도 중요합니다. 캐싱 플러그인은 PHP 내부에서 작동하므로 캐시가 응답하기 전에 여전히 PHP가 시작되는 반면, 서버 수준 캐시는 요청의 더 이른 단계에서 응답하며 서버가 즉시 비울 수 있는 형태로 페이지를 보관합니다.

당사에서 호스팅하는 모든 WordPress 사이트는 서버 수준의 LSCache가 적용된 LiteSpeed Enterprise에서 실행되며, 당사의 자체 캐시 플러그인이 기본적으로 WordPress를 여기에 올바르게 연결합니다. 사전 설치 및 자동 업데이트가 지원되므로 사용자가 직접 구성하거나 최신 상태를 유지할 필요가 없습니다. LiteSpeed가 아닌 오리진에서 동일한 플러그인은 전체 페이지 헤더를 내보내지 않고 방해되지 않도록 유지되는 동시에 객체 캐시는 계속 작동하므로, 마이그레이션된 사이트가 불완전하게 구성된 상태로 남지 않습니다. 자체 체크리스트를 위한 실질적인 규칙은 다음과 같습니다. 서버 레벨에서 하나의 전체 페이지 캐시를 사용하고, 그 위에 두 번째 캐싱 플러그인을 중복 적용하지 마십시오. 두 플러그인이 서로 충돌합니다.

객체 캐시 및 데이터베이스

모든 요청이 정적 페이지일 수는 없습니다. 로그인된 세션, 관리자 페이지, 검색, 장바구니 및 모든 개인화된 프래그먼트는 PHP를 실행해야 하므로, 이러한 경우에는 애플리케이션을 건너뛰는 것에서 데이터베이스를 건너뛰는 것으로 목표가 전환됩니다. 사이트별 객체 캐시(이 경우 Redis)는 반복적인 데이터베이스 읽기 결과를 메모리에 보관하여, 모든 접속마다 동일한 옵션, transients 및 조회가 데이터베이스에 대해 쿼리되지 않도록 합니다. 그 효과는 전체 페이지 캐시가 도움을 줄 수 없는 부분에서 정확히 나타납니다. 즉, 더 빠른 관리자 페이지, 더 빠른 장바구니, 트래픽 급증 시의 대폭 감소된 데이터베이스 부하입니다.

중요한 단어는 '사이트별'입니다. 공유 객체 캐시는 트래픽이 많거나 잘못 작성된 사이트 하나가 다른 모든 사이트의 캐시된 데이터를 밀어내고 인접 사이트의 데이터베이스 자원을 고갈시킬 수 있음을 의미합니다. 사이트별 데이터베이스 제한과 결합된 전용 사이트별 캐시는 이러한 피해 반경을 최소화합니다. 점검 목록을 작성하실 때 로그인 사용자가 있거나 쇼핑몰이 있는 모든 사이트에서는 영구 객체 캐시를 필수로 취급하시고, 여러 테넌트 간에 캐시가 공유되는 호스팅은 주의하시기 바랍니다.

사용할 가치가 있는 플러그인 — 그리고 플랫폼이 대체하는 플러그인

추가하는 모든 플러그인은 요청 시 실행되는 코드이자 언젠가 누군가 드나들 수 있는 문이므로, 가장 적은 플러그인으로 가장 많은 작업을 수행하는 것이 진정한 목표입니다. 좋은 호스트는 이러한 플러그인의 전체 범주에 대한 필요성을 없애 줍니다. 서버 수준의 캐싱, 관리형 객체 캐시, 플랫폼 백업을 통해 캐싱 플러그인, 별도의 객체 캐시 플러그인 또는 백업 플러그인이 필요하지 않습니다. 이러한 작업은 WordPress 하위 수준에서 더 잘 처리되며, 상위에서 실행하면 충돌과 오버헤드만 가중될 뿐입니다.

실행할 가치가 남아 있는 것은 실질적인 기능을 더해 주는 소수의 구성 요소뿐입니다. 귀하의 사이트 작동에 실제로 필요한 플러그인과, 당사 플랫폼에서 모든 사이트와 함께 기본 구축 및 제공되는 두 개의 저장소급 플러그인이 그것입니다. 당사의 캐시 플러그인은 WordPress를 서버 캐시에 연결하고 스마트 퍼지를 처리하여 편집 시 정리되어야 할 페이지만 정확히 비웁니다. 당사의 풋프린트(footprint) 플러그인은 기본 WordPress 설치가 외부에 노출하는 흔적들 — 버전 및 생성기 태그, 검색 엔드포인트, XML-RPC, 핑백, powered-by 헤더 — 을 배포할 때마다 제거하므로, 플러그인이나 테마 업데이트로 인해 이러한 정보가 조용히 복원되는 것을 방지합니다. 두 플러그인 모두 WordPress.org 플러그인 디렉터리 표준에 맞추어 제작되었으며, 무료이고 자동으로 업데이트됩니다.

WordPress를 안전하고 최신 상태로 유지하기

대부분의 WordPress 침해 사고는 기발한 것이 아니라 오래된 취약점에서 비롯됩니다. 널리 알려지고 공개된 취약점이 있는 구버전 코어, 테마 또는 플러그인은 사이트가 공격을 받는 압도적으로 흔한 경로이며, 이로 인해 최신 상태를 유지하는 것은 가장 가치 있는 보안 작업이자 가장 번거로운 작업이기도 하므로 자주 생략되곤 합니다. 매니지드 호스팅은 고객님의 이러한 부담을 덜어주어야 합니다. WordPress 기반 스택에 패치를 적용하고, 테스트를 위한 스테이징 사본과 복원을 위한 백업을 제공하여 코어 및 플러그인 업데이트를 안전하게 적용할 수 있도록 지원해야 합니다.

최신 상태를 유지하는 것 외에도, 경계가 귀하를 위해 철저히 적용될 것을 기대하십시오. 방문자가 발견하기 전에 감염을 잡아낼 수 있도록 기본으로 설정된 악성코드 검사, 손상된 사이트 하나가 다른 사이트에 영향을 주지 않도록 하는 격리, 엣지에서의 DDoS 방어, 그리고 인증서가 자동으로 갱신되는 전면적인 TLS가 포함됩니다. 이러한 조치 중 어느 것도 강력한 자격 증명, 최소 권한 접근, 더 이상 사용하지 않는 플러그인 제거와 같은 기본적인 보안 위생 수칙을 대신하지는 않지만, 인프라가 취약점이 되지 않도록 보장합니다. 체크리스트에서 모든 호스팅 업체를 평가할 때 질문은 간단합니다. 보안이 기본값입니까, 아니면 별도로 구매해야 하는 번들입니까?

WooCommerce 및 절대 캐시해서는 안 되는 페이지

쇼핑몰은 공격적인 캐싱이 가장 큰 이점을 제공하는 동시에, 부주의하게 구현할 경우 가장 심각한 피해를 초래하는 영역입니다. 카탈로그, 상품 및 카테고리 페이지는 트래픽이 가장 많고 캐싱하기에 가장 적합한 페이지이므로, 전체 페이지 캐시를 통해 이를 제공하는 것이 쇼핑몰의 속도를 위해 취할 수 있는 최선의 조치입니다. 그러나 장바구니, 결제 및 계정 페이지는 개인화된 영역이므로 공유 캐시를 통해 제공해서는 안 됩니다. 이를 위반하면 쇼핑객이 다른 사람의 장바구니를 보게 되어 쇼핑몰 오류와 개인정보 침해 문제가 동시에 발생합니다.

두 가지를 모두 확보하는 방법은 페이지를 캐시하고 실시간 영역에 대해 구멍을 뚫는(홀 펀칭) 것입니다. Edge Side Includes는 페이지의 나머지 부분이 캐시에서 제공되는 동안 요청별로 장바구니 조각, 미니 장바구니 합계 및 계정 상태를 렌더링하며, 장바구니, 결제, 내 계정 및 모든 nonce 또는 세션 페이지는 기본적으로 제외됩니다. 최신 상태는 제품, 가격 또는 주문이 변경될 때 실행되는 스마트 자동 제거를 통해 처리되므로 오래된 가격이 남아 있지 않습니다. WooCommerce를 운영하시는 경우, 캐시를 통한 빠른 스토어프런트, 사용자별 실시간 장바구니, 개인 정보 캐싱 방지라는 체크리스트 항목을 반드시 정확하게 구성해야 합니다.

자주 묻는 질문

WP Rocket과 같은 캐싱 플러그인이 여전히 필요한가요?

아닙니다. 전체 페이지 캐싱은 웹 서버에서 LiteSpeed의 LSCache를 통해 처리되며, 자체 캐시 플러그인이 WordPress를 이에 연결하고 스마트 퍼지를 처리하며, 그 뒤에서는 사이트별 Redis 객체 캐시가 지원합니다. 여기에 두 번째 전체 페이지 캐싱 플러그인을 추가하는 것은 도움이 되기보다는 서버 수준의 캐시와 충돌을 일으키는 경우가 많으므로 필요하지도 않고 권장되지도 않습니다.

플랫폼을 사용하면 어떤 플러그인이 필요하지 않게 되나요?

캐싱 플러그인, 별도의 객체 캐시 플러그인, 백업 플러그인은 모두 여기서 불필요합니다. 이러한 작업은 WordPress 하위 레벨인 서버 레벨 캐싱, 사이트별 관리형 객체 캐시, 플랫폼 백업에서 처리되기 때문입니다. 이를 제거하면 충돌과 공격 표면을 줄일 수 있습니다. 실행할 가치가 있는 것은 귀하의 사이트 기능에 진정으로 필요한 플러그인과 사전 설치되어 제공되는 당사의 무료 캐시 및 footprint 플러그인 2개뿐입니다.

캐싱으로 인해 WooCommerce 장바구니 또는 로그인한 페이지가 손상될 수 있습니까?

아닙니다. 장바구니, 결제, 내 계정 및 모든 nonce 또는 세션 페이지는 기본적으로 캐시에서 제외되며, Edge Side Includes를 통해 캐시된 페이지에서도 장바구니 조각과 총액이 실시간으로 유지됩니다. 구매자는 상점 페이지가 캐시에서 로드되는 동안에도 항상 자신의 장바구니와 정상 작동하는 결제 화면을 보게 되며, 스마트 자동 삭제 기능은 상품, 가격 또는 주문이 변경될 때 영향을 받는 페이지만 지워냅니다.

제가 직접 관리하지 않고도 WordPress를 어떻게 안전하게 유지하나요?

당사는 WordPress 기반 스택에 패치를 적용하고, 스테이징 및 원클릭 복원을 통해 코어와 플러그인 업데이트를 안전하게 적용할 수 있도록 지원하며, 악성코드 검사와 DDoS 보호를 기본적으로 활성화하고, 단일 사이트의 침해가 확산되지 않도록 각 사이트를 격리하며, TLS 인증서를 자동으로 발급 및 갱신합니다. 이를 통해 인프라가 취약점으로 작용하지 않도록 보장하지만, 강력한 자격 증명 사용 및 미사용 플러그인 제거와 같은 기본적인 보안 관리는 여전히 귀하의 책임입니다.

14일 동안 무료로 체험해 보세요

첫 사이트를 14일 동안 무료로 시작하세요 — 카드 등록 불필요. 기존 사이트나 네트워크를 이전하시나요? 마이그레이션은 제한 없이 무료입니다.

무료로 시작하기