> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# WordPress sorun giderme

> Tarayıcı uyumluluğu (Chrome, Firefox, Safari), eklenti entegrasyonu ve CDN veya önbellek çakışmalarını çözme dahil olmak üzere WordPress'te OneSignal Web Push Bildirimleri ile ilgili yaygın kurulum sorunlarını gidermeye yönelik kapsamlı kılavuz.

## Yaygın kurulum sorunları

### OneSignal pano kurulumunuzu doğrulayın

[WordPress kurulum kılavuzundaki](./wordpress) her adımı tamamladığınızdan emin olun:

* OneSignal uygulamanızı oluştururken **WordPress Eklentisi** seçeneğini seçin
* Site URL'niz tarayıcı URL'siyle tam olarak eşleşmelidir
  * Örneğin, `https://example.com`, `https://www.example.com` ile aynı **değildir**. Bir sürümü tutarlı bir şekilde kullanın.
  * Push için yalnızca bir site origin'i desteklenir. [Same-origin policy](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy) bölümüne bakın.
* En az bir izin istemi eklediğinizden emin olun.

### OneSignal kodunu manuel olarak eklemeyin

OneSignal WordPress eklentisi, başlatma komut dosyasını ve Service Worker'ı **otomatik olarak** içerir.

* Sitenize OneSignal JavaScript `init` kodu **eklemeyin**.
* WordPress eklentisiyle birlikte [Özel Kod Kurulumu](./web-push-custom-code-setup) **kullanmayın**. `init` yöntemini özelleştirmeniz gerekiyorsa **eklentiyi kaldırın** ve kodu ile Service Worker'ı manuel olarak ekleyin.

### Gönderi yayımlandığında bildirim gönder

Bir gönderi, sayfa veya özel gönderi türü yayımladığınızda OneSignal, abonelerinize otomatik olarak bildirim gönderebilir.

<Frame caption="OneSignal Push Notifications meta kutusu——gerekirse sürükleyerek yeniden konumlandırın">
  <img src="https://mintcdn.com/onesignal/kAXbp86YqdTAbPtE/images/web-push/onesignal-push-notifications-metabox-wordpress.png?fit=max&auto=format&n=kAXbp86YqdTAbPtE&q=85&s=428a477e16f85fa50f9ff69678304340" alt="OneSignal Push Notifications meta kutusu——gerekirse sürükleyerek yeniden konumlandırın" width="3252" height="1674" data-path="images/web-push/onesignal-push-notifications-metabox-wordpress.png" />
</Frame>

**Gönderi yayımlandığında veya güncellendiğinde bildirim gönder** onay kutusunu görmüyorsanız şu öğeleri kontrol edin:

1. Düzenleyicinin sağ ve alt tarafındaki meta kutularını kontrol edin. Gerektiğinde sürükleyip bırakabilirsiniz.
2. **OneSignal Push Notifications** meta kutusunun işaretlendiğinden emin olmak için düzenleyicinin üstündeki **Ekran Seçenekleri**ni kontrol edin.

<Frame caption="OneSignal Push Notifications meta kutusunun işaretlendiğini gösteren Ekran Seçenekleri">
  <img src="https://mintcdn.com/onesignal/kAXbp86YqdTAbPtE/images/web-push/wordpress-screen-options-onesignal-push-notifications-metabox-checked.png?fit=max&auto=format&n=kAXbp86YqdTAbPtE&q=85&s=fd11371fd17a5d66fec241bcc2ff5084" alt="OneSignal Push Notifications meta kutusunun işaretlendiğini gösteren Ekran Seçenekleri" width="1896" height="330" data-path="images/web-push/wordpress-screen-options-onesignal-push-notifications-metabox-checked.png" />
</Frame>

3. Özel Gönderi Türü kullanıp kullanmadığınızı kontrol edin. Bu genellikle URL'de `post_type=your_custom_type` olarak bulunur. Öyleyse, [OneSignal WordPress eklenti ayarlarındaki](./wordpress#add-a-custom-post-type-to-onesignal-wordpress-plugin) **Özel Gönderi Türleri** alanına özel gönderi türünü ekleyin.

<Frame caption="Özel gönderi türü adının nerede bulunacağına dair örnek">
  <img src="https://mintcdn.com/onesignal/kAXbp86YqdTAbPtE/images/web-push/wordpress-find-custom-post-types-field.png?fit=max&auto=format&n=kAXbp86YqdTAbPtE&q=85&s=3239d37ca790551c1fd3685f8424f319" alt="Özel Gönderi Türleri alanını gösteren OneSignal WordPress eklenti ayarları" width="1154" height="894" data-path="images/web-push/wordpress-find-custom-post-types-field.png" />
</Frame>

***

## Sitenizde sorun giderme nasıl yapılır

<Steps>
  <Step title="Eklentinin aktif olduğunu doğrulayın ve geliştirici araçlarını açın">
    Sitenizi eklenti etkinken normal (gizli olmayan) bir tarayıcı penceresinde yükleyin.

    <Frame caption="Sitenize sağ tıklayın, Denetle'ye tıklayın ve Konsol sekmesini açın.">
      <img src="https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/28c27ab14a40621fbcc2c4168d49a2bf72088536a669be59c160b7a30a7fcd95-Screenshot_2025-02-27_at_10.39.27_AM.png?fit=max&auto=format&n=3zq1PvSaqvUE2bIx&q=85&s=38d793be0784bcfd8acee745e3757dcf" alt="Bir WordPress sitesinde Konsol sekmesi seçili olarak açık tarayıcı Geliştirici Araçları" width="1814" height="1024" data-path="images/docs/28c27ab14a40621fbcc2c4168d49a2bf72088536a669be59c160b7a30a7fcd95-Screenshot_2025-02-27_at_10.39.27_AM.png" />
    </Frame>
  </Step>

  <Step title="Konsolda OneSignal hatalarını kontrol edin">
    **Konsol** sekmesini açın, sayfayı yenileyin ve OneSignal ile ilgili kırmızı veya sarı hataları arayın.
    Yardım için [Yaygın OneSignal Konsol hataları](#common-onesignal-console-errors) bölümüne bakın.
  </Step>

  <Step title="Tarayıcıda abonelik durumunu kontrol edin">
    Sayfa yüklemeyi tamamladıktan ve Konsolda OneSignal hatası görmediğinizden emin olduktan sonra şunu yapıştırın:

    ```javascript JavaScript theme={null}
    OneSignal.User.PushSubscription.id
    ```

    Ziyaretçi abone olmuşsa bir string (Abonelik ID'si) döndürür. Abone değilse veya abonelik henüz hazır değilse **`null`** veya boş bir değer görebilirsiniz. **`OneSignal is not defined`** görürseniz birkaç saniye bekleyip tekrar deneyin ya da önce [Yaygın OneSignal konsol hataları](#common-onesignal-console-errors) bölümündeki konsol hatalarını düzeltin——SDK, ertelenmiş yükleyici aracılığıyla hâlâ yükleniyor olabilir.

    <Frame caption="Konsolda OneSignal Abonelik ID'nizi bulun.">
      <img src="https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/96cdeebdc8888b5c49b6466bf6975a75fb9497f7e54d34f7da3d6c25b35250ae-Screenshot_2025-02-27_at_11.15.16_AM.png?fit=max&auto=format&n=tc0EvmtSSX56SX0c&q=85&s=f396b737c9cd56257c59d6515086aec6" alt="OneSignal kullanıcı PushSubscription id string sonucunu gösteren tarayıcı konsolu" width="1258" height="448" data-path="images/docs/96cdeebdc8888b5c49b6466bf6975a75fb9497f7e54d34f7da3d6c25b35250ae-Screenshot_2025-02-27_at_11.15.16_AM.png" />
    </Frame>
  </Step>

  <Step title="OneSignal panosunda Abonelik ID'sini doğrulayın">
    **OneSignal panosunda** **Audience > Subscriptions**'a gidin ve yukarıda döndürülen ID'yi arayın.

    <Frame caption="Abonelik ID'si için OneSignal panonuzda arama yapın.">
      <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/e3907be9912e3ed3a934c6968f2e6f9354af519b8c670d1f7de07f32e71a8a80-Screenshot_2025-02-27_at_11.18.06_AM.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=76657b84cf0f8f29fa03a776f26cf66c" alt="Abonelik ID aramasını gösteren OneSignal panosu Abonelikler arama alanı" width="2726" height="780" data-path="images/docs/e3907be9912e3ed3a934c6968f2e6f9354af519b8c670d1f7de07f32e71a8a80-Screenshot_2025-02-27_at_11.18.06_AM.png" />
    </Frame>
  </Step>

  <Step title="Bir test push bildirimi gönderin">
    Abonelik varsa ve durum **Subscribed** ise, bir bildirim göndermek için [Push kılavuzunu](./push) izleyin.
    Hiçbir şey görünmüyorsa, tarayıcıya özel düzeltmeler için [Gösterilmeyen bildirimler](./notifications-not-shown-web-push) bölümüne bakın.
  </Step>
</Steps>

***

## Yaygın OneSignal konsol hataları

### <Danger>SdkInitError: OneSignal: This web push config can only be used on ... Your current origin is ...</Danger>

<Frame caption="Site URL uyuşmazlığı hatası.">
  <img src="https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/334686c64af6155f95d674d0cfd28a5b92739f3cae57382073365ec9206b7e7c-Screenshot_2025-02-27_at_11.35.59_AM.png?fit=max&auto=format&n=_KaXe4GQkxsEfa17&q=85&s=2d8d0656875180f0b77dd88795a4bced" alt="Web push yapılandırmasının kaynak uyuşmazlığını gösteren konsol SdkInitError" width="2090" height="192" data-path="images/docs/334686c64af6155f95d674d0cfd28a5b92739f3cae57382073365ec9206b7e7c-Screenshot_2025-02-27_at_11.35.59_AM.png" />
</Frame>

OneSignal panosundaki site URL'niz gerçek alan adınızla eşleşmiyor.
Tarayıcıda gördüğünüz alan adıyla tam olarak eşleştiğinden emin olun.

### <Danger>PushPermissionNotGrantedError: The user dismissed the permission prompt.</Danger>

Ziyaretçi tarayıcı istemini reddetti. Bekleme süresi dolana kadar tekrar görünmeyecektir.
Tarayıcı kuralları için [Web izin istemleri](./permission-requests) bölümüne bakın veya hemen yeniden denemek için site verilerini temizleyin.

### <Danger>The OneSignal web SDK can only be initialized once.</Danger>

<Frame caption="Yinelenen OneSignal başlatma hatası.">
  <img src="https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/e88d53c6c92a546f188c06e14e1776da8ad63c658c64044b6a674802ce2a2277-Screenshot_2025-02-27_at_2.40.32_PM.png?fit=max&auto=format&n=Xl2NHJvxakrK4JbL&q=85&s=cc2d3a0773b894f423f0d6db598a37a1" alt="Konsol hatası: OneSignal web SDK yalnızca bir kez başlatılabilir" width="2164" height="182" data-path="images/docs/e88d53c6c92a546f188c06e14e1776da8ad63c658c64044b6a674802ce2a2277-Screenshot_2025-02-27_at_2.40.32_PM.png" />
</Frame>

OneSignal'i iki kez yüklüyorsunuz. Eklentiyi kullanıyorsanız, manuel olarak eklenen OneSignal kodunu kaldırın.

### <Danger>Installing service worker failed.. 403 or 404 error</Danger>

<Frame caption="Service Worker dosyası eksik (403/404).">
  <img src="https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/990e505-Screen_Shot_2020-02-01_at_9.31.44_PM.png?fit=max&auto=format&n=tc0EvmtSSX56SX0c&q=85&s=0d719e6b826477612901d07e1d505f15" alt="Konsol hatası: service worker kurulumu 403 veya 404 hatasıyla başarısız oldu" width="3364" height="200" data-path="images/docs/990e505-Screen_Shot_2020-02-01_at_9.31.44_PM.png" />
</Frame>

Bu dosyanın erişilebilir olduğundan emin olun (`your-site.com` yerine kendi adresinizi yazın ve varsayılandan farklıysa **gerçek eklenti klasörü adıyla** eşleştirin):
`https://your-site.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js`

Değilse, CDN veya önbellek sorunlarını çözmek için [Yaygın eklenti desteği](#common-plugin-support) bölümüne bakın.

***

## Yaygın eklenti desteği

CDN'ler ve önbellek eklentileri OneSignal'in gerekli dosyalarını engelleyebilir. Aşağıdaki yollar, eklenti dizininin **`onesignal-free-web-push-notifications`** olduğunu varsayar; kurulumunuz farklı bir klasör adı kullanıyorsa buna göre düzeltin.

### Autoptimize

**Excluded scripts** bölümüne şunu ekleyin:

```
wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/(.*)
```

### WP Rocket

**CDN > Exclude Files From CDN** altına şunu ekleyin:

```
(.*)/onesignal-free-web-push-notifications/sdk_files/(.*)
```

### LiteSpeed Cache

**CDN > Exclude Path** altına şunu ekleyin:

```
(.*)/onesignal-free-web-push-notifications/sdk_files/(.*)
```

Ardından kaydet'e basın.

### WP Super Cache

1. **Settings > WP Super Cache > CDN** bölümüne gidin
2. **Exclude if substring** bölümüne şunu ekleyin: `onesignal-free-web-push-notifications`
3. **Contents** > **Delete Cache**'e tıklayın

### WP Engine

WP Engine, CDN'si aracılığıyla eklenti URL'lerini yeniden yazabilir. **HTML Sonrası İşleme** kuralları ortama özeldir; aşağıdaki kod parçacığı yalnızca bir **örnektir**——uygulamadan önce yolları [WP Engine desteği](https://wpengine.com/support/) veya Kullanıcı Portalınız ile doğrulayın.

WP Engine **plugin > General Settings > HTML Post-Processing** bölümünde aşağıdakine benzer kurallara ihtiyaç duyabilirsiniz. Her yer tutucuyu **sizin** sitenizin ve WP Engine CDN ana bilgisayar adının gerçek değerleriyle değiştirin:

| Yer tutucu             | Yerine yazılacak değer                                                        |
| ---------------------- | ----------------------------------------------------------------------------- |
| `YOURSITEHERE`         | Çıplak alan adınız (regex bölümü), örn. `example.com` için `example`          |
| `mywpenginehandleHere` | WP Engine kurulum adınız (`.wpengine.com` öncesindeki alt alan adı)           |
| `wpengineCDNpathHere`  | WP Engine'den NetDNA / CDN yol bölümünüz (genellikle CDN URL'lerinde görünür) |
| `mywebsiteHere`        | Yol içermeyen canlı site kaynağınız, örn. `https://example.com`               |

```text text theme={null}
#https?://(www\.)?(YOURSITEHERE\.com|mywpenginehandleHere.wpengine.com|wpengineCDNpathHere.wpengine.netdna-(ssl|cdn).com)/wp-(content|includes)#
=> https://wpengineCDNpathHere-wpengine.netdna-ssl.com/wp-$4
#https://wpengineCDNpathHere-wpengine.netdna-ssl.com/plugins/onesignal-free-web-push-notifications/#
=> https://mywebsiteHere.com/wp-content/plugins/onesignal-free-web-push-notifications/
#https://wpengineCDNpathHere-wpengine.netdna-ssl.com/wp-content/plugins/onesignal-free-web-push-notifications/#
=> https://mywebsiteHere.com/wp-content/plugins/onesignal-free-web-push-notifications/
```

### W3 Total Cache

1. **Performance > CDN** bölümüne gidin
2. **Rejected files** altına şunu ekleyin:

```
{plugins_dir}/onesignal-free-web-push-notifications/sdk_files/*
```

<Frame caption="W3 Total Cache hariç tutma ayarları.">
  <img src="https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/64ad121-Screen_Shot_2020-03-02_at_7.36.18_PM.png?fit=max&auto=format&n=MUgio66t0sYhGEvj&q=85&s=1b7d1eb06d32c8beef4026a70111dcdb" alt="OneSignal sdk_files yolunu içeren W3 Total Cache CDN reddedilen dosyalar listesi" width="1071" height="494" data-path="images/docs/64ad121-Screen_Shot_2020-03-02_at_7.36.18_PM.png" />
</Frame>

### BunnyCDN

Eklentinin CDN Excluded Paths bölümünde *onesignal*'i hariç tutun.

<Frame caption="BunnyCDN hariç tutma örneği.">
  <img src="https://mintcdn.com/onesignal/ciRrThfP6xMpI7GY/images/docs/025f46c1159398106997c97a61ad26ffe4ecd6f7a068dcd6e3f743762e6e697b-Screenshot_2024-11-19_at_9.34.35_AM.png?fit=max&auto=format&n=ciRrThfP6xMpI7GY&q=85&s=d893359f9da931a9db313391a58cf1ca" alt="onesignal içeren BunnyCDN WordPress eklentisi hariç tutulan yollar" width="1830" height="518" data-path="images/docs/025f46c1159398106997c97a61ad26ffe4ecd6f7a068dcd6e3f743762e6e697b-Screenshot_2024-11-19_at_9.34.35_AM.png" />
</Frame>

### CDN Enabler

Settings > CDN Enabler bölümünde "Exclusions"a şunu ekleyin:

```
onesignal-free-web-push-notifications
```

### PressCDN

Exclude Directories bölümüne şunu ekleyin:

```
/wp-content/plugins/onesignal-free-web-push-notifications/
```

### Breeze

**Settings > CDN > Exclude Content** bölümüne şunu ekleyin:

```
/onesignal-free-web-push-notifications/sdk_files/
```

<Frame caption="Breeze hariç tutma örneği.">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/e0ea4ad-Screen_Shot_2020-06-30_at_7.59.26_PM.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=c12fed5c62e460beec878171e940928d" alt="OneSignal sdk_files yolunu içeren Breeze CDN içerik hariç tutma alanı" width="1219" height="552" data-path="images/docs/e0ea4ad-Screen_Shot_2020-06-30_at_7.59.26_PM.png" />
</Frame>

### Hummingbird Pro

**Hummingbird > Asset Optimization** bölümüne gidin. **JavaScript** (OneSignal varlıkları orada görünüyorsa **CSS** de) altında, URL'leri **`onesignal-free-web-push-notifications`** veya **`OneSignalSDK`** içeren dosyaları bulun. Bunları küçültme/birleştirme/erteleme işlemlerinden **hariç tutun** ya da eklentinin bunları yeniden yazmaması veya geciktirmemesi için bu varlıkları **Yükleme** optimizasyonuna geçirin.

<Frame caption="Hummingbird Pro Asset Optimization.">
  <img src="https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a888a91-PastedGraphic-4_3.png?fit=max&auto=format&n=RWtLFPeffHrC81wI&q=85&s=e376446d64ec7fa8a8067ac7e8e551ba" alt="Komut dosyası hariç tutmalarını gösteren Hummingbird Pro varlık optimizasyon listesi" width="476" height="90" data-path="images/docs/a888a91-PastedGraphic-4_3.png" />
</Frame>

### Sucuri

OneSignal dosyalarına izin vermek için [Sucuri'nin Whitelist kılavuzunu](https://kb.sucuri.net/firewall/Whitelist+and+Blacklist/whitelist-file-folder) izleyin.

### Solid Security (eski adıyla iThemes Security)

`OneSignalSDKWorker.js.php` dosyasının çalışabilmesi için **System Tweaks** altındaki **Disable PHP in Plugins** (veya eşdeğer) seçeneğini devre dışı bırakın.

<Frame caption="iThemes PHP eklenti ayarı.">
  <img src="https://mintcdn.com/onesignal/KSCNwSpBCNSQ8xdF/images/docs/f78a21b-php-in-plugins.jpg?fit=max&auto=format&n=KSCNwSpBCNSQ8xdF&q=85&s=ee27f7a8662e6f8e2b001056b22aa904" alt="Eklentilerde PHP'ye izin ver seçeneğinin işaretsiz veya devre dışı olduğunu gösteren güvenlik eklentisi ayarı" width="818" height="188" data-path="images/docs/f78a21b-php-in-plugins.jpg" />
</Frame>

### Defender Security plugin

"Prevent PHP execution" seçeneğini etkinleştirmeyin.
Defender Plugin > Security Tweaks bölümüne gidin ve ayarın devre dışı olduğunu doğrulayın.

### Service Worker erişimi için örnek .htaccess

```apache theme={null}
<Files *.php>
Order allow,deny
Deny from all
</Files>
<Files OneSignalSDKWorker.js.php>
Allow from all
ForceType 'application/javascript; charset=UTF-8'
</Files>
<Files OneSignalSDKWorker.js>
Allow from all
ForceType 'application/javascript; charset=UTF-8'
</Files>
```

<Note>
  Apache 2.4+, `Order allow,deny` yerine sıklıkla `Require all denied` / `Require all granted` kullanır. Sunucunuzun Apache sürümüyle eşleşecek şekilde barındırma sağlayıcınıza danışın veya kuralları ayarlayın.
</Note>

***

## Bildirim gönderdikten sonra sunucu yavaşlamaları veya siteye erişilememe

Bildirim gönderdikten sonra sunucunuz yavaşlıyorsa veya erişilemez hale geliyorsa, bu genellikle bildirim varlıklarından artan yük veya sınırlı sunucu kaynaklarından kaynaklanır.

### Kendi bildirim simgelerinizi barındırmayın

Bildirimlerde kullanılan resimleri kendi sunucunuzda barındırmaktan kaçının. Kendi bildirim simgelerinizi veya resimlerinizi barındırdığınızda, bir bildirim gönderildiğinde her alıcının tarayıcısı aynı anda resmi almaya çalıştığı için sunucunuz aşırı yüklenebilir.
Sunucu yükünü azaltmak için, yüksek eşzamanlı erişim için optimize edilmiş resim barındırma çözümleri veya CDN hizmetleri kullanın.

### Barındırma kaynaklarını yükseltmeyi düşünün

Sunucu sorunları devam ederse, şunları yapmanız gerekebilir:

* **Barındırma planınızı yükseltin:** Büyük ölçekli bildirim gönderilerini işlemek için daha yüksek bant genişliği veya daha güçlü barındırma gerekli olabilir.
* **Barındırma sağlayıcınıza danışın:** Sağlayıcınız, barındırma ortamınıza özel içgörüler veya optimizasyonlar sunabilir.

***
