İnsanların en hayırlısı, insanlara faydalı olanıdır. (hadis-i şerif)

Kerem’in Kişisel Blogu
≡ Menu

WordPress AMP Yazı İçine Reklam Ekleme (ADSENSE)

Google mobil sayfaların daha hızlı sonuç vermesi adına AMP destekli sayfalara öncelik tanımaya başladı. Sistemi detaylı bir şekilde anlatmak isterdim fakat o derece bilgiye sahip değilim. Aslında mobil sayfaların daha hızlı sonuç vermesi ve Google’un bunu desteklediğini bilmemiz yeterli.

AMP sayfalarına ilişkin Google Arama yönergeleri sayfasını ziyaret etmenizde fayda var.

Kısaca “WordPress AMP Nedir” öğrenmiş olduk.

Bilmeyenler için kısaca kurulumu hakkında bilgi verelim. Gerçi istesekte bu konuyu uzatamayız. WordPress kullanıcıları için AMP kurulumu oldukça basittir. Bu kurulumu ücretli yapanlar olduğu için başlıkla alakası olmasada kuruluma yer vermek istedim. AMP kullanımı için birilerine ücret ödemek zorunda değilsiniz. Aynı şekilde yazı içerisine reklam eklemek içinde ücret karşılığı hizmet verenler var. Bu işlem için sitenize ayrı bir eklenti kurarak gereksiz yere kod kirliliği yaratıyorlar.

“WordPress AMP Kurulumu”

WordPress’in orijinal uygulaması olan WordPress AMP uygulamasını sitemize yüklüyoruz. Yükledikten sonra yapmamız gereken tek şey etkinleştirmektir. Bu kadar basit! Artık sitenizde AMP destekli mobil sayfalar bulunuyor. Ayrıca bilmenizi isterimki Google WordPress için bağlantıda verdiğim eklentiyi önermektedir.

Test etmek için sitenizde bulunan bir konu linkinin sonuna /amp eklemeniz yeterlidir.

Örnek: (kırmızı)

keremsari.com/wordpress-amp-yazi-icine-reklam-ekleme-adsense/amp

Kurulum bitmiştir. Ek olarak hiç birşey yapmanıza gerek yok. Çoğu ücretli AMP kurulumu hizmeti veren kişiler ikinci bir eklenti kullanmadan çalışmayacağını ifade etmektedir. Aynı şekilde çoğu AMP kurulumu konusunda ikinci eklentinin kurulumuda yer alıyor. Hiç gerek yok.

“WordPress AMP Adsense”

WordPress AMP yazıya Adsense reklam ekleme

Asıl konumuz olan yazı içerisine yani ortasına Adsense veya farklı bir reklam eklemeye geçmeden önce yazının başına ve sonuna reklam ekleyeceğiz.

Bu işlemi tamamen Google yönergelerine uygun bir şekilde gerçekleştireceğiz. AMP reklam birimi oluşturma sayfasındaki yönergelereki kaynak olarak kullandım.

WordPress AMP eklentisini kurduktan sonra eklentiler sayfasından düzenle sayfasına giriyoruz.

Sağ tarafta bulunan amp/templates/single.php sayfasını açın.

Bul:

</head>

Hemen üstüne ekle:

<script async custom-element="amp-ad" src="https://cdn.ampproject.org/v0/amp-ad-0.1.js"></script>

Sayfanın en üstüne reklam eklemek

Aşağıdaki kodu bulun:

<div class="amp-wp-article-content">

Hemen altına ekleyin:

<amp-ad 
height=100
type="adsense"
data-ad-client="ca-pub-1234567890"
data-ad-slot="1234567890">
</amp-ad>

Sayfanın en altına reklam eklemek

Aşağıdaki kodu bulun:

<?php echo $this->get( 'post_amp_content' ); // amphtml content; no kses ?>

Hemen altına ekleyin:

<amp-ad 
height=250
width=300
type="adsense"
data-ad-client="ca-pub-1234567890"
data-ad-slot="1234567890">
</amp-ad>

Şimdi Adsense Esnek (duyarlı) reklam kodunuzudaki kırmızı alanları güncelleyin. Bu işlemi yapmadan sonuç alamazsınız.

Sayfanın altına ve üstüne reklam eklemiş olduk. Reklamların AMP sayfalara yansıması zaman alabilir. Olmadığını düşünmeyin, biraz bekleyin ve sayfayı yenileyin.

İki reklam koduda farklı özellikler taşımaktadır. Google yönergelerine uygun olması için aynı şekilde uygulayın lütfen. Ayrıca özelleştirme yapmak isterseniz AMP Reklam Kodları sayfasından yararlanabilirsiniz.

WordPress AMP Yazı İçine Ortasına Reklam Ekleme

Asıl konumuza geldik. Bildiğiniz gibi bir sayfada üç Adsense reklam yayını yapabiliyoruz. Sayfanın başına ve sonuna ekledik. Şimdi en çok verim alınan yazı içerisine Adsense reklamımızı yerleştireceğiz. Bu işlem için İsabel teşekkür ediyorum. Bağlantıdan detaylara ulaşabilirsiniz.

Temanızın function.php sayfasını açın. Uygun yere İsabel’in yazdığı aşağıdaki kodu ekleyin.

add_action( 'pre_amp_render_post', 'isa_amp_add_content_filter_within' );

function isa_amp_add_content_filter_within() {
add_filter( 'the_content', 'isa_amp_adsense_within_content' );}

function isa_amp_adsense_within_content( $content ) {
$publisher_id = 'ca-pub-1234567890';
$ad_slot = '1234567890';

// Below the fold ad code. This is responsive as per Google guidelines for Adsense for AMP.
$btf_ad_code = '<amp-ad layout="fixed-height" height="250" type="adsense" data-ad-client="' . $publisher_id . '" data-ad-slot="' . $ad_slot . '"></amp-ad>';

// Insert Adsense ad between the content, after paragraph 2
$new_content = isa_insert_after_paragraph( $btf_ad_code, 6, $content );
return $new_content;}

function isa_insert_after_paragraph( $insertion, $paragraph_id, $content ) {
$closing_p = '</p>';
$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 );}

Yine aynı şekilde kırmızı alanları Adsense Esnek reklam kodunuzdaki verilerle güncelleyin. Yine kırmızı olan altı rakamıyla reklamın kaçıncı paragrafta olacağını belirleyebilirsiniz. Ben bu kodda reklam yüksekliğini sabit 250 yaptım. Yazı ortasındaki reklam biraz daha büyük olsun istedim. Siz istediğiniz gibi düzenleyebilirsiniz.

AMP sayfalarınızın sağlıklı olup olmadığını sorgulayın: AMP sayfalarınızı test edin 

Benim AMP kullanımım bu şekilde. Logo, menü, ana sayfada AMP kullanımı gibi konulara hiç takılmadım.

Google Webmasters Tools panelinde Arama Görünümü > Hızlandırılmış Mobil Sayfalar ekranında AMP sayfalarımız için uyarıları veya yönlendirmelerini takip edebiliriz.

Son olarak AMP sayfaları Google’a bildiren bir komut ekleyeceğiz. AMP olmayan sayfalarınızın head tagları içerisine aşağıdaki kodu ekleyin.

<link rel="amphtml" href="<?php the_permalink(); ?>/amp" />

Aynı şekilde AMP olan sayfanıza (eklentiler, AMP eklentiyi düzenle, Single.php) aşağıdaki kodu ekleyin.

<link rel="canonical" href="<?php the_permalink(); ?>" />

Bu şekilde AMP olmayan standart sayfanızda Google’a bu sayfanın AMP sürümü var, git bak demiş oluyorsunuz. Aynısı AMP sayfaları için de geçerli.

Sabit AMP Reklamları

Reklamları sayfa altına sabitlemek için amp-sticky-ad özelliğini kullanabiliriz. Mobil gösterimlerde oldukça etkili bir tercihtir. Sabitleme işlemi oldukça basit bir işlem. Daha önce AMP sayfamıza eklediğimiz reklamlardan birini sayfaya sabitlemek için aşağıdaki adımları uygulayınız.

Bu:

</head>

Üstüne ekle:

<script async custom-element="amp-sticky-ad" src="https://cdn.ampproject.org/v0/amp-sticky-ad-1.0.js"></script>

Bul:

<amp-ad height=100
type="adsense"
data-ad-client="ca-pub-123456789"
data-ad-slot="123456789">
</amp-ad>

Değiştir:

<amp-sticky-ad layout="nodisplay">
<amp-ad height=100
type="adsense"
data-ad-client="ca-pub-123456789"
data-ad-slot="123456789">
</amp-ad>
</amp-sticky-ad>

Bu şekilde mobil sayfalarımızda AMP sabit reklam yayını yapmış olduk. İşlemi uyguladıktan sonra hemen test edemeyebilirsiniz. Değişikliğin yansımazı biraz zaman alabilir.



Sizde katılın!
E-posta adresinizi giriniz: Onay e-postası gönderilecektir. Gizliliğiniz Google FeedBurner ile güvence altında.

Yazar: Çalışıyor, geziyor, okuyor, öğreniyor ama en çok; içerik odaklı seo çalışmalarıyla ilgileniyor! Bu yüzdendir ki; bu blogda bu konuların ne işi var demeyin! O konularda bir fikre hayat vermek üzere olan denemeler var.

{ 11 yorum yapıldı… add one }
  • Hakan 4 Eylül 2017

    Merhaba

    Haber içeriğine reklam ekleme kodu hakkında bir sorum olacaktı. Bu kodu, amp ve normal site şeklinde seçenekli halde kullanma şansımız var mı?

    AMP de istediğimiz reklamı, diğer sürümde istediğimiz reklam kodunu gösterecek bir araç..

    • Kerem SARI 4 Eylül 2017

      AMP sayfalar için sadece duyarlı reklam kullanabilirsiniz. AMP ve normal sayfalar için zaten farklı reklam kodları eklemeniz gerekiyor. Sanırım soruyu anlamadım.

  • Ayşe 4 Eylül 2017

    Amp ile farklı firma reklam ekleyince google den uyarı geldi amp hatası diye ne yapabilirim ?

    • Kerem SARI 4 Eylül 2017

      Ayşe Hanım, reklam kodunu eklediğiniz sayfayı destek@keremsari.com mail adresine gönderir misiniz? amp/templates/single.php

  • Sibel 4 Eylül 2017

    Yapısal veri test aracında image hatası alıyorum Kerem. Senin siteni kontrol ettim hata yok. Yardımcı olur musun?

    • Kerem SARI 4 Eylül 2017

      Aşağıdaki kodu temanın function.php sayfasına eklersen düzelecektir. Resim yolunu değiştirmeyi unutma.

      Kod:

      add_action( 'amp_post_template_css', 'xyz_amp_additional_css_styles' );
      function xyz_amp_additional_css_styles( $amp_template )
      { ?>

      nav.amp-wp-title-bar { padding: 12px 0; background: #000; }
      nav.amp-wp-title-bar a {
      background-image: url( 'Resim Yolu' );
      background-repeat: no-repeat;
      background-size: contain;
      display: block;
      height: 28px;
      width: 94px;
      margin: 0 auto;
      text-indent: -9999px; }
      < ?php }

  • Sinelog 8 Ekim 2017

    Hocam eline sağlık. Süper oldu.

  • Mesut 10 Ekim 2017

    Hocam ben bu yazı içine reklamda hata alıyorum.Header vee footer gayet güzel bir şekilde koydum ama yazı içine reklamda Amp sayfası kapanıyor.Ve şunu merak ediyorum paragraf veya içeriğe göre yerleşen reklam kodları yapamaz mısınız? Örneğin 8 adet içerik var (Resim + Paragraf) toplamı.4. içerikten sonra reklam koydun diğerinde kendi ayarladığı yere.Çünkü bazı makalelerimiz uzun bazıları da çok kısa buna bir çözüm yolu var mıdır?

    • Kerem SARI 10 Ekim 2017

      Mesut Bey bu mümkün. AMP olmayan sayfalarımda benzer bir kodlama kullanıyorum. Mesela yazı 500 kelimeyse 250. kelimeden sonraki ilk paragrafta reklam görüntüle, eğer 1000 kelime ise 500. kelimeden sonraki ilk makalede reklam görüntüle gibi. Bunu 5000 kelimelik konulara kadar yaydım. Aynı şekilde AMP sayfalarda da bu yapılabilir. Bu sıralar pek müsait olamıyorum, ilk fırsatta uygulayıp paylaşacağım.

Bana yazın

#Mail adresiniz geçerli ise yorumunuz onaylandığında ve yorumunuza cevap verildiğinde mail yoluyla bilgilendirilirsiniz.

#Gönder butonuna tıkladığınız an yorumunuzun bana ulaşır. Onay beklediğine dair bilgilendirme mesajında geçici bir hata var.