미디어위키 애드센스 설정

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동

기본적으로 LocalSettings.py 에 반영한다.

과정 역할 설치방법
사이트 등록 구글 애드센스에서 사이트 등록.

이곳에서 메타 태그를 얻는다. 사이트에 게재할 수 있는 권한을 획득해야 한다. 광고 게재 권한은 오래걸리면 4주도 간다고..

https://www.google.com/adsense/
ads.txt 만들고 적용.
  • 사이트를 클릭하고 Ads.txt 스니펫을 클릭하면 내용물을 볼 수 있다.
  • 루트 디렉토리에서 Ads.txt 파일을 만든다.
루트 디렉토리는 우분투라면 cd /etc/apache2/sites-available 의 설정을 살펴보면 찾아볼 수 있다.

sudo nano Ads.txt 위 명령 따위로 txt 생성 후 내용을 복붙. 도메인/Ads.txt 로 접근했을 때 내용이 나온다면 OK.

LocalSettings.php 수정
  • 메타 태그 부분을 대체한 후 LocalSettings.php에 넣는다.
  • 이후 애드센스에서 사이트 소유권 확인이 마쳐진다.
$wgHooks['BeforePageDisplay'][] = function ( $out, $skin ) {

    $out->addHeadItem('adsense-meta', '<meta name="google-site-verification" content="YOUR_VERIFICATION_CODE" />');

};

광고 설정 편한 방식으로 지정.
  • 여기에선 '사이트 기준' 광고를 이용한다.
  • 이 페이지의 '코드 가져오기'를 통해 <script를 얻을 수 있다.
광고 탭에서 옵션을 적절히 설정.
LocalSettings.php 수정 위에서 얻은 것을 우측 방식으로 기입한다.

여기까지가 사이트 기준 광고 완료. 반영까지는 1시간까지 걸리기도 한다고 한다.

광고 단위를 사용하는 경우. 자동광고용 설정 넣어도 되는데... 하여간, header에 아래 스크립트가 들어가야 함.
# 푸터
$wgHooks['SkinAfterBottomScripts'][] = function( $skin, &$text ) {
    $adCode = <<<EOT
<div style="text-align:center; margin:20px 0;">
    <ins class="adsbygoogle"
         style="display:block"
         data-ad-client="ca-pub-9484107006498284"
         data-ad-slot="5130113921"
         data-ad-format="auto"
         data-full-width-responsive="true"></ins>
    <script>
        (adsbygoogle = window.adsbygoogle || []).push({});
    </script>
</div>
EOT;
    $text .= $adCode;
    return true;
};
사이트단위 자동광고를 사용하는 경우 아무래도 광고 퍼블리셔의 일련번호는 그대로 사용하는 듯하다.

제대로 적용되면 자동광고설정 미리보기에서 스니펫 코드 가져가는 페이지가 나오지 않는 듯하다.

# 자동광고용 설정
$wgHooks['BeforePageDisplay'][] = function( OutputPage &$out, Skin &$skin ) {
    $script = '<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9484107006498284" crossorigin="anonymous"></script>';
    $out->addHeadItem( 'adsense-auto-ads', $script );
    return true;
};
관련 확장기능 설치. 버전에 따라 설정이 달라지기도 해서, 확장기능으로 하는 편이 좋을듯. 버전명 맞춰서 설치. extention 디렉토리에서.

git clone -b REL1_41 "https://gerrit.wikimedia.org/r/mediawiki/extensions/AdManager" LocalSettings.php에 아래 코드를 더한다. wfLoadExtension( 'AdManager' );