Sitemap
Sitemap Nedir?
Section titled “Sitemap Nedir?”Sitemap, sitendeki sayfaların arama motorlarına (Google, Bing vb.) sunduğun URL listesidir. XML formatındadır; botlar hangi sayfaların olduğunu ve dil alternatiflerini buradan okur.
Falcon’da sitemap elle yazılmaz — @astrojs/sitemap build sırasında üretir.
| Dosya | Görevi |
|---|---|
sitemap-index.xml | Ana indeks (alt sitemap’lere link) |
sitemap-0.xml | Gerçek URL listesi |
robots.txt | Botlara “sitemap şurada” der |
Canlı adreste örnek: https://alanadiniz.com/sitemap-index.xml
Neden Kurduk?
Section titled “Neden Kurduk?”- Google’ın tüm önemli sayfaları (ana sayfa, blog listeleri, diller) bulması
- i18n ile birlikte her URL için dil alternatifleri (
hreflangbenzeri bilgi sitemap’te) - Tek domain kaynağı (
site.url) — canonical ve sitemap aynı tabanı kullanır robots.txtile sitemap adresinin net olması
Sitemap, sayfa başlığı/açıklaması (meta SEO) yerine geçmez; URL keşfi içindir. OG, canonical, seo.ts ayrı adımdır.
Nasıl Kuruldu?
Section titled “Nasıl Kuruldu?”1. Paket
Section titled “1. Paket”npm install @astrojs/sitemap2. Site URL (src/config/site.ts)
Section titled “2. Site URL (src/config/site.ts)”export const site = { url: 'https://example.com',} as const;Production’da canlı domain buraya yazılır. Placeholder şimdilik example.com.
3. astro.config.mjs
Section titled “3. astro.config.mjs”import sitemap from '@astrojs/sitemap';import { defaultLocale, localeMap } from './src/config/locales.ts';import { site } from './src/config/site.ts';
export default defineConfig({ site: site.url, integrations: [ react(), mdx(), sitemap({ i18n: { defaultLocale, locales: localeMap, }, }), ], // cloudflare, i18n, tailwindcss aynı});site:— Astro’nun mutlak URL üretmesi için zorunlusitemap({ i18n })— EN/TR/DE/FR içinlocaleMap(BCP-47:en-GB,tr-TR…)
4. public/robots.txt
Section titled “4. public/robots.txt”User-agent: *Allow: /
Sitemap: https://example.com/sitemap-index.xmlStatik dosya; build ile otomatik güncellenmez.
Build Çıktısı (Cloudflare SSR)
Section titled “Build Çıktısı (Cloudflare SSR)”Adapter kullanıldığında dosyalar genelde:
dist/client/sitemap-index.xmldist/client/sitemap-0.xml
Deploy sonrası tarayıcıda: /sitemap-index.xml (domain kökünden).
Doğrulama:
npm run buildYapmanız Gereken Ayarlar
Section titled “Yapmanız Gereken Ayarlar”Production Domain (Zorunlu)
Section titled “Production Domain (Zorunlu)”src/config/site.ts→url: 'https://gercek-domain.com'public/robots.txt→Sitemap: https://gercek-domain.com/sitemap-index.xml
İkisini birlikte güncelleyin; robots.txt site.ts’ten otomatik okunmaz.
Yeni Sayfa Eklediğinizde
Section titled “Yeni Sayfa Eklediğinizde”- Yeni
.astrosayfasısrc/pages/altındaysa ve build’de route üretiliyorsa sitemap’e genelde otomatik girer. - Yeni dil veya blog yazısı: ilgili
src/pages/...ve MDXlocaledoğru olsun; build sonrası sitemap’i kontrol edin.
İ18n Ile Uyum
Section titled “İ18n Ile Uyum”| Dil | URL örneği |
|---|---|
| EN | /, /blog/ |
| TR | /tr/, /tr/blog/ |
| DE | /de/, /de/blog/ |
| FR | /fr/, /fr/blog/ |
Sitemap i18n bilgisi src/config/locales.ts içindeki localeMap’ten gelir. Dil ekler/çıkarırsanız burayı ve astro.config i18n.locales listesini senkron tutun.
Tavsiyeler
Section titled “Tavsiyeler”| Yap | Yapma |
|---|---|
Canlıya geçmeden gerçek site.url yaz | example.com ile production bırakma |
| Google Search Console’a sitemap URL gönder | Sitemap’i elle XML düzenlemeye çalışma |
Deploy sonrası /sitemap-index.xml açıp kontrol et | robots.txt’i unutma |
Yeni dil → localeMap + sayfa mirror’ları | Sadece sitemap config değiştirip sayfa ekleme |
SEO ile birlikte (mevcut):
src/config/seo.ts, Open Graph, canonical — SEO / MetaBaseLayoutiçindehreflangalternates- Blog çevirileri: frontmatter
translationKey+src/lib/blog.ts
Build sonrası dist/client/sitemap-index.xml içinde blog tekil URL’lerini ve dil alternatiflerini kontrol edin; SSR’da eksik görünürse route ve getStaticPaths çıktısını doğrulayın.
Search Console: Site eklendikten sonra Sitemaps bölümüne sitemap-index.xml URL’sini yapıştırın.
Sık Sorular
Section titled “Sık Sorular”Sitemap = robots.txt mi?
Hayır. robots.txt kurallar + sitemap adresi; asıl URL listesi XML sitemap’te.
Her deploy’da yenilenir mi?
Evet, npm run build her seferinde güncel sitemap üretir.
Harici CMS gerekir mi?
Hayır. İçerik src/content/blog/ MDX dosyalarında; sitemap build’den gelir.
Dosya Özeti
Section titled “Dosya Özeti”src/config/site.ts → site.url (tek kaynak)src/config/locales.ts → localeMap (sitemap i18n)astro.config.mjs → site + sitemap()public/robots.txt → Sitemap: satırı (manuel senkron)dist/client/sitemap-*.xmlSitemap, build ile üretilen XML URL haritasıdır. Kurulum: @astrojs/sitemap, site.url, i18n localeMap, robots.txt. Production’da domain’i site.ts ve robots.txt’te güncelleyin; Search Console’a indeks URL’sini gönderin.