PWA için SEO

Progressive Web App SEO — "PWA'ya geçmek" sıralamaları neden iyileştirmez, manifest.json'ın SEO ile neden ilgisiz olduğu, hatalı yapılandırılmış bir service worker'ın Googlebot'a bayat bir önbellek sunabileceği ve Core Web Vitals ile HTTPS'in SEO ile gerçekte nerede (ve nerede olmadığı) örtüştüğü.

İlk yayın tarihi: 3 Tem 2026 · Son güncelleme: 8 Ağu 2026 · Advanced
Diller

Bir PWA, manifest ve service worker ile geliştirilmiş bir web sitesidir — Google için hâlâ normal (genellikle JavaScript/SPA) bir sitedir ve doğuştan gelen bir sıralama avantajı yoktur. manifest.json SEO ile ilgisizdir (yüklenebilirliği kontrol eder, dizine eklemeyi değil). Gerçek PWA'ya özgü tek risk service worker'dır: Google'ın işleyicisi dizine eklerken service worker'ları çalıştırmaz, bu nedenle önbellek öncelikli bir HTML stratejisi Googlebot'a bayat veya çevrimdışı bir sayfa sunabilir. Bunu HTML için ağ öncelikli stratejiyle düzeltin; gerisi sıradan JS/SPA SEO'dur.

TL;DR — Bir PWA, neredeyse her zaman bir JS/SPA sitesinin üzerine eklenmiş bir manifest + bir service worker’dır — bu nedenle JavaScript/SPA SEO’daki işleme kuralları değişmeden geçerlidir, artı iki PWA’ya özgü endişe. Google, PWA’lara sıralama avantajı vermez (Mueller). manifest.json kurulabilirliği yönetir, dizine eklemeyi değil ve sıralama sistemlerinin onu okuduğuna dair bir kanıt yoktur. Service worker gerçek risktir: Google’ın işleyicisi dizine eklerken service worker’ları çalıştırmaz, bu nedenle önbellek-öncelikli bir HTML stratejisi eski veya çevrimdışı bir kabuğu dizine ekleyebilir — HTML için ağ-öncelikli, statik varlıklar için önbellek-öncelikli kullanın. HTTPS, service worker’lar için zorunlu bir gereksinimdir ve ayrıca küçük bir sıralama sinyalidir; bunları “PWA’lar daha iyi sıralanır” şeklinde zincirlemeyin. Core Web Vitals tek meşru örtüşmedir ve bu mühendisliktir, PWA etiketi değil.

Evidence for this claim A progressive web app is still a web application; installability features do not replace indexable HTML and URLs. Scope: Current official or standards documentation. Confidence: high · Verified: web.dev: Progressive web apps Evidence for this claim JavaScript applications must expose crawlable links, meaningful content, metadata, and status behavior to Google. Scope: Current official or standards documentation. Confidence: high · Verified: Google: JavaScript SEO basics

Bir PWA önce bir web sitesidir

En kullanışlı çerçeve: bir Progressive Web App, üzerine iki şey eklenmiş normal bir web sitesidir. Google’ın kendi tanımına göre, PWA’lar “tek bir kod tabanıyla her cihazda her web kullanıcısına ulaşırken gelişmiş yetenekler sağlamak için modern API’lerle oluşturulmuş ve geliştirilmiş web uygulamalarıdır.” Google’ın adlandırdığı üç sütun Yetenekli, Güvenilir ve Kurulabilir — üçünün de “sıralanabilir” olmadığını unutmayın.

Mimari olarak, bu kod tabanı neredeyse her zaman tek sayfalık uygulama desenini çalıştıran bir JavaScript çerçevesidir. Bu şu anlama gelir: JS/SPA dizine eklenebilirliğini yöneten her şey, PWA dizine eklenebilirliğini de değişiklik yapılmadan yönetir. Adreslenebilirlik için gerçek <a href> bağlantıları ve History-API yönlendirmesi (karma parçalar değil); içerik kullanılabilirliği için sunucu tarafı oluşturma veya ön oluşturma; işlenmiş DOM’da rota başına canonical, başlık ve meta. JavaScript SEO ve SPA SEO materyallerini okuduysanız, PWA SEO’nun %90’ını zaten biliyorsunuzdur — özellikle uygulama kabuğu hatası modu, Google’ın açıkça belgelediği bir durumdur: “Some JavaScript sites may use the app shell model where the initial HTML does not contain the actual content and Google needs to execute JavaScript before being able to see the actual page content that JavaScript generates.” (çeviri) «Bazı JavaScript siteleri, ilk HTML’in gerçek içeriği içermediği ve Google’ın JavaScript’in ürettiği gerçek sayfa içeriğini görebilmesi için JavaScript’i çalıştırması gerektiği uygulama kabuğu modelini kullanabilir.» SSR/ön oluşturma olmadan boş bir kabuk gönderen bir PWA, bu sorunu doğrudan devralır.

Dolayısıyla, PWA’ya özgü bir SEO makalesinin dürüst kapsamı küçüktür: manifest ve servis çalışanı. Diğer her şey, manifest giymiş JS/SPA SEO’dur.

Temel efsane: “PWA’ya geçmek” sıralamaları iyileştirmez

Bu manşet. Google bu konuda alışılmadık derecede açık davrandı. John Mueller, bir Search Central ofis saatleri oturumunda, PWA’ların “currently don’t have any advantage in Google Search, and as far as I know, there are no plans to change this,” (çeviri) «şu anda Google Arama’da hiçbir avantajı yok ve bildiğim kadarıyla bunu değiştirme planı da yok» dedi ve — PWA’ya dönüştürmenin yardımcı olup olmayacağı sorulduğunda — “By default, saying going to a PWA will make your rankings better — I don’t think that is the case.” (çeviri) «Varsayılan olarak, bir PWA’ya geçmenin sıralamalarınızı iyileştireceğini söylemek — bence durum böyle değil.»

Ayrıca, “rakibimiz PWA’ya geçti ve sıralamaları fırladı” şeklindeki olağan karşı argümanı da önceden ele aldı. Yanıtı: “So just the fact that one of your competitors has moved from one framework to another, and has seen an improvement in search, that framework change from my point of view wouldn’t be responsible for that.” (çeviri) «Yani sadece rakiplerinizden birinin bir çerçeveden diğerine geçmesi ve aramada bir iyileşme görmesi, benim açımdan bu çerçeve değişikliği bundan sorumlu olmaz.» Ve nedenine gelince: “These are essentially different ways of making a website… for the most part, we see these as normal HTML pages.” (çeviri) «Bunlar esasen bir web sitesi yapmanın farklı yolları… çoğunlukla bunları normal HTML sayfaları olarak görüyoruz.»

PWA yeniden lansmanlarının sıralama artışlarıyla ilişkili olduğu durumlarda, bunlar her büyük yeniden yapılanmayla gelen karıştırıcı faktörlerdir: modernize edilmiş iç bağlantı, yenilenmiş ve genişletilmiş içerik, gerçek hız iyileştirmeleri ve genellikle yeniden lansmana bağlı bir pazarlama hamlesi. Bunların hiçbiri PWA etiketini gerektirmez. 10-15 yıllık organik olarak büyümüş bir siteyi yeniden inşa ederseniz, aynı anda bir düzine şeyi değiştirirsiniz — sonucu “PWA”ya atfetmek bir korelasyon hatasıdır.

Mueller’ın yukarıdaki ofis saatleri açıklamaları Search Engine Journal ve aynı Kasım 2021 oturumunu kapsayan bağımsız olarak Search Engine Roundtable tarafından aktarılmıştır; orijinal videoyu yeniden izlemedim, bu yüzden bunları raporlanmış-resmi olarak değerlendirin.

Manifest.json: kurulabilirlik ≠ dizine eklenebilirlik

manifest.json dosyası, uygulamanızı kurulabilir yapmak için vardır. Alanları — name, short_name, icons, start_url, display, theme_color — kurulum istemini, ana ekran simgesini, açılış ekranını ve uygulamanın bağımsız mı yoksa bir tarayıcı sekmesinde mi açılacağını yönlendirir. Tüm iş budur.

Google’ın sıralama veya dizine ekleme sistemlerinin manifesti bir sinyal olarak okuduğuna dair hiçbir kanıt yok. En net harici doğrulama, Google’ın “Is installable” (çeviri) «Kurulabilir mi» ve “Discoverable in search” (çeviri) «Aramada keşfedilebilir mi» öğelerini iki ayrı, bağımsız kontrol listesi kategorisi olarak listeleyen kendi PWA kontrol listesidir — burada keşfedilebilirlik, sıradan SEO temelleri olarak tanımlanır: “Enable search engine discovery through unique URLs, descriptive titles, meta descriptions, and structured data.” (çeviri) «Benzersiz URL’ler, açıklayıcı başlıklar, meta açıklamalar ve yapılandırılmış veriler aracılığıyla arama motoru keşfini etkinleştirin.» Kurulabilirlik (manifest odaklı) ve keşfedilebilirlik (klasik SEO) paralel konular olarak ele alınır, biri diğerini beslemez. Yani: uygulamayı kurulabilir yapan şey olduğu için geçerli bir manifest tutun — sadece onu SEO altına dosyalamayın.

Google, manifest.json’un sıralamadan hariç tutulduğunu tam kelimelerle belirten bir sayfa yayınlamaz; bu, “avantaj yok” ifadesinden, kontrol listesinin iki kategoriyi ayırmasından ve manifest’in Google’ın sıralama faktörü belgelerinde tamamen bulunmamasından iyi desteklenen bir çıkarımdır — bunu “okunduğuna dair kanıt yok” olarak ifade edin, “yok sayıldığı doğrulandı” değil.

Service worker’lar: PWA’ya özgü tek gerçek SEO riski

İşte en önemli olan ve PWA’ya özgü olan gerçek: Google’ın oluşturma hizmeti, bir sayfayı dizinleme için oluştururken service worker’ınızı çalıştırmaz. Bunun nedeni, Martin Splitt’ten: “SERP’ten sayfanıza tıklayan birinin ilk kez gelen bir ziyaretçi olduğunu varsaymamız gerektiğinden, bir service worker çalıştırmak genellikle pek bir işe yaramaz.” Bir service worker’ın tüm amacı, tekrarlanan ziyaretleri bir önbellekten hızlandırmaktır — ve Googlebot, tasarım gereği, her zaman ilk kez gelen bir ziyaretçi gibi ele alınır, bu yüzden hızlandıracak bir şey yoktur. Splitt yine: “Bunu desteklemiyoruz çünkü arama sonucundan sayfanıza tıklayan kullanıcılar daha önce orada bulunmamış olabilir.” Mueller bunun geçici bir durum değil, istikrarlı bir politika olduğunu doğruladı: “Değişmesini beklemiyorum — dizinleme için service worker’ları arka planda bu şekilde çalıştırmak hesaplama açısından pahalıdır.”

Bu üç temsilci ifadesi SearchViu tarafından aktarılmıştır (Splitt, Google I/O 2019/2020’de; Mueller Temmuz 2023’te bildirildi); Splitt ve Mueller alıntılarının o sayfada tam alt dizeler olarak geçtiğini doğruladım, ancak bunlar üçüncü taraf bir aktarım, Google’a ait bir URL değil. Ayrıca “asla çalıştırmaz” ifadesinin biraz fazla mutlak olduğunu unutmayın — Google’dan Splitt, web worker’ların bazen çalışabileceğini belirtmiştir; güvenli çerçeve “oluşturma hizmeti service worker’ları tasarım gereği çalıştırmaz” şeklindedir, “hiçbir koşulda” değil.

Peki bu neden bir risk? Çünkü service worker’ınız gerçek kullanıcıların tarayıcılarında çalışır ve ona HTML’i önbellek-öncelikli sunmasını söylediyseniz — kaydedilmiş kopyayı döndür, ağı atla — o zaman gerçek bir tekrar ziyaretçi hızlı bir önbelleklenmiş sayfa görür, ancak bu Googlebot’un asla uygulamadığı bir stratejidir. Tehlike ters durumdur: herhangi bir hata veya geri dönüş koşulunda eski bir belgeyi veya çevrimdışı geri dönüş sayfasını geri veren bir önbellekleme deseni. Oluşturma durumsuz olduğundan ve WRS her getirmeyi taze olarak ele aldığından, yanlış yapılandırılmış bir önbellekleme stratejisi, bir PWA’nın canlı içerik yerine güncel olmayan veya boş bir çevrimdışı kabuğu dizinlemesine neden olur.

Önbellekleme stratejisi temel kuralı:

  • HTML belgeleri → ağ-öncelikli (veya kısa TTL ile stale-while-revalidate). Canlı sayfayı al; önbelleği yalnızca çevrimdışı geri dönüş olarak kullan ve bu geri dönüşün taze bir taramanın asla dizinlemeyeceği bir şey olmadığından emin ol.
  • Statik varlıklar (JS, CSS, görseller, yazı tipleri) → önbellek-öncelikli uygundur ve arzu edilir — bunlar istek başına değişmez ve dizinlenebilir belge değildir.

Nasıl denetlenir: Googlebot’un gördüğünü, tekrar ziyaret eden bir ziyaretçinin tarayıcısının önbellekten sunduğuyla karşılaştırın. Google’ın gerçekte aldığı oluşturulmuş HTML’yi görmek için Search Console’da URL İnceleme (canlı test) kullanın ve bunu canlı sayfayla kontrol edin. Farklılarsa, service worker’ınız veya SSR kurulumunuz ilk şüphelidir. Ve hibrit kurulumlarda oluşturma zaman aşımlarını izleyin — Hamlet Batista’nın dinamik owuşturma döneminden belirttiği gibi, “Oluşturma hizmetleri bir sayfanın yüklenmesini bitirmesini sonsuza kadar beklemez.” (Bu belirli makale, Google’ın artık SSR lehine caydırdığı dinamik oluşturma hakkındadır — zaman aşımı ilkesini belirtin, deseni değil.)

HTTPS: bir service worker gereksinimi ve ayrıca küçük bir sıralama sinyali

PWA SEO yazılarının “PWA’lar HTTPS gerektirir ve HTTPS sıralamayı artırır, bu nedenle PWA’lar daha SEO dostudur” ima ettiğini göreceksiniz. İki doğru gerçek, yanlış bağlanmış.

Fact one: service workers only run in a secure context. Per MDN: “Service workers are only available in secure contexts: this means that their document is served over HTTPS, although browsers also treat http://localhost as a secure context, to facilitate local development.” That’s a browser platform rule, not an SEO tactic — no HTTPS, no service worker, full stop.

Gerçek iki: HTTPS gerçek bir Google sıralama sinyalidir, ancak çok küçük bir tanesidir. Google’ın kendi 2014 duyurusu: “we’re starting to use HTTPS as a ranking signal. For now it’s only a very lightweight signal — affecting fewer than 1% of global queries, and carrying less weight than other signals such as high-quality content.” (çeviri) «HTTPS’yi bir sıralama sinyali olarak kullanmaya başlıyoruz. Şimdilik bu yalnızca çok hafif bir sinyal — küresel sorguların %1’inden azını etkiliyor ve yüksek kaliteli içerik gibi diğer sinyallerden daha az ağırlık taşıyor.»

Önemli olan: herhangi bir HTTPS sitesi aynı küçük sinyali alır — PWA olsun ya da olmasın. Bir PWA, HTTPS için ekstra SEO kredisi almaz; sadece HTTPS olmadan çalışamaz. HTTPS’i bir PWA SEO avantajı olarak satmayın.

Core Web Vitals: tek meşru kesişim

“İyi PWA” ile “iyi SEO”nun gerçekten buluştuğu bir yer varsa, o da performanstır. Google’ın PWA rehberi güvenilirlikle başlar — “A reliable Progressive Web App feels fast and dependable regardless of the network” (çeviri) «Güvenilir bir Progressive Web App, ağdan bağımsız olarak hızlı ve güvenilir hissettirir» — ve Core Web Vitals, doğrulanmış (mütevazı da olsa) bir sıralama faktörüdür. Hızlı yüklenen ve duyarlı kalan iyi tasarlanmış bir PWA, Vitals’ta iyi puan alma eğiliminde olacaktır.

Ancak nedenselliği dikkatlice okuyun: önemli olan mühendisliktir, PWA olması değil. Şişkin bir PWA — devasa JS paketi, işlemeyi engelleyen hidrasyon, aşırı hevesli bir servis çalışanı — düz sunucu tarafından işlenen bir sayfadan kolayca daha kötü Core Web Vitals sonuçları verebilir. Vitals kazancı, performans işini iyi yapmaktan gelir; bunu manifest ile veya manifest olmadan da yapabilirsiniz. PWA olmak ne iyi Vitals’ı garanti eder ne de onlara kısayol sağlar.

Uygulama benzeri özellikler UX’tir, sıralama faktörü değil

Ana ekrana ekleme, çevrimdışı mod, anlık bildirimler, uygulama benzeri gezinme — tümü gerçek ve değerli PWA avantajlarıdır ve tümü etkileşim/sadakat özellikleridir, dizine ekleme veya sıralama girdileri değil. Google’ın PWA kontrol listesi, “kurulabilir” ve “arama motorunda keşfedilebilir” ifadelerini ayrı kategorilere koyarak bu ayrımı açıkça ortaya koyar.

“Kurulabilir”i tek ve evrensel bir yetenek olarak da ele almayın — tarayıcıya ve işletim sistemine göre değişir; bu da onun bir SEO sinyali olamamasının bir başka nedenidir (Google’ın ödüllendireceği tutarlı, tarayıcılar arası bir davranışı olmazdı). Bir PWA’nın kendi özel kurulum arayüzünü göstermesini sağlayan beforeinstallprompt olayı yalnızca Chromium’a özgü bir mekanizmadır; MDN’nin PWA kurulabilirlik rehberine göre, “not supported on iOS.” (çeviri) «iOS’ta desteklenmez.» iOS Safari’de kurulum yalnızca manuel Paylaş → Ana Ekrana Ekle akışıyla gerçekleşir (iOS 16.4+ üzerinde Chrome, Edge, Firefox ve Orion’a genişletilmiştir; bunların tümü iOS’ta Apple’ın zorunlu WebKit motorunu kullanır ve bu nedenle bu sınırlamayı paylaşır), otomatik bir istemle değil. Bunların hiçbiri SEO tablosunu değiştirmez — sadece “PWA’m kurulabilir mi” sorusunun, ziyaretçinin hangi tarayıcıda ve işletim sisteminde olduğundan bağımsız bir evet/hayır gerçeği olmadığı anlamına gelir.

Twitter Lite, herkesin “PWA’ların SEO’ya yardımcı olduğunun” kanıtı olarak başvurduğu vaka çalışmasıdır — ve belgelenen sonuçları gerçektir (oturum başına sayfada %65 artış, gönderilen Tweet’lerde %75 artış, hemen çıkma oranında %20 azalma) — ancak bunların her biri bir etkileşim metriğidir. Google’ın bu konudaki kendi vaka çalışması SEO’dan, organik aramadan veya sıralamalardan hiç bahsetmez. Harika sonuç; yanlış sütun.

E-ticaret PWA mağaza vitrinleri: kısa bir not

PWA mağaza vitrinleri, SPA risklerini artırdıkları için belirtmeye değer birkaç pürüz ekler. İstemci tarafı yönlendirme ve çok yönlü gezinme, aynı kabuğa çözümlenen taranabilir görünümlü URL’ler veya bir parametre URL patlaması oluşturabilir. Sepet ve ödeme durumu istemci tarafında yaşar ve dizine eklenebilir ürün içeriğini asla engellememelidir. Ve her ürün sayfası bağımsız olarak gerçek, benzersiz HTML döndürmelidir — uygulama kabuğu tuzağı en çok sayfaya sahip olduğunuz yerde en pahalıdır. Çözümler, e-ticaret ve çok yönlü gezinme SEO’sundakiyle aynıdır; PWA katmanı bunları değiştirmez, yalnızca SSR/prerender disiplinini daha önemli hale getirir.

Bing ve PWA’lar

Bir satır değer: Bing, PWA’ya özel hiçbir sıralama veya dizine ekleme kılavuzu yayınlamadı. Web yöneticisi kılavuzları PWA’dan bağımsızdır (genel taranabilirlik, sitemaps, robots.txt, IndexNow) ve Microsoft’un kapsamlı PWA belgeleri tamamen Edge kurulum istemleri, PWABuilder ve Microsoft Store paketlemesiyle ilgilidir — dağıtım ve kurulum, web araması dizine eklemeden ayrı bir yol. Bu nedenle Bing için sıradan JS işleme taranabilirlik kılavuzunu varsayılan alın; öğrenilecek bir PWA istisnası yok.

Sonuç

PWA SEO, JavaScript/SPA SEO artı tam olarak iki eklemedir: manifesti bir SEO girdisi olarak yok sayın (kurulabilirlik içindir) ve hizmet çalışanını Googlebot’u asla bayat veya çevrimdışı bir önbellekte hapsetmeyecek şekilde yapılandırın. Bunları doğru yapın ve bir PWA, diğer iyi yapılandırılmış sitelerle tam olarak aynı şekilde dizine eklenir — bonus yok, ceza yok, sadece aynı kurallar.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.