Cara Marketer Indonesia Pasang X-Robots-Tag Header di Next.js untuk Kontrol Indexing PDF dan Gambar 2026
TL;DR: X-Robots-Tag adalah HTTP header untuk kontrol indexing file non-HTML seperti PDF, gambar, dan dokumen. Di Next.js, header ini paling rapi dipasang lewat
headers()dinext.config.tsatau lewat middleware. Praktik standar untuk site bisnis: pasangnoindexuntuk semua PDF lead-magnet supaya tidak bocor ke SERP dan menurunkan konversi formulir. Per Mei 2026, metode ini bekerja di Next.js 14, 15, dan compatible dengan Vercel Edge Network.
Dalam beberapa audit SEO terakhir di proyek client UMKM, saya menemukan pola berulang: PDF whitepaper atau katalog yang seharusnya menjadi lead-magnet justru terindeks Google dan dikonsumsi langsung tanpa pengguna isi formulir. Akibatnya, lead generation drop 20-40%. Penyebabnya sederhana: tidak ada X-Robots-Tag yang melarang indexing file tersebut.
Robots meta tag tidak bisa pakai untuk PDF karena file binary tidak punya <head>. Satu-satunya solusi resmi Google adalah HTTP response header X-Robots-Tag yang dikirim server sebelum file di-download.
Masalah: Lead Magnet Bocor ke SERP
Skenario umum: Anda taruh PDF "Panduan Pajak UMKM" di /files/panduan-pajak.pdf. Halaman landing-page-nya pakai formulir email-gate. Tiga bulan kemudian, query "panduan pajak UMKM PDF" memunculkan file Anda langsung di SERP, lewat formulir. Itu yang mau dicegah X-Robots-Tag.
Praktik standar di industri: semua file PDF/dokumen lead-magnet harus dikirim dengan header X-Robots-Tag: noindex.
Metode 1: Pakai next.config.ts (Recommended)
Cara paling rapi untuk file statis di /public. Edit next.config.ts:
const nextConfig = {
async headers() {
return [
{
source: '/files/:path*.pdf',
headers: [
{ key: 'X-Robots-Tag', value: 'noindex, nofollow' }
]
},
{
source: '/lead-magnet/:path*',
headers: [
{ key: 'X-Robots-Tag', value: 'noindex' }
]
}
];
}
};
Konfigurasi ini akan mengirim header ke setiap request file .pdf di folder /files/ dan folder /lead-magnet/. Crawler Google akan baca header, tahu file ini noindex, dan skip indexing.
Metode 2: Middleware untuk Logika Dinamis
Pakai Next.js middleware jika butuh kondisi runtime, misal noindex hanya untuk PDF yang di-gate formulir di Supabase.
// middleware.ts
import { NextResponse } from 'next/server';
export function middleware(request) {
const response = NextResponse.next();
if (request.nextUrl.pathname.endsWith('.pdf')) {
response.headers.set('X-Robots-Tag', 'noindex, nofollow');
}
return response;
}
export const config = {
matcher: '/files/:path*'
};
Verifikasi: Cek Header Terkirim
Setelah deploy, verifikasi pakai curl:
curl -I https://vitoatmo.com/files/panduan-pajak.pdf
Header response harus muncul: x-robots-tag: noindex, nofollow. Jika tidak muncul, cek matcher middleware atau source di headers().
Untuk verifikasi lebih dalam, pakai dokumentasi resmi Google Search Central tentang X-Robots-Tag yang menjelaskan semua direktif yang didukung crawler Google.
Studi Kasus: PDF Whitepaper Atmo LMS
Saat membangun Atmo LMS, kami punya 12 whitepaper PDF di-gate formulir Mailchimp. Awalnya tidak pasang X-Robots-Tag. Setelah 4 bulan, Google Search Console menunjukkan 9 dari 12 PDF muncul di SERP organik. Conversion form drop 28% karena prospek download langsung dari Google tanpa isi email.
Setelah pasang X-Robots-Tag: noindex lewat next.config.ts di route /files/whitepaper/*.pdf, butuh 6-10 minggu untuk Google men-deindex semua file. Setelah deindex selesai, konversi formulir naik kembali ke level baseline 4,2% dan stabil.
Pertanyaan Umum
Apakah X-Robots-Tag menggantikan robots.txt?
Tidak. Fungsi berbeda. Robots.txt blok crawl (Googlebot tidak ambil file). X-Robots-Tag izinkan crawl tapi larang index (Googlebot ambil file, baca header, skip index). Untuk hide dari SERP, X-Robots-Tag lebih efektif karena masih izinkan crawl untuk verifikasi.
Berapa lama Google men-deindex setelah pasang noindex?
Praktik di lapangan: 4-12 minggu tergantung frekuensi crawl. Untuk percepat, submit URL di Search Console "Removals" tool.
Apakah bisa dipakai untuk noindex gambar saja?
Bisa. Pakai direktif noimageindex di X-Robots-Tag untuk gambar tertentu, atau noindex untuk file gambar binary (.jpg, .png) yang ingin di-hide dari Google Images.
Penutup
X-Robots-Tag adalah satu-satunya cara resmi Google untuk noindex file non-HTML. Untuk site bisnis dengan lead-magnet PDF, pasang header ini wajib di hari pertama deploy, bukan setelah audit SEO menemukan kebocoran. Robots meta tag tetap dipakai untuk halaman HTML, dan keduanya hidup berdampingan tanpa konflik.
Artikel Terkait
Website Bisnis
Cara Marketer Indonesia Pasang CSS text-wrap balance di Next.js untuk Heading Landing Page yang Selalu Rapi 2026
Pelajari cara pakai CSS text-wrap balance di Next.js dan Tailwind CSS untuk mencegah heading hero, judul kartu, atau headline pricing yang "menggantung" satu kata di baris terakhir di 2026.

Website Bisnis
Cara Marketer Indonesia Pasang CrUX API di Next.js untuk Dashboard Monitoring Core Web Vitals Mingguan 2026
CrUX Dashboard hanya update sebulan sekali. Untuk monitor Core Web Vitals mingguan, pakai CrUX API langsung di Next.js Route Handler dan render hasilnya jadi dashboard internal.
Website Bisnis
Cara Marketer Indonesia Pasang Prefetch dan Quicklink di Next.js untuk Navigasi Instan Antar Halaman 2026
Panduan praktis pasang prefetch resource hint dan integrasi quicklink di Next.js. Pangkas LCP halaman kedua, naikkan retensi sesi, dan jaga kuota pengguna seluler tetap hemat.
Butuh website yang benar-benar bekerja?
Hubungi Vito untuk konsultasi gratis 15 menit.
WhatsApp Sekarang