워드프레스 유지보수 모드 다루기

워드프레스를 사용하다 보면 종종 이런 화면을 보신 적이 있을 겁니다.

유지보수 모드 기본 화면
유지보수 모드 기본 화면

바로 유지보수 모드 화면인데요. 회색 바탕의 화면에 작은 글씨로 “예약한 유지보수에 대해 잠시 사용할 수 없습니다. 잠시 후에 다시 확인하세요.” 라며 무뚝뚝하게 표시되다가 어느 순간 사라지곤 하죠.

유지보수 모드

유지보수 모드(Maintenance Mode)는 워드프레스를 업데이트하거나 플러그인이나 테마 업데이트가 이루어지고 있을 때 워드프레스가 자동으로 진입했다가 빠져나오곤 하는 상태 모드입니다.

아마 여러분도 이 화면은 어쩌다 한번, 워드프레스 버전을 업데이트하거나 플러그인들을 한꺼번에 업데이트하면서 잠깐 보셨을 텐데요.

사실 이 기능은 워드프레스 버전 3.0부터 이미 도입되어 계속 사용되고 있는 기능이죠.

워드프레스가 내부적으로 유지보수 모드로 전환하는 방법은 의외로 간단합니다. 워드프레스 사이트 루트 디렉터리에 .maintenance라는 파일을 하나 만들어 주고 그 속에 타임스템프(timestamp) 값을 다음과 같이 추가해 주면 바로 유지보수 모드가 됩니다.

<?php $upgrading = time(); ?>

반대로, 이 파일을 삭제하면 유지보수 모드에서 나와 정상 모드가 되죠.

그렇다면 언제든 여러분도 사이트를 유지보수 모드로 만들 수 있지 않을까요? 네, 맞습니다. 굳이 워드프레스 코어나 플러그인 또는 테마를 업데이트하는 경우가 아니라도, 사이트 자체의 개편이나 유지보수가 필요한 경우 등에는 이 방법으로 언제든 사이트를 유지보수 모드(또는 “공사중” 모드)로 쉽게 전환할 수 있습니다.

만약 WP-CLI를 사용할 경우라면, wp maintenance-mode 명령으로 바로 끄고 켤 수 있어 더더욱 편리하겠죠! (단, 이렇게 워드프레스가 직접 생성한 .maintenance 파일의 수명은 10분으로 셋팅됩니다. 따라서 10분이 경과하면 자동으로 폐기되어 유지보수 모드에서 벗어나도록 되어 있는 점 유의하세요!)

커스텀 유지보수 모드 페이지 만들기

그런데 어째 이 유지보수 모드 화면이 좀 마음에 안든다구요? 좀더 근사한 화면으로 유지보수 모드 화면을 표시하고 싶다면 어떻게 하면 될까요?

여러 가지 방법이 있습니다. 우선 가장 간단한(?) 방법부터 말하면, 워드프레스가 기본으로 제공하는 방법을 쓰면 됩니다. 워드프레스는 사용자(또는 개발자)가 /wp-content 디렉터리 내에 maintenance.php 파일을 만들어 넣을 경우 이 파일로 기존의 디폴트 유지보수 모드 화면을 대체합니다.

따라서 좀더 멋진 유지보수 모드 페이지를 만들고 싶으면 /wp-content 디렉터리 속에 maintenance.php 파일을 하나 만들어 넣고 그 속에 최고 디자이너가 디자인한 멋진 유지보수 화면을 보여주면 되겠죠?

유지보수 모드 코드 추가하기

한편 앞서 소개한 .maintenance 파일 삽입 방식 아니라도, 직접 코드를 몇 줄 추가하면 간단하게 사이트를 유지보수 모드로 변경할 수도 있습니다.

예를 들어, 테마의 functions.php 파일 속에 아래 코드를 추가하고,

// Activate WordPress Maintenance Mode
function wp_maintenance_mode() {
    if( !current_user_can('edit_themes') || !is_user_logged_in() ) {
        wp_die('<h1 style="color:green">웹사이트 유지보수 중</h1><br />지금 사이트 유지보수 중입니다. 곧 더 좋은 모습으로 찾아 뵐께요!', 503);
    }
}
add_action( 'wp_loaded', 'wp_maintenance_mode' );

사이트에 접속해 보면 다음과 같이 유지보수 모드 화면이 표시됩니다.

웹사이트 유지보수 중
웹사이트 유지보수 중

WP Maintenance Mode 플러그인

물론 이렇게 직접 만드는 게 귀찮을 수 있습니다. 그럴 경우엔 어떻게 하면 될까요?

네, 맞습니다. 플러그인을 쓰면 되겠죠? 이미 워드프레스 플러그인들 중에는 유지보수 모드와 관련된 플러그인들이 많이 나와 있습니다.

Designmodo의 WP Maintenance Mode 플러그인은 대표적인 워드프레스 유지보수 모드 플러그인입니다.

WP Maintenance Mode
WP Maintenance Mode

이 플러그인을 사용하면 간단한 설정만으로 유지보수 모드 화면을 아주 근사하게 변경할 수 있죠. 아래 그림에서 보듯, “WP Maintenance Mode” 메뉴에서 간단하게 유지보수 모드 상태를 켜고 끌 수 있습니다.

WP Maintenance Mode General Settings
WP Maintenance Mode General Settings

단순히 유지보수 모드만 끄고 켜는 게 아니라 “디자인(Design)” 탭에서는 유지보수 모드 페이지 디자인과 관련된 항목들을,

WP Maintenance Mode Design Settings
WP Maintenance Mode Design Settings

모듈(Modules)” 탭에서는 카운트다운(Countdown) 이나 이메일 구독폼(Subscribe) 같은 각종 모듈을 유지보수 모드 페이지에 추가할 수도 있어 다음과 같은 유지보수 모드 화면을 간단하게 만들 수 있습니다.

WP Maintenance Mode Screenshot
WP Maintenance Mode Screenshot

다만, 이 플러그인은 앞서 소개한 워드프레스의 표준 유지보수 모드 방식을 사용하지 않습니다. 대신 자체적으로 구현한 방법으로 유지보수 모드를 처리하는 점 유의하시구요.

물론 유지보수 모드와 관련된 플러그인은 이것만 있는 건 아닙니다. 찾아보면 여러 가지 좋은 플러그인들이 나와 있으니 그 중 마음에 드는 것을 하나 골라 사용하시면 될 것 같네요.

※ 엄밀히 말해 유지보수(Maintenance) 페이지와 커밍순(Comming Soon) 페이지는 성격이 조금 다르지만, 여기서는 구분 없이 사용하였습니다.

0 thoughts on “워드프레스 유지보수 모드 다루기”