GeneratePress 테마에서 발행일 대신 최종 수정일 표시 방법,

| Updated

오늘은 워드프레스 SEO 개선과 트래픽 증가를 위해 글 발행일대신 최종 수정일 표시 방법에 대해서 살펴봅니다. 이는 테마마다 다른 로직을 가지고 있기 때문에 사용 중인 GeneratePress 테마를 기준으로 정리했습니다.

글이 발행된 후 방치하지 않고 계속 변경, 업데이트 된다면 그 글이 나름 최신 정보를 반영하고 있다는 증명이 되고, 신뢰도가 높아지기 때문에 SEO 측면에서 유리할 수 있습니다.

구글 검색에서도 최종 수정일이 표시되면 검색을 통해 정보를 찾는 이용자는 아무래도 최신 글 또는 최근 업데이트된 글을 더 신뢰하고 클릭할 가능성이 높아집니다.

구글이 제안한 검색 결과를 이용자가 더 많이 선택한다면 구글은 이글을 더 가치있는 콘텐츠로 인식하고 콘텐츠 랭킹이 올라갈 수 있습니다.

여기에서는 제가 사용하고 있는 GeneratePress 테마를 기준으로 작성 글의 최초 발행일 대신 최종 수정일을 표시하는 방법을 살펴보도록 하겠습니다.

제가 몇번 경험한 바에 따르면 테마마다 독특한 코드를 사용하고 있기 때문에 대부분 테마에 바로 적용되는 코드란 존재하기 어렵다는 생각입니다.

일반적인 포스팅 디자인 사용 시

먼저 워드프레스 일반적인 글 포맷을 사용하는 경우에 최종 수정일을 표시하는 방법입니다.

GeneratePress 테마에서 최종 수정일을 표시하는 방법에 대해서 아래 글에서 아주 자세하게 설명하고 있습니다. 저도 이 글을 참조해 적용했습니다.

How to Display Last Updated Date in GeneratePress Theme?

이 글에서는 글 발행일과 최종 수정일을 동시 표시하는 방법, 최종 수정일만 표시하는 방법등 여러 옵션을 제안하고 있습니다.

  1. 글 발행일만 표시(워드프레스 기본 설정)
  2. 글 발행일과 최종 수정일 동시 표시
  3. 글 발행일을 표시하되 글이 수정되었으면 수정일을 표시

아무래도 방문자 또는 구글 검색 이용자에게 너무 많은 정보를 주는 것은 바람직하지 않다고 생각합니다.

그래서 3번째 방법, 기본적으로 글 발행일을 표시하되 글이 수정되었으면 최종 수정일을 표시토록 하는 것이 가장 낫다는 생각입니다.

이는 아래와 같은 코드를 child theme의 functions.php나 MU-plugin에 추가하면 됩니다.

add_filter( 'generate_post_date_output', function( $output, $time_string ) { $time_string = '<time class="entry-date published" datetime="%1$s" itemprop="datePublished">Published on: %2$s</time>'; if ( get_the_date() !== get_the_modified_date() ) { $time_string = '<time class="entry-date updated-date" datetime="%3$s" itemprop="dateModified">Last Updated on: %4$s</time>'; } $time_string = sprintf( $time_string, esc_attr( get_the_date( 'c' ) ), esc_html( get_the_date() ), esc_attr( get_the_modified_date( 'c' ) ), esc_html( get_the_modified_date() ) ); return sprintf( '<span class="posted-on">%s</span> ', $time_string ); }, 10, 2 );

GeneratePress 테마 Elements 기능 사용 시

GeneratePress 테마는 Elements 기능 추가를 통해서 헤더 디자인을 다양하게 적용하거나 보다 미려한 페이지 및 포스트 디자인을 구현할 수 있도록 합니다.

GeneratePress 테마에서 Elements 기능을 활용하는 경우는 위와 같은 코드가 작동하지 않는데요.(다른 방법이 있는데 제가 모를 수도 있습니다.)

여기에서는 GeneratePress 테마에서 제안하는 방법을 그대로 적용했습니다.

Show the “Updated” Post Date

여기서는 업데이트 날짜를 표기하는 숏코드(shortcode) 기능을 추가하고, 헤더 Elements에서 숏코드(shortcode)를 불러와 사용하는 방법입니다.

먼저 functions.php 파일에 아래 코드를 추가해 [modified_date]라는 숏코드(shortcode)를 만듭니다.

function post_modified_date() { return get_the_modified_date(); } add_shortcode( 'modified_date', 'post_modified_date' );

그리고 헤더 Element에서 [modified_date]라는 숏코드(shortcode)를 적용합니다.

아래는 제가 적용한 헤더 Elements 내용입니다.

<h1><b>{{post_title}}</b></h1> <div class="hero-meta"> <b><i>Updated on [modified_date] by {{post_author}} </i></b> </div>