내 웹사이트의 콘텐츠가 정확히 어디에 저장되는지 궁금해 본 적이 있으신가요? 혹은 워드프레스 사이트에서 'wp-content'라는 이름을 들어본 적 있지만, 그 역할에 대해 자세히 알고 싶으신가요?
워드프레스 웹사이트는 수많은 파일과 폴더로 구성되어 있습니다. 그중에서도 wp-content는 핵심적인 폴더로, 사이트의 모든 콘텐츠와 설치된 테마, 플러그인 파일이 이곳에 보관됩니다. 만약 이 폴더가 실수로 삭제된다면 웹사이트는 완전히 다운되고 말 것입니다.
MalCare에서 확인한 바에 따르면, 해커가 wp-content 폴더를 조작하여 워드프레스 사이트가 마비되는 사례가 매우 많았습니다. 대부분의 사이트 운영자는 워드프레스 백엔드를 직접 방문해 wp-content 폴더를 점검하지 않기 때문에, 해커 입장에서는 악성코드를 삽입하기에 최적의 장소입니다. 또한 이곳에는 해커가 사이트에 몰래 침입할 수 있는 백도어(backdoor)까지 숨겨두곤 합니다.
해커가 wp-content 디렉토리로 할 수 있는 일을 알게 되면 불안할 수 있습니다. 하지만 걱정하지 마세요!
이 가이드에서는 wp-content에 대해 알아야 할 모든 것을 쉽게 정리했습니다. 이 폴더가 어떤 역할을 하는지, 어떻게 활용하는지 알아보고, 나아가 외부 사용자의 접근을 차단하거나 숨기는 방법까지 함께 살펴보겠습니다.
핵심 요약: wp-content는 워드프레스 사이트의 필수 구성 요소입니다. 안전하게 보호하려면 워드프레스 보안 플러그인(예: MalCare)을 설치하는 것이 좋습니다. 이런 플러그인은 워드프레스 파일과 폴더를 스캔하여 해커로부터 보호하고, 사이트를 주기적으로 자동 백업하여 안전하게 저장해 줍니다.
WP-Content 폴더란 무엇인가?
앞서 언급했듯이, 워드프레스 웹사이트는 수많은 파일과 디렉토리로 이루어져 있습니다. wp-content 폴더는 웹사이트를 구축하는 시점에 기본값으로 생성되며, 사이트를 구성하는 가장 중요한 폴더 중 하나입니다.
업로드하는 모든 이미지, 설치하는 모든 테마와 플러그인이 이 폴더에 저장됩니다(자세한 내용은 아래에서 다룹니다). 다시 말해, 데이터베이스에 저장되지 않는 파일들은 전부 여기에 보관되는 셈입니다. 이 폴더가 삭제되면 웹사이트는 다운되며, 처음부터 다시 구축해야 하는 상황이 발생합니다.
일반적으로 사이트 운영자가 이 폴더를 직접 건드릴 일은 많지 않습니다. 하지만 때로는 접근이 필요한 상황이 생기기도 합니다.
예를 들어, 워드프레스 사이트에 플러그인을 설치했는데 해당 버전과 호환되지 않아 사이트가 오작동했다고 가정해 봅시다. 워드프레스 관리자 화면에서 비활성화할 수 없다면, wp-content 폴더에 직접 접속해 해당 플러그인을 삭제해야만 사이트에 다시 접근할 수 있습니다.
추천 읽기: 워드프레스 파일 구조 & 데이터베이스 초보자 가이드
WP-Content 폴더에 접근하는 방법
wp-content 폴더에 접근하려면 먼저 워드프레스 루트 디렉토리(root directory)로 이동해야 합니다. 순서는 다음과 같습니다.
1. 웹 호스팅 계정(예: WP Engine)에 로그인합니다.
2. cPanel에 접속한 후 '파일 관리자(File Manager)'를 엽니다.
3. 여기에서 'public_html'이라는 이름의 폴더를 찾을 수 있습니다. 이 폴더는 웹 서버에 위치하며, 워드프레스 파일과 하위 폴더들로 구성되어 있고, 사이트의 작동과 디자인에 필요한 모든 요소를 담고 있습니다.
4. public_html 폴더 안에는 세 개의 주요 하위 폴더가 있습니다.
- wp-admin – 워드프레스 관리자 패널에 누가 접근할 수 있는지, 어떤 권한이 부여되는지 등 관리 관련 파일이 포함되어 있습니다.
- wp-includes – 워드프레스 사이트의 규칙, 계층 구조, 설정과 관련된 파일들이 포함되어 있습니다.
- wp-content – 사이트의 테마와 플러그인 파일, 미디어 업로드 파일(wp-content/uploads)이 포함되어 있습니다.
오늘은 이 중에서 wp-content 폴더에 집중하여, 사이트에서 맡고 있는 역할을 자세히 살펴보겠습니다. wp-content 폴더 안에는 더 많은 하위 폴더와 파일이 있는데, 이는 다음 섹션에서 설명하겠습니다.
WP-Content 폴더에는 무엇이 담겨 있나?
표준적인 워드프레스 사이트의 wp-content 폴더에는 plugins(플러그인), themes(테마), uploads(업로드) 세 개의 하위 폴더가 있습니다.
하지만 워드프레스 사이트가 성장하고 플러그인과 테마가 추가됨에 따라 더 많은 폴더가 생성될 수 있습니다. 이해를 돕기 위해 디렉토리 구조를 네 부분으로 나누어 설명하겠습니다.
- Plugins 폴더 (플러그인)
- Themes 폴더 (테마)
- Uploads 폴더 (업로드)
- 그 밖의 일반적인 폴더
- mu-plugins
- Languages (언어)
- Upgrade (업그레이드)
- 특정 플러그인 전용 폴더
1. Plugins 폴더 (플러그인)
워드프레스 사이트에는 다양한 플러그인을 설치할 수 있습니다. 설치된 모든 플러그인(활성화 여부와 무관)은 이 폴더에 저장됩니다. 각 폴더를 열어보면 해당 플러그인의 규칙과 설정 파일을 확인할 수 있습니다. 이 폴더를 임의로 수정하면 플러그인이 오작동할 수 있으니 주의해야 합니다.
관리자 대시보드에서 플러그인 설치가 원활하지 않을 때, 이 폴더에 직접 접근하면 유용합니다. 플러그인의 zip 파일을 복사해서 이 폴더에 붙여넣은 후, 압축을 해제하면 사이트에서 플러그인을 활성화할 수 있습니다.
반대로, 이 폴더를 통해 플러그인을 삭제하거나 비활성화할 수도 있습니다. 플러그인 간 호환성 문제로 인해 웹사이트가 오작동하는 경우가 종종 있는데, 대시보드에서 비활성화할 수 없다면 이 폴더에 접속해 직접 비활성화하면 됩니다.
단, 이 수동 방식은 권장하지 않습니다. 워드프레스 폴더를 직접 수정하는 것은 매우 위험하며, 사소한 실수 하나로 사이트 전체가 손상될 수 있습니다. 반드시 이 방법은 다른 선택지가 없을 때만 사용하세요.
2. Themes 폴더 (테마)
플러그인 폴더와 마찬가지로, 이 폴더에는 사이트에 설치된 모든 테마가 저장됩니다. 활용 방식도 플러그인 폴더와 거의 동일합니다.
워드프레스 대시보드에서 테마를 설치하면 이 폴더에 자동으로 추가됩니다.
예를 들어, 우리 사이트에 Astra 테마를 설치해 보겠습니다.
이후 themes 폴더를 확인해 보면 'astra'라는 하위 폴더가 자동으로 생성된 것을 볼 수 있습니다.
또한 테마 파일을 이 폴더에 복사하여 대시보드에서 사용 가능하게 만들 수도 있고, 반대로 이곳에서 테마를 삭제할 수도 있습니다.
3. Uploads 폴더 (업로드)
이름에서 짐작할 수 있듯이, 사이트에 업로드된 모든 파일이 이 폴더에 저장됩니다. 이미지, 동영상은 물론 PDF 문서, MS Word 문서, GIF 등 다양한 파일이 포함됩니다.
기본적으로 이러한 미디어 파일들은 업로드된 연도와 월별로 하위 폴더에 분류되어 저장됩니다. 하나의 미디어 라이브러리라고 생각하면 됩니다.
이것이 워드프레스 사이트의 wp-content 폴더 기본 구조입니다. 하지만 사이트가 확장되고 발전함에 따라 추가 폴더가 생성되는 경우가 많습니다. 주요 폴더들을 아래에 간단히 정리했습니다.
4. WP-Content 내부의 그 밖의 폴더
wp-content 폴더에는 흔히 생성되는 추가 폴더가 4개 있습니다.
a) mu-plugins (필수 사용 플러그인)
mu-plugins는 'Must-Use' 플러그인으로, 워드프레스 사이트 운영에 필수적이므로 반드시 사용해야 하는 플러그인을 의미합니다. 예를 들어, 어떤 플러그인이 특정 테마에 번들로 포함되어 있다면, 이를 비활성화할 경우 테마가 깨지고 결과적으로 웹사이트 전체가 오작동할 수 있습니다. 개발자는 이런 플러그인에 mu-plugins 태그를 붙여 사용자가 실수로 비활성화하지 못하도록 합니다. 이런 플러그인이 있다면 mu-plugins 폴더에 저장됩니다.
b) Languages (언어)
워드프레스는 다양한 언어로 웹사이트를 제작할 수 있습니다. 영어 외의 다른 언어나 다국어를 사용하기로 선택하면, 워드프레스는 해당 언어 파일을 이 폴더에 저장합니다.
c) Upgrade (업그레이드)
사이트를 새 버전으로 업데이트할 때 워드프레스가 임시로 생성하는 폴더입니다.
d) 특정 플러그인 전용 폴더
일부 플러그인은 자체 디렉토리를 생성하기도 합니다. 즉, wp-content 폴더 안에 자체 폴더를 만드는 것입니다. 예를 들어, WP Super Cache 플러그인은 'cache'라는 이름의 자체 폴더를 생성합니다.
이처럼 wp-content 디렉토리에는 웹사이트 운영에 필수적인 데이터가 담겨 있습니다. 따라서 항상 철저히 보호해야 합니다.
다음 섹션에서는 이 폴더를 누군가 함부로 조작하거나 삭제하지 못하도록 보호하는 방법을 알아보겠습니다.
WP-Content 및 Uploads 폴더 보호 방법
wp-content와 uploads 폴더를 보호하기 위해 반드시 취해야 할 조치는 세 가지입니다.
- 폴더를 백업한다
- wp-content 폴더의 이름을 변경한다
- 웹사이트 색인(index)에 폴더가 노출되지 않도록 차단한다
1. WP-Content 폴더 백업하기
백업은 웹사이트의 복제본으로, 파일을 실수로 삭제하거나 해커가 폴더를 조작하는 등 문제가 발생했을 때 사이트를 정상 상태로 복구하는 데 사용됩니다.
BlogVault 백업 플러그인을 사용하면 손쉽게 백업할 수 있습니다. 설치가 간편하고, 몇 분 만에 워드프레스 사이트 전체를 자동으로 백업해 줍니다. BlogVault를 추천하는 이유는 복원 시에도 확실히 작동한다는 점 때문입니다.
또한 이 플러그인을 사용하면 wp-content 폴더만 선택적으로 복원하는 것도 가능합니다.
2. WP-Content 폴더 이름 변경하기
앞서 언급했듯이, 콘텐츠·테마·플러그인을 저장하는 폴더의 기본 이름은 wp-content입니다. 이 이름은 모든 워드프레스 사이트에서 공통으로 사용되기 때문에 누구나 쉽게 위치를 파악할 수 있습니다. 해커가 사이트에 침입할 방법을 찾으면 'wp-content'라는 이름을 알고 있기 때문에 이 폴더를 쉽게 찾아낼 수 있습니다. 따라서 폴더 이름을 변경하면 보안에 도움이 됩니다.
변경 방법은 두 가지로, 플러그인을 사용하거나 수동으로 진행하는 방식입니다.
A. 플러그인 사용 (권장 · 안전)
'WP Hide & Security Enhancer'라는 플러그인을 사용하는 것을 추천합니다. 이 플러그인은 wp-content뿐 아니라 워드프레스의 다른 중요 파일들까지 손쉽게 숨길 수 있도록 도와줍니다.
이 플러그인은 모든 단계마다 과정을 친절하게 안내해 주기 때문에 초보자와 전문가 모두 사용하기 쉽습니다. wp-content 외에도 댓글, 작성자 정보, uploads 폴더 등 사이트의 여러 요소를 보호하는 기능도 제공합니다!
B. 수동 변경 (비추천)
수동으로 wp-content 폴더 이름을 변경하려면 웹 서버에서 해당 폴더에 접근해 수정해야 합니다. 사소한 실수 하나로 사이트가 손상될 수 있으므로 이 방법은 강력히 권장하지 않습니다. 그래도 진행하고자 한다면 다음 단계를 따르세요.
1단계: 웹 호스팅 계정에 로그인한 후 cPanel로 이동하고, 웹사이트의 파일 관리자(File Manager)에 접속합니다.
2단계: wp-content 폴더로 이동한 후, 우클릭하여 'Rename(이름 변경)'을 선택합니다.
3단계: 원하는 다른 이름으로 폴더명을 변경합니다. 반드시 고유한 이름을 사용하고, 이미 사이트에서 사용 중인 이름과 겹치지 않도록 주의하세요.
3. WP-Content 폴더 숨기기
해커가 URL을 포함한 악성 코드로 wp-content 디렉토리에 접근을 시도하는 경우가 있습니다. 이 폴더의 URL 경로는 일반적으로 yourdomain.com/wp-content 또는 yourdomain.com/public_html/wp-content 형태입니다.
이 URL 경로는 브라우저 주소창에 입력되는 용도가 아니라, 사이트 코드 내부에서 사용됩니다. 해커는 악성 코드를 작성해 이 폴더의 데이터를 가져오거나 자신의 악성 코드를 삽입합니다.
외부인이 이 URL 경로에 접근하지 못하도록 차단할 수 있습니다. 차단 후에는 공통 워드프레스 대시보드에 로그인한 사용자만 접근할 수 있습니다. 이를 위해 앞서 소개한 플러그인을 사용하거나 수동으로 진행할 수 있습니다.
A. 플러그인 사용 (권장 · 안전)
WP Hide & Security Enhancer 플러그인을 사용하면 클릭 두 번으로 wp-content URL 경로를 차단할 수 있습니다.
간단히 'Block wp-content URL' 옵션으로 이동하여 yes를 선택합니다. 변경 사항을 저장(Save Changes)하면 플러그인이 자동으로 wp-content URL 경로를 차단합니다.
B. 수동 설정 (비추천)
이 방법은 .htaccess 파일에 코드를 추가해야 합니다. 워드프레스 파일을 수동으로 수정하는 것은 매우 위험하며, 작은 오류 하나로 사이트가 오작동하거나 완전히 다운될 수 있습니다. 그럼에도 직접 시도해 보고 싶다면 아래 단계를 따르세요.
1단계: 웹 호스팅 계정에 로그인한 후 cPanel로 이동하고, 웹사이트의 파일 관리자(File Manager)에 접속합니다.
2단계: wp-content 폴더로 이동한 후 새 파일을 생성하고, 파일명을 .htaccess로 지정합니다.
3단계: 해당 파일을 우클릭하여 'Edit(편집)'을 선택합니다. 아래 코드를 붙여넣고 변경 사항을 저장합니다.
Order Allow, Deny Deny from all Allow from all
생성 후 .htaccess 파일이 보이지 않는다면 Settings(설정)에서 'Show Hidden Files(숨김 파일 표시)'를 선택하세요.
4단계: 이제 wp-content 폴더가 숨겨집니다. https://www.yourdomain.com/wp-content 로 접근을 시도하면 오류 메시지가 표시되는 것을 확인할 수 있습니다.
여기까지 워드프레스 사이트의 wp-content와 uploads 폴더에 대한 설명을 마무리하겠습니다. 이제 이 폴더가 어떤 역할을 하는지, 어디에 위치하는지, 그리고 어떻게 보호해야 하는지 충분히 이해하셨기를 바랍니다.
마치며
wp-content 폴더는 워드프레스 사이트의 핵심 구성 요소입니다. 그렇기 때문에 워드프레스 보안 조치를 통해 이 폴더를 철저히 보호하고 백업하는 것이 무엇보다 중요합니다.
wp-content 외에도 보호해야 할 필수 파일과 폴더가 많습니다. 사이트의 한두 요소만이 아니라 사이트 전체를 보호하는 것을 권장합니다.
이를 위해 MalCare 보안 플러그인 설치를 추천합니다. 이 플러그인은 사이트를 주기적으로 검사하여 멀웨어를 탐지하고, 의심스러운 활동이 감지되면 즉시 알려줍니다. 또한 사이트 전체를 정기적으로 백업하여 안전한 오프사이트(off-site) 위치에 저장할 수 있습니다.
MalCare로 지금 바로 워드프레스 사이트를 보호하세요!