Computer >> 컴퓨터 >  >> 네트워킹 >> 인터넷

고객에게 WordPress를 더 쉽게 사용하게 해주는 5가지 실전 팁

고객에게 WordPress를 더 쉽게 사용하게 해주는 5가지 실전 팁

고객(또는 지인)을 위해 WordPress 사이트를 구축할 때 가장 중요한 목표는 두 가지입니다. 사용자가 사이트를 쉽게 다룰 수 있도록 돕는 것과, 동시에 치명적인 실수로 사이트가 망가지는 것을 방지하는 것이죠.

사용자의 요구에 맞는 사이트를 만들고 싶다면, 불필요한 기능은 과감히 제거하고 인터페이스를 단순화해야 합니다. 잘 설계된 환경이라면 별도의 안내 없이도 사용자의 실수를 자연스럽게 차단할 수 있습니다. 지금부터 WordPress 오류를 예방하면서도 고객의 사용 편의성을 높일 수 있는 다섯 가지 방법을 살펴보겠습니다.

1. 관리자 계정 수 제한하기

팀원이나 고객 중에는 WordPress에 능숙한 사람이 있는 반면, 그렇지 않은 사람도 있습니다. WordPress의 관리자(Admin) 역할은 강력한 권한과 그에 따른 책임을 함께 부여합니다. 따라서 WordPress 사용이 서툰 고객이라면 권한을 '편집자(Editor)' 수준으로 제한하는 것이 좋습니다. 별도의 관리자 계정을 만들어 보관하면 고객이 사이트의 민감한 영역에 함부로 접근하는 일을 막을 수 있습니다.

고객에게 WordPress를 더 쉽게 사용하게 해주는 5가지 실전 팁

관리자 자격증명을 고객이 스스로 계정을 관리할 수 있을 때까지 보유하는 방법도 있고, 관리자와 편집자 자격증명을 모두 넘겨주는 방법도 있습니다. 후자를 선택한다면, 민감한 관리자 로그인은 최상위 관리 작업이 필요할 때만 사용하도록 안내하세요.

관리자 계정을 제한하면 보안과 운영상 취약점이 줄어들 뿐만 아니라, 초보 WordPress 사용자에게 대시보드 화면이 덜 복잡하게 느껴진다는 부수적인 효과도 있습니다.

2. 테마 커스터마이저 옵션 비활성화하기

부모 테마(Parent Theme)가 제공하는 커스터마이징 옵션이 자식 테마(Child Theme)와 어울리지 않는 경우가 있습니다. 이런 불일치는 코드 충돌을 일으키거나, 해당 옵션이 자식 테마에서 아예 사용되지 않아 무의미한 메뉴로 남기도 합니다.

고객에게 WordPress를 더 쉽게 사용하게 해주는 5가지 실전 팁

WordPress의 테마 커스터마이저 API를 활용하면 아래와 같은 코드를 테마의 'functions.php' 파일에 추가하는 것만으로 부모 테마의 커스터마이징 옵션을 손쉽게 제거할 수 있습니다. 아래 스니펫의 각 줄은 특정 테마 커스터마이징 옵션과 대응되며, 주석 처리를 해제한 항목만 비활성화됩니다.

# Remove customizer options.
function mte_remove_customizer_options( $wp_customize ) {
    // $wp_customize->remove_section( 'static_front_page' );
    // $wp_customize->remove_section( 'title_tagline' );
    $wp_customize->remove_section( 'colors' );
    $wp_customize->remove_section( 'header_image' );
    $wp_customize->remove_section( 'background_image' );
    // $wp_customize->remove_section( 'nav' );
    // $wp_customize->remove_section( 'themes' );
    // $wp_customize->remove_section( 'featured_content' );
    // $wp_customize->remove_panel( 'widgets' );
}
add_action( 'customize_register', 'mte_remove_customizer_options', 30 );

3. 필요한 대시보드 메뉴만 남기기

모든 WordPress 사이트가 동일한 기능을 필요로 하지는 않습니다. 예를 들어 블로그 기능이 전혀 필요 없는 사이트도 있습니다. 대시보드의 메뉴 개수를 줄이면 불필요한 요소가 사라져 사용자가 화면을 훨씬 쉽게 파악할 수 있습니다. 아래 예시에서는 '글(Posts)' 메뉴가 필요 없으므로, 'functions.php'에 다음 코드를 추가해 해당 기능을 숨깁니다.

아래 코드의 각 줄은 특정 대시보드 메뉴와 대응됩니다. 파일 이름이 실제 대시보드의 메뉴 이름과 항상 일치하지 않을 수 있으므로, 주석은 빠른 참고용으로만 활용하세요.

function mte_custom_menu_page_removing() {
  // remove_menu_page( 'index.php' );                  //Dashboard
  // remove_menu_page( 'jetpack' );                    //Jetpack* 
  remove_menu_page( 'edit.php' );                   //Posts
  remove_menu_page( 'upload.php' );                 //Media
  // remove_menu_page( 'edit.php?post_type=page' );    //Pages
  remove_menu_page( 'edit-comments.php' );          //Comments
  // remove_menu_page( 'themes.php' );                 //Appearance
  // remove_menu_page( 'plugins.php' );                //Plugins
  // remove_menu_page( 'users.php' );                  //Users
  // remove_menu_page( 'tools.php' );                  //Tools
  // remove_menu_page( 'options-general.php' );        //Settings
}
add_action( 'admin_menu', 'mte_custom_menu_page_removing' );

'글' 메뉴를 숨기기 전의 대시보드는 다음 이미지와 같습니다.

고객에게 WordPress를 더 쉽게 사용하게 해주는 5가지 실전 팁

메뉴를 숨긴 후에는 다음과 같이 깔끔하게 정리된 모습을 확인할 수 있습니다.

고객에게 WordPress를 더 쉽게 사용하게 해주는 5가지 실전 팁

단, 메뉴를 숨기는 것과 사용자 권한을 회수하는 것은 다르다는 점에 유의해야 합니다. 사용자는 URL을 직접 입력하면 숨겨진 '글' 메뉴에 여전히 접근할 수 있습니다. 이처럼 메뉴 숨기기는 대시보드 정리에는 효과적이지만, 접근 자체를 완전히 차단하고 싶다면 사용자 역할(Role)을 수정해야 합니다. 아래 코드는 플러그인의 활성화 훅(activation hook)에 추가하면 되며, 한 번만 실행되면 됩니다.

global $wp_roles; // global class
$role = 'author';
$cap = 'delete_published_posts';
$wp_roles->remove_cap( $role, $cap );

4. mu-plugin 디렉터리 설정 및 활용하기

'mu-plugins' 디렉터리의 존재를 아는 개발자는 많지 않습니다. mu-plugin 디렉터리는 플러그인을 설치할 수 있는 또 다른 위치로, 접두사 'mu'는 'must use(필수 사용)'를 의미합니다. 이곳에 설치된 플러그인은 대시보드에서 실수로 비활성화될 수 없으며, 수동으로 활성화할 필요도 없이 자동으로 활성화됩니다.

고객에게 WordPress를 더 쉽게 사용하게 해주는 5가지 실전 팁

mu-plugins 디렉터리에 설치된 플러그인은 다른 플러그인보다 먼저 로드됩니다. 이러한 우선 로드 방식은 사이트 운영에 필수적인 플러그인에 매우 유리합니다. 사이트가 원활하게 동작하는 데 반드시 필요한 플러그인이라면 mu-plugin 디렉터리에 배치하는 것이 좋습니다. 또한 이 디렉터리에 추가된 코드는 테마를 변경하거나 수정하더라도 항상 활성 상태로 유지된다는 장점도 있습니다.

mu-plugin 디렉터리는 WordPress에 기본 포함되어 있지 않으므로, 'wp-content' 폴더 안에 직접 생성해야 합니다.

다만 한 가지 제한이 있습니다. WordPress는 하위 디렉터리 내부의 코드를 무시하고 'mu-plugins' 폴더의 최상위 파일만 탐색합니다. 이 제한을 해결하려면 'mu-plugins' 최상위에 하나의 PHP 파일을 만들고, 그 파일을 통해 형제 하위 디렉터리의 코드를 로드하도록 구성하면 됩니다.

또 다른 제한은 업데이트 알림을 받을 수 없다는 점입니다. 따라서 mu-plugins는 고객이 신경 쓸 필요가 없는 중요한 코드를 보관하는 공간으로 활용하는 것이 바람직합니다. 자세한 내용은 WordPress Codex 문서를 참고하세요.

5. 플러그인·테마 에디터 비활성화하기

운영 중인 WordPress 사이트의 플러그인과 테마 파일을 대시보드에서 직접 수정하는 것은 전문가답지 못한 습관입니다. 사이트가 손상될 위험이 있을 뿐 아니라, 실시간 편집 환경은 해커에게 공격 표면을 노출하는 결과를 낳습니다. 테마와 플러그인의 실시간 편집을 비활성화하려면 아래 코드를 사이트의 'wp-config.php' 파일에 추가하세요. 이 코드 한 줄로 테마 에디터와 플러그인 에디터가 모두 비활성화됩니다.

define( 'DISALLOW_FILE_EDIT', true );

고객에게 WordPress를 더 쉽게 사용하게 해주는 5가지 실전 팁

마무리

정리하면, 관리자 계정을 제한하고, 테마 커스터마이저 옵션을 끄고, 필요한 대시보드 메뉴만 남기고, mu-plugin 디렉터리를 활용하고, 플러그인·테마 에디터를 비활성화하는 다섯 가지 방법을 통해 WordPress 사용자의 실수 가능성을 크게 줄일 수 있습니다. 이 팁들에 대한 여러분의 의견을 댓글로 남겨주세요.