본문 중간 특정 문단에 자동으로 애드센스(Adsense) 삽입 코드

애드센스(Adsense) 클릭율을 높이기 위해서는, 더욱 적절한 위치에 광고를 게재해서 사용자가 인식할 수 있게 노출시켜야 한다. 그러기 위해선 색상조절, 개수, 배치 등을 활용한 여러 가지 방법이 있지만, 기본 세팅을 제외하고 가장 효과적인 방법은 역시 본문 내에 애드센스를 삽입하는 것이다(자연스럽게 본문을 따라 읽다가 광고에 노출됨).

때문에 많은 운영자들이 본문 내에 애드센스를 넣고 있는데, 글을 쓸 때마다 일일히 광고코드를 넣는 모습을 자주 발견할 수 있다. 물론 이 방법은 각각의 글마다 가장 최적화되어있는 위치에 최적화된 광고를 심을 수 있다는 장점이 있지만, 알다시피 추후에 광고 크기, 종류를 변경한다던지 삭제하거나 덧붙이는 게 불가능하고, 만약 변경하려면 하나하나 일일히 수작업을 해야 한다. 개꿀몬처럼 직접 이런 상황을 겪어본 유저라면 이게 얼마나 치명적인 단점인지 알 수 있다.

이런 불상사가 일어나지 않게, 또한 더욱 능동적이고 효율적인 세팅을 위해, 코드를 사용해서 애드센스를 본문 안 특정 문단 뒤에 자동으로 삽입하는 방법을 알아보자.

문단을 식별해서 애드센스(Adsense)를 중간에 넣어주는 코드

우선 완성된 코드부터 보여주자면 아래와 같다

add_filter( 'the_content', 'prefix_insert_post_ads' );
function prefix_insert_post_ads( $content ) {
$ad_code1 = 'Adsense Code';
$ad_code2 = 'Adsense Code';

if ( is_single() && ! is_admin() ) {
 $content = prefix_insert_after_paragraph( $ad_code1, 10, $content );
 $content = prefix_insert_after_paragraph( $ad_code2, 20, $content );
 return $content;
 }
return $content;
}

function prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) {
 $closing_p = '</p&gt;';
 $paragraphs = explode( $closing_p, $content );
 foreach ($paragraphs as $index => $paragraph) {
if ( trim( $paragraph ) ) {
 $paragraphs[$index] .= $closing_p;
 }
if ( $paragraph_id == $index + 1 ) {
 $paragraphs[$index] .= $insertion;
 }
 }
return implode( '', $paragraphs );
}

코드 설명과 사용법

코드가 나타내는 내용과 사용법은 아래와 같다.

  • 파란색으로 밑줄 친ad_code1뒤에 빨간색Adsense Code부분을 지우고 본인의 애드센스 광고 코드를 넣으면 된다.
  • 그 아래 있는 빨간색 숫자10부분이 해당 광고가 몇 문단 뒤에 나올지를 결정한다. 즉 10이라고 써져있으면 본문 시작 후</p>를 문단의 끝으로 인식해서 10문단 뒤에ad_code1에 있는Adsense Code를 출력하겠다는 코드가 된다.
  • 아랫줄에 ad_code3, ad_code4 이런식으로 추가함으로서 무한정으로 새로운 요소를 추가할 수 있다.

애드센스 같은 광고 삽입을 위해 최적화 된 코드지만, 당연하게도 꼭 광고를 넣는 게 아니라 다른 방법으로도 얼마든지 활용 가능한 매력적인 녀석이다. 이 코드는 현재functions로 필터를 사용할 수 있는 워드프레스 같은 사이트에서만 사용 가능하다.

티스토리(Tistory)에서도 자바스크립트를 통해 이미지 밑에 광고를 넣는다던지 할 수 있는데, 이미지를 구분해 필터를 넣을 수 있으니까 당연히 문단별로도 가능할꺼라고 생각된다. 이 부분은 나중에 기회가 되면 다루도록 하겠음