wp-config.php 기본 설정

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

wp-config.php 파일은 워드프레스 웹 사이트의 가장 중요한 설정 파일입니다. 이 파일은 워드프레스가 데이터베이스에 접속하고 작동하는 데 필요한 핵심 정보를 담고 있기 때문에, 사이트의 심장부와 같습니다.

Ⅰ. wp-config.php의 역할

이 파일에는 다음과 같은 민감한 설정이 포함되어 있습니다.

  • 데이터베이스 연결 정보
  • ↳ MySQL 또는 MariaDB의 이름, 사용자 이름, 비밀번호, 호스트 정보 등 워드프레스 콘텐츠를 저장하는 데이터베이스에 접속하기 위한 필수 정보가 들어 있습니다.
  • 보안 키와 솔트
  • ↳ 사용자의 로그인 세션과 쿠키를 암호화하여 보안을 강화하는 데 사용되는 고유하고 무작위적인 문자열입니다. 이 키가 없으면 세션이 안전하게 유지될 수 없습니다.
  • 기타 핵심 설정
  • ↳ 테이블 접두사, 디버그 모드 활성화/비활성화, 파일 편집 비활성화 등 워드프레스의 작동 방식을 제어하는 중요한 상수가 정의되어 있습니다.
워드프레스 wp-config.php 파일

이러한 특성 때문에 wp-config.php 파일은 외부 공격자에게 최우선 공격 대상이 됩니다. 파일에 대한 접근 권한이 잘못 설정되거나 내용이 노출될 경우, 데이터베이스 전체가 유출되거나 사이트의 관리 권한을 빼앗길 수 있는 심각한 보안 취약점으로 이어집니다. 따라서 워드프레스 보안을 강화하는 첫걸음은 이 파일의 안전을 확보하는 것입니다.

Ⅱ. /* That’s all, stop editing! Happy publishing. */

이 주석(/* That’s all, stop editing! Happy publishing. */)은 기술적으로 PHP 코드로서 특별한 기능을 수행하는 것은 아닙니다. 단순히 주석일 뿐입니다.

하지만 워드프레스 개발팀이 사용자들에게 “이 주석 아래에는 워드프레스가 작동하는 데 필요한 핵심 코드가 있으니 건드리지 말라”는 의미로 남겨둔 ‘표식‘ 역할을 합니다.

🔲 핵심: 이 주석 위에 코드를 추가해야 하는 이유

워드프레스의 wp-config.php 파일은 다음과 같은 구조로 끝납니다.

// (중략: 데이터베이스 정보, 보안 키, 테이블 접두사 등)

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 */
define( 'WP_DEBUG', false );
### 
/* That's all, stop editing! Happy publishing. */

/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
	define( 'ABSPATH', dirname( __FILE__ ) . '/' );
}

/** Sets up WordPress vars and included files. */
require_once( ABSPATH . 'wp-settings.php' );
  1. 설정 상수(define)는 위에: 워드프레스 설정에 관련된 대부분의 상수(define)들은 /* That's all, stop editing! Happy publishing. */ 주석 바로 위에 정의되어야 워드프레스가 설정을 초기화하는 과정에서 정상적으로 로드됩니다.
  2. 워드프레스 로딩 시작은 아래에: 이 주석 아래에는 ABSPATH 정의와 require_once( ABSPATH . 'wp-settings.php' );라는 코드가 있습니다. 이 wp-settings.php 파일을 로드하는 순간부터 워드프레스의 핵심 기능들이 실제로 구동되기 시작합니다.

따라서 사용자가 추가적인 설정 (예: 파일 편집 비활성화 define('DISALLOW_FILE_EDIT', true);나 메모리 제한 설정 define('WP_MEMORY_LIMIT', '256M'); 등)을 하려면, 워드프레스의 핵심 로딩 파일이 호출되기 이전, 즉 주석 바로 위에 작성해야 오류 없이 적용됩니다.

Ⅲ. 워드프레스 설치 후 적용하는 wp-config.php 기본 설정

🔲 heartbeat 설정

워드프레스 ‘Heartbeat’는 서버와 웹사이트가 계속 연결되어 있는지 확인하는 신호입니다. Heartbeat API는 
/wp-admin/admin-ajax.php를 사용하여 웹 브라우저에서 AJAX 호출을 실행합니다. 워드프레스 대시보드에서 15초마다 이 파일로 인해 POST 요청이 전송됩니다.

관리자 글쓰기 화면(post.php, post-new.php)에서는 동작하도록 설정할 수 있습니다.

상단 ( /* That's all, stop editing! */ 위쪽) 에 다음 코드를 추가합니다.

/** Disable Heartbeat everywhere except post editor */
add_action('init', function() {
    global $pagenow;
    if ($pagenow != 'post.php' && $pagenow != 'post-new.php') {
        wp_deregister_script('heartbeat');
    }
}, 1);

🔲 워드프레스 메모리 설정

메모리 설정은 워드프레스가 PHP에서 사용할 수 있는 메모리의 최대치를 지정해, 테마나 플러그인 실행 중 메모리 부족 오류(Fatal error: Allowed memory size exhausted)를 방지하기 위함입니다. 즉, 안정적인 사이트 구동과 리소스 초과 방지를 위한 기본적인 안전 장치입니다.

워드프레스 튜토리얼이나 공식 문서에서는 define('WP_MEMORY_LIMIT', '256M'); 하나만 나오는 경우가 대부분입니다.

/** Memory Limit for WordPress */
define('WP_MEMORY_LIMIT', '256M');      // 프론트엔드
define('WP_MAX_MEMORY_LIMIT', '512M');  // 관리자/백엔드

‘WP_MAX_MEMORY_LIMIT’는 프론트엔드보다 백엔드에 더 많은 메모리를 허용하는 구조입니다.

WP_MEMORY_LIMIT는 “사이트 방문자용 메모리 한도”이고,
WP_MAX_MEMORY_LIMIT는 “관리자·내부 처리용 확장 한도”입니다.
두 개를 함께 설정해야 완전한 워드프레스 메모리 제어가 가능합니다.

서버에 설정 된 php.ini 또는 PHP-FPM pool 설정보다 wp-config.php 값이 더 클 경우 서버 설정을 따르게 되어 있습니다.

🔲 Revisions 제한

워드프레스 리비전은 게시물의 수정 하기 전 데이터가 계속해서 쌓이기 때문에 웹사이트가 느려집니다. 특히 캐시가 설치되지 않은 워드프레스 사이트의 경우와 캐시가 설치되어 있어도 관리자 페이지 대시보드에서 작업을 하는 동안, 특히 글이나 페이지에서 콘텐츠를 제작하는 경우 방문자 페이지까지 느려지는 경우가 있습니다.

예를 들어 서버의 총 CPU를 50% 정도 사용하는 경우 어떤 캐시 플러그인을 쓰더라도 방문자 페이지의 속도가 떨어질 수 있습니다.

때문에 리비전을 비활성화 하거나 갯수 제한을 적용합니다.

◽️️리비전 완전히 끄기

/** Disable Post Revisions completely */
define('WP_POST_REVISIONS', false);

◽️️리비전을 일정 개수로 제한 (예: 3개)

/** Limit Post Revisions to 3 per post */
define('WP_POST_REVISIONS', 3);

◽️️글 자동 저장 간격 조정

워드프레스 글 자동 저장 간격은 기본 1분입니다. 예를 들어 기본 60초 → 5분(300초)으로 늘릴 수 있습니다.

/** Increase autosave interval to 5 minutes */
define('AUTOSAVE_INTERVAL', 300);

ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.

Similar Posts

  • 워드프레스 대시콘: dashicons.min.css 3.8 공식 아이콘 글꼴 | 2020년 SVG 아이콘으로 교체

    워드프레스 대시콘은 워드프레스 3.8 버전(2013년) 에서 도입된 공식 아이콘 글꼴입니다. 관리자 화면 전반에서 메뉴와 버튼 등에 아이콘을 표시하기 위해 사용되었지만, 폰트 기반 아이콘의 한계와 해상도 문제로 인해 2020년경부터 SVG 아이콘 체계로 전환되었습니다. 현재 대부분의 최신 테마와 플러그인은 SVG 아이콘이나 커스텀 아이콘 세트를 사용하는 추세입니다. Ⅰ. 워드프레스 대시콘의 역사 2013년도의 워드프레스 3.8 버전에서 공식으로…

  • 워드프레스 테마 설치 및 활성화

    워드프레스 테마 설치 방법 및 활성화 방법입니다. 1. 워드프레스 테마 설치하기 워드프레스 관리자 페이지에 접속했다면 좌측 [외모] > [테마] 탭으로 이동합니다. 설치된 기본 테마가 활성화 되어 있습니다. 테마 메뉴 상단 [새로 추가] 버튼을 누르면 인기있는 테마 및 최근순 등의 테마를 확인할 수 있습니다. 테마 목록에서 테마 위에 마우스를 올려 놓으면 우측 하단 [설치]…

  • WP Rocket 설정 가이드: 직관적 UI, 워드프레스 캐시 플러그인 $59의 가치

    WP Rocket은 워드프레스 캐시 플러그인입니다. 이 콘텐츠는 직관적인 인터페이스와 설정으로 관리하기 쉬운 WP Rocket 기본 설정 방법을 설명합니다. 워드프레스의 속도가 중요한 이유는 무엇보다 자연 검색 및 유료 광고에서 사용자가 이탈하지 않게 하는 것이 중요하기 때문입니다. WP Rocket은 간편한 설정과 함께 추가 기능의 80% 정도가 자동으로 작동하여 별도의 복잡한 관리 없이도 높은 효과를 발휘합니다….

  • SSL/TLS 보안인증서 등급 3가지

    SSL/TLS 보안인증서는 등급이 존재합니다. TLS 보안인증서 등급은 DV 인증서, OV인증서, EV인증서 크게 3종류로 나눌 수 있습니다. Sectigo와 같은 인증 기관Certificate Authorities에서 등급으로 지정된 TLS 보안인증서를 이용할 수 있습니다. 보통은 서버를 이용하는 회사나 국내 인증기관에서 Sectigo SSL을 포함한 인증 기관의 SSL 제품을 판매하니 필요한 경우 홈페이지 용도에 맞게 사용할 수 있습니다. 1. SSL/TLS 보안인증서…

  • 워드프레스 블로그 성장이 제자리인 사람들: 유튜브로만 배우는 습관

    유튜브 영상으로 워드프레스를 접하고 강의까지 결제해 블로그를 시작한 분들에게는 공통점이 있습니다. 워드프레스 블로그 성장이 제자리걸음이라는 것입니다. 제자리걸음은 1년 뒤 호스팅과 도메인을 연장하지 않는 것으로 드러납니다. 유튜브가 나쁘다는 이야기가 아닙니다. 화면을 직접 봐야 이해되는 설치나 설정은 영상이 빠릅니다. 문제는 그 뒤에도 계속 영상만 찾는다는 데 있습니다. 오류 메시지 하나를 검색창에 넣으면 3분이면 해결될 일을…

  • 호스팅 업체 고르는 기준: 어느 날 조용히 사라지는 업체들

    호스팅 업체 고르는 기준은 가격표가 아니라 실체에 있습니다. 자체 조회 도구와 도메인 등록대행 자격, 자체 IP 대역, 몇 년치 쌓인 장애 공지로 리셀러와 껍데기 업체를 걸러내는 방법, 그리고 업체가 조용히 접었을 때 내 사이트가 인질이 되는 조건까지 정리했습니다. 국내 호스팅사 폐업 사례는 검색에 거의 안 잡힙니다. 사고가 없어서가 아니라 조용히 접으면 기록이 남지…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 10   +   8   =