워드프레스 RSS 피드 날짜 시간대를 현지 시간대로 변경하기

2

워드프레스는 SEO에 강해서 구글 웹마스터도구에 등록 후 사이트맵을 제출하고 좋은 글을 꾸준히 작성하면 구글에 검색이 잘 되는 편입니다. 하지만 네이버 블로그 영역에 검색되기 위해서는 사이트맵은 제출하지 말고 가급적 RSS만 제출하는 것이 좋다고 합니다.

실제로 이와 관련하여 테스트 사이트를 만들어서 진행해본 결과 다음과 같은 조건에서 네이버 블로그에 금방 노출되기 시작했습니다.

  1. blog.example.com 형식의 서브도메인 사용
  2. 네이버 웹마스터도구에서 RSS URL만 제출(사이트맵은 제출하지 않음. 제출한 경우 삭제)
  3. 초기에는 글을 발행할 때마다 수동으로 “웹 페이지 요청” 제출하기
  4. SSL 보안서버 인증서 설치

이와 관련된 자세한 내용은 “네이버 블로그 영역에 워드프레스 사이트를 검색되도록 하는 방법 고찰“을 참고해보세요.

테스트 블로그에서 제출한 글이 처음에는 웹사이트 영역에 노출되다가 시간이 조금 지나면 블로그 영역로 이동하여 노출되고 있습니다. 하지만 날짜가 실제 발행한 날짜보다 몇 시간 이전에 발행된 것으로 네이버에 표시되네요.

예를 들어, 5시간 전에 발행된 글이 네이버 블로그 영역에 검색되면서 14시간 전에 발행된 것으로 표시되었습니다.

워드프레스 네이버 블로그 영역 검색

원인을 파악하기 위해 RSS 피드를 확인해보니 RSS에 표시되는 표준시간대를 네이버에서 제대로 해석하지 못해서 발생하는 문제 같습니다.

워드프레스 RSS 피드

RSS 피드에서 발행 시간이 GMT+0 시간대로 표시되어 GMT+9 시간대의 우리나라보다 9시간 늦습니다. 따라서 시차가 9시간이 나기 때문에 실제 발행 시간과 네이버 블로그에 표시된 발생 시간이 9시간 차이가 발생한 것입니다. 이 때문에 경우에 따라서는 실제 발행일보다 하루 일찍 발행된 것으로 표시될 수도 있습니다.

(※ 동일한 사이트의 글이라도 어떤 글은 실제 발행 시간이 제대로 반영되어 표시되네요.)

워드프레스 RSS 피드 날짜 시간대를 현지 시간대로 변경하는 방법

이 문제를 해결하고 싶다면 다음 코드를 응용하면 될 것 같습니다.

/*
* Converts UTC time to local time as set in WordPress
* 워드프레스에서 현지 시간으로 UTC 시간 변환
* Processes data in the format "Y-m-d H:i:s" (same format as used in WordPress core)
* 일시는 워드프레스 코어에서 사용하는 것과 동일한 형식인 "Y-m-d H:i:s" 형식으로 처리
*
* @author Ryan Hellyer <ryanhellyer@gmail.com>
*/function convert_time( $time ) {
$timestamp = strtotime( $time ); // Converting time to Unix timestamp
$offset = get_option( 'gmt_offset' ) * 60 * 60; // Time offset in seconds
$local_timestamp = $timestamp + $offset;
$local_time = date_i18n( 'Y-m-d H:i:s', $local_timestamp );
return $local_time;
}

$time = '2012-08-03 12:33:07';
echo convert_time( $time );
// 출처: geek.hellyer.kiwi

RSS 피드를 커스터마이징하는 방법은 워드프레스 공식 문서 “Customizing Feeds“를 참고해보시기 바랍니다.

위의 코드를 실제로 테스트해보지 않았지만 다른 사용자들에 의하면 잘 작동한다고 하네요. 네이버에서 실제 글 작성 시간보다 9시간 이른 것으로 인식하여 반영한다고 해서 나쁠 것은 없는 것 같지만, 글의 발행 시간이 정확하게 반영되어야 하는 경우 위의 코드를 테스트해볼 수 있습니다.

이 블로그의 경우 네이버 블로그 영역에 잘 검색이 되다가 현재는 웹사이트 영역에 노출되고 있고, 그것도 며칠 늦게 네이버에서 인덱스되고 있는 것 같습니다. 아마도 네이버 정책 변화와 테마 변경 등 몇 가지 요소가 복합적으로 작용한 것이 아닐까 추정해봅니다.

일반적으로 알려진 방법인 blog.example.com과 같이 blog 단어가 포함된 서브도메인 사용, RSS 주소만 제출(사이트맵 삭제), SSL 보안서버 인증서 적용 등의 조치를 취했을 때 네이버 블로그에 노출이 잘 되는 것 같습니다(참고).

blog.example.com 형식의 서브도메인을 네이버에서 블로그로 인식할 가능성이 높은 것은 (비논리적인 것 같지만) blog.naver.com 형식의 네이버 블로그와 관련성이 있어 보이네요.

참고:

Related Posts