워드프레스
기본 정보
- 이름: 워드프레스 (WordPress)
- 영문명: WordPress
- 분류: 오픈소스 CMS(Content Management System)
- 개발 언어: PHP
- 데이터베이스: MySQL, MariaDB
- 라이선스: GPL v2 이상
- 최초 공개: 2003년
- 관련 주제: #WordPress #CMS #PHP #블로그 #웹개발
개요
워드프레스는 세계에서 가장 널리 사용되는 오픈소스 CMS(Content Management System)이다.
처음에는 블로그 플랫폼으로 시작했지만 현재는 기업 홈페이지, 쇼핑몰, 뉴스 사이트, 포트폴리오, 커뮤니티 등 다양한 웹사이트를 구축할 수 있는 플랫폼으로 발전하였다.
수많은 테마와 플러그인을 통해 기능을 손쉽게 확장할 수 있으며, SEO 친화적인 구조를 제공한다.
주요 특징
- 오픈소스(GPL)
- PHP 기반
- MySQL/MariaDB 지원
- 테마 시스템 제공
- 플러그인 확장 가능
- SEO 친화적
- 관리자 페이지 기본 제공
- 다국어 지원
- REST API 지원
시스템 구조
Browser
↓
Apache / Nginx
↓
PHP
↓
WordPress Core
├── Theme
├── Plugin
├── Media
├── User
└── REST API
↓
MySQL / MariaDB
주요 기능
게시글(Post)
- 블로그 글 작성
- 카테고리 관리
- 태그 관리
- 댓글 기능
페이지(Page)
회사소개, 이용약관 등 고정 페이지를 작성할 수 있다.
미디어(Media)
- 이미지
- 동영상
- 문서 파일
등을 업로드하여 관리할 수 있다.
사용자(User)
기본 권한
- Administrator
- Editor
- Author
- Contributor
- Subscriber
필요에 따라 권한을 추가하거나 수정할 수 있다.
메뉴(Menu)
웹사이트의 내비게이션 메뉴를 생성하고 관리한다.
위젯(Widget)
사이드바, 푸터 등에 다양한 기능을 추가할 수 있다.
디렉터리 구조
/
├── wp-admin/
├── wp-content/
│ ├── themes/
│ ├── plugins/
│ └── uploads/
├── wp-includes/
├── index.php
├── wp-config.php
└── .htaccess
주요 폴더 설명
| 폴더 | 설명 |
|---|---|
| wp-admin | 관리자 영역 |
| wp-content | 사용자 데이터 |
| themes | 테마 |
| plugins | 플러그인 |
| uploads | 업로드 파일 |
| wp-includes | 워드프레스 핵심 라이브러리 |
데이터베이스 주요 테이블
| 테이블 | 설명 |
|---|---|
| wp_posts | 게시글 및 페이지 |
| wp_users | 사용자 |
| wp_options | 환경설정 |
| wp_postmeta | 게시글 메타 |
| wp_terms | 카테고리 |
| wp_term_taxonomy | 분류 |
| wp_comments | 댓글 |
| wp_usermeta | 사용자 메타 |
접두사 wp_는 설치 시 변경할 수 있다.
테마(Theme)
테마는 사이트의 디자인과 레이아웃을 담당한다.
구성 예시
theme/
├── style.css
├── functions.php
├── header.php
├── footer.php
├── index.php
├── single.php
└── page.php
플러그인(Plugin)
플러그인은 기능을 확장하는 모듈이다.
예시
- SEO
- 캐시
- 쇼핑몰
- 회원관리
- 보안
- 백업
대표 플러그인
- Yoast SEO
- Rank Math SEO
- WooCommerce
- Contact Form 7
- Elementor
- Advanced Custom Fields (ACF)
- WP Super Cache
- Wordfence Security
대표 테마
- Astra
- GeneratePress
- OceanWP
- Kadence
- Twenty Twenty-Four
REST API
게시글 조회
GET
/wp-json/wp/v2/posts
사용자 정의 API 개발도 가능하다.
Hook 시스템
Action
add_action(
'init',
'my_function'
);
Filter
add_filter(
'the_content',
'my_filter'
);
워드프레스의 핵심 확장 방식이다.
주요 활용 분야
- 블로그
- 기업 홈페이지
- 쇼핑몰
- 뉴스 사이트
- 포트폴리오
- 랜딩 페이지
- LMS
- 커뮤니티
장점
- 설치가 쉬움
- SEO 친화적
- 테마와 플러그인이 풍부함
- 전 세계적으로 사용자가 많음
- 커뮤니티와 자료가 방대함
- 개발 없이도 사이트 구축 가능
단점
- 플러그인 과다 사용 시 성능 저하 가능
- 보안 관리가 중요함
- 대규모 커스터마이징 시 구조 이해 필요
- 업데이트 시 호환성 문제 발생 가능
실무 메모
실무에서는 다음과 같은 방식이 권장된다.
- 자식 테마(Child Theme) 사용
- 원본 테마 직접 수정 지양
- 플러그인 최소화
- 최신 버전 유지
- 정기 백업 수행
- SSL 적용
- 캐시 플러그인 활용
- 이미지 최적화
- 불필요한 플러그인 제거
- 관리자 계정 보안 강화
워드프레스와 함께 사용하는 기술
대표 개발 도구
- LocalWP
- XAMPP
- Docker
- WP-CLI
- phpMyAdmin
- Visual Studio Code
관련 문서
출처
- WordPress.org 공식 홈페이지
- WordPress Developer Documentation
- 위키백과 「WordPress」