워드프레스 블로그를 운영하다 보면 RSS 피드의 날짜가 잘못 표시되는 문제를 겪을 수 있다. 이는 Google 서치 콘솔에서 사이트맵을 제출할 때 오류를 일으키기도 한다. 이 글에서는 이 문제를 해결하는 두 가지 방법을 자세히 알아본다.
방법 1: 시스템 설정 변경하기
첫 번째 방법은 워드프레스와 서버의 시간 설정을 바꾸는 것이다. 이 방법은 전체 시스템의 시간을 한 번에 조정할 수 있어 편리하다.
- 워드프레스 시간대 설정 바꾸기:
- 워드프레스 관리자 페이지에 들어간다.
- ‘설정’ 메뉴에서 ‘일반’을 클릭한다.
- ‘시간대’ 설정을 찾아 “서울”로 바꾼다. 이는 UTC+9에 해당한다.
- 변경 사항을 꼭 저장한다.
- PHP 설정 파일 고치기:
- 서버에 접속해서 ‘php.ini’ 파일을 연다.
- 이 파일에서 ‘date.timezone’ 설정을 찾거나 새로 만든다.
- 다음과 같이 설정한다:
date.timezone = "Asia/Seoul"
- 파일을 저장하고 웹 서버를 다시 시작한다.
- 워드프레스 설정 파일 수정하기:
- 워드프레스가 설치된 폴더에서 ‘wp-config.php’ 파일을 연다.
- 파일 맨 아래에 다음 내용을 추가한다:
define('WP_TIMEZONE_OVERRIDE', 'Asia/Seoul');
- 파일을 저장한다.
이 방법의 장점은 한 번 설정하면 전체 사이트에 적용된다는 것이다. 하지만 서버 설정을 바꿔야 해서 호스팅 업체에 따라 할 수 없을 수도 있다.
방법 2: 코드로 시간 바꾸기
두 번째 방법은 워드프레스 코드를 직접 수정해서 시간을 바꾸는 것이다. 이 방법은 서버 설정을 바꾸지 않아도 되지만, 코드를 수정해야 한다.
- 시간 변환 함수 만들기:
- 워드프레스 테마 폴더에서 ‘functions.php’ 파일을 연다.
- 파일 맨 아래에 다음 함수를 추가한다:
function convert_time($time) {
$timestamp = strtotime($time);
$offset = get_option('gmt_offset') * 60 * 60;
$local_timestamp = $timestamp + $offset;
$local_time = date_i18n('Y-m-d H:i:s', $local_timestamp);
return $local_time;
}
- 이 함수는 UTC 시간을 워드프레스에 설정된 지역 시간으로 바꿔준다.
- RSS 피드 파일 고치기:
- 워드프레스 설치 폴더에서 ‘wp-includes/feed-rss2.php’ 파일을 연다.
- 다음과 같은 줄을 찾는다:
<pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
- 이 줄을 다음과 같이 바꾼다:
<pubDate><?php echo date('D, d M Y H:i:s +0000', strtotime(convert_time(get_post_time('Y-m-d H:i:s', true)))); ?></pubDate>
- 파일을 저장한다.
이 방법의 장점은 서버 설정을 바꾸지 않아도 된다는 것이다. 하지만 워드프레스를 업데이트할 때 변경한 내용이 사라질 수 있어 주의해야 한다.
두 방법 모두 RSS 피드의 날짜 오류를 해결할 수 있다. 어떤 방법을 선택할지는 자신의 상황에 맞게 결정하면 된다. 서버 설정을 바꿀 수 있다면 첫 번째 방법이, 그렇지 않다면 두 번째 방법이 좋을 것이다.
이 변경을 한 후에는 꼭 다음 단계를 거쳐야 한다:
- 사이트맵을 다시 만든다. SEO 플러그인 설정에서 이 옵션을 찾을 수 있다.
- Google 서치 콘솔에서 사이트맵을 다시 제출한다.
이렇게 하면 RSS 피드의 날짜 오류 문제를 해결하고, Google 검색에서 더 정확한 정보를 보여줄 수 있다.