Adım adım Astro SEO: statik ya da sunucu tarafı render, head etiketleri, site haritası, hreflang, görseller, JSON-LD ve yönlendirmeler, belgelerle doğrulandı.

Bu sayfada
Kısaca
Astro, sayfaları önceden saf HTML olarak oluşturduğu ve siz istemedikçe tarayıcıya JavaScript göndermediği için SEO'ya en uygun web çatılarından biridir. Google ve yapay zeka asistanlarının tarayıcıları tam içeriği ilk istekte alır. Yine de Astro SEO'yu sizin yerinize yapmaz: başlıklar, meta açıklamaları, canonical etiketleri, hreflang, yapılandırılmış veriler ve yönlendirmeler size kalır; bunların çoğu ortak bir head bileşeninde ve resmi site haritası entegrasyonuyla eklenir.
Daha fazlasını mı istiyorsunuz? Sorun:
Kısa test
SEO size uygun mu ve nasıl başlamalısınız?
Sorank yanıtlarınıza uyuyor
Kendi sitenizde 3 gün deneyin ve Google, ChatGPT ve diğer yapay zekâlarda nerede olduğunuzu görün.
3 gün ücretsiz deneyin3 gün ücretsiz, sonra istediğiniz zaman bırakın. 90 gün sonuç ya da para iade garantisi.
Astro SEO, bu temiz HTML'i sıralama alan sayfalara dönüştürme işidir. Google'ın JavaScript SEO temelleri rehberi, JavaScript sitelerinin üç aşamada işlendiğini (tarama, oluşturma, dizine ekleme) açıklar ve her bot JavaScript çalıştıramadığı için sunucu tarafı oluşturmanın ya da ön oluşturmanın hâlâ çok iyi bir fikir olduğunu belirtir. Astro varsayılan olarak tam bu noktadan başlar. Bu rehber geri kalanını ayar ayar ele alıyor ve her davranışı resmi Astro belgelerinde doğruladık. Bu arada, şu anda okuduğunuz sorank.com sitesi de Astro üzerinde çalışıyor.
Teknik açıdan evet. Astro, bileşenleri derleme sırasında HTML'e dönüştürür ve React ya da Vue gibi çatıların normalde tarayıcıya gönderdiği JavaScript'i kaldırır. Böylece JavaScript SEO rehberimizde anlatılan klasik sorunlardan kaçınırsınız: boş HTML kabukları, ancak oluşturmadan sonra görünen içerik, gerçek bağlantı etiketi olmayan linkler. Tek sayfalı uygulamaların yönlendirme tuzakları da ortadan kalkar, çünkü her Astro rotası kendi HTML dosyasına sahip gerçek bir URL'dir.
Astro'nun yapmadıkları da aynı derecede önemlidir. Yerleşik bir SEO eklentisi, otomatik meta açıklaması, otomatik canonical etiketi ya da yapılandırılmış veri yoktur. Tablo, hazır gelenle sizin kurmanız gerekeni ayırıyor.
| SEO öğesi | Astro'nun sağladığı | Sizin eklediğiniz |
|---|---|---|
| Taranabilir HTML | Varsayılan olarak önceden oluşturulmuş HTML | Hiçbir şey, içerik yalnızca istemcide oluşturulmuyorsa |
| Başlık ve meta açıklaması | Her düzende kontrol ettiğiniz bir head | Her sayfanın beslediği ortak bir SEO bileşeni |
| Canonical etiketi | Mutlak URL oluşturmak için Astro.site ve Astro.url | link etiketinin kendisi, tutarlı bir sondaki eğik çizgiyle |
| XML site haritası | Resmi @astrojs/sitemap entegrasyonu | Kurulum, site seçeneğini ayarlama, özel sayfaları filtreleme |
| hreflang | i18n yönlendirmesi ve site haritasında i18n seçeneği | Her sayfanın head'inde alternate bağlantıları |
| Görseller | Dosyaları optimize eden Image ve Picture bileşenleri | Açıklayıcı alt metinler, uygun boyutlar |
| Yapılandırılmış veriler | Özel bir şey yok | Sayfa türüne göre JSON-LD betikleri |
| Yönlendirmeler | Yapılandırmada redirects seçeneği | Statik derlemeler için barındırma tarafında gerçek 301'ler |
Astro'nun isteğe bağlı oluşturma belgeleri açıktır: varsayılan olarak sayfalar, rotalar ve API uç noktaları derleme sırasında statik sayfalar olarak önceden oluşturulur. SEO için statik çıktı en güvenli varsayılandır: her URL, bir CDN'den sunulan, hızlı ve her ziyaretçi ile her bot için aynı olan hazır bir HTML dosyasıdır.
İsteğe bağlı (sunucu tarafı) oluşturma, barındırma hizmetiniz için bir adaptör gerektirir (örneğin Node, Netlify, Vercel veya Cloudflare). Ardından tek bir rotayı export const prerender = false ile ön oluşturmanın dışına çıkarırsınız ya da tüm projeyi output: 'server' ile değiştirip statik sayfaları tek tek geri açarsınız. İki mod da tam HTML üretir, yani Google aynı şeyi görür. Farklar başka yerdedir:
Pratik kural: pazarlama sayfalarını, blog yazılarını ve belgeleri statik tutun, yalnızca canlı veri gereken rotaları isteğe bağlı oluşturun. Astro belgeleri de aynısını önerir: sayfaların çoğu isteğe bağlı oluşturma gerektirene kadar varsayılan statik modda kalın.
Tek bir SEO bileşeni oluşturun (genellikle BaseHead veya Seo adını alır) ve her düzenin head bölümüne ekleyin. Bileşen bir başlık, bir açıklama, isteğe bağlı bir görsel ve isteğe bağlı bir noindex işareti alır ve şunları üretir:
Önce astro.config.mjs içinde site seçeneğini ayarlayın: canonical, site haritası ve sosyal etiketler buna bağlıdır. Ardından bir trailingSlash politikası seçin ('always' ya da 'never') ve ona bağlı kalın; böylece /blog/yazi ile /blog/yazi/ asla aynı sayfanın iki sürümü olarak rekabet etmez. İzleme parametrelerinin kopya sayfa üretmemesi için canonical'dan sorgu dizelerini çıkarın.
İpucu
Yazılarınız content collections içindeyse, koleksiyon şemasında başlık ve açıklamayı zorunlu alan yapın. Böylece bir yazar meta açıklamasını unuttuğunda Google'a boş bir snippet gitmek yerine derleme başarısız olur.
@astrojs/sitemap sayfasında anlatılan resmi entegrasyonu kullanın. npx astro add sitemap komutu entegrasyonu kurar ve yapılandırmaya ekler. site seçeneğini gerektirir ve derleme sırasında numaralı dosyalara (sitemap-0.xml, büyük sitelerde daha fazlası) işaret eden bir sitemap-index.xml dosyası yazar. Her dosya varsayılan olarak en fazla 45.000 kayıt içerir; bu değer entryLimit seçeneğiyle ayarlanır. Bu biçim size yeniyse, XML site haritası sözlük maddemiz Google'ın onunla ne yaptığını açıklıyor.
SEO için üç ayar önemlidir:
Dikkat
Belgelere göre entegrasyon SSR modundaki dinamik rotalar için site haritası kaydı oluşturamaz. Ürün ya da yazı sayfalarınız isteğe bağlı oluşturuluyorsa, onları önceden oluşturmadıkça veya kendiniz eklemedikçe site haritasında yer almazlar.
robots.txt için çoğu sitede public klasöründeki statik bir dosya yeterlidir. İçerik test ve canlı ortam arasında farklıysa, onu bir uç noktadan (src/pages/robots.txt.ts) oluşturmak daha iyidir. Her iki durumda da sitemap-index.xml'e işaret eden bir Sitemap satırı ekleyin ve yayına almadan önce sonucu bir robots.txt denetleyicisiyle test edin. Aynı uç nokta tekniği bir llms.txt dosyası da üretir; llms.txt dosyası kurma rehberimiz içeriğini anlatıyor.
Astro'nun yerleşik i18n yönlendirmesi URL tarafını halleder. Yapılandırmada bir defaultLocale ve locales listesi tanımlar, varsayılan dilin de önek alıp almayacağını seçersiniz (prefixDefaultLocale). getRelativeLocaleUrl gibi yardımcı fonksiyonlar yerelleştirilmiş bağlantılar oluşturur, Astro.currentLocale ise her sayfaya hangi dilde olduğunu söyler.
Yönlendirme rehberi head içindeki hreflang etiketlerini ele almıyor; bu yüzden onları SEO bileşeninde kendiniz yazmayı planlayın: her sayfa için dil sürümü başına bir alternate bağlantısı ve bir x-default, hepsi mutlak URL olarak; ayrıca her sürüm diğer tüm sürümleri listelemelidir (karşılıklı bağlantılar). Bunları yönlendirmeyle aynı dil listesinden üretmek, en yaygın hatayı, yani var olmayan bir sayfaya işaret eden alternatifi önler. Mantığı birkaç URL üzerinde kontrol etmek için hreflang oluşturucumuz bir sayfanın tam etiket setini üretir. Ardından ikinci bir sinyal olarak site haritasının i18n seçeneğini açın.
Hız, Astro'nun en çok öne çıktığı alandır ve bu Core Web Vitals değerlerinde görülür. Astro görseller rehberi, astro:assets içindeki Image bileşenini anlatır: yerel görselleri optimize eder, biçimlerini dönüştürür, tembel yükleme ve eşzamansız kod çözme ekler ve Cumulative Layout Shift'i önlemek için görsel boyutlarını çıkarır. alt özelliği bu bileşende zorunludur; bu da görsel SEO'sunun temel bir kuralını uygular. Picture bileşeni bir adım öteye geçerek yedek biçimle birlikte AVIF veya WebP sunar.
İki alışkanlık tabloyu tamamlar. Optimize edilmesi gereken görselleri src içinde tutun (public içindeki dosyalar işlenmeden olduğu gibi sunulur). Sayfanın üstündeki ana görseli ise tembel yüklemeyin, hemen yükleyin ki Largest Contentful Paint'i geciktirmesin.
Ada mimarisi JavaScript'i kontrol altında tutar. Bir bileşen, siz bir istemci yönergesi ekleyene kadar statik HTML olarak kalır: client:load onu hemen etkinleştirir, client:idle tarayıcı boşa çıktığında, client:visible ise yalnızca görünür alana girdiğinde. client:load'u yalnızca anında tepki vermesi gereken öğelere (menü, sepet) ayırmak, Interaction to Next Paint'i korumanın en basit yoludur. Sunucu adaları (server:defer), önbelleğe alınmış sayfadan sonra kişiselleştirilmiş bir bloğu yükler ve ana içeriği yavaşlatmaz.
Not
Bileşen önce sunucuda oluşturulduğu sürece bir ada yalnızca etkileşimini geciktirir, metnini değil. Sayfa yüklendikten sonra tarayıcıda getirilen içerik ise başka bir konudur: JavaScript çalıştırmayan tarayıcılar, aralarında pek çok yapay zeka tarayıcısı da olmak üzere, bu içeriği görmez.
Astro'nun bir schema özelliği yoktur; bu da size tam kontrol bırakır. Her sayfa türü için (Article, Product, Organization, BreadcrumbList, FAQPage) bir JavaScript nesnesi oluşturun ve JSON'un kaçış karakterleriyle bozulmaması için set:html yönergesi ve JSON.stringify ile application/ld+json türündeki bir script etiketine yerleştirin. Nesneyi görünür sayfayla aynı frontmatter veya koleksiyon verisinden besleyin: böylece işaretleme her zaman kullanıcıların gördüğüyle eşleşir; bu, Google'ın schema işaretlemesi yönergelerinin bir şartıdır.
Yeni bir sayfa türünün JSON'unu taslak olarak hazırlamak için ücretsiz schema oluşturucumuz size geçerli bir başlangıç bloğu verir; ardından bunu şablona dönüştürürsünüz. Şablondaki her değişiklikten sonra derlenmiş sayfalardan bir örneklemi Google'ın zengin sonuçlar testiyle doğrulayın.
WordPress veya Next.js'ten geçiş, bir Astro sitesi için en riskli andır. Trafik veya backlink alan her URL'yi koruyun, diğerlerini tek tek en yakın karşılıklarına kalıcı yönlendirmelerle bağlayın; ayrıntılar SEO yönlendirmeleri rehberimizde.
Astro yapılandırması, eski yolları yenilerine eşleyen bir redirects nesnesi kabul eder. Bir adaptörle bunlar gerçek HTTP yönlendirmelerine dönüşür. Tamamen statik bir derlemede Astro bunun yerine meta refresh içeren bir HTML sayfası yazar; Google bunu takip eder ama sunucu tarafındaki bir 301'den daha zayıf bir sinyal olarak değerlendirir. Statik bir sitede yönlendirmeleri barındırma hizmetinizin biçiminde tanımlayın (Netlify veya Cloudflare Pages'te _redirects dosyası, Vercel'de vercel.json dosyası); böylece tarayıcılar gerçek bir 301 alır.
ChatGPT, Perplexity veya Gemini tarafından alıntılanmak, okunabilir olmakla başlar. Pek çok yapay zeka tarayıcısı JavaScript çalıştırmadan ham HTML'i çeker; dolayısıyla Astro'nun varsayılan olarak yaptığı gibi tüm metni ilk yanıtta veren bir site, istemci tarafında oluşturulan sitelerin hâlâ yaşadığı bir engeli kaldırır. Net ara başlıklar, doğrudan yanıtla başlayan paragraflar, yapılandırılmış veriler ve bir llms.txt dosyası da her sayfayı alıntılanmaya daha uygun hale getirir.
Yayından sonra tahmin etmek yerine ölçün. Sorank'ın GEO / SEO Panosu, Search Console verilerinizi ve yapay zeka asistanlarından gelen ziyaretleri bir araya getirir; böylece yeni sitenin konumlarını koruyup korumadığını görürsünüz.

Teknik kalite, ancak sıralanacak içerik olduğunda karşılığını verir. Sorank'ın Blog Makalesi Oluşturucu aracı Google ve yapay zeka asistanları için optimize edilmiş makaleler yazıp yayınlar ve Astro projesi gibi özel geliştirilmiş bir siteye webhook ile bağlanır.
Astro varsayılan olarak hızlı ve taranabilir HTML sunar; sıralama ise eklediğiniz head etiketlerine, site haritasına, hreflang'e, yapılandırılmış verilere ve yönlendirmelere bağlı kalır. Önce ortak SEO bileşenini ve site haritasını kurun, ardından yayına almadan önce yukarıdaki tabloyu madde madde gözden geçirin.
Hayır. Astro'nun resmi, hepsi bir arada bir SEO eklentisi yoktur: başlık, meta açıklaması, canonical ve sosyal etiketler ortak bir head bileşenine yazılır. Site haritasını resmi @astrojs/sitemap entegrasyonu karşılar. Topluluk paketleri mevcuttur, ancak küçük ve size ait bir bileşen bakımı kolay ve tamamen sizin kontrolünüzde kalır.
İkisi de tam oluşturulmuş HTML üretebildiği için Google her ikisini de iyi dizine ekler. Astro varsayılan olarak çok daha az JavaScript gönderir; bu da içerik sitelerini genellikle daha hızlı yapar ve Core Web Vitals'a katkı sağlar. Next.js yüksek etkileşimli uygulamalara daha uygundur; bloglar, kurumsal siteler ve belge siteleri için ise Astro SEO açısından daha basit bir seçimdir.
Evet. İsteğe bağlı oluşturulan bir sayfa da önceden oluşturulmuş bir sayfa gibi Googlebot'a tam HTML döndürür. Dikkat edilmesi gerekenler, yükleme hızını etkileyen sunucu yanıt süresi ve sunucu modundaki dinamik rotaları siz eklemedikçe listelemeyen site haritası entegrasyonudur.
SORANK'I SİZDEN ÖNCE DENEDİLER
