Fase pertama SEO dalam dokumentasi saya adalah memastikan Google dapat menemukan dan membaca halaman website. Pada tahap ini saya menggunakan Next.js dan Google Search Console untuk menyiapkan verifikasi domain, sitemap, robots, dan indexing.
Tambahkan website ke Google Search Console, kemudian pilih metode verifikasi HTML file.
File dari Google disimpan di folder public:
public/google-verification.html
Setelah deploy, file dapat dibuka melalui:
https://domain.com/google-verification.html
Jika file berhasil dibuka, lanjutkan proses verifikasi di Search Console.
Simpan domain production di environment variable:
NEXT_PUBLIC_SITE_URL="https://domain.com"
Domain ini digunakan agar sitemap dan robots selalu menghasilkan URL production, bukan URL localhost atau deployment sementara.
Buat file app/sitemap.ts. Sitemap berisi daftar halaman publik yang ingin ditemukan Google.
import type { MetadataRoute } from 'next';
const SITE_URL = process.env.NEXT_PUBLIC_SITE_URL ?? 'https://domain.com';
export default function sitemap(): MetadataRoute.Sitemap {
return [
{
url: SITE_URL,
changeFrequency: 'weekly',
priority: 1,
},
{
url: `${SITE_URL}/about`,
changeFrequency: 'monthly',
priority: 0.8,
},
{
url: `${SITE_URL}/work`,
changeFrequency: 'monthly',
priority: 0.9,
},
{
url: `${SITE_URL}/blog`,
changeFrequency: 'weekly',
priority: 0.8,
},
];
}
Next.js akan menghasilkan:
https://domain.com/sitemap.xml
Untuk website dengan blog dinamis, setiap /blog/[slug] juga perlu dimasukkan ke sitemap.
Buat file app/robots.ts. Robots memberi tahu crawler halaman mana yang boleh atau tidak boleh dirayapi.
import type { MetadataRoute } from 'next';
const SITE_URL = process.env.NEXT_PUBLIC_SITE_URL ?? 'https://domain.com';
export default function robots(): MetadataRoute.Robots {
return {
rules: {
userAgent: '*',
allow: '/',
disallow: ['/admin', '/admin/'],
},
sitemap: `${SITE_URL}/sitemap.xml`,
host: SITE_URL,
};
}
Hasilnya tersedia di:
https://domain.com/robots.txt
robots.txt bukan sistem keamanan. Halaman admin tetap harus dilindungi menggunakan autentikasi dan authorization.
Di Google Search Console, buka menu Peta Situs, lalu submit:
sitemap.xml
Tidak perlu submit robots.txt. Google akan membacanya secara otomatis.
Gunakan menu Inspeksi URL untuk memeriksa halaman penting:
https://domain.com/
https://domain.com/about
https://domain.com/work
https://domain.com/blog
Klik Uji URL Aktif, kemudian Minta Pengindeksan. Artikel blog tidak perlu dikirim satu per satu jika sudah tercantum dalam sitemap.
Pada Fase #1, fokusnya bukan menaikkan ranking, tetapi memastikan website bisa ditemukan dan dipahami Google. Setelah crawling dan indexing selesai, tahap berikutnya adalah memperbaiki metadata, canonical URL, Open Graph, dan struktur artikel.