- Konu sahibi
- #1
WordPress’i alt klasörden kök dizine taşımak için dosyaları web sunucusunun kök dizinine taşımalı, veritabanındaki
Buradaki senaryo çekirdek dosyalarını da köke taşır; WordPress dosyalarını alt klasörde tutup yalnız ön yüzü kökten sunmak farklı, desteklenen bir seçenektir. O yöntemde home ile siteurl aynı olmaz; ikisini zorla eşitlemeyin.
Bu işlem tek siteli, standart WordPress kurulumları içindir. Multisite, özel sunucu yönlendirmeleri veya birden fazla uygulamanın aynı kök dizini kullanması durumunda yapı farklı olabilir.
Önce veritabanının tam yedeğini ve WordPress dosyalarının kopyasını alın. Özellikle
Varsayımsal başlangıç durumu:
Taşıma sonucunu şu şekilde yorumlayabilirsiniz:
Başarılı taşıma; yeni kök adreste giriş yapılabilmesi, içerik ve medya bağlantılarının açılması, kalıcı bağlantıların çalışması ve eski alt klasör adreslerinin doğru yeni sayfalara yönlenmesiyle doğrulanır. Eski klasörü hemen silmek yerine testler tamamlanana kadar yedek olarak saklayın; ancak web sunucusu yanlışlıkla eski kurulumu çalıştırıyorsa iki kopyanın çakışmasına izin vermeyin.
Eski
Zorunlu değildir; ancak eski bağlantıların boşa düşmemesi ve ziyaretçilerin doğru içeriğe ulaşması için eski adresleri karşılık gelen yeni adreslere yönlendirmek genellikle doğru yaklaşımdır.
siteurl ve home değerlerinden alt klasör yolunu kaldırmalı, ardından kalıcı bağlantıları yeniden kaydetmelisiniz. Örneğin mevcut adresiniz example.com/blog, yeni adresiniz example.com ise /blog yolu hem dosya konumundan hem de WordPress adres ayarlarından çıkarılır.Buradaki senaryo çekirdek dosyalarını da köke taşır; WordPress dosyalarını alt klasörde tutup yalnız ön yüzü kökten sunmak farklı, desteklenen bir seçenektir. O yöntemde home ile siteurl aynı olmaz; ikisini zorla eşitlemeyin.
Taşıma öncesi kontrol
Bu işlem tek siteli, standart WordPress kurulumları içindir. Multisite, özel sunucu yönlendirmeleri veya birden fazla uygulamanın aynı kök dizini kullanması durumunda yapı farklı olabilir.
Önce veritabanının tam yedeğini ve WordPress dosyalarının kopyasını alın. Özellikle
wp-config.php, wp-content klasörü ve kök dizindeki gizli .htaccess dosyası korunmalıdır. Kök dizinde çalışan başka bir site varsa dosyaları doğrudan üzerine yazmayın; önce mevcut yapıyı ve web sunucusunun belge kökünü doğrulayın.Varsayımsal başlangıç durumu:
- WordPress dosyaları:
public_html/blog/ - Mevcut site adresi:
https://example.com/blog - Yeni site adresi:
https://example.com - Yeni dosya konumu:
public_html/
Uygulanabilir taşıma adımları
- Siteyi geçici olarak bakıma alın ve yedeklerin gerçekten açılabildiğini kontrol edin. Taşıma sırasında yeni yazı, yorum veya sipariş gibi verilerin oluşması veri kaybı riskini artırabilir.
blogklasöründeki WordPress dosyalarının tamamını kök dizine taşıyın.wp-admin,wp-includes,wp-content,wp-config.php,.htaccessve diğer çekirdek dosyaları eksiksiz aktarın. Kök dizinde eski bir WordPress kurulumu varsa iki kurulumun dosyalarını karıştırmayın.- phpMyAdmin veya kullandığınız veritabanı aracında WordPress’in options tablosunu açın. Tablo ön eki
wp_olmayabilir; kendi kurulumunuzdaki gerçek ön eki kullanın.siteurlvehomedeğerlerini yeni kök adresle değiştirin:
Kod:UPDATE wp_options SET option_value = 'https://example.com' WHERE option_name IN ('siteurl', 'home'); - Yönetim paneline yeni kök adres üzerinden giriş yapın. Ayarlar > Kalıcı bağlantılar bölümünü açıp hiçbir ayarı değiştirmeden kaydedin. Bu işlem WordPress’in yeniden yazma kurallarını yenilemesine yardımcı olur.
- Ana sayfayı, bir yazıyı, kategori sayfasını, medya dosyasını ve yönetim panelini ayrı ayrı test edin. Kök adres açılıyor fakat yazı sayfaları 404 veriyorsa sorun genellikle kalıcı bağlantı kuralları veya web sunucusunun rewrite ayarlarıdır.
- İçeriklerde eski alt klasör adresleri kaldıysa güvenli bir arama-değiştirme aracı kullanın. WP-CLI mevcutsa örnek komut şöyledir:
Bu komut dry-run ile değişiklik yapmaz; doğru kurulum/prefix ve kayıt kapsamını doğruladıktan sonra --dry-run kaldırılarak uygulanır. Aynı DB’de başka kurulumları kapsamayan tablo listesini kontrol edin. Elle SQL ile seri hale getirilmiş WordPress verilerini değiştirmek bazı ayarları bozabilir.Kod:wp search-replace 'https://example.com/blog' 'https://example.com' --all-tables-with-prefix --skip-columns=guid --dry-run - Eski alt klasör adreslerini kullanan ziyaretçileri yeni karşılıklarına yönlendirin. Apache ve
.htaccesskullanıyorsanız, kök dizindeki WordPress kurallarından önce şu kuralın mantığı uygulanabilir:
Hedef alan adı sabit ve kendi alan adınız olmalıdır; // ile başlayan yakalanan yolun dış domaine yönlendirmesine izin vermeyin. Eski blog yolu artık yeni sitede kullanılmamalıdır. Kalıcı301’i tarayıcı önbelleğine yerleştirmeden önce geçici302 ile normal/boş yol ve query içeren örnekleri kontrol edin. Web sunucunuz Apache değilse aynı kural doğrudan çalışmaz; Nginx veya barındırma paneliniz için eşdeğer yönlendirme tanımı gerekir.Kod:RewriteEngine On RewriteRule ^blog(?:/(.*))?$ https://example.com/$1 [R=301,L]
Taşıma sonucunu şu şekilde yorumlayabilirsiniz:
| Belirti | Muhtemel neden | İlk kontrol |
|---|---|---|
| Ana sayfa açılıyor, iç sayfalar 404 | Kalıcı bağlantı veya rewrite sorunu | Kalıcı bağlantıları yeniden kaydedin; sunucu kurallarını inceleyin |
| Yönetim paneli eski adrese gidiyor | siteurl veya home eski kalmış | Options tablosundaki iki değeri kontrol edin |
| Görseller eski klasörden yükleniyor | İçerik URL’leri değiştirilmemiş | Yedek alıp kontrollü search-replace uygulayın |
| Beyaz sayfa veya PHP hatası | Eksik dosya, uyumsuz eklenti veya yanlış kök dizin | Sunucu hata kaydını ve dosya aktarımını kontrol edin |
Başarılı taşıma; yeni kök adreste giriş yapılabilmesi, içerik ve medya bağlantılarının açılması, kalıcı bağlantıların çalışması ve eski alt klasör adreslerinin doğru yeni sayfalara yönlenmesiyle doğrulanır. Eski klasörü hemen silmek yerine testler tamamlanana kadar yedek olarak saklayın; ancak web sunucusu yanlışlıkla eski kurulumu çalıştırıyorsa iki kopyanın çakışmasına izin vermeyin.
Kaynaklar
Sık sorulan sorular
Dosyaları taşıdım ama yönetim paneline giremiyorum, ne yapmalıyım?
Veritabanındaki siteurl/home değerleri yanında wp-config.php içindeki WP_SITEURL/WP_HOME sabitlerini de kontrol edin; sabitler paneldeki değeri geçersiz kılabilir. Yanlış veya eksik alt klasör yolu varsa düzelttikten sonra tarayıcı önbelleğini ve varsa site önbelleğini temizleyip yeniden deneyin.Eski /blog adreslerini yönlendirmek zorunlu mu?
Zorunlu değildir; ancak eski bağlantıların boşa düşmemesi ve ziyaretçilerin doğru içeriğe ulaşması için eski adresleri karşılık gelen yeni adreslere yönlendirmek genellikle doğru yaklaşımdır.Taşıma sırasında tema ve eklentiler silinir mi?
Hayır.wp-content eksiksiz taşınırsa tema, eklenti ve medya dosyaları korunur. Buna rağmen taşıma öncesi dosya ve veritabanı yedeği olmadan işlem yapmak geri dönüşü zorlaştırır.