Tutorial 17 Jul 2026 15 Kali Dibaca

Cara Membuat Sitemap.xml Otomatis di Laravel untuk SEO

Gugun Nurdiansyah
Penulis
Cara Membuat Sitemap.xml Otomatis di Laravel untuk SEO

Sitemap merupakan salah satu bagian penting dalam optimasi teknis Search Engine Optimization atau SEO. File ini berisi daftar URL yang ingin diperkenalkan kepada mesin pencari, seperti halaman utama, layanan, produk, kategori, dan artikel.

Pada website yang hanya memiliki beberapa halaman, sitemap dapat dibuat secara manual. Namun, cara tersebut kurang efektif untuk website dinamis karena setiap artikel atau produk baru harus ditambahkan satu per satu.

Laravel memungkinkan kita membuat sitemap.xml secara otomatis berdasarkan data yang tersimpan di database. Ketika artikel atau produk baru dipublikasikan, URL-nya akan langsung masuk ke dalam sitemap tanpa perlu mengedit file XML secara manual.

Perlu dipahami bahwa sitemap membantu mesin pencari menemukan URL, tetapi tidak menjamin seluruh halaman akan langsung dirayapi atau ditampilkan pada hasil pencarian. Sitemap tetap perlu didukung oleh konten berkualitas, internal linking, performa website, dan konfigurasi SEO yang baik.

Apa Itu Sitemap.xml?

Sitemap.xml adalah file berformat XML yang berisi daftar URL penting pada sebuah website.

File ini biasanya dapat diakses melalui alamat:

https://domainanda.com/sitemap.xml

Contoh sederhana isi sitemap:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>https://domainanda.com/</loc>
        <lastmod>2026-07-17</lastmod>
    </url>
    <url>
        <loc>https://domainanda.com/artikel</loc>
        <lastmod>2026-07-17</lastmod>
    </url>
</urlset>

Google mendukung sitemap berdasarkan protokol sitemap standar. File tersebut dapat dikirim melalui Google Search Console atau dicantumkan pada robots.txt.

Fungsi Sitemap untuk SEO

Sitemap memiliki beberapa fungsi penting, antara lain:

  • Membantu mesin pencari menemukan URL website.

  • Memberikan informasi mengenai halaman baru.

  • Membantu proses crawling website yang memiliki banyak halaman.

  • Memperkenalkan artikel dan produk yang baru diterbitkan.

  • Membantu website baru yang belum memiliki banyak backlink.

  • Memberikan informasi waktu terakhir halaman diperbarui.

  • Mempermudah pengelolaan URL pada website dinamis.

Sitemap sangat bermanfaat untuk website yang memiliki banyak artikel, produk, kategori, gambar, atau halaman yang tidak selalu mudah ditemukan melalui navigasi.

Apakah Semua Website Membutuhkan Sitemap?

Website dengan struktur internal linking yang baik tetap dapat ditemukan oleh mesin pencari tanpa sitemap. Namun, sitemap tetap direkomendasikan terutama jika:

  • Website masih baru.

  • Website memiliki banyak halaman.

  • Artikel dipublikasikan secara rutin.

  • Website memiliki banyak produk.

  • Sebagian halaman sulit ditemukan melalui menu.

  • Website belum memiliki banyak tautan dari website lain.

  • Konten sering diperbarui.

  • Website memiliki gambar atau video penting.

Untuk website Ovla Media yang memiliki artikel, produk, layanan, dan halaman permintaan aplikasi, sitemap otomatis dapat membantu memastikan URL penting terdaftar secara terstruktur.

Persiapan Sebelum Membuat Sitemap

Sebelum mengikuti tutorial, pastikan beberapa hal berikut sudah tersedia:

  • Project Laravel berjalan normal.

  • Database dapat diakses.

  • Model artikel atau produk sudah tersedia.

  • Setiap halaman memiliki URL yang dapat diakses.

  • Kolom slug sudah tersedia untuk URL dinamis.

  • Status publikasi dapat dibedakan.

  • Nilai APP_URL sudah benar.

Contoh konfigurasi pada file .env:

APP_URL=https://ovlamedia.com

Jangan menggunakan URL localhost ketika aplikasi sudah dijalankan di server production.

Contoh yang tidak sesuai:

APP_URL=http://127.0.0.1:8000

Cara Kerja Sitemap Otomatis di Laravel

Sitemap otomatis akan mengambil data langsung dari database.

Sebagai contoh, ketika terdapat artikel dengan slug:

cara-install-laravel-di-localhost

Laravel akan menghasilkan URL:

https://ovlamedia.com/artikel/cara-install-laravel-di-localhost

Ketika artikel baru ditambahkan, URL tersebut otomatis ikut muncul di dalam sitemap saat halaman sitemap.xml dibuka.

Alurnya adalah:

  1. Pengunjung atau mesin pencari membuka /sitemap.xml.

  2. Laravel menjalankan route sitemap.

  3. Controller mengambil data dari database.

  4. Data dikirim ke template XML.

  5. Laravel mengembalikan respons dengan tipe konten XML.

Cara 1: Membuat Sitemap Langsung dari Route

Untuk kebutuhan sederhana, sitemap dapat dibuat langsung melalui route.

Buka file:

routes/web.php

Tambahkan kode berikut:

<?php

use App\Models\Article;
use Illuminate\Support\Facades\Route;

Route::get('/sitemap.xml', function () {
    $articles = Article::query()
        ->where('status', 'published')
        ->latest('updated_at')
        ->get();

    return response()
        ->view('sitemap', compact('articles'))
        ->header('Content-Type', 'application/xml');
})->name('sitemap');

Kode tersebut mengambil artikel yang memiliki status published, kemudian mengirimkannya ke view bernama sitemap.

Nama model, tabel, dan kolom status dapat disesuaikan dengan struktur aplikasi Anda.

Misalnya, jika model yang digunakan bernama Post, ubah:

use App\Models\Article;

menjadi:

use App\Models\Post;

Membuat View Sitemap

Buat file baru:

resources/views/sitemap.blade.php

Isi dengan kode berikut:

{!! '<?xml version="1.0" encoding="UTF-8"?>' !!}

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>{{ url('/') }}</loc>
        <lastmod>{{ now()->toDateString() }}</lastmod>
    </url>

    <url>
        <loc>{{ url('/layanan') }}</loc>
        <lastmod>{{ now()->toDateString() }}</lastmod>
    </url>

    <url>
        <loc>{{ url('/produk') }}</loc>
        <lastmod>{{ now()->toDateString() }}</lastmod>
    </url>

    <url>
        <loc>{{ url('/artikel') }}</loc>
        <lastmod>{{ now()->toDateString() }}</lastmod>
    </url>

    <url>
        <loc>{{ url('/kontak') }}</loc>
        <lastmod>{{ now()->toDateString() }}</lastmod>
    </url>

    @foreach ($articles as $article)
        <url>
            <loc>{{ route('articles.show', $article->slug) }}</loc>
            <lastmod>{{ $article->updated_at->toDateString() }}</lastmod>
        </url>
    @endforeach
</urlset>

Sesuaikan nama route berikut:

route('articles.show', $article->slug)

dengan route detail artikel pada aplikasi Anda.

Contoh route detail artikel:

Route::get('/artikel/{slug}', [ArticleController::class, 'show'])
    ->name('articles.show');

Setelah itu, buka:

https://domainanda.com/sitemap.xml

Jika konfigurasi benar, daftar URL akan tampil dalam format XML.

Cara 2: Membuat Sitemap Menggunakan Controller

Untuk website dengan banyak jenis konten, penggunaan controller lebih rapi dan mudah dikembangkan.

Buat controller:

php artisan make:controller SitemapController

Laravel akan membuat file:

app/Http/Controllers/SitemapController.php

Buka file tersebut, kemudian isi dengan kode berikut:

<?php

namespace App\Http\Controllers;

use App\Models\Article;
use App\Models\Product;
use Illuminate\Http\Response;

class SitemapController extends Controller
{
    public function index(): Response
    {
        $articles = Article::query()
            ->where('status', 'published')
            ->latest('updated_at')
            ->get();

        $products = Product::query()
            ->where('is_active', true)
            ->latest('updated_at')
            ->get();

        return response()
            ->view('sitemap', compact('articles', 'products'))
            ->header('Content-Type', 'application/xml');
    }
}

Kemudian tambahkan route pada:

routes/web.php

Kode route:

use App\Http\Controllers\SitemapController;

Route::get('/sitemap.xml', [SitemapController::class, 'index'])
    ->name('sitemap');

Menambahkan Produk ke Sitemap

Setelah controller mengirimkan data produk, tambahkan perulangan berikut ke dalam sitemap.blade.php:

@foreach ($products as $product)
    <url>
        <loc>{{ route('products.show', $product->slug) }}</loc>
        <lastmod>{{ $product->updated_at->toDateString() }}</lastmod>
    </url>
@endforeach

Pastikan route detail produk tersedia.

Contoh:

Route::get('/produk/{slug}', [ProductController::class, 'show'])
    ->name('products.show');

Dengan konfigurasi tersebut, setiap produk aktif akan otomatis muncul pada sitemap.

Contoh Sitemap Lengkap untuk Artikel dan Produk

Berikut contoh file sitemap.blade.php yang lebih lengkap:

{!! '<?xml version="1.0" encoding="UTF-8"?>' !!}

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>{{ url('/') }}</loc>
        <lastmod>{{ now()->toDateString() }}</lastmod>
    </url>

    <url>
        <loc>{{ url('/layanan') }}</loc>
        <lastmod>{{ now()->toDateString() }}</lastmod>
    </url>

    <url>
        <loc>{{ url('/produk') }}</loc>
        <lastmod>{{ now()->toDateString() }}</lastmod>
    </url>

    <url>
        <loc>{{ url('/artikel') }}</loc>
        <lastmod>{{ now()->toDateString() }}</lastmod>
    </url>

    <url>
        <loc>{{ url('/request-aplikasi') }}</loc>
        <lastmod>{{ now()->toDateString() }}</lastmod>
    </url>

    <url>
        <loc>{{ url('/kontak') }}</loc>
        <lastmod>{{ now()->toDateString() }}</lastmod>
    </url>

    @foreach ($articles as $article)
        <url>
            <loc>{{ route('articles.show', $article->slug) }}</loc>
            <lastmod>{{ $article->updated_at->toDateString() }}</lastmod>
        </url>
    @endforeach

    @foreach ($products as $product)
        <url>
            <loc>{{ route('products.show', $product->slug) }}</loc>
            <lastmod>{{ $product->updated_at->toDateString() }}</lastmod>
        </url>
    @endforeach
</urlset>

Menggunakan URL Absolute

Setiap URL di dalam sitemap sebaiknya menggunakan URL lengkap atau absolute.

Contoh yang benar:

https://ovlamedia.com/artikel/cara-install-laravel

Hindari hanya menggunakan:

/artikel/cara-install-laravel

Helper Laravel seperti url() dan route() akan menghasilkan URL lengkap berdasarkan konfigurasi aplikasi.

Karena itu, pastikan APP_URL telah diatur dengan benar:

APP_URL=https://ovlamedia.com

Setelah mengubah .env, bersihkan cache konfigurasi:

php artisan optimize:clear

Pada server production, konfigurasi dapat disimpan kembali menggunakan:

php artisan config:cache

Memilih Artikel yang Boleh Masuk Sitemap

Jangan memasukkan seluruh data tanpa penyaringan.

Artikel draft, artikel yang dinonaktifkan, atau halaman yang tidak boleh diindeks sebaiknya tidak dimasukkan ke dalam sitemap.

Contoh query:

$articles = Article::query()
    ->where('status', 'published')
    ->whereNotNull('published_at')
    ->where('published_at', '<=', now())
    ->latest('updated_at')
    ->get();

Jika aplikasi menggunakan kolom boolean:

$articles = Article::query()
    ->where('is_published', true)
    ->latest('updated_at')
    ->get();

Tujuannya agar sitemap hanya berisi halaman yang benar-benar tersedia dan dapat diakses oleh publik.

Menangani Nilai Updated At yang Kosong

Jika terdapat data lama yang tidak memiliki updated_at, gunakan nilai cadangan.

Contoh pada Blade:

<lastmod>
    {{ optional($article->updated_at)->toDateString() ?? now()->toDateString() }}
</lastmod>

Namun, pada aplikasi Laravel dengan timestamp standar, kolom updated_at biasanya selalu tersedia.

Apakah Changefreq dan Priority Wajib Digunakan?

Format sitemap juga mengenal elemen seperti:

<changefreq>weekly</changefreq>
<priority>0.8</priority>

Contoh:

<url>
    <loc>{{ url('/') }}</loc>
    <lastmod>{{ now()->toDateString() }}</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
</url>

Namun, elemen tersebut bukan faktor yang menjamin halaman akan lebih sering dirayapi atau memiliki peringkat lebih tinggi.

Informasi yang paling penting adalah:

  • URL valid.

  • Halaman dapat diakses.

  • Tanggal pembaruan akurat.

  • Tidak ada URL error.

  • Tidak ada halaman draft.

  • Tidak ada URL yang diblokir secara tidak sengaja.

Sebaiknya gunakan lastmod berdasarkan waktu perubahan konten yang sebenarnya, bukan selalu menggantinya dengan tanggal hari ini setiap sitemap dibuka.

Membuat Lastmod Lebih Akurat

Untuk halaman dinamis, gunakan updated_at:

<lastmod>{{ $article->updated_at->toAtomString() }}</lastmod>

Hasilnya dapat berupa:

2026-07-17T10:30:00+07:00

Untuk halaman statis, Anda dapat menggunakan tanggal pembaruan manual atau menghilangkan elemen lastmod jika tidak memiliki data yang akurat.

Jangan memberikan tanggal terbaru pada halaman yang sebenarnya tidak berubah karena informasi yang tidak akurat dapat mengurangi kepercayaan mesin pencari terhadap nilai tersebut.

Menggunakan Cache agar Sitemap Lebih Cepat

Jika website memiliki banyak artikel atau produk, query database akan dijalankan setiap kali sitemap dibuka.

Untuk mengurangi beban server, gunakan cache.

Contoh pada controller:

<?php

namespace App\Http\Controllers;

use App\Models\Article;
use App\Models\Product;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Cache;

class SitemapController extends Controller
{
    public function index(): Response
    {
        $articles = Cache::remember(
            'sitemap.articles',
            now()->addHours(6),
            function () {
                return Article::query()
                    ->where('status', 'published')
                    ->latest('updated_at')
                    ->get();
            }
        );

        $products = Cache::remember(
            'sitemap.products',
            now()->addHours(6),
            function () {
                return Product::query()
                    ->where('is_active', true)
                    ->latest('updated_at')
                    ->get();
            }
        );

        return response()
            ->view('sitemap', compact('articles', 'products'))
            ->header('Content-Type', 'application/xml');
    }
}

Dengan konfigurasi tersebut, data sitemap disimpan selama enam jam.

Ketika artikel baru dipublikasikan, cache dapat dihapus menggunakan:

Cache::forget('sitemap.articles');

Untuk produk:

Cache::forget('sitemap.products');

Kode tersebut dapat dijalankan setelah proses tambah, edit, publikasi, atau hapus data.

Membuat Sitemap Selalu Diperbarui Setelah Artikel Disimpan

Pada controller artikel, tambahkan:

use Illuminate\Support\Facades\Cache;

Setelah artikel berhasil disimpan:

Cache::forget('sitemap.articles');

Contoh:

public function store(Request $request)
{
    $article = Article::create($request->validated());

    Cache::forget('sitemap.articles');

    return redirect()
        ->route('articles.index')
        ->with('success', 'Artikel berhasil ditambahkan.');
}

Lakukan hal yang sama ketika artikel diperbarui atau dihapus.

Dengan cara tersebut, sitemap tetap otomatis dan tidak menampilkan data lama terlalu lama.

Mengatur Header XML dengan Benar

Pastikan sitemap dikembalikan menggunakan tipe konten XML.

Contoh:

return response()
    ->view('sitemap', compact('articles', 'products'))
    ->header('Content-Type', 'application/xml');

Anda juga dapat menuliskannya seperti berikut:

return response(
    view('sitemap', compact('articles', 'products')),
    200,
    ['Content-Type' => 'application/xml']
);

Header tersebut membantu browser dan mesin pencari mengenali bahwa respons merupakan dokumen XML.

Menambahkan Sitemap ke Robots.txt

Setelah sitemap dapat diakses, tambahkan alamatnya ke file:

public/robots.txt

Jika isi folder public Laravel dipindahkan ke public_html, file tersebut berada di:

public_html/robots.txt

Contoh isi:

User-agent: *
Allow: /

Sitemap: https://ovlamedia.com/sitemap.xml

Pastikan URL menggunakan domain production dan protokol HTTPS.

Google dapat menemukan sitemap melalui baris Sitemap pada robots.txt, tetapi sitemap tetap dapat dikirim secara langsung melalui Google Search Console.

Mengirim Sitemap ke Google Search Console

Setelah sitemap berhasil dibuat, lakukan langkah berikut:

  1. Buka Google Search Console.

  2. Pilih properti website.

  3. Masuk ke menu Sitemaps.

  4. Masukkan alamat sitemap.

  5. Isi bagian URL dengan sitemap.xml.

  6. Klik Submit atau Kirim.

  7. Tunggu proses pemeriksaan Google.

Alamat yang dikirim:

https://ovlamedia.com/sitemap.xml

Setelah diproses, Search Console dapat menampilkan status, jumlah URL yang ditemukan, dan kemungkinan kesalahan pada sitemap.

Mengirim sitemap merupakan petunjuk kepada Google, bukan jaminan bahwa seluruh URL akan langsung dirayapi atau diindeks.

Cara Memeriksa Sitemap

Buka sitemap melalui browser:

https://domainanda.com/sitemap.xml

Periksa beberapa hal berikut:

  • Halaman dapat dibuka.

  • Tidak menghasilkan Error 404.

  • Tidak menghasilkan Error 500.

  • Format XML valid.

  • Semua URL menggunakan HTTPS.

  • Tidak ada URL localhost.

  • Tidak ada halaman admin.

  • Tidak ada artikel draft.

  • Tidak ada URL duplikat.

  • Setiap URL dapat diakses.

  • Tanggal pembaruan sesuai.

Anda juga dapat menggunakan fitur inspeksi dan laporan sitemap di Google Search Console untuk melihat masalah pemrosesan.

Error XML Declaration Allowed Only at the Start

Error berikut dapat muncul:

XML declaration allowed only at the start of the document

Penyebabnya biasanya terdapat spasi atau baris kosong sebelum deklarasi XML.

Pastikan bagian pertama file Blade adalah:

{!! '<?xml version="1.0" encoding="UTF-8"?>' !!}

Jangan menambahkan spasi, HTML, atau teks sebelum deklarasi tersebut.

Error Route Tidak Ditemukan

Jika muncul error seperti:

Route [articles.show] not defined

artinya nama route yang digunakan pada sitemap tidak tersedia.

Periksa daftar route menggunakan:

php artisan route:list

Kemudian sesuaikan:

route('articles.show', $article->slug)

dengan nama route yang sebenarnya.

Contoh:

route('artikel.detail', $article->slug)

Error Attempt to Read Property on Null

Error tersebut dapat muncul ketika terdapat data yang tidak lengkap.

Periksa:

  • Slug kosong.

  • Tanggal pembaruan kosong.

  • Relasi kategori tidak tersedia.

  • Data telah dihapus sebagian.

  • Route membutuhkan parameter tambahan.

Sebaiknya hanya mengambil data dengan slug yang tersedia:

$articles = Article::query()
    ->where('status', 'published')
    ->whereNotNull('slug')
    ->where('slug', '!=', '')
    ->get();

Sitemap Menampilkan URL Localhost

Jika sitemap menghasilkan:

http://localhost/artikel/judul-artikel

atau:

http://127.0.0.1:8000/artikel/judul-artikel

periksa file .env.

Ubah:

APP_URL=http://127.0.0.1:8000

menjadi:

APP_URL=https://domainanda.com

Kemudian jalankan:

php artisan optimize:clear
php artisan config:cache

Sitemap Menghasilkan Error 404 di cPanel

Jika route /sitemap.xml menghasilkan 404 setelah aplikasi diunggah ke cPanel, periksa:

  • File .htaccess tersedia.

  • mod_rewrite aktif.

  • Document root mengarah ke folder public.

  • Isi folder public sudah dipindahkan dengan benar.

  • Route sitemap telah terdaftar.

  • Cache route tidak menggunakan konfigurasi lama.

Bersihkan cache:

php artisan optimize:clear

Kemudian periksa route:

php artisan route:list

Pastikan route sitemap.xml muncul.

Sitemap Menghasilkan Error 500

Jika muncul Error 500, periksa log Laravel:

storage/logs/laravel.log

Penyebab umum:

  • Model tidak ditemukan.

  • Nama kolom salah.

  • Route detail tidak tersedia.

  • Database tidak terhubung.

  • Data tanggal tidak valid.

  • Kesalahan sintaks Blade.

  • Cache konfigurasi bermasalah.

Untuk proses pemeriksaan, APP_DEBUG dapat diaktifkan sementara:

APP_DEBUG=true

Setelah masalah ditemukan, segera kembalikan:

APP_DEBUG=false

pada server production.

Membatasi Jumlah Query yang Diambil

Jangan mengambil kolom yang tidak diperlukan.

Contoh yang lebih efisien:

$articles = Article::query()
    ->select(['slug', 'updated_at'])
    ->where('status', 'published')
    ->whereNotNull('slug')
    ->latest('updated_at')
    ->get();

Untuk produk:

$products = Product::query()
    ->select(['slug', 'updated_at'])
    ->where('is_active', true)
    ->whereNotNull('slug')
    ->latest('updated_at')
    ->get();

Cara tersebut mengurangi data yang dipindahkan dari database karena sitemap hanya membutuhkan slug dan waktu pembaruan.

Sitemap untuk Website dengan Banyak URL

Satu file sitemap standar memiliki batas jumlah URL dan ukuran tertentu. Untuk website yang sangat besar, sitemap perlu dibagi menjadi beberapa file dan digabungkan melalui sitemap index.

Contohnya:

sitemap-pages.xml
sitemap-articles.xml
sitemap-products.xml
sitemap-categories.xml
sitemap-index.xml

Contoh sitemap index:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <sitemap>
        <loc>https://domainanda.com/sitemap-pages.xml</loc>
    </sitemap>
    <sitemap>
        <loc>https://domainanda.com/sitemap-articles.xml</loc>
    </sitemap>
    <sitemap>
        <loc>https://domainanda.com/sitemap-products.xml</loc>
    </sitemap>
</sitemapindex>

Untuk website bisnis dengan jumlah artikel dan produk yang masih terbatas, satu file sitemap.xml biasanya sudah mencukupi.

URL yang Tidak Boleh Dimasukkan ke Sitemap

Hindari memasukkan halaman berikut:

  • Halaman login.

  • Dashboard admin.

  • Halaman register internal.

  • Halaman lupa password.

  • Halaman pencarian internal.

  • URL filter dan parameter.

  • Artikel draft.

  • Produk tidak aktif.

  • Halaman yang menghasilkan 404.

  • Halaman duplikat.

  • Halaman yang menggunakan noindex.

  • URL staging atau localhost.

  • Halaman yang membutuhkan autentikasi.

Sitemap sebaiknya hanya memuat URL canonical yang dapat diakses oleh publik dan memang ingin ditampilkan di hasil pencarian.

Checklist Sitemap Laravel

Gunakan checklist berikut sebelum mengirim sitemap ke Google:

  • Route /sitemap.xml tersedia.

  • Respons menggunakan tipe application/xml.

  • File XML dapat dibuka.

  • URL menggunakan domain production.

  • Seluruh URL menggunakan HTTPS.

  • Artikel draft tidak ikut ditampilkan.

  • Produk nonaktif tidak ikut ditampilkan.

  • Slug kosong telah disaring.

  • Tidak ada halaman admin.

  • Tidak ada URL duplikat.

  • lastmod sesuai dengan perubahan konten.

  • Sitemap dicantumkan di robots.txt.

  • Sitemap dikirim melalui Google Search Console.

  • Cache sitemap diperbarui setelah konten berubah.

Mengapa Memilih Ovla Media?

Ovla Media membantu bisnis membangun dan mengoptimalkan website berbasis Laravel agar memiliki struktur yang baik, cepat, aman, dan mudah ditemukan melalui mesin pencari.

Layanan kami meliputi:

  • Pembuatan website dengan Laravel

  • Pengembangan website company profile

  • Pengembangan website e-commerce

  • Pembuatan sitemap.xml otomatis

  • Konfigurasi robots.txt

  • Optimasi SEO teknis

  • Integrasi Google Search Console

  • Optimasi kecepatan website

  • Perbaikan Vite Manifest

  • Deploy Laravel ke cPanel

  • Deploy Laravel ke VPS

  • Maintenance aplikasi

  • Integrasi Payment Gateway

  • Integrasi WhatsApp API

Setiap pengembangan dilakukan dengan memperhatikan struktur aplikasi, keamanan, performa, pengalaman pengguna, serta kemampuan pengembangan di masa depan.

Kesimpulan

Sitemap.xml membantu mesin pencari menemukan halaman penting pada sebuah website. Untuk website dinamis berbasis Laravel, sitemap sebaiknya dibuat secara otomatis berdasarkan data artikel, produk, kategori, dan halaman lainnya.

Cara pembuatannya dapat dilakukan menggunakan route atau controller yang mengambil data dari database, kemudian mengembalikannya melalui Blade dengan tipe konten XML.

Pastikan sitemap hanya berisi URL yang aktif, dapat diakses oleh publik, menggunakan HTTPS, serta memiliki alamat canonical yang benar. Hindari memasukkan halaman admin, artikel draft, produk tidak aktif, atau halaman yang diberi aturan noindex.

Setelah sitemap berhasil dibuat, tambahkan alamatnya ke robots.txt dan kirimkan melalui Google Search Console. Meskipun sitemap tidak menjamin seluruh halaman langsung masuk hasil pencarian, konfigurasi yang benar dapat membantu proses penemuan dan crawling halaman website.

Jika Anda membutuhkan bantuan untuk membuat sitemap otomatis, memperbaiki SEO teknis, atau mengembangkan website Laravel, Ovla Media siap membantu menyediakan solusi digital yang profesional dan sesuai dengan kebutuhan bisnis Anda.

Struktur tutorial ini mengikuti prinsip sitemap Google: sitemap membantu penemuan URL tetapi tidak menjamin pengindeksan, dapat dicantumkan pada robots.txt, dan dapat dikirim melalui Search Console. (Google for Developers)

#cara membuat sitemap laravel #sitemap.xml laravel #sitemap otomatis laravel #tutorial laravel #SEO laravel #sitemap SEO #robots.txt laravel #Google Search Console #website terindeks Google #Laravel Blade XML #sitemap artikel #sitemap produk #optimasi SEO website #technical SEO #web development #jasa Laravel developer #website Laravel #software house Indonesia #Ovla Media
Beranda Produk Artikel
Konsultasi
OVLA

Navigasi Utama

Hubungi Kami

Mulai Konsultasi Sekarang