İçereği Atla

Odoo için sayfa önbelleği: RAM veya dosyadan mağaza ve blog – ziyaretçiler, arama motorları ve yapay zekâ için hızlı

Açık kaynaklı website_page_cache modülü herkese açık Odoo sayfalarını neredeyse statik olarak sunar, değişikliklerde ve çevirilerde kendini güncel tutar ve panoda RAM'in gerekip gerekmediğini ve ne kadar gerektiğini gösterir
10 Kasım 2026 yazan
Odoo için sayfa önbelleği: RAM veya dosyadan mağaza ve blog – ziyaretçiler, arama motorları ve yapay zekâ için hızlı

10 Kasım 2026  |  Kendi geliştirmemiz  |  Odoo, performans ve arama motorları

Odoo web siteleri için sayfa önbelleği: Herkese açık mağaza ve blog sayfalarını her çağrıda yeniden oluşturmak yerine dosyadan veya RAM'den sunun

Bir Odoo web sitesi her sayfayı her çağrıda yeniden oluşturur: veritabanı sorguları, şablonlar, çeviriler, fiyatlar. Tek bir ziyaretçi için bu fark edilmez. Ancak arama motorları ve yapay zekâ dizinleyicileri birçok dilde yüzlerce veya binlerce sayfayı çağırdığında bu sürekli bir yüke dönüşür ve gerçek müşteriler de bekler. Bunun için Odoo 19 modülü website_page_cache modülünü geliştirdik ve GitHub'da açık kaynak (LGPL-3) olarak yayımladık: Anonim olarak çağrılan mağaza ve blog sayfaları neredeyse statik olarak bir önbellekten sunulur; ya dosyalardan ya da çalışma belleğinden (RAM). Her değişiklik – bir çeviride bile – etkilenen sayfaları otomatik olarak önbellekten çıkarır.

Bulunmak isteyen herkes için önemli: Modül hiçbir arama motorunu ve hiçbir yapay zekâ tarayıcısını engellemez. Tüm dizinleyiciler, her ziyaretçiyle aynı içeriği alır; yalnızca daha hızlı. Bu yazı, önbelleğin nasıl çalıştığını, panonun nasıl göründüğünü (ekran görüntüleriyle), sayfalarınızın çalışma belleğine sığıp sığmadığını ve ek olarak ne kadar RAM gerekeceğini nasıl anlayacağınızı, hangi güvenlik kurallarının geçerli olduğunu ve modülü nasıl kuracağınızı açıklıyor.

Kısa özet

KonuGeçerli olan
Modülwebsite_page_cache, Odoo 19 için, LGPL-3 lisanslı, GitHub'da herkese açık
Ne önbelleğe alınır?Her web sitesinin her dilindeki herkese açık mağaza ve blog sayfaları (listeler, kategoriler, ürünler, yazılar)
Kimler için?Yalnızca anonim ziyaretçiler, yalnızca arama parametresi içermeyen GET çağrıları, yalnızca HTML içeren 200 durumu
Depolama yeriDiskte dosyalar veya RAM (tmpfs, tüm çalışan süreçlerce paylaşılır); yer ihtiyacına göre otomatik
GüncellikHer değişiklik (çeviriler, içe aktarmalar, betikler dâhil) veritabanı tetikleyicileri aracılığıyla bir günlük kaydı oluşturur ve etkilenen sayfaları geçersiz kılar
PanoAyarlar, durum, istatistik (isabetler, ıska sayısı, tasarruf edilen sunucu süresi) ve “gerekli ek RAM” bilgisi dâhil “Çalışma belleğine sığıyor mu?” denetimi
Arama motorları ve yapay zekâHiçbir şey engellenmez veya kısıtlanmaz; herkes aynı sayfaları alır, yalnızca daha hızlı
Acil frenTek bir anahtar (enabled = 0), önbelleği tüm çalışan süreçlerde 30 saniye içinde kapatır

Sorun: Odoo web sitelerinde tarayıcı yükü

Odoo eksiksiz bir ERP sistemidir, web sitesi ise birçok modülden yalnızca biridir. Bir ziyaretçinin veya robotun çağırdığı her sayfa aynı yolu izler: isteği işleme, veritabanını sorgulama, ürün ve fiyat verilerini yükleme, QWeb şablonunu oluşturma, çevirileri yerleştirme ve sonucu sunma. Sayfaya bağlı olarak bu birkaç yüz milisaniye sürer ve bu sürede az sayıdaki çalışan süreçten birini meşgul eder.

Arama motorları ve yapay zekâ dizinleyicileri için bu sürekli bir sorundur:

  • Çok dil, çok adres: 46 dilde mevcut bir sayfa, bir tarayıcı için 46 farklı adres demektir.
  • Her adres ayrı ayrı çağrılır, çoğu zaman çok sayıda dağıtık gönderici tarafından aynı anda. Klasik bir tarayıcı önbelleği burada işe yaramaz, çünkü her çağrı yeni bir adrese yöneliktir.
  • Az sayıda çalışan süreç: Bir Odoo hizmeti genellikle bir avuç süreçle çalışır. Bunlar tarayıcı istekleriyle doluysa gerçek ziyaretçiler kuyrukta bekler.
  • Aynı içerik, tekrar tekrar yeniden: Bir blog yazısı nadiren değişir, ancak her çağrıda baştan zahmetle oluşturulur.

Akla gelen çıkış yolu – tarayıcıları dışarıda bırakmak – bulunmak isteyen bir şirket için seçenek değildir. Arama motorlarında ve yapay zekâ yanıtlarında görünürlük değerlidir. Daha iyisi, sayfaları yükün neredeyse hissedilmeyeceği kadar hızlı sunmaktır. Sayfa önbelleği tam olarak bunu yapar.

Sayfa önbelleği nasıl çalışır

Modül, Odoo'nun istek girişine bağlanır. Her sayfa çağrısında sayfanın önbellekten gelip gelemeyeceğine milisaniyenin kesrinde karar verir ve geliyorsa veritabanı, şablon ve oluşturma olmadan sunar (ir.http).

Akış şeması: İstek, denetim, önbellek anahtarı, isabet veya ıska, kaydetme ve sunum

  1. Denetim: Yalnızca izin verilen bir yolda (mağaza, kategoriler, ürünler, blog) arama parametresi içermeyen anonim bir GET çağrısı söz konusu olabilir. Diğer her şey her zamanki gibi Odoo'dan geçer.
  2. Önbellek anahtarı: Web sitesi, ana makine sınıfı, dil, yol, fiyat listesi, mali pozisyon ve çerez onay durumundan oluşur. Bu nedenle farklı bir şey görecek ziyaretçiler hiçbir zaman aynı kaydı paylaşmaz. Ana makine bu sırada normalleştirilir: Odoo mutlak adresleri her zaman isteğin değil, web sitesinin alan adından yazar; istek adresi yalnızca sayfanın ana adres sayılıp sayılmayacağına (dil bağlantıları) ve dizinlenip dizinlenmeyeceğine karar verir. Bu nedenle tüm yabancı ana makine adları, her biri kendi kopyasını kaplamak yerine noindex ipucu dâhil tek bir kaydı paylaşır.
  3. İsabet: Güncel bir kayıt varsa sunulur. Sayfadaki CSRF belirteci bu sırada her istek için yeniden ayarlanır. Blog yazılarının görüntülenmeleri saymaya devam eder.
  4. Iska: Kayıt yoksa veya eskimişse Odoo sayfayı her zamanki gibi oluşturur. Sonuç önbelleğe alınabilirse (durum 200, HTML, çerez yok, metinde oturum kimliği yok) kaydedilir; bir sonraki çağrı isabet olur.
  5. Başlıkta görünür: Her yanıt X-Page-Cache: HIT veya MISS başlığını taşır. Böylece ne olduğu herhangi bir araçla denetlenebilir.

Ne kadar daha hızlı?

Test sistemimizde (web sitelerimizin bir kopyası, birkaç yüz sayfa) bir sayfanın ortalama oluşturma süresi yaklaşık 490 milisaniye, önbellekten sunum ise yaklaşık 23 milisaniye idi: kabaca yirmi kat. Sayfa ne kadar karmaşıksa kazanç o kadar büyüktür. Pano ayrıca bu iki değerden tahmini tasarruf edilen sunucu süresini hesaplar.

Dosya mı RAM mi: depolama yerini seçin

Önbelleğin iki depolama yeri vardır. İkisi de tüm Odoo çalışan süreçleri tarafından ortak görülür; yani her sayfa süreç başına bir kez değil, yalnızca bir kez bulunur.

Dosya önbelleği ile RAM önbelleğinin karşılaştırması ve otomatiğin karar kuralı

AyarSayfalar nerede durur?Özellikler
DosyalarOdoo veri klasöründe, veritabanı başına bir dizinyeniden başlatmalardan etkilenmez; işletim sistemi sık kullanılan sayfaları zaten bellekte tutar
Çalışma belleği/dev/shm altında tmpfsen hızlı sunum; sunucu yeniden başlatıldığında kaybolur ve yeniden oluşturulur
OtomatikHer şey sığdığı sürece RAM; aksi hâlde dosyalarBir bakım işi (10 dakikada bir) tahmine göre karar verir; seçim sürekli değişmesin diye “sığıyor” ve “sınırda” durumlarında RAM'de kalır

Çoğu kurulum için Otomatik doğru seçimdir: Yer varsa RAM hızını alırsınız, yoksa müdahale gerekmeden dosyalara geri dönülür.

Web sitesi çalışma belleğine sığıyor mu? Ve ne kadar RAM eksik?

Bir RAM önbelleğinin mümkün olup olmadığı üç şeye bağlıdır: sayfa sayısına, ortalama boyutuna ve kullanılabilir belleğe. Pano bunu sizin için hesaplar:

  • Sayfa sayısı: Her web sitesi için yayımlanmış ürünleri, mağaza liste sayfalarını, kategorileri, blog yazılarını ve blog listelerini sayar ve dil sayısıyla çarpar.
  • Sayfa boyutu: Önbellekte sayfalar bulunur bulunmaz gerçek ortalama ölçülür; o zamana kadar bir varsayım değeri geçerlidir.
  • Önbellek için yer: ayarlanan RAM bütçesi, tmpfs boyutu ve kullanılabilir çalışma belleğinin yarısı değerlerinin en küçüğü. Sunucu, önbellek yüzünden asla bellek sıkıntısına düşmemelidir.
  • Karar: “yedekle sığıyor”, “sınırda”, “çok büyük” veya “RAM önbelleği kullanılamıyor”. İhtiyaç, kullanılabilir yerin en fazla yüzde 80'i ise “sığıyor” geçerlidir.

Web sitesi başına sayfa sayısı, yer ihtiyacı ve gereken ek RAM bilgisini içeren Çalışma belleğine sığıyor mu? pano bölümü

Yeni: Ne kadar ek RAM gerekir?

Önbellek sığmıyorsa neyin değişmesi gerektiğini bilmek istersiniz. Bu nedenle pano, kararın altında somut bir satır verir: “RAM önbelleği için ek RAM: bu sunucuda yaklaşık … daha fazla çalışma belleği” – yer zaten yetiyorsa “yok”. Sunucu yerine yalnızca bir ayar çok küçükse, altında hangisi olduğu yazar: modülün RAM bütçesi veya tmpfs boyutu (/dev/shm).

RAM bütçesi çok küçük olan pano: Hayır kararı ve RAM bütçesini en az gereken değere yükseltme uyarısı

Arkasındaki hesap basit ve izlenebilirdir:

Hesap örneği: 12.000 sayfa çarpı 25 KB yaklaşık 300 MB ihtiyaç eder, yedekle yaklaşık 375 MB; bunun için en az 750 MB boş bellek gerekir

  1. İhtiyaç = sayfalar × ortalama sayfa boyutu.
  2. Yedekli = ihtiyacın 0,8'e bölünmesi. Kararın “sığıyor” olması için bu değerin RAM bütçesine ve tmpfs'ye sığması gerekir.
  3. Boş bellek: Önbellek kullanılabilir çalışma belleğinin en fazla yarısını kullanabildiğinden, sunucunun serbestçe kullanılabilir bellek olarak 2. adımdaki değerin en az iki katına ihtiyacı vardır. Bir şey eksikse aradaki fark gereken ek RAM'dir.

Görseldeki örnek (her biri 25 KB olan 12.000 sayfa) bir hesaplama yardımıdır, sayfalarımızın ölçümü değildir. Küçük web siteleri için birkaç düzine megabayt yeterlidir; ekran görüntülerindeki örnek veriler yaklaşık 13 MB ile yetindi.

Değerlendirme için önemli: Tahmin fiyat listesi veya ülke bazlı ek sürümleri saymaz. Bunlardan çok kullananlar biraz yedek planlamalıdır. Ayrıca: Otomatiğin dosyalarda kalmasının en sık nedeni, çalışma belleği eksikliği değil, çok küçük bir RAM bütçesidir. Pano bu durumda tam olarak bu satırı gösterir.

Değişiklikler ve çeviriler önbelleği temizler

Bir önbellek ancak asla eskimiş sayfa sunmuyorsa kullanışlıdır. Salt zaman sınırı (“her on iki saatte bir at”) çok kaba olurdu: Değişen bir fiyat veya düzeltilen bir yazım hatası on iki saate kadar beklemek zorunda kalırdı. Bu nedenle modül içeriğe dayalı çalışır.

Geçersiz kılma akışı: değişiklik, veritabanı tetikleyicisi, değişiklik günlüğü, karşılaştırma, sayfa atıldı, bir sonraki çağrıda yeniden oluşturma

  1. Veritabanı tetikleyicileri: Bir sayfayı etkileyebilecek tüm tablolarda (ürünler, varyantlar, görseller, stok, öznitelikler, kategoriler, fiyatlar, vergiler, fiyat listeleri, blog yazıları ve etiketleri, iş ortağı ve şirket verileri, görünümler, varlıklar, menüler, diller, web sitesi ayarları) PostgreSQL tetikleyicileri bulunur. Her değişikliği bir değişiklik günlüğüne yazarlar.
  2. Bağımlılıklar ve veritabanı durumu: Önbelleğe alınan her sayfa hangi kayıtları gösterdiğini ve hangi veritabanı durumuyla oluşturulduğunu hatırlar.
  3. Karşılaştırma: Bu durumdan sonra oluşmuş ve bu kayıtlardan birini ilgilendiren bir günlük kaydı varsa sayfa eskimiştir.
  4. Yeniden önbelleğe alma: Bir sonraki çağrıda eskimiş sayfa atılır, yeniden oluşturulur ve yeniden kaydedilir.

Çeviriler de kapsanır

Odoo 19, çevrilmiş metinleri özgün metinle aynı kayıtta (JSON alanı olarak) saklar. Değiştirilen bir çeviri, veritabanı için tamamen olağan bir satır değişikliğidir – ve tetikleyici bunu görür. Bu; arayüz üzerinden düzenleme, içe aktarmalar, arayüzler (API) ve doğrudan veritabanına yazan betikler için aynı şekilde geçerlidir. Dolayısıyla 46 dile otomatik çeviri, metni değişen sayfaları ve yalnızca onları geçersiz kılar.

  • Toptan değil, hedefli: Değiştirilen bir ürün, kendi sayfalarını, içinde yer aldığı listeleri ve ilgili kategoriyi geçersiz kılar. Geri kalanı önbellekte kalır.
  • Genel değişiklikler (şablonlar, varlıklar, diller, menüler, vergiler, para birimleri) her sayfayı etkileyebileceğinden her şeyi bir anda geçersiz kılar.
  • Sayaçlar dışarıda bırakılır: Blog yazılarının görüntülenme sayacı her ziyarette değişir; bilinçli olarak geçersiz kılmayı tetiklemez, aksi hâlde popüler yazılarda önbellek etkisiz kalırdı.
  • Güvenlik ağı: Ayrıca sayfa başına bir azami yaş vardır (varsayılan 12 saat).
  • Önbellek yüzünden kayıt hatası olmaz: Bir tetikleyici içindeki hata uyarı olarak günlüğe yazılır ve asıl kaydetme işleminin başarısız olmasına yol açmaz.

Pano ve istatistik

İşletim için gereken her şey tek bir yerde: Odoo'da Web sitesi → Raporlar → Sayfa önbelleği altında. Genel bakış bölümü panodur (ayarlarla birlikte), Geçmiş bölümü ise gün ve web sitesi başına rakamları gösterir.

Odoo'da sayfa önbelleği panosu: ayarlar, durum, istatistik ve Çalışma belleğine sığıyor mu denetimi

Web sitelerimizin kopyalarının bulunduğu bir test sisteminden ekran görüntüsü; web sitesi adları yer tutucularla değiştirilmiştir.

Ayarlar

AyarAnlamı
EtkinAna anahtar. Kapatıldığında Odoo her sayfayı eskisi gibi sunar; tüm süreçlerde en geç 30 saniye sonra.
Depolama yeriOtomatik, Dosyalar veya Çalışma belleği
Azami yaş (saat)Güvenlik ağı; sayfalar değişikliklerden bağımsız olarak bu süreden sonra yenilenir
RAM bütçesi (MB)RAM önbelleğinin kaplayabileceği azami çalışma belleği; aynı zamanda “sığıyor” kararının sınırı
Disk sınırı (MB)Dosya önbelleğinin azami boyutu; önce en eski kayıtlar kaldırılır

Durum ve istatistik

Durum; etkin depolama yerini sınırıyla, önbelleğe alınan sayfaların sayısını ve boyutunu ve değişiklik izlemeyi gösterir: son 24 saatte kaç değişikliğin kaydedildiğini ve kaç tablonun izlendiğini. Bir izleme eksikse pano açıkça uyarır, çünkü o zaman önbelleğe güvenilmemelidir. Üstteki düğmelerle bakım hemen çalıştırılabilir, önbellek boşaltılabilir veya tetikleyiciler denetlenip gerekirse yeniden oluşturulabilir.

İstatistik (Bugün, 7 gün, 30 gün) şunları içerir:

  • Önbellekten ve Oluşturulan: isabetler ve ıskalar, bunlardan isabet oranı
  • Kaldırılan (değişen/süresi dolan): kaç sayfanın değişiklik veya süre dolması nedeniyle atıldığı
  • Oluşturma süresi ve önbellek süresi: sayfa başına ortalamanın karşılaştırması
  • Tahmini tasarruf edilen sunucu süresi ve önbellekten sunulan veri miktarı

Rakamları her çalışan süreç kendi başına toplar ve dakikada bir yazar; 90 günden eski satırları bakım işi temizler.

Geçmiş: grafik, pivot ve liste olarak

Geçmiş altında web sitesi başına günlük değerler bulunur – grafik, pivot tablo veya liste olarak. Böylece isabet oranının yeniden başlatmadan veya büyük bir değişiklikten sonra tekrar yükselip yükselmediğini ve hangi web sitesinin önbellekten en çok trafik aldığını görürsünüz.

Web sitesi başına isabetler, ıskalar ve atılan sayfalarla pivot tablo olarak sayfa önbelleği geçmişi

Güvenlik: Önbellekten asla gelmeyenler

Bir sayfa önbelleği, hiç kimsenin bir başkasının içeriğini görmesine yol açmamalıdır. Bu nedenle modül şu ilkeyle çalışır: Şüphede önbelleğe alma.

  • Yalnızca anonim ziyaretçiler: Oturum açmış olan, sepeti bulunan veya başka bir oturum durumu taşıyan herkes her zaman normal şekilde oluşturulmuş sayfayı alır.
  • Yalnızca arama parametresiz GET: Aramalar, filtreler, sıralamalar, formlar, sepet ve ödeme etkilenmez.
  • Yalnızca durum 200 ve HTML: Hata sayfaları, yönlendirmeler ve dosyalar kaydedilmez.
  • Önbellekte oturum kimliği yok: Oturum kimliği içeren veya çerez ayarlayan bir sayfa kaydedilmez (ve uyarı olarak günlüğe yazılır).
  • İstek başına CSRF belirteci: Önbellekteki sayfada bulunan belirteç bir yer tutucudur ve her sunumda yeniden yerleştirilir.
  • İnce anahtar: Web sitesi, dil, fiyat listesi, mali pozisyon ve çerez onayı önbellek anahtarının parçasıdır; farklı bir şey gören farklı bir kayıt alır.
  • Birden çok veritabanı: Her veritabanının kendi kayıtları, kendi günlüğü ve kendi istatistiği vardır.
  • Veri sızıntısı yok: Önbellek sunucuda yerel olarak durur (dosya veya RAM). Üçüncü taraflara hiçbir veri aktarılmaz.

Arama motorları ve yapay zekâ dizinleyicileri: hiçbir şey engellenmez

Bazı işletmeciler tarayıcı yüküne engellemelerle karşılık verir. Bu sunucuyu korur ama görünürlüğe mal olur. Modül tersini seçer:

  • Herkese aynı içerik: Arama motorları, yapay zekâ dizinleyicileri ve ziyaretçiler aynı sayfayı alır. Ayrı bir “tarayıcı sürümü” ve tarayıcı kimliğine göre tanıma yoktur.
  • Daha hızlı yanıtlar dizinlemeye yardımcı olur: 500 yerine 20 milisaniyede yanıt veren bir sayfa tarama bütçesini daha az yorar ve tarayıcılar aynı sürede daha fazla sayfa tarayabilir.
  • Güncel içerik: Değişiklikler sayfaları anında geçersiz kıldığından tarayıcılar hiçbir zaman eskimiş bir sürüm görmez – arama ve yapay zekâ yanıtları için içerik yönetiyorsanız önemlidir.
  • Yapılandırılmış veriler korunur: JSON-LD, meta bilgileri ve hreflang bağlantıları önbelleğe alınan sayfanın parçasıdır; site haritalarına ve dosyalara önbellek dokunmaz.

Ayrıca yükü sınırlamak isterseniz bu ayrı bir karardır ve bilinçli olarak verebilirsiniz – modül bunu size dayatmaz.

HTML'yi küçültme ve sıkıştırılmış sunma

Önbellek yalnızca hesaplama süresinden değil, veri hacminden de tasarruf sağlar. Modül HTML'yi kaydetmeden önce küçültür ve tarayıcı ya da tarayıcı robotu destekliyorsa sıkıştırılmış olarak sunar:

  • Küçültme (parametre website_page_cache.minify): HTML yorumları kaldırılır, boşluklar birleştirilir. Boşluklar yalnızca tarayıcının zaten yok saydığı yerlerde, örneğin blok öğeler arasında tamamen kaldırılır. Satır içi öğeler arasındaki boşluklar kalır, pre, textarea ve betikler değişmeden kalır, yapılandırılmış veriler (JSON-LD) kompakt biçimde yeniden yazılır. Sayfaya bağlı olarak sayfalar %10 ile %30 arasında küçülür. Yedi gerçek sayfayla yapılan testte metin, öğe sayısı, tüm öğelerin konumu ve ekran görüntüsü orijinalle aynıydı. İlk sunum (MISS) sonrakiler (HIT) kadar küçültülmüştür.
  • Sıkıştırma (parametre website_page_cache.compress): Önbellekteki sayfalar gzip ile gönderilir (Content-Encoding: gzip, Vary: Accept-Encoding). Büyük varlık paketlerini (CSS ve JavaScript, birkaç MB'a kadar) Odoo kendisi sıkıştırılmadan sunar; modül bunları bir kez sıkıştırır, kopyayı diske koyar ve sonrasında doğrudan sunar. Böylece 2,1 MB CSS 0,27 MB'a, 4,8 MB JavaScript 1,1 MB'a düştü. Eski kopyaları bakım işi temizler.
  • Bilgisayar yeniden başlatıldıktan sonra: RAM önbelleği Odoo'nun yeniden başlatılmasında korunur, sunucunun yeniden başlatılmasında korunmaz. Bu nedenle bakım işi onu kademeli olarak diske yansıtır (parametre website_page_cache.persist) ve başlangıçta geri yükler. Geri yüklenen bir kaydın hâlâ geçerli olup olmadığını her zamanki mekanizma denetler: yaş ve değişiklik günlüğü. Küçültme bu sırada yeniden hesaplanmaz.

Kurulum ve ayarlar

  1. Modülü edinin: Kaynak kodunu GitHub'dan indirin ve Odoo 19 kurulumunuzun bir addons yoluna koyun: github.com/Alex0176/odoo-website-page-cache
  2. Kurun: odoo-bin -d <Datenbank> -i website_page_cache --stop-after-init. Bu sırada değişiklik günlüğü, tetikleyiciler ve bakım işi (10 dakikada bir) oluşturulur.
  3. Hizmeti yeniden başlatın ki tüm çalışan süreçler modülü yüklesin.
  4. Panoyu açın: Web sitesi → Raporlar → Sayfa önbelleği. Değişiklik izlemenin eksiksiz olup olmadığını denetleyin ve depolama yerini seçin (varsayılan: otomatik).
  5. Denetleyin: Bir mağaza veya blog sayfasını iki kez çağırın ve X-Page-Cache başlığına bakın: ilkinde MISS, sonrasında HIT.

Ayarlar sistem parametreleri olarak bulunur (website_page_cache.enabled, .backend, .ttl_hours, .max_mb_file, .max_mb_ram) ve normalde panoda yönetilir. Modül Almancaya çevrilmiştir. Kaldırma tetikleyicileri, günlüğü ve önbelleğe alınan tüm sayfaları yeniden tamamen siler.

RAM önbelleği için ipucu: Panodaki RAM bütçesi ve tmpfs boyutu (/dev/shm, bağlama seçeneği size=) ihtiyaca uymalıdır. İkisini de “Çalışma belleğine sığıyor mu?” denetimi somut değerlerle bildirir.

Bilmeniz gereken sınırlar

  • Değişikliklerden sonra kısa gecikme: Değişiklik günlüğünün dizini iki saniyede bir yenilenir. O zamana kadar değişen bir sayfa hâlâ eski sürümüyle sunulabilir.
  • Stoğa bağlı metinler stok değişiklikleri ve azami yaş aracılığıyla güncellenir.
  • Yer ihtiyacı tahmini: Fiyat listesi veya ülke bazlı ek sürümler hesaba katılmaz; biraz yedek planlayın.
  • Her şeyin yerine geçmez: Önbellek, karşılayabileceği istekleri hafifletir. Oturum açmış kullanıcılar, aramalar ve formlar yine Odoo'dan geçer.
  • İlk çağrı yavaş kalır: Sunucu yeniden başlatıldıktan (RAM) veya genel bir değişiklikten sonra her sayfa önbelleğe girmeden önce bir kez normal şekilde oluşturulur.

Sık sorulan sorular

Odoo için sayfa önbelleği nedir?

Herkese açık mağaza ve blog sayfalarını, her çağrıda yeniden oluşturmak yerine anonim ziyaretçilere bir önbellekten sunan açık kaynaklı bir modüldür (website_page_cache, Odoo 19, LGPL-3). Önbellek isteğe göre dosyalarda veya çalışma belleğinde tutulur.

Modül arama motorlarını veya yapay zekâ tarayıcılarını engeller mi?

Hayır. Arama motorları ve yapay zekâ dizinleyicileri diğer tüm ziyaretçilerle aynı sayfaları alır, yalnızca daha hızlı. Engelleme, kısıtlama ve ayrı bir tarayıcı sürümü yoktur.

Değişen sayfalar ve çeviriler otomatik olarak yeniden önbelleğe alınır mı?

Evet. PostgreSQL tetikleyicileri ilgili tablolardaki her değişikliği bir günlüğe bildirir; etkilenen sayfalar atılır ve bir sonraki çağrıda yeniden oluşturulup kaydedilir. Odoo 19 çevirileri aynı kayıtta sakladığı için çeviriler de kapsanır.

Dosya mı RAM mi seçmeliyim?

Genellikle Otomatik: Modül, tüm sayfalar sığdığı sürece RAM'i kullanır, aksi hâlde dosyalara geçer. Önbelleğin yeniden başlatmalardan etkilenmemesi gerekiyorsa veya RAM kısıtlıysa dosyalar uygundur; en hızlı seçenek RAM'dir.

Web sitemin çalışma belleğine sığıp sığmadığını nasıl öğrenirim?

Panoda Web sitesi → Raporlar → Sayfa önbelleği altında. “Çalışma belleğine sığıyor mu?” bölümü sayfaları web sitesi ve dil başına sayar, sayfa boyutunu ölçer ve ihtiyacı RAM bütçesi, tmpfs boyutu ve kullanılabilir bellekle karşılaştırır.

RAM önbelleği için ne kadar ek RAM gerekir?

Pano bunu ayrı bir satır olarak bildirir. Hesap şöyledir: İhtiyaç = sayfalar × sayfa boyutu; güvenlik yedeğiyle 0,8'e bölünür. Önbellek kullanılabilir belleğin en fazla yarısını kullanabildiğinden bunun iki katı, serbest olması gereken bellektir; aradaki fark ek RAM'dir. Yalnızca RAM bütçesi veya tmpfs çok küçükse pano ayarı hedef değeriyle birlikte belirtir.

Önbellek birine başkasının içeriğini gösterebilir mi?

Hayır. Yalnızca arama parametresi içermeyen anonim GET çağrıları için önbelleğe alınır. Oturum açmış kullanıcılar, sepetler, formlar ve aramalar asla önbellekten gelmez; dil, fiyat listesi, mali pozisyon ve çerez onayı anahtarın parçasıdır.

Önbelleği acil durumda nasıl kapatırım?

Panoda “Etkin” anahtarını kapatın veya website_page_cache.enabled sistem parametresini 0 olarak ayarlayın. Bu, tüm çalışan süreçlerde en geç 30 saniye sonra geçerli olur. Ayrıca kaldırma işlemi tetikleyicileri, günlüğü ve önbelleğe alınan sayfaları siler.

Bir sayfanın önbellekten gelip gelmediğini nasıl anlarım?

X-Page-Cache yanıt başlığından: HIT önbellekten geldiğini, MISS yeni oluşturulup kaydedildiğini gösterir.

Modül HTML'yi küçültür ve sıkıştırır mı?

Evet. Önbelleğe alınan sayfalar ihtiyatlı biçimde küçültülür (yorumlar ve gereksiz boşluklar kaldırılır, içerik ve görünüm aynı kalır) ve önbellek isabetlerinde gzip ile sunulur; varlık paketleri bir kez sıkıştırılır ve diskten sunulur. İkisi de website_page_cache.minify ve website_page_cache.compress parametreleriyle kapatılabilir.

Biricon IT Services desteği

Odoo web siteniz tarayıcı yükünde ağır mı çalışıyor, yoksa mağaza ve blogunuzu daha hızlı ve daha görünür kılmak mı istiyorsunuz? Odoo web siteniz için yük analizi, sayfa önbelleğinin kurulumu, çalışma belleği ve çalışan süreçlerin boyutlandırılması ve çok dilli arama motoru optimizasyonu konularında destek veriyoruz. Modülün kaynak kodunu GitHub'da bulabilirsiniz.

Hemen iletişime geçin

Tarih: 10 Kasım 2026. Ölçüm değerleri örnek verilerin bulunduğu bir test sisteminden gelir ve diğer kurulumlar için bir taahhüt değildir.