Önbellekleme ve Optimizasyon Eklentilerinden Kaynaklanan Sorunları Çözme
Bu Dokümanda
Okuma süresi: 4 dakika | Zorluk: Başlangıç
Genel Bakış
Önbelleğe alma eklentileri ve web barındırma önbellekleri, her sayfanın bir kopyasını kaydedip sonraki ziyaretçilere o kopyayı sunarak sitenizi hızlandırır. Optimizasyon eklentileri daha da ileri giderek sitenizin JavaScript'ini küçültür, birleştirir veya geciktirir. Her ikisi de performans için iyidir, ancak çok agresif ayarlanırlarsa ödeme formlarıyla etkileşime girebilirler.
WP Simple Pay 4.17.5'ten bu yana, ödeme formları tamamen önbelleğe alınmış sayfalarda çalışır. Her form, sayfa açıldığında sitenizden ayarlarını ve yeni bir güvenlik jetonu çeker, bu nedenle sayfanın önbelleğe alınmış kopyası artık süresi dolabilecek hiçbir şey içermez. Ödeme formu sayfalarınızı artık önbelleğe almaktan çıkarmanız gerekmiyor.
Bu kılavuz, hala dikkat gerektiren iki konuyu ele almaktadır: ödeme onay sayfalarınızı önbellekten hariç tutmak ve WP Simple Pay'in betiklerini JavaScript optimizasyonlarından hariç tutmak.
Ön Koşullar
- WP Simple Pay 4.17.5 veya daha yenisi. Eski sürümlerde, ödeme formu sayfaları da önbelleğe almadan hariç tutulmalı veya en fazla 12 saat önbelleğe alınmalıdır.
- Önbelleğe alma veya optimizasyon eklentinizin ayarlarına veya önbellek sunucuda çalışıyorsa web barındırma destek ekibinize erişim.
Önbelleğe Alma
Ödeme Formu Sayfaları
WP Simple Pay 4.17.5 ve sonraki sürümlerinde, ödeme formu içeren sayfalar diğer herhangi bir sayfa gibi önbelleğe alınabilir. Bir ziyaretçi sayfayı açtığında, her form kendi verilerini sitenizin REST API'sinden çeker. Form hazır olana kadar ödeme düğmesi devre dışı kalır, bu nedenle erken bir tıklama tamamlanmamış bir formu gönderemez.
Önceki bir sürümde ödeme formu sayfalarınızı önbelleğe almaktan çıkardıysanız, hariç tutmayı yerinde bırakabilir veya kaldırabilirsiniz. Her ikisi de çalışır.
Yeni güncellediniz mi? Güncellemeden sonra 4.17.5'e sitenizin önbelleğini bir kez temizleyin. Güncellemeden önce önbelleğe alınan sayfalar, yenilenene kadar eski form kodunu içerir.
Ödeme Onay Sayfaları
Ödeme başarı ve başarısızlık sayfalarınızı önbelleğe almaktan hariç tutun. Bu sayfalar belirli bir ödemenin ayrıntılarını gösterir, bu nedenle her müşteriye taze oluşturulmuş bir sayfa verilmelidir.
Bazı web barındırıcılarla, önbellek sunucuda çalışır ve WordPress'ten değiştirilemez. Bu durumda, barındırıcınızla iletişime geçin ve onay sayfası URL'lerinizi önbelleğe almaktan çıkarmalarını isteyin.
Belirli Eklentileri Yapılandırma
- WP Rocket
- SiteGround Optimizer
- WP-Optimize
- WP Fastest Cache
- WP Super Cache
- W3 Total Cache
- LiteSpeed Cache
JavaScript Optimizasyonu
Optimizasyon eklentilerinden kaynaklanan JavaScript sorunları genellikle şu özelliklerden kaynaklanır:
- Küçült
Daha küçük bir dosya üretmek için koddan gereksiz karakterleri (örneğin boşlukları) kaldırır. - Birleştir
Sunucuya yapılan istek sayısını azaltmak için ayrı JavaScript dosyalarını tek bir dosyada birleştirir. - Gecikmeli/Asenkron Yükle
Sayfanın beklememesi için JavaScript dosyalarının yüklenmesini veya çalıştırılmasını geciktirir.
Hangi eklentiyi kullanırsanız kullanın, aşağıdaki dosyaları her JavaScript optimizasyon ayarından hariç tutun:
js.stripe.com/v3/
simpay-public-shared.js
simpay-public-upe.js
accounting.min.js
simpay-public-pro-upe.js
Optimizasyonun Yerinde Bırakması Gerekenler
Ödeme formlarının yüklenmeden önce küçük bir dizi site ayarlarına ihtiyacı vardır: sitenizin REST API adresi, para birimi biçiminiz ve bir form yüklenemediğinde gösterilen mesaj. WP Simple Pay bu ayarları iki yere yazdırır:
- Her ödeme formunun HTML'inin içinde, formun
data-simpay-generalözniteliğinde. Bu kopya formun kendisinin bir parçasıdır, bu nedenle sayfa ile birlikte önbelleğe alınır. - Sayfanın sonuna yakın küçük bir betikte,
<script id="simpay-shared-js-extra">, bu daspGeneral'ı tanımlar.
WP Simple Pay 4.17.6'dan beri, bir form sayfa üzerinde bu kopyalardan herhangi biri olduğu sürece yüklenir. Bazı optimizasyon eklentileri bu ikinci gibi küçük satır içi betikleri kaldırır veya geciktirir ve form artık bu olduğunda kendi kopyasını kullanır.
Ödeme formlarının çalışmaya devam etmesi için, optimizasyon eklentinizin şunları yapmadığından emin olun:
- Ödeme formunun
<form>etiketinden, özellikledata-simpay-form-idvedata-simpay-generalözniteliklerini kaldırın. - Hem
data-simpay-generalözniteliğini hem desimpay-shared-js-extrabetiğini kaldırın. İkisi de giderse, form yüklenemez.
Belirli Eklentileri Yapılandırma
Sorun Giderme
“Bu ödeme formu yüklenemedi”
Ziyaretçiler ödeme düğmesinin altında Bu ödeme formu yüklenemedi. Lütfen sayfayı yenileyin ve tekrar deneyin. mesajını görürlerse, form verilerini sitenizden alamamıştır. Bu genellikle sitenizin REST API'sini engelleyen bir şeyden kaynaklanır:
- Bir güvenlik veya güvenlik duvarı eklentisi veya ModSecurity gibi bir sunucu kuralı,
/wp-json/'a yapılan istekleri engelliyor. 'URL ve istek yöntemiyle eşleşen bir rota bulunamadı' Sorununu Çözme konusuna bakın. - Ziyaretçi istek sınırına ulaştı. 'Üzgünüz, çok fazla istek yaptınız' Mesajını Yönetme konusuna bakın.
- Ödeme formu yayınlanmadı. Formlar yalnızca yayınlandıklarında ön uçta yüklenir.
Güvenlik Jetonu Hataları
Kupon güvenlik kontrolü başarısız oldu veya Çerez nonce geçersiz gibi hatalar, süresi dolmuş güvenlik jetonlarını tutan önbelleğe alınmış sayfalardan kaynaklanıyordu. 4.17.5'ten beri, formlar yüklendiklerinde her seferinde yeni bir jeton alır ve misafir isteklerindeki süresi dolmuş jetonlar otomatik olarak kurtarılır. Güncelledikten sonra hala bu hataları görüyorsanız, sitenizin önbelleğini temizleyin. Daha fazla bilgi için 'Kupon güvenlik kontrolü başarısız oldu' Hatasını Çözme konusuna bakın.
Sıkça Sorulan Sorular
Ödeme formu sayfalarını önbelleğe almaktan hala kaçınmam gerekiyor mu?
Hayır, WP Simple Pay 4.17.5 veya daha yeni sürümlerinde değil. Ödeme onay sayfalarınızı hariç tutmanız hala gereklidir.
window.spGeneral'ı okuyan özel kodum var. Hala çalışıyor mu?
Evet. Footer betiği mevcut olduğunda, window.spGeneral daha önce olduğu gibi onun tarafından ayarlanır. Bir optimizasyon eklentisi bu betiği kaldırdığında, WP Simple Pay betikleri yüklendiği anda ödeme formunun data-simpay-general özniteliğinden window.spGeneral'ı ayarlar, böylece kodunuz aynı değerleri görür.
window.simplePayForms'u okuyan özel kodum var. Hala çalışıyor mu?
Evet. Nesne hala kullanılabilir ve her formun girdisi, o forma ait veriler geldikçe eklenir. Kodunuz sayfa yüklenir yüklenmez çalışırsa, formun yüklenmesi bitene kadar beklemesi gerekebilir.
Sıradaki Ne Var?
- WP Rocket Ayarları Nasıl Yapılandırılır – WP Rocket için adım adım ayarlar
- Ödeme Başarısı ve Başarısızlık Sayfaları Nasıl Ayarlanır – Ödeme yaptıktan sonra müşterilerin indiği sayfaları seçin
- Tema ve Eklenti Çakışmaları Nasıl Test Edilir – Başka bir eklentinin soruna neden olup olmadığını öğrenin
Hala sorularınız mı var? Yardım etmek için buradayız!
Son Değiştirilme: