# Bir taşıma veya kalıcı bağlantı değişikliği sonrası 404 hatası

> Yeni bir sunucuya taşındıktan sonra veya kalıcı bağlantı ayarlarına dokunulduktan hemen sonra sitedeki tüm sayfalar 404 hatası veriyorsa, neden neredeyse her zaman URL’leri WordPress’e yönlendiren sunucu yapılandırmasının taşınmaya eşlik etmemiş olmasıdır.

- Source canonique : [https://allaux.fr/tr/wordpress-woocommerce/problemes/erreur-404-apres-migration](https://allaux.fr/tr/wordpress-woocommerce/problemes/erreur-404-apres-migration)
- Langue : TR
- Dernière mise à jour : 2026-09-30

## Doğrudan yanıt

> Ayarlar > Kalıcı Bağlantılar ekranına gidip hiçbir şeyi değiştirmeden Kaydet düğmesine basın: WordPress yeniden yazma kurallarını böylece yeniden üretir. Apache’de kök dizindeki .htaccess dosyasında # BEGIN WordPress bloğunun durduğunu ve dosyanın yazılabilir olduğunu doğrulayın. Nginx bu dosyayı hiç okumaz, try_files yönergesinin sunucu yapılandırmasına eklenmesi gerekir.

## Nasıl ilerliyorum

1. **Belirtinin ayırt edilmesi** — Yalnızca ana sayfanın çalışıp çalışmadığını kontrol ediyorum; bu bir URL yeniden yazma sorununun tipik göstergesidir. Sitenin tamamı yönlendirme döngüsüne giriyorsa, bu genellikle kalıcı bağlantılardan çok bir siteurl/home sorunudur.
2. **Web sunucusunun belirlenmesi** — Apache ve Nginx aynı şekilde düzeltilmez: Apache kök dizindeki bir .htaccess dosyasını okur, Nginx ise yapılandırmasında doğrudan düzenlenmesi gereken bir server bloğuna ihtiyaç duyar.
3. **Kalıcı bağlantıların yeniden kaydedilmesi** — Apache’de .htaccess dosyasını yeniden oluşturmak için Ayarlar > Kalıcı Bağlantılar’ı yeniden kaydediyorum; Nginx’te ise try_files’a eşdeğer bir yönergeyi eklemek için server bloğunu düzenliyorum, çünkü WordPress bunu tek başına yapamaz.
4. **Özel içerik türlerinin kontrolü** — WooCommerce eklentileri veya bir sayfa oluşturucu kendi içerik türlerini kaydediyorsa, yeniden yazma kurallarının da düzgün şekilde alınabilmesi için bunların yeniden kaydetme sırasında etkin olup olmadığını kontrol ediyorum.
5. **siteurl ve home kontrolü** — Taşıma sonrası bu iki veritabanı seçeneğinin gerçek alan adıyla eşleştiğini kontrol ediyorum, çünkü yanlış bir siteurl, kalıcı bağlantılarla hiçbir ilgisi olmayan bir 404 veya yönlendirme döngüsü üretir.

## Düzenli olarak ele aldığım durumlar

- Yeni bir barındırma sağlayıcısına taşındıktan sonra sitedeki tüm sayfalar 404 hatası veriyor
- Yalnızca ana sayfa çalışıyor, diğer tüm sayfalar 404 hatası veriyor
- Klasik sayfalar çalışırken WooCommerce ürün sayfaları 404 veriyor
- Alan adı değişikliğinden sonra bir yönlendirme döngüsü ortaya çıkıyor
- Kalıcı bağlantılar eski sunucuda çalışıyordu ama yenisinde çalışmıyor

## Kalıcı bağlantılar nasıl çalışır, taşıma sonrası ne bozulur

WordPress’in “sade” kalıcı bağlantıları (Ayarlar > Kalıcı Bağlantılar) iki aşamada çalışır: WordPress ham URL’leri temiz yollara yeniden yazar, ardından web sunucusu WordPress’in bunu çözebilmesi için her isteği index.php’ye geri yönlendirmelidir. Apache’de bu yönlendirme .htaccess içindeki yeniden yazma kurallarıyla, Nginx’te ise sunucu yapılandırmasındaki eşdeğer bir blokla sağlanır.

Yeni bir sunucuya taşındıktan sonra bu .htaccess dosyası veya bu Nginx bloğu otomatik olarak taşınmaz. Apache’de Ayarlar > Kalıcı Bağlantılar’ı yeniden kaydetmek .htaccess’i yeniden oluşturur ve genellikle yeterlidir. Nginx’te ise server bloğunun doğrudan düzenlenmesi gerekir, bunu WordPress kendi başına yapamaz.

Birçok WooCommerce eklentisi ve sayfa oluşturucunun şablonları için kullandığı özel içerik türlerinin de kendi yeniden yazma kurallarının yeniden oluşturulması gerekir: kalıcı bağlantıları yeniden kaydetmek bunu sağlar, ama yalnızca bunları tanımlayan eklenti o sırada etkinse. Taşıma sonrası siteurl/home seçenekleri ile gerçek alan adı arasındaki bir uyumsuzluk, kalıcı bağlantılarla ilgisi olmayan farklı bir 404 veya yönlendirme döngüsü türü üretir: ikisi bir satıcıya benzer görünür ama farklı şekilde düzeltilir.

## .htaccess

```
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
```

## Kalıcı bağlantıları yeniden kaydetmek her zaman yeterli değildir

> Ayarlar > Kalıcı Bağlantılar’ı yeniden kaydetmek veya bir Nginx bloğunu düzeltmek birkaç dakika sürer. URL yapısı eski siteye göre değiştiyse, eski URL’lerin 301 yönlendirmeleriyle yenilerine eşlenmesi de gerekir; bu, mevcut sıralamaları kaybetmemek için ayrı ele alınması gereken bir iştir.

## İlgili sayfalar

- **Mağaza taşıma** — Eksiksiz bir platform taşıması, kalıcı bağlantıları yeniden kaydetmekten çok daha fazlasını gerektirir. ([/wordpress-woocommerce/migration](/wordpress-woocommerce/migration))
- **Bozulan gezinme menüsü** — Bir tema güncellemesi veya sunucu taşıması sonrası sık görülen bir başka belirti. ([/wordpress-woocommerce/problemes/menu-navigation-casse](/wordpress-woocommerce/problemes/menu-navigation-casse))
- **Acil müdahale** — Her yerde 404 veren bir site öncelikli bir iştir. ([/services/depannage-urgent](/services/depannage-urgent))

## FAQ

### Barındırma sağlayıcımı yeni değiştirdim ve tüm site 404 veriyor, bu ciddi mi?

Hayır, çoğu durumda taşımaya eşlik etmemiş olan .htaccess dosyası veya Nginx yapılandırmasıdır. Tespit edildikten sonra genellikle birkaç dakikada düzeltilir.

### Neden yalnızca ana sayfa çalışıyor, diğerleri çalışmıyor?

Bu, bir URL yeniden yazma sorununun tipik göstergesidir: ana sayfa kalıcı bağlantılara bağlı değildir, diğer sayfalar ise bağlıdır.

### Kalıcı bağlantıları yeniden kaydettim ama hiçbir şey değişmedi, neden?

Site Nginx üzerinde çalışıyorsa, kalıcı bağlantıları yeniden kaydetmek yeterli değildir: Apache’den farklı olarak Nginx’in server bloğunun doğrudan düzenlenmesi gerekir, bunu WordPress tek başına yapamaz.

### Taşıma sonrası URL’ler değişirse sıralamalarımı kaybeder miyim?

Eski URL’ler 301 ile yenilerine yönlendirilirse hayır. Bu, özellikle URL yapısı değiştiyse, kalıcı bağlantıları basitçe yeniden kaydetmekten ayrı olarak planlanması gereken bir iştir.

### Ürün sayfalarım 404 veriyor ama klasik sayfalarım vermiyor, bu fark neden?

Ürün sayfaları WooCommerce’e özgü yeniden yazma kurallarına bağlıdır; bunlar yalnızca kalıcı bağlantılar yeniden kaydedildiğinde ilgili eklenti etkinse yeniden oluşturulur.
