SSL 인증서를 웹서버에 설치하면 자물쇠(Padlock)와 https 프로토콜[over port 443]을 활성화하고 웹서버와 브라우저 사이에 보안 연결이 이루어지도록 합니다.
SSL 인증서를 설치하고 체크아웃(결제) 페이지나 일부 페이지에만 SSL을 활성화하고 싶은 경우가 있을 수 있습니다. 이 경우 다음 코드를 테마의 함수 파일(functions.php)에 추가하면 됩니다.
function crunchify_force_ssl( $force_ssl, $post_id = 0, $url = '' ) {
// List of post or page IDs on which you need SSL cert
// SSL 인증서가 필요한 포스트나 페이지의 ID 리스트
$list_of_post_page = array(2343, 153, 54, 5);
if ( in_array( $post_id, $list_of_post_page ) ) {
return true;
}
return $force_ssl;
}
add_filter('force_ssl' , 'crunchify_force_ssl', 10, 3);
// 출처: crunchify.com
가능한 한 차일드 테마(자식 테마)를 만들고 차일드 테마 내의 함수 파일에 추가하시기 바랍니다. 그렇지 않으면 테마가 업데이트될 때 사용자가 입력한 코드가 사라지게 됩니다.
참고로 관리자 패널(admin panel)에 워드프레스 SSL을 설정하려는 경우 다음 코드를 wp-config.php 파일에 추가하면 됩니다.
define('FORCE_SSL_ADMIN', true);
그러면 전체 관리자 페이지가 SSL을 통해 강제로 로드됩니다.
로그인 페이지에 SSL을 적용하려는 경우 다음 코드를 사용할 수 있습니다.
define('FORCE_SSL_LOGIN', true);
이 코드를 추가하면 로그인 페이지와 회원가입 페이지가 SSL로 로드됩니다.
통계에 의하면 작년에 전세계적으로 60% 이상의 사이트가 https로 로드된다고 합니다. 그리고 최근 구글 크롬이 업데이트되면서 http로 로드되는 사이트에 '주의 요함' 경고 문구가 표시되고 있습니다.
이제 SSL 보안서버 인증서를 적용하지 않으면 SEO에 불리하게 작용할 수 있습니다. (8월 말에 티스토리에서도 전체 티스토리 블로그에 SSL을 적용했습니다.)
국내에서는 아직 많은 웹호스팅 업체가 유료로 SSL 인증서를 제공하고 있습니다. Bluehost(블루호스트), SiteGround(사이트그라운드) 등 해외호스팅에서는 무료로 SSL 인증서를 제공합니다. 특히 사이트그라운드는 와일드카드 인증서까지 제공하므로 서브도메인(2차 도메인)에도 SSL 인증서를 적용할 수 있습니다.