네이버 RSS 피드 주소

[워드프레스] RSS 피드 날짜/시간 형식

워드프레스에서 RSS 피드 주소는 보통 http://your-site-url/feed/ 또는 http://your-site-url/?feed=rss(고유주소를 기본으로 설정된 경우)입니다. RSS 피드를 살펴보면 날짜/시간 형식이 로컬 날짜/시간 기준이 아니라 UTC(+0000) 기준임을 알 수 있습니다.

워드프레스 RSS 피드 날짜 형식

위의 그림과 같이 날짜 시간이 +0000 기준임을 확인할 수 있습니다. 여기에 대해 WordPress Codex 문서에서는 다음과 같이 설명하고 있습니다.

WordPress adheres to the RSS specifications. This means that the time and date format will NOT use your blog time/date format as set in your settings, instead it uses the time and date format from the RFC822 specification. This looks for example like this: Sun, 06 Sep 2009 16:10:34 +0000

즉, 워드프레스는 RSS 규격(사양)을 준수하므로 시간과 날짜 형식은 설정에서 지정된 블로그의 시간/날짜 형식을 따르지 않고 RFC822 규격에서 정한 시간과 날짜 형식을 사용합니다(예: Sun, 06 Sep 2009 16:10:34 +0000). 그리고 피드의 시간/날짜 형식은 현지화해서는 안 된다고 밝히고 있습니다. 최신 RSS 규격은 영어를 기본값으로 지정하고 있는 RFC822 규격을 참조하고 있기 때문이라고 합니다.

워드프레스를 네이버에 등록하려면 RSS 피드를 제출해야 합니다(여기 참조). 그런데 네이버 블로그나 티스토리의 RSS 피드를 살펴보면 특이하게도 UTC가 우리나라 기준(+0900)입니다.

네이버 RSS 피드 주소

이 경우 네이버에서 워드프레스 RSS 피드와 네이버 RSS나 티스토리 RSS 피드의 날짜를 어떻게 해석하는지 잘 모르겠습니다. 어떤 분이 여기에 대해 염려하는 것을 본 적이 있는데요, 어쩌면 워드프레스 RSS  피드로 제출할 경우 시간이 9시간 손해 볼 수도 있지 않을까 하는 우려가 있는 것 같습니다. (이 문제도 해외에서도 간혹 제기하는 것이 보이기도 하네요.) 이런 점이 염려된다면 다음과 같은 함수를 사용하여 RSS 피드의 날짜를 조정할 수 있습니다.

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;
}
// Source: geek.hellyer.kiwi

다음과 같이 호출할 수 있습니다.

echo convert_time( $time );

참고:



기부를 통해 이 블로그를 후원하실 수 있습니다.
워드프레스 설치/제작/문제해결이 필요한 경우 서비스(유료)를 요청해주세요.