Saat pertama kali install Laravel 12, kamu mungkin notice kalau URL project kamu jadi ada tambahan /public di belakangnya. Nah, ini kadang bikin tampilan URL jadi kurang rapi dan tidak SEO friendly, apalagi kalau udah mau dipakai di production.
Tenang aja, ada kok cara simple menghilangkan url public di Laravel 12 tanpa harus pusing utak-atik terlalu banyak dan tentunya tetap aman!
Di artikel ini, Impactly bakal bahas beberapa cara yang mudah dan aman biar URL kamu bisa langsung mengarah ke root Laravel tanpa embel-embel “public” lagi. Yuk, simak bareng!
Sebelum itu, perlu diketahui tutorial ini merupakan pembaruan versi terbaru dari artikel sebelumnya pada versi laravel 8.
Cara Menghilangkan URL Public di Laravel 12
Kamu terganggu karena URL Laravel 12 kamu selalu muncul pakai /public di belakang? Tenang, ada cara simple buat ngilangin itu tanpa ribet. Yuk ikuti langkah-langkah berikut!
Impactly akan memberikan tutorial dari awal instalasi Laravel agar yang baru menggunakan Laravel juga bisa lebih mudah memahaminya. Jika kamu sudah menginstallnya bisa langsung ke langkah 3.
1. Install Laravel 12

Pertama-tama install Laravel 12 pada direktori yang kamu inginkan (umumnya di htdocs), lalu buka terminal pada direktori tersebut dan gunakan perintah:
laravel new example-app
Ganti “example-app” dengan nama project kamu. Nama project ini nantinya akan membuat folder project secara otomatis. Dokumentasinya bisa kamu lihat pada situs resmi Laravel.

Jika sudah akan muncul folder project seperti gambar di atas.
2. Jalankan Project Laravel
Lalu jalankan project laravel di browser. Pada artikel ini Impactly menjalankan project di local server menggunakan MAMP dengan alamat url http://localhost:8888/example-app/public/.

Gambar di atas merupakan tampilan awal dengan menggunakan url /public. Jika tidak menggunakan url /public, maka tampilannya seperti di bawah ini.

Hal ini akan menyulitkan dalam membuat website dengan url yang clean dan tidak SEO friendly. Terlebih jika website tersebut digunakan untuk menghasilkan penjualan bisnis melalui pencarian organik yang mengandalkan strategi SEO.
Lalu gimana solusinya? Yuk simak terus lanjutannya.
3. Pindahkan Isi Folder “public/” ke Root

Masuk ke folder public/, lalu pindahkan semua isinya ke direktori utama Laravel kamu (root project). File yang dipindahkan adalah index.php, .htaccess, favicon.ico, dan lainnya. Kurang lebih tampilan pada folder root project menjadi seperti berikut.

Cara ini sangat simple dan aman, cocok buat kamu yang pakai shared hosting atau butuh solusi cepat.
4. Edit “index.php” di root folder:
Kemudian buka index.php yang sudah kamu pindah ke root. Ubah dua baris ini:
require __DIR__.'/../vendor/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
Menjadi (tanpa titik dua):
require __DIR__.'/vendor/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';
Kurang lebih hasilnya seperti ini:

5. Cek Kembali URL di Browser

Sekarang kamu bisa akses Laravel tanpa /public di URL, misalnya http://localhost:8888/example-app/ atau disesuaikan dengan nama folder project kamu.
Gimana, mudah kan? Dengan langkah di atas, kamu bisa hilangkan /public dari URL Laravel 12 tanpa ribet konfigurasi server. Tapi tetap hati-hati ya, pastikan struktur file kamu rapi biar nggak bikin error baru!
Adapun pengujian ini dilakukan menggunakan:
- Sistem Operasi: Mac OS, Chip M1
- Browser: Chrome
- Local Server Apps: MAMP 7.2.0 ARM CPU (Free Version)
- Web Server: Apache
- Versi PHP: 8.4
- Code Editor: Visual Studio Code
- Terminal: Default
- Composer: Versi 2.8.10 dengan PHP 8.4
Alasan Banyak Developer Ingin Menghilangkan Public dari URL
Kalau kamu sering ngoding pakai framework seperti Laravel, mungkin udah familiar dengan struktur foldernya. Secara default, file yang bisa diakses publik itu ada di folder public, dan kalau aplikasi dihosting begitu aja, URL-nya jadi seperti ini:
https://domainmu.com/public
Nah, banyak developer ingin menghilangkan url “/public” ini. Kenapa? Berikut alasannya:
1. Tampilan URL Lebih Rapi dan Profesional
Salah satu alasan utama kenapa banyak developer ingin menghilangkan /public dari URL adalah soal estetika dan profesionalitas. URL seperti https://domain.com/public/about terlihat kurang bersih dan terkesan seperti proyek yang belum selesai dikemas.
Bandingkan dengan https://domain.com/about yang jauh lebih rapi, singkat, dan terkesan lebih terpercaya, terutama kalau aplikasi tersebut digunakan untuk klien, publik, atau perusahaan.
2. Praktik Standar di Lingkungan Produksi
Dalam dunia profesional, standar terbaik (best practice) menyarankan agar folder public dijadikan satu-satunya direktori yang bisa diakses secara langsung oleh pengguna melalui web.
Ini biasanya dilakukan dengan cara mengatur root direktori server (misalnya di Nginx atau Apache) langsung ke folder public.
Dengan cara ini, developer bisa menyembunyikan struktur internal aplikasi dari akses publik agar lebih aman dan tanpa perlu mengubah URL jadi lebih panjang.
3. Lebih Baik untuk SEO dan Pengalaman Pengguna
URL yang bersih juga berdampak positif pada Search Engine Optimization (SEO). Mesin pencari seperti Google lebih menyukai struktur URL yang pendek, relevan, dan bebas dari “noise” seperti /public.
Selain itu, dari sisi pengguna, URL yang singkat lebih mudah diingat dan diketik ulang, yang pada akhirnya meningkatkan pengalaman pengguna secara keseluruhan.
4. Meningkatkan Keamanan Aplikasi
Folder public memang sengaja dibuat sebagai tempat semua file yang bisa diakses oleh pengguna, seperti gambar, JavaScript, atau file CSS. Sementara itu, folder lain seperti app, config, dan vendor seharusnya tidak bisa dijangkau langsung dari web.
Dengan menyembunyikan struktur folder ini dan hanya menampilkan konten dari public, aplikasi menjadi lebih aman dari akses yang tidak diinginkan atau menjadi serangan potensial.
5. Mempermudah Proses Deployment
Mengatur server agar langsung mengarah ke folder public sejak awal juga membuat proses deployment lebih praktis.
Developer tidak perlu lagi menggunakan solusi “setengah matang” seperti memindahkan isi folder atau menambahkan file .htaccess tambahan. Ini membuat proses pengembangan hingga produksi lebih terstruktur dan minim potensi error.
Jadi intinya menghilangkan “/public” dari URL itu bukan cuma soal estetika, tapi juga soal standar industri, keamanan, kenyamanan pengguna, dan SEO Friendly.
Meskipun bisa dibilang “hal kecil”, tapi ini salah satu sentuhan yang bikin aplikasi kamu terasa lebih matang dan profesional.
Mengapa URL Public Muncul di URL Saat Deploy Laravel
Karena secara default, file utama Laravel yang bisa diakses oleh browser ada di dalam folder public. Jadi, kalau kamu langsung mengarahkan root server ke folder Laravel tanpa konfigurasi tambahan, URL-nya akan menyertakan /public.
Itu dia penjelasan lengkap tentang cara menghilangkan URL public di Laravel 12 dengan simple. Langkah-langkahnya sebenarnya nggak ribet, asal kamu tahu di mana harus mengatur root folder dan sedikit sentuhan konfigurasi server.
Dengan URL yang lebih bersih dan rapi, aplikasi Laravel kamu jadi terlihat lebih profesional dan siap untuk production. Semoga tips ini membantu, dan jangan ragu untuk eksplorasi lebih jauh agar project-mu makin optimal!



