Cara Membuat dan Mengatur Robots.txt agar Website Terindeks Google
Apa Itu Robots.txt?
Robots.txt adalah file teks sederhana yang ditempatkan pada direktori utama atau root domain sebuah website. File ini mengikuti standar Robots Exclusion Protocol dan digunakan untuk mengatur akses crawler atau robot mesin pencari terhadap URL tertentu pada sebuah website.
File robots.txt biasanya dapat diakses melalui alamat:
https://namadomain.com/robots.txt
Sebagai contoh, apabila website menggunakan domain:
https://ovlamedia.com
maka file robots.txt harus dapat diakses melalui:
https://ovlamedia.com/robots.txt
Robots.txt bukan halaman HTML dan tidak membutuhkan desain khusus. Isinya hanya berupa beberapa baris perintah yang dapat dibaca oleh crawler mesin pencari.
Fungsi Robots.txt untuk Website
Fungsi utama robots.txt adalah mengatur proses crawling atau perayapan halaman website.
Crawling merupakan proses ketika mesin pencari seperti Google mengunjungi halaman-halaman website untuk memahami isi, struktur, tautan, gambar, dan informasi lainnya. Setelah proses crawling selesai, Google dapat memproses halaman tersebut untuk dimasukkan ke dalam indeks pencarian. (Google for Developers)
Beberapa fungsi robots.txt antara lain:
Memberikan izin kepada mesin pencari untuk merayapi website.
Membatasi akses crawler ke folder tertentu.
Mencegah crawler mengakses halaman admin.
Mengurangi perayapan pada halaman pencarian internal.
Mengarahkan crawler menuju sitemap.xml.
Menghindari penggunaan sumber daya server secara berlebihan.
Membantu mesin pencari memprioritaskan halaman penting.
Robots.txt dapat membantu proses crawling, tetapi file ini bukan alat utama untuk memastikan sebuah halaman benar-benar masuk ke indeks Google.
Perbedaan Crawling dan Indexing
Crawling dan indexing merupakan dua proses yang berbeda.
Crawling adalah proses ketika Googlebot mengunjungi dan membaca halaman website.
Indexing adalah proses ketika Google menyimpan dan memahami informasi halaman agar halaman tersebut dapat ditampilkan pada hasil pencarian.
Robots.txt umumnya digunakan untuk mengatur crawling, bukan untuk menghapus halaman dari hasil pencarian.
Apabila suatu halaman tidak ingin muncul di Google, gunakan tag:
<meta name="robots" content="noindex">
Google menjelaskan bahwa untuk menerapkan noindex, crawler harus tetap dapat mengakses halaman tersebut. Jika halaman diblokir melalui robots.txt, Google mungkin tidak dapat membaca tag noindex yang berada di dalam halaman. (Google for Developers)
Lokasi File Robots.txt
File robots.txt harus ditempatkan pada root domain.
Contoh lokasi yang benar:
https://namadomain.com/robots.txt
Contoh lokasi yang salah:
https://namadomain.com/public/robots.txt
https://namadomain.com/assets/robots.txt
https://namadomain.com/storage/robots.txt
Jika menggunakan hosting cPanel, file robots.txt biasanya ditempatkan pada folder:
public_html
Jika menggunakan Laravel dan folder public menjadi document root, file robots.txt ditempatkan pada:
public/robots.txt
Pastikan file tersebut dapat dibuka langsung melalui browser tanpa error 403, 404, atau redirect yang tidak diperlukan.
Struktur Dasar Robots.txt
Berikut struktur robots.txt yang paling sederhana:
User-agent: *
Allow: /
Penjelasannya:
User-agent
Perintah User-agent digunakan untuk menentukan crawler yang menjadi target aturan.
Tanda bintang berarti aturan berlaku untuk seluruh crawler.
User-agent: *
Allow
Perintah Allow memberikan izin kepada crawler untuk mengakses halaman atau folder tertentu.
Allow: /
Tanda garis miring berarti seluruh bagian website diizinkan untuk dirayapi.
Disallow
Perintah Disallow digunakan untuk membatasi akses crawler ke halaman atau folder tertentu.
Contohnya:
Disallow: /admin/
Konfigurasi tersebut meminta crawler agar tidak merayapi URL yang berada di dalam folder /admin/.
Sitemap
Perintah Sitemap digunakan untuk memberi tahu crawler mengenai lokasi sitemap.xml.
Sitemap: https://namadomain.com/sitemap.xml
Alamat sitemap sebaiknya ditulis menggunakan URL lengkap, termasuk protokol HTTPS dan nama domain.
Contoh Robots.txt agar Website Terindeks Google
Untuk website company profile, blog, atau website bisnis sederhana, Anda dapat menggunakan konfigurasi berikut:
User-agent: *
Allow: /
Sitemap: https://namadomain.com/sitemap.xml
Ganti namadomain.com dengan domain website Anda.
Contohnya:
User-agent: *
Allow: /
Sitemap: https://ovlamedia.com/sitemap.xml
Konfigurasi ini memberikan izin kepada crawler untuk merayapi seluruh halaman website dan memberi tahu lokasi sitemap.
Contoh Robots.txt untuk Website Laravel
Untuk website Laravel, beberapa folder internal sebaiknya tidak perlu dirayapi oleh mesin pencari.
Contoh konfigurasi:
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /dashboard/
Disallow: /login
Disallow: /register
Disallow: /password/
Disallow: /storage/logs/
Disallow: /api/
Disallow: /cart
Disallow: /checkout
Disallow: /profile
Disallow: /search
Sitemap: https://namadomain.com/sitemap.xml
Konfigurasi harus disesuaikan dengan struktur route website.
Jangan langsung menyalin seluruh aturan tanpa memeriksa URL yang digunakan. Pastikan halaman yang ingin tampil di Google tidak ikut diblokir.
Contoh Robots.txt untuk Toko Online
Website toko online biasanya memiliki halaman produk, kategori, keranjang, checkout, akun pelanggan, dan pencarian.
Contoh robots.txt:
User-agent: *
Allow: /
Allow: /produk/
Allow: /kategori/
Allow: /artikel/
Disallow: /admin/
Disallow: /dashboard/
Disallow: /login
Disallow: /register
Disallow: /akun/
Disallow: /keranjang
Disallow: /checkout
Disallow: /pesanan/
Disallow: /pembayaran/
Disallow: /search
Disallow: /*?sort=
Disallow: /*?filter=
Sitemap: https://namadomain.com/sitemap.xml
Halaman produk, kategori, dan artikel tetap diperbolehkan untuk dirayapi. Sementara itu, halaman transaksi dan akun pelanggan dibatasi karena tidak memiliki nilai pencarian untuk pengguna umum.
Contoh Robots.txt untuk Website WordPress
Untuk WordPress, contoh konfigurasi yang umum digunakan adalah:
User-agent: *
Allow: /
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /wp-content/cache/
Disallow: /trackback/
Disallow: /feed/
Disallow: /comments/feed/
Sitemap: https://namadomain.com/sitemap_index.xml
Alamat sitemap WordPress dapat berbeda tergantung plugin SEO yang digunakan.
Beberapa plugin menggunakan:
/sitemap_index.xml
Sedangkan sistem lain dapat menggunakan:
/sitemap.xml
Periksa terlebih dahulu alamat sitemap melalui browser.
Cara Membuat Robots.txt di cPanel
Berikut langkah-langkah membuat robots.txt melalui cPanel:
Login ke akun cPanel.
Buka menu File Manager.
Masuk ke folder
public_html.Klik menu untuk membuat file baru.
Beri nama file:
robots.txt
Klik kanan pada file tersebut.
Pilih Edit.
Masukkan konfigurasi robots.txt.
Simpan perubahan.
Buka file melalui browser.
Contoh alamat pengecekan:
https://namadomain.com/robots.txt
Pastikan isi file dapat tampil sebagai teks biasa.
Cara Membuat Robots.txt pada Laravel
Pada project Laravel, buat file berikut:
public/robots.txt
Kemudian isi dengan:
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /dashboard/
Disallow: /login
Disallow: /register
Disallow: /cart
Disallow: /checkout
Sitemap: https://namadomain.com/sitemap.xml
Jika aplikasi Laravel berada di luar public_html, pastikan folder public Laravel sudah diarahkan ke document root domain.
File robots.txt yang berada di folder project tetapi tidak berada pada document root tidak akan dapat dibaca melalui URL domain.
Cara Membuat Robots.txt Dinamis di Laravel
Selain menggunakan file statis, robots.txt dapat dibuat melalui route Laravel.
Tambahkan route berikut pada file:
routes/web.php
Contoh kodenya:
use Illuminate\Support\Facades\Route;
Route::get('/robots.txt', function () {
$content = "User-agent: *\n";
$content .= "Allow: /\n\n";
$content .= "Disallow: /admin/\n";
$content .= "Disallow: /dashboard/\n";
$content .= "Disallow: /login\n";
$content .= "Disallow: /register\n\n";
$content .= "Sitemap: " . url('/sitemap.xml');
return response($content, 200)
->header('Content-Type', 'text/plain');
});
Dengan cara ini, alamat sitemap akan mengikuti konfigurasi APP_URL pada Laravel.
Pastikan pada file .env terdapat:
APP_URL=https://namadomain.com
Setelah mengubah .env, bersihkan cache konfigurasi:
php artisan optimize:clear
Jika tidak memiliki akses terminal, cache dapat dibersihkan menggunakan route sementara. Namun, route tersebut harus segera dihapus setelah digunakan agar tidak disalahgunakan.
Konfigurasi Robots.txt yang Harus Dihindari
Salah satu kesalahan paling berbahaya adalah menggunakan konfigurasi berikut:
User-agent: *
Disallow: /
Konfigurasi tersebut meminta seluruh crawler untuk tidak merayapi semua halaman website.
Akibatnya, halaman website dapat sulit ditemukan dan diproses oleh mesin pencari.
Kesalahan lain adalah memblokir folder CSS dan JavaScript secara sembarangan:
Disallow: /css/
Disallow: /js/
Disallow: /assets/
Google dapat membutuhkan file CSS dan JavaScript untuk memahami tampilan dan isi halaman. Oleh karena itu, hindari memblokir aset penting tanpa alasan yang jelas.
Apakah Robots.txt Menjamin Website Masuk Google?
Robots.txt tidak menjamin website langsung masuk ke halaman pertama Google.
File ini hanya membantu mengatur akses crawler.
Agar website dapat terindeks dengan baik, pastikan beberapa bagian berikut sudah disiapkan:
Website dapat diakses tanpa error.
Tidak terdapat tag
noindexpada halaman penting.Robots.txt tidak memblokir halaman utama.
Sitemap.xml dapat diakses.
Halaman memiliki konten yang bermanfaat.
Setiap halaman memiliki title dan meta description.
Struktur internal link sudah jelas.
Website menggunakan HTTPS.
Tampilan website responsif.
Website telah ditambahkan ke Google Search Console.
Google juga mempertimbangkan kualitas konten, metadata, struktur website, dan kemudahan halaman untuk dirayapi ketika melakukan proses indexing. (Google for Developers)
Menghubungkan Robots.txt dengan Sitemap.xml
Sitemap.xml berisi daftar URL penting yang ingin diperkenalkan kepada mesin pencari.
Tambahkan alamat sitemap pada bagian bawah robots.txt:
Sitemap: https://namadomain.com/sitemap.xml
Jika website memiliki beberapa sitemap, semuanya dapat dimasukkan:
Sitemap: https://namadomain.com/sitemap-pages.xml
Sitemap: https://namadomain.com/sitemap-products.xml
Sitemap: https://namadomain.com/sitemap-articles.xml
Untuk website dengan jumlah halaman yang banyak, sitemap dapat dibagi berdasarkan jenis kontennya.
Cara Memeriksa Robots.txt
Setelah robots.txt dibuat, lakukan beberapa pemeriksaan berikut.
Buka melalui browser
Akses:
https://namadomain.com/robots.txt
Pastikan file dapat dibuka dan tidak menghasilkan error.
Periksa status HTTP
File robots.txt sebaiknya menghasilkan status HTTP:
200 OK
Periksa aturan Disallow
Pastikan tidak terdapat:
Disallow: /
jika website ingin dirayapi secara keseluruhan.
Periksa alamat sitemap
Buka alamat sitemap yang ditulis pada robots.txt dan pastikan sitemap dapat diakses.
Gunakan Google Search Console
Tambahkan website ke Google Search Console, lalu periksa URL halaman menggunakan fitur pemeriksaan URL.
Fitur tersebut dapat membantu mengetahui apakah halaman dapat dirayapi, sudah masuk indeks, atau memiliki masalah teknis.
Kesalahan Umum dalam Mengatur Robots.txt
Beberapa kesalahan yang sering terjadi antara lain:
Salah menulis nama file
Nama yang benar adalah:
robots.txt
Bukan:
robot.txt
Robots.txt
robots.xml
robotstxt
Menempatkan file pada folder yang salah
Robots.txt harus berada pada root domain, bukan di dalam folder aplikasi yang tidak dapat diakses publik.
Memblokir seluruh website
Kesalahan ini sering terjadi ketika website sebelumnya berada pada tahap pengembangan:
User-agent: *
Disallow: /
Ketika website sudah diluncurkan, pengaturan tersebut lupa diubah.
Memblokir halaman penting
Contohnya:
Disallow: /produk/
Disallow: /artikel/
Disallow: /layanan/
Padahal halaman tersebut merupakan target utama SEO.
Menganggap robots.txt sebagai sistem keamanan
Robots.txt bukan sistem keamanan. URL yang diblokir tetap dapat diketahui oleh pihak lain karena isi robots.txt dapat dibuka secara publik.
Untuk melindungi halaman sensitif, gunakan:
Sistem login
Authentication
Authorization
Password protection
Pembatasan akses server
Permission file
Firewall
Menggunakan noindex di robots.txt
Penulisan berikut tidak direkomendasikan:
Noindex: /admin/
Gunakan meta tag robots atau HTTP header apabila ingin mencegah sebuah halaman masuk ke indeks Google. (Google for Developers)
Rekomendasi Robots.txt untuk Website Bisnis
Berikut konfigurasi sederhana yang dapat digunakan sebagai dasar:
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /dashboard/
Disallow: /login
Disallow: /register
Disallow: /profile/
Disallow: /cart
Disallow: /checkout
Disallow: /payment/
Disallow: /api/
Sitemap: https://namadomain.com/sitemap.xml
Konfigurasi tersebut tetap harus disesuaikan dengan route, halaman, dan kebutuhan setiap website.
Sebelum menambahkan aturan Disallow, periksa apakah URL tersebut memiliki manfaat untuk SEO dan perlu muncul di Google.
Kesimpulan
Robots.txt merupakan file penting dalam pengelolaan crawling dan SEO teknis sebuah website. Dengan konfigurasi yang benar, robots.txt dapat membantu mesin pencari mengakses halaman penting, menghindari halaman internal, dan menemukan sitemap website.
Agar website dapat dirayapi, gunakan aturan User-agent: * dan Allow: /. Tambahkan aturan Disallow hanya untuk halaman yang memang tidak perlu diakses crawler, seperti halaman admin, dashboard, akun pelanggan, checkout, dan halaman transaksi.
Perlu dipahami bahwa robots.txt tidak secara otomatis menjamin website terindeks atau mendapatkan peringkat tinggi di Google. Website tetap membutuhkan sitemap.xml, konten berkualitas, struktur halaman yang baik, internal link, meta tag SEO, kecepatan yang optimal, serta pendaftaran melalui Google Search Console.
Pastikan file robots.txt dapat diakses melalui root domain dan periksa kembali setiap aturan sebelum website dipublikasikan. Kesalahan satu baris seperti Disallow: / dapat menyebabkan seluruh website tidak dapat dirayapi oleh mesin pencari.
Artikel Terkait
Cara Integrasi WhatsApp Cloud API dengan Laravel
WhatsApp Cloud API memungkinkan aplikasi Laravel mengirim pesan, notifikasi, dan template WhatsApp melalui layanan resmi Meta. Integrasi ini dapat digunakan untuk konfirmasi pesanan, invoice, pengingat pembayaran, customer service, hingga chatbot. Artikel ini membahas konfigurasi token, pengiriman pesan, serta penerimaan webhook menggunakan Laravel.
Cara Membuat Role dan Permission Laravel Tanpa Package
Role dan permission digunakan untuk membatasi akses pengguna berdasarkan tugas dan kewenangannya. Tanpa memasang package tambahan, Laravel dapat membuat sistem hak akses menggunakan migration, relasi Eloquent, middleware, Gate, Policy, dan Blade Directive. Artikel ini membahas pembuatan role dan permission dari awal, mulai dari struktur database, model, seeder, middleware, hingga penerapannya pada route dan tampilan.
Cara Membuat REST API Laravel Menggunakan Sanctum dari Awal
Laravel Sanctum menyediakan sistem autentikasi ringan untuk REST API, aplikasi mobile, dan Single Page Application. Dengan Sanctum, aplikasi dapat membuat token untuk pengguna, melindungi endpoint API, serta membatasi akses berdasarkan autentikasi. Artikel ini membahas pembuatan REST API Laravel dari awal, mulai dari instalasi Sanctum, register, login, logout, hingga CRUD produk.