{"id":7643,"date":"2023-03-15T20:16:20","date_gmt":"2023-03-15T13:16:20","guid":{"rendered":"https:\/\/www.indowhiz.com\/articles\/?p=7643"},"modified":"2023-04-01T12:40:58","modified_gmt":"2023-04-01T05:40:58","slug":"masalah-cloudflare-cache-everything-adsense","status":"publish","type":"post","link":"https:\/\/www.indowhiz.com\/articles\/id\/masalah-cloudflare-cache-everything-adsense\/","title":{"rendered":"Permasalahan Cloudflare \u201cCache Everything\u201d dan Unit AdSense"},"content":{"rendered":"\n<p>Menerapkan <em>rule<\/em> &#8220;<em>cache everything<\/em>&#8221; di Cloudflare, saat website <a href=\"https:\/\/www.indowhiz.com\/articles\/id\/situs-layak-google-adsense\/\" target=\"_blank\" rel=\"noreferrer noopener\">menyajikan Google AdSense<\/a> merupakan ide yang bagus. Tujuannya yaitu untuk membantu <a href=\"https:\/\/www.indowhiz.com\/articles\/id\/pedoman-umum-meningkatkan-kecepatan-situs-web\/\">meningkatkan kinerja situs<\/a> kita tanpa mempengaruhi pendapatan melalui iklan AdSense. Tapi rupanya, hal itu hanya bisa kita lakukan dengan kode AdSense Auto Ads. Di sisi lain, menggunakan kode unit iklan manual, akan menyebabkan kesalahan <code>TagError: adsbygoogle.push()<\/code>. Selanjutnya, AdSense tidak menampilkan iklan apa pun.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h3 class=\"wp-block-heading\"><em>Rule<\/em> &#8220;<em>cache everything<\/em>&#8221; di Cloudflare<\/h3>\n\n\n\n<p>CDN Cloudflare tidak melakukan cache pada berkas HTML dinamis secara default. Oleh karena itu, Cloudflare CDN akan mengabaikan halaman HTML pada CMS seperti WordPress.<\/p>\n\n\n\n<p>Namun, blog WordPress biasanya memiliki banyak konten yang bisa kita anggap statis (tidak sering berubah). Itulah sebabnya, beberapa orang menggunakan Cloudflare dan mengaktifkan <em>cache<\/em> secara menyeluruh dengan <em>rule <\/em>&#8220;<em>cache everything<\/em>&#8220;nya. Ini adalah strategi <em>caching<\/em> yang memberi tahu Cloudflare untuk melakukan <em>cache<\/em> pada semua berkas, termasuk halaman HTML, gambar, skrip, dan <em>stylesheet<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1058\" height=\"581\" src=\"https:\/\/www.indowhiz.com\/articles\/wp-content\/uploads\/2023\/03\/Cloudflare-cache-everything-rule.jpg\" alt=\"Rule &quot;cache everything&quot; pada Cloudflare\" class=\"wp-image-7635\"\/><figcaption class=\"wp-element-caption\">Gambar 1. <em>Rule<\/em> &#8220;<em>cache everything<\/em>&#8221; pada Cloudflare<\/figcaption><\/figure>\n\n\n\n<p>Saat kita mengaktifkan <em>rule<\/em> ini, Cloudflare melakukan <em>cache<\/em> pada semua berkas yang melewati jaringannya, baik statis maupun dinamis. Alhasil, Cloudflare dapat menyajikannya berkas kepada pengunjung dengan cepat, tanpa perlu mengambilnya berulang kali dari server asal. Hal ini juga membantu mengurangi beban pada server asal dan meningkatkan kinerja situs secara keseluruhan.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">AdSense tidak menampilkan iklan<\/h3>\n\n\n\n<p>Biasanya, tidak ada masalah dalam menampilkan iklan AdSense sekaligus menggunakan <em>rule<\/em> &#8220;<em>cache everything<\/em>&#8221; di Cloudflare. Secara teori, <em>rule<\/em> ini tidak memengaruhi konten eksternal. Sehingga, hal ini tidak akan memengaruhi iklan AdSense, karena AdSense menggunakan JavaScript untuk memanggil konten eksternal (dari server Google).<\/p>\n\n\n\n<p>Namun nyatanya, hal itu benar hanya jika kita menggunakan Iklan Otomatis AdSense (Auto Ads). Sedangkan penggunaan kode unit iklan manual, ternyata dapat menyebabkan masalah, seperti:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"markdown\" class=\"language-markdown\">TagError: adsbygoogle.push() error: No slot size for availableWidth=0<\/code><\/pre>\n\n\n\n<p>Akhirnya, situs web akan menampilkan iklan kosong dari AdSense. Selanjutnya, hal itu dapat memengaruhi pendapatan dari iklan.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Solusi<\/h2>\n\n\n\n<p>Anda memerlukan solusi ini hanya jika menggunakan unit iklan manual AdSense. Ada tiga langkah mudah, yaitu mengonfigurasi ulang <em>plugin<\/em> (jika ada), mengubah kode AdSense, dan menguji hasilnya.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Mengonfigurasi ulang <em>plugin<\/em> (jika ada)<\/h3>\n\n\n\n<p>Sebagian dari kita mungkin menggunakan plugin WordPress (misalnya Ad Inserter) untuk menambahkan kode AdSense secara dinamis pada posisi tertentu. Proses ini dilakukan di server, dan kemudian hasilnya dikirim sebagai HTML yang sudah jadi. Itu sebabnya penggunaan <em>rule<\/em> &#8220;<em>cache everything<\/em>&#8221; dapat memengaruhi situs dan memberikan hasil yang tidak terduga.<\/p>\n\n\n\n<p>Dalam hal ini, kita perlu mengubah perilaku plugin tersebut. Intinya, plugin harus dapat memberikan skrip yang akan menambahkan objek dinamis, hanya setelah HTML selesai dikirim ke klien. Artinya HTML akan diubah nanti pada komputer klien. Sebagai contoh, jika kita menggunakan plugin Ad Inserter, kita dapat mengubah perilaku ini dengan melakukan beberapa langkah:<\/p>\n\n\n\n<p>Di Ad Inserter, buka Setting (atau simbol \u2699) &gt; tab General &gt; tab Frontend Gunakan nilai sisipan sisi klien dalam opsi Blok dinamis.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Pada halaman Ad Inserter, buka <code>Setting<\/code> (atau simbol <strong>\u2699<\/strong>) &gt; pilih tab <code>General<\/code> &gt; pilih tab <code>Frontend<\/code><\/li>\n\n\n\n<li>Gunakan opsi <code>client-side insert<\/code> pada pilihan <code>Dynamic blocks<\/code>.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1057\" height=\"813\" src=\"https:\/\/www.indowhiz.com\/articles\/wp-content\/uploads\/2023\/03\/Ad-inserter-setting-client-side-insert.jpg\" alt=\"Mengubah pengaturan Ad Inserter untuk menggunakan opsi &quot;client-side insert&quot; untuk blok dinamis.\" class=\"wp-image-7636\"\/><figcaption class=\"wp-element-caption\">Gambar 2. Mengubah pengaturan Ad Inserter untuk menggunakan opsi &#8220;<em>client-side insert<\/em>&#8221; untuk blok dinamis.<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">2. Mengubah kode unit AdSense<\/h3>\n\n\n\n<p>Ketika menggunakan <em>cache<\/em>, HTML mungkin belum sepenuhnya di<em>render<\/em> saat AdSense memanggil iklan. Alhasil, hal ini dapat mengakibatkan kesalahan &#8220;<code>TagError: adsbygoogle.push() error: No slot size for availableWidth=0<\/code>.&#8221; Penyelesaian masalah ini yaitu dengan mengubah <a href=\"https:\/\/stackoverflow.com\/questions\/33465168\/google-adsense-error-tagerror-adsbygoogle-push-error-no-slot-size-for-avail\" target=\"_blank\" rel=\"noreferrer noopener\">skrip pemanggil iklan<\/a>.<\/p>\n\n\n\n<p>Kita hanya perlu mengubah:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript line-numbers\">(adsbygoogle = window.adsbygoogle || []).push({});<\/code><\/pre>\n\n\n\n<p>menjadi<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript line-numbers\">window.addEventListener(\"load\", function() {\n    (adsbygoogle = window.adsbygoogle || []).push({});\n});<\/code><\/pre>\n\n\n\n<p>Jadi, pada unit iklan AdSense, hasilnya menjadi seperti berikut:<\/p>\n\n\n\n<pre title=\"Modified Adsense ad unit\" class=\"wp-block-code\"><code lang=\"markup\" class=\"language-markup line-numbers\">&lt;script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"&gt;&lt;\/script&gt;\n\n&lt;ins class=\"adsbygoogle\"\n     style=\"display:block\"\n     data-ad-client=\"ca-pub-XXXXXXXXXXXXXXXX\"\n     data-ad-slot=\"1234567890\"\n     data-ad-format=\"auto\"\n     data-full-width-responsive=\"true\"&gt;\n&lt;\/ins&gt;\n\n&lt;script&gt;\n    window.addEventListener(\"load\", function() {\n      (adsbygoogle = window.adsbygoogle || []).push({});\n    });\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3. Menguji hasilnya<\/h3>\n\n\n\n<p>Setelah kamu menyelesaikan langkah-langkah di atas, kamu harus menguji AdSense pada situsmu. Periksa apakah mereka telah menampilkan iklan dengan benar. Artinya, kamu dapat mengunjungi situsmu, dan memeriksa apakah iklan telah muncul di tempat yang tepat. Kami harap kamu tidak lagi melihat kesalahan &#8220;<code>TagError: adsbygoogle.push()<\/code>&#8221; lagi.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Menerapkan rule &#8220;cache everything&#8221; di Cloudflare, saat website menyajikan Google AdSense merupakan ide yang bagus. Tujuannya yaitu untuk membantu meningkatkan kinerja situs kita tanpa mempengaruhi pendapatan melalui iklan AdSense. Tapi rupanya, hal itu hanya bisa kita lakukan dengan kode AdSense Auto Ads. Di sisi lain, menggunakan kode unit iklan manual, akan menyebabkan kesalahan TagError: adsbygoogle.push(). [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7638,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[506],"tags":[865,465],"class_list":["post-7643","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-website-internet","tag-adsense","tag-cloudflare"],"modified_by":"Philip F. E. Adipraja","_links":{"self":[{"href":"https:\/\/www.indowhiz.com\/articles\/wp-json\/wp\/v2\/posts\/7643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.indowhiz.com\/articles\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.indowhiz.com\/articles\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.indowhiz.com\/articles\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.indowhiz.com\/articles\/wp-json\/wp\/v2\/comments?post=7643"}],"version-history":[{"count":11,"href":"https:\/\/www.indowhiz.com\/articles\/wp-json\/wp\/v2\/posts\/7643\/revisions"}],"predecessor-version":[{"id":7977,"href":"https:\/\/www.indowhiz.com\/articles\/wp-json\/wp\/v2\/posts\/7643\/revisions\/7977"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.indowhiz.com\/articles\/wp-json\/wp\/v2\/media\/7638"}],"wp:attachment":[{"href":"https:\/\/www.indowhiz.com\/articles\/wp-json\/wp\/v2\/media?parent=7643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.indowhiz.com\/articles\/wp-json\/wp\/v2\/categories?post=7643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.indowhiz.com\/articles\/wp-json\/wp\/v2\/tags?post=7643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}