15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
23.10.2024

Drupal Web Sitesini WordPress’e Nasıl Taşırsınız: Eksiksiz Teknik Kılavuz

Drupal’dan WordPress’e geçiş, Drupal’ın entity tabanlı CMS mimarisinden WordPress’in post-type modeline veritabanı içeriği, medya dosyaları, URL yapısı ve kullanıcı hesaplarını aktarmak anlamına gelir; SEO değerini kaybetmeden, dahili bağlantıları bozmadan veya kesinti yaşatmadan. Süreç, FG Drupal to WordPress eklentisi aracılığıyla veritabanı düzeyinde içerik aktarımını, ardından permalink eşleştirmeyi, 301 yönlendirme yapılandırmasını ve tema yeniden yapılandırmasını kapsar.

Bu kılavuz, söz konusu geçişin her aşamasını ayrıntılı teknik detaylarıyla ele almaktadır: geçiş öncesi yedekleme stratejisi, ortam kurulumu, veritabanı kimlik bilgilerinin çıkarılması, eklenti tabanlı içe aktarma, URL yapısı uyumlaştırması ve yayın sonrası doğrulama. Drupal 7, 9 veya 10 kullanıyor olsanız da aşağıdaki iş akışı geçerlidir.

Drupal’dan WordPress’e Neden Geçiş Yapılır

Drupal güçlü bir çerçevedir; ancak karmaşıklığı gerçek bir operasyonel maliyet doğurur. Modül güncellemeleri sıklıkla bozucu değişiklikler getirir, tema oluşturma Twig şablon uzmanlığı gerektirir ve rutin içerik düzenlemeleri geliştirici müdahalesini zorunlu kılar. WordPress ise daha düz bir öğrenme eğrisi, çok daha geniş bir eklenti ekosistemi ve Drupal’ın ayrıntılı erişim kontrolüne ya da karmaşık içerik modellemeye ihtiyaç duymayan içerik ağırlıklı siteler için daha düşük toplam sahip olma maliyeti sunar.

Performans argümanı da önemlidir. LiteSpeed, nesne önbellekleme ve NVMe depolama ile düzgün yapılandırılmış bir VPS Hosting ortamındaki bir WordPress kurulumu, paylaşımlı altyapıdaki şişirilmiş bir Drupal yığınını sürekli olarak geride bırakacaktır.

Kullanım senaryosuna göre temel geçiş motivasyonları:

  • Drupal’ın yönetici arayüzünden ve yavaş yayın iş akışlarından bıkmış editoryal ekipler
  • Müşteri sitelerini tek bir yönetilebilir CMS üzerinde birleştiren ajanslar
  • Drupal’ın modül bağımlılık zincirlerinden kaynaklanan bakım yükünü azaltmak isteyen geliştiriciler
  • Yoast veya Rank Math gibi WordPress’e özgü araçlarla daha sıkı entegrasyon arayan SEO ekipleri

Drupal ve WordPress: Mimari Karşılaştırma

Başlamadan önce iki platform arasındaki yapısal farklılıkları anlamak şarttır. İçeriğin nasıl depolandığına dair yanlış varsayımlar, başarısız veya eksik geçişlerin birincil nedenidir.

BoyutDrupalWordPress
İçerik modeliEntity’ler (node’lar, taksonomi terimleri, alanlar)Post türleri (gönderiler, sayfalar, CPT’ler)
Veritabanı şemasıİçerik türü başına yüksek düzeyde normalleştirilmiş, çok tabloluDüz wp_posts + wp_postmeta modeli
URL yönlendirmepath_alias tablosunda depolanan yol takma adları.htaccess aracılığıyla permalink yeniden yazma kuralları
Tema motoruTwig şablonları + Ön işleme kancalarıPHP şablon hiyerarşisi + kancalar
Kullanıcı rolleriRol başına ayrıntılı izinlerSabit rol hiyerarşisi (Abone → Yönetici)
Medya yönetimiAlan eklentileriyle yönetilen dosya entity’siEk gönderi türüyle Medya Kitaplığı
Çok dilliÇekirdek Dil modülüWPML veya Polylang eklentisi gerektirir
REST APIJSON:API + REST çekirdek modülleriYerleşik WP REST API
Barındırma karmaşıklığıYüksek (Composer, Drush gerektirir)Düşük (standart LAMP/LEMP yığını)
Eklenti/modül ekosistemi~50.000 modül~60.000+ eklenti

En kritik mimari boşluk içerik entity modelidir. Drupal, paragrafları, özel alanları ve taksonomi referanslarını birden fazla birleştirilmiş tabloda depolar. FG Drupal to WordPress eklentisi bunları WordPress gönderi meta verilerine ve taksonomi terimlerine eşler; ancak karmaşık paragraf tabanlı düzenler manuel yeniden yapılandırma gerektirecektir.

Geçiş Öncesi Kontrol Listesi

Her iki ortama dokunmadan önce bu listedeki her öğeyi tamamlayın. Adımları atlamak, veri kaybının ve uzun kesintilerin başlıca nedenidir.

  • Drupal içerik envanterinizi denetleyin: node türleri, taksonomi sözlükleri, kullanıcı sayısı, dosya sayısı ve toplam veritabanı boyutu
  • WordPress karşılığı olmayan Drupal modüllerini belirleyin (örn. Rules, Webform karmaşık mantığı, Commerce)
  • WordPress sunucunuzun minimum gereksinimleri karşıladığını doğrulayın: PHP 8.1+, MySQL 8.0+ veya MariaDB 10.6+, 256 MB PHP bellek sınırı
  • Bir geçiş penceresi belirleyin — ideal olarak düşük trafikli bir dönem
  • İçerik kaymasını önlemek için son içe aktarma geçişi sırasında Drupal’da bakım modunu etkinleştirin
  • WordPress sunucusunun Drupal veritabanı ana bilgisayarına erişebildiğini doğrulayın (aynı sunucu, uzak ana bilgisayar veya SSH tüneli)

Adım 1: Drupal Web Sitenizi Yedekleyin

Tam ve doğrulanmış bir yedekleme zorunludur. Hem veritabanı dökümüne hem de dosyalar dizinine ihtiyacınız vardır.

Drush Aracılığıyla Veritabanı Yedekleme

Drush yüklüyse (Drupal 9/10 için standarttır), bu en hızlı yöntemdir:

drush sql-dump --result-file=/var/backups/drupal_backup_$(date +%Y%m%d).sql --gzip

mysqldump Aracılığıyla Veritabanı Yedekleme

mysqldump -u drupal_user -p drupal_database_name | gzip > /var/backups/drupal_backup_$(date +%Y%m%d).sql.gz

Dosyalar Dizini Yedekleme

tar -czf /var/backups/drupal_files_$(date +%Y%m%d).tar.gz /var/www/html/drupal/sites/default/files/

phpMyAdmin Yedekleme (GUI Yöntemi)

  1. Barındırma kontrol paneliniz aracılığıyla phpMyAdmin’e giriş yapın
  2. Sol kenar çubuğundan Drupal veritabanını seçin
  3. Dışa Aktar‘a tıklayın, Hızlı dışa aktarma yöntemini ve SQL biçimini seçin
  4. .sql dosyasını indirmek için Git‘e tıklayın
    
    Tüm yedek arşivlerini sunucu dışında saklayın — bunları uzak depolamaya yükleyin veya SFTP aracılığıyla yerel olarak indirin. Yalnızca geçiş yapılan siteyle aynı sunucuda bulunan bir yedek, gerçek bir yedek değildir.
    Adım 2: Hedef Sunucunuzda WordPress Kurun
    Hedef ortamınıza temiz bir WordPress örneği yükleyin. İçerik birleştirmeyi açıkça planlamadıkça Drupal içeriğini mevcut bir WordPress sitesine aktarmayın — içe aktarıcı yinelenenleri kaldırmaz.
    Sunucu Gereksinimleri
    
    
    
    
    Gereksinim
    Minimum
    Önerilen
    
    
    
    
    PHP sürümü
    7.4
    8.2
    
    
    MySQL/MariaDB
    MySQL 5.7 / MariaDB 10.3
    MySQL 8.0 / MariaDB 10.11
    
    
    PHP bellek sınırı
    64 MB
    256 MB
    
    
    max_execution_time
    30s
    300s
    
    
    upload_max_filesize
    8 MB
    128 MB
    
    
    
    
    Büyük Drupal siteleri (10.000+ node, çok GB’lık medya kitaplıkları) için cPanel ile VPS, PHP yapılandırmasına, MySQL ayar parametrelerine ve cron iş yönetimine doğrudan erişim sağlar; bunların tümüne yoğun bir geçiş sırasında ihtiyaç duyacaksınız.
    WP-CLI Aracılığıyla WordPress Kurulumu
    cd /var/www/html/wordpress
    wp core download
    wp config create --dbname=wp_database --dbuser=wp_user --dbpass=secure_password --dbhost=localhost
    wp core install --url="https://yourdomain.com" --title="Site Title" --admin_user=admin --admin_password=strongpassword --admin_email=admin@yourdomain.com
    cPanel Aracılığıyla Tek Tıkla Kurulum
    Barındırıcınız cPanel sağlıyorsa Softaculous Apps Installer‘a gidin, WordPress’i seçin, veritabanı ve yönetici kimlik bilgilerini doldurun ve Kur‘a tıklayın. İşlem iki dakikadan kısa sürer.
    Kurulumdan sonra bu PHP ayarlarını php.ini içinde veya .htaccess aracılığıyla hemen yapılandırın:
    php_value max_execution_time 300
    php_value memory_limit 256M
    php_value post_max_size 128M
    php_value upload_max_filesize 128M
    Adım 3: FG Drupal to WordPress Eklentisini Kurun ve Yapılandırın
    FG Drupal to WordPress eklentisi (ücretsiz katman mevcut; büyük siteler için Premium önerilir), node’ların, taksonomi terimlerinin, kullanıcıların ve medya dosyalarının veritabanı düzeyinde geçişini gerçekleştirir.
    Kurulum
    
    WordPress yönetici panelinizde Eklentiler > Yeni Ekle‘ye gidin
    FG Drupal to WordPress araması yapın
    Şimdi Kur‘a, ardından Etkinleştir‘e tıklayın
    
    Alternatif olarak WP-CLI aracılığıyla yükleyin:
    wp plugin install fg-drupal-to-wp --activate
    Ücretsiz ve Premium Özellik Karşılaştırması
    
    
    
    
    Özellik
    Ücretsiz
    Premium
    
    
    
    
    Drupal 6/7 desteği
    Evet
    Evet
    
    
    Drupal 8/9/10 desteği
    Kısmi
    Tam
    
    
    Paragraf geçişi
    Hayır
    Evet
    
    
    Kullanıcı geçişi
    Hayır
    Evet
    
    
    Webform geçişi
    Hayır
    Evet
    
    
    E-ticaret (Drupal Commerce)
    Hayır
    Evet
    
    
    Çok dilli içerik
    Hayır
    Evet
    
    
    Öncelikli destek
    Hayır
    Evet
    
    
    
    
    Drupal 8 veya sonrasını çalıştıran herhangi bir üretim sitesi için Premium sürüm maliyete değer. Paragraf tabanlı içeriği manuel olarak yeniden oluşturmak, geliştirici zamanı açısından çok daha pahalıdır.
    Adım 4: Drupal Veritabanı Kimlik Bilgilerini Toplayın
    FG Drupal to WordPress eklentisi, Drupal veritabanınıza doğrudan bağlanır. Dört değere ihtiyacınız vardır: veritabanı adı, kullanıcı adı, parola ve ana bilgisayar.
    Drupal’ın settings.php Dosyasında Kimlik Bilgilerini Bulma
    grep -A 20 "'database'" /var/www/html/drupal/sites/default/settings.php
    Çıktı şuna benzer bir blok içerecektir:
    $databases['default']['default'] = [
      'database' => 'drupal_db_name',
      'username' => 'drupal_db_user',
      'password' => 'drupal_db_password',
      'host' => 'localhost',
      'port' => '3306',
      'driver' => 'mysql',
    ];
    Uzak Veritabanı Erişimi Hakkında Dikkat Edilmesi Gerekenler
    WordPress ve Drupal farklı sunuculardaysa, Drupal veritabanının uzak bağlantıları kabul etmesi gerekir. Drupal veritabanı sunucusunda:
    GRANT SELECT ON drupal_database.* TO 'drupal_user'@'wordpress_server_ip' IDENTIFIED BY 'password';
    FLUSH PRIVILEGES;
    Ayrıca güvenlik duvarında 3306 portunun yalnızca WordPress sunucusunun IP’si için açık olduğundan emin olun — MySQL’i hiçbir zaman 0.0.0.0‘a maruz bırakmayın.
    Doğrudan bir MySQL portu açamıyorsanız SSH tüneli kullanın:
    ssh -L 3307:localhost:3306 user@drupal_server_ip -N -f
    Ardından eklentinin veritabanı ana bilgisayarını 127.0.0.1 ve portu 3307 olarak ayarlayın.
    Adım 5: İçerik Aktarımını Çalıştırın
    WordPress kontrol panelinizde Araçlar > İçe Aktar‘a gidin, Drupal bölümüne kaydırın ve İçe Aktarıcıyı Çalıştır‘a tıklayın.
    İçe Aktarıcı Ayarları Yapılandırması
    Veritabanı bağlantısı sekmesi:
    
    Veritabanı ana bilgisayarı: localhost (veya uzak IP / SSH tünel adresi)
    Port: 3306 (veya özel portunuz)
    Veritabanı adı: settings.php içindeki değer
    Kullanıcı adı / Parola: settings.php içindeki değerler
    Drupal dosyaları URL’si: Drupal sites/default/files/ dizininizin genel URL’si — medya indirme için gereklidir
    
    Devam etmeden önce Bağlantıyı test et‘e tıklayın. Bu aşamada başarısız olan bir bağlantı neredeyse her zaman üç sorundan birinden kaynaklanır: yanlış kimlik bilgileri, MySQL portunu engelleyen bir güvenlik duvarı veya Drupal veritabanı kullanıcısının hedef veritabanında SELECT ayrıcalıklarının olmaması.
    Davranış sekmesi — çoğu geçiş için önerilen ayarlar:
    
    Gönderileri içe aktar: Evet
    Sayfaları içe aktar: Evet
    Kategorileri ve etiketleri içe aktar: Evet
    Görselleri ve ekleri indir: Evet (medyayı WordPress’in yükleme dizinine kopyalamak için gereklidir)
    İçe aktarmadan önce WordPress verilerini kaldır: Evet (yalnızca yeni kurulumda — bu, wp_posts ve ilgili tabloları keser)
    
    İçe Aktarmayı Başlatma
    İçe Aktarıcıyı Başlat / Devam Ettir‘e tıklayın. Eklenti içeriği toplu olarak işler. Büyük siteler için içe aktarma zaman aşımına uğrayabilir ve birden fazla devam döngüsü gerektirebilir — bu beklenen bir davranıştır, hata değildir. Her seferinde Devam Et‘e tıklamanız yeterlidir.
    Ekranda görüntülenen içe aktarma günlüğünü izleyin. Şunlara dikkat edin:
    
    Error downloading file — Drupal dosyaları URL’sinin yanlış olduğunu veya dosyalar dizininin herkese açık olmadığını gösterir
    Duplicate entry hataları — genellikle zararsızdır; eklentinin devam sırasında zaten içe aktarılmış kayıtları atladığını gösterir
    MySQL server has gone away — MySQL sunucusunda wait_timeout değerinin çok düşük olduğunu gösterir; en az 600 saniyeye yükseltin
    
    SET GLOBAL wait_timeout = 600;
    SET GLOBAL interactive_timeout = 600;
    Adım 6: URL Yapısını Uyumlaştırın ve Yönlendirmeleri Yapılandırın
    Bu, çoğu kılavuzun küçümsediği adımdır. Drupal ve WordPress arasındaki URL yapısı uyumsuzlukları, geçiş sonrası SEO sıralama düşüşlerinin birincil nedenidir.
    Drupal URL Kalıpları (Yaygın)
    
    
    
    
    Drupal URL kalıbı
    Açıklama
    
    
    
    
    /node/123
    Varsayılan node yolu (takma ad yok)
    
    
    /about-us
    Yol takma adı (en yaygın)
    
    
    /taxonomy/term/5
    Taksonomi terimi sayfası
    
    
    /user/1
    Kullanıcı profili
    
    
    /content/article-title
    İçerik türü önekli takma ad
    
    
    
    
    WordPress Permalink Yapılandırması
    Ayarlar > Kalıcı Bağlantılar‘a gidin ve Drupal yol takma adlarınızla mümkün olduğunca eşleşen bir yapı seçin. Temiz takma adlar kullanan çoğu Drupal sitesi için /%postname%/ doğru seçimdir.
    /%postname%/
    Drupal siteniz /blog/article-title gibi kategori önekli URL’ler kullandıysa şunu kullanın:
    /%category%/%postname%/
    301 Yönlendirmelerini Uygulama
    Yönlendirme kurallarını yönetmek için Redirection eklentisini (John Godley tarafından) yükleyin. Toplu yönlendirmeler için Drupal yol takma adlarınızı veritabanından dışa aktarın:
    SELECT source, alias FROM path_alias WHERE langcode = 'en';
    Ardından elde edilen CSV’yi Redirection eklentisine aktararak her Drupal takma adını WordPress karşılığına eşleyin. Hiçbir zaman takma ad verilmemiş /node/123 tarzı URL’ler için regex tabanlı yönlendirmeler oluşturun:
    /node/([0-9]+)$ → /?p=$1
    Bu, Drupal node ID’lerini WordPress gönderi ID’lerine eşler — ancak yalnızca FG eklentisinin orijinal node ID’lerini gönderi ID’leri olarak koruması durumunda çalışır; bu, varsayılan davranıştır.
    Kritik: Yayına geçmeden önce her yönlendirmeyi curl -I ile test edin:
    curl -I https://yourdomain.com/old-drupal-path
    Yanıtın, doğru Location başlığıyla birlikte HTTP/2 301 olduğunu doğrulayın; 302 veya yumuşak yönlendirmeli bir 200 olmamalıdır.
    Adım 7: Temaları Taşıyın ve Tasarımı Yeniden Oluşturun
    Drupal temaları (Twig tabanlı), WordPress’te doğrudan bir karşılığa sahip değildir. Görsel tasarımı bir WordPress temasını temel alarak yeniden oluşturmanız gerekir.
    Tema Seçim Stratejisi
    
    Blok tabanlı temalar (FSE): Sayfa oluşturucular olmadan tam düzen kontrolü için WordPress Site Düzenleyicisi’ni kullanın. Blok işaretlemesine hakim geliştiriciler için en iyisidir.
    Sayfa oluşturuculu klasik temalar: Elementor veya Bricks Builder ile eşleştirilmiş Astra veya GeneratePress gibi temalar, Drupal’ın Layout Builder’ına en yakın karşılığı sunar.
    Özel alt tema: Drupal sitenizin yoğun biçimde özelleştirilmiş bir tasarımı varsa, minimal bir üst temaya (Underscores, Blocksy) dayalı bir alt tema oluşturun ve CSS’yi yeniden oluşturun.
    
    Gezinme Menülerini Yeniden Oluşturma
    Drupal menüleri otomatik olarak taşınmaz. Bunları Görünüm > Menüler (klasik temalar) veya Site Düzenleyicisi’nin Gezinme bloğu (FSE temaları) altında yeniden oluşturun. Drupal menü yapınızla çapraz referans yapın:
    drush eval "print_r(menu_tree_all_data('main', NULL));"
    Veya veritabanını doğrudan sorgulayın:
    SELECT ml.link_path, ml.link_title, ml.weight, ml.depth
    FROM menu_links ml
    WHERE ml.menu_name = 'main-menu' AND ml.hidden = 0
    ORDER BY ml.weight;
    Widget’lar ve Bloklar
    Drupal blokları, WordPress widget’larına ve Gutenberg bloklarına gevşek biçimde karşılık gelir. Kenar çubuğu ve alt bilgi bölgelerini Görünüm > Widget’lar altında veya doğrudan Site Düzenleyicisi’nde yeniden oluşturun. PHP mantığı içeren özel Drupal blok türlerinin WordPress kısa kodları veya özel bloklar olarak yeniden oluşturulması gerekecektir.
    Adım 8: Geçiş Sonrası İçerik Denetimi
    Bu aşamayı atlamamayın. Otomatik geçiş araçları yapılandırılmış içeriği iyi işler; ancak uç durumlarda sessizce başarısız olur.
    İçerik Bütünlüğü Kontrolleri
    
    Gömülü medya: Drupal’ın satır içi dosya referansları özel bir token biçimi kullanır ([file:123] veya <drupal-media uuid="..."/>). Bunlar WordPress’te görüntülenmez. Veritabanında bu token’ları arayın:
    
    SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%drupal-media%' OR post_content LIKE '%[file:%';
    
    Kısa kodlar ve View’lar: Drupal View’larının WordPress’te karşılığı yoktur. Bir View oluşturan herhangi bir sayfa (örn. filtrelenmiş içerik listesi) boş görünecektir. Bunları WP_Query, özel gönderi türü arşivleri veya Posts Table Pro gibi bir eklenti kullanarak yeniden oluşturun.
    
    
    Özel alanlar: Premium eklenti aracılığıyla taşınan Drupal alan verileri wp_postmeta içine yerleşir. Alan değerlerinin mevcut olduğunu doğrulayın:
    
    SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE meta_key LIKE 'field_%' LIMIT 50;
    
    Kullanıcı hesapları: Kullanıcıları taşıdıysanız rol eşleştirmesini doğrulayın. Drupal’ın authenticated user rolü WordPress Subscriber ile eşleşir. Drupal editor, WordPress Editor ile eşleşir. Drupal administrator, WordPress Administrator ile eşleşir. Eşleştirmeyi denetleyin ve gerektiği gibi ayarlayın.
    
    Bozuk Bağlantı Tespiti
    DNS geçişinden önce hazırlama ortamınıza karşı Broken Link Checker yükleyin veya Screaming Frog ile bir tarama çalıştırın. Yayına geçmeden önce tüm dahili 404’leri düzeltin — bunları yakalamak için yayın sonrası izlemeye güvenmeyin.
    Adım 9: Performans ve Güvenlik Sertleştirme
    Yeni taşınmış bir WordPress sitesinin üretime hazır olmadan önce sertleştirilmesi gerekir.
    Önbellekleme Yapılandırması
    Apache/Nginx ortamları için LiteSpeed Cache (LiteSpeed sunucusundaysa) veya W3 Total Cache / WP Rocket yükleyin. Yapılandırın:
    
    Statik sayfalar için en az 3600 saniyelik TTL ile sayfa önbelleği
    Redis veya Memcached tarafından desteklenen nesne önbelleği
    .htaccess veya sunucu yapılandırması aracılığıyla tarayıcı önbellek başlıkları
    
    SSL/HTTPS
    WordPress sitenizin yalnızca HTTPS üzerinden sunulduğundan emin olun. Henüz bir sertifikanız yoksa SSL Sertifikaları hızla temin edilebilir ve otomatik yenileme için yapılandırılabilir. WordPress’in site URL ayarlarını güncelleyin:
    wp option update siteurl 'https://yourdomain.com'
    wp option update home 'https://yourdomain.com'
    .htaccess içinde HTTPS’yi zorunlu kılın:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    Güvenlik Sertleştirme Kontrol Listesi
    
    Gerekli değilse XML-RPC’yi devre dışı bırakın: functions.php dosyasına add_filter('xmlrpc_enabled', '__return_false'); ekleyin
    Varsayılan wp_ tablo önekini değiştirin (veritabanı yeniden adlandırması gerektirir — mümkünse içe aktarmadan önce yapın)
    Güvenlik duvarı ve giriş koruması için Wordfence veya Solid Security yükleyin
    Dosya izinlerini ayarlayın: dizinler 755, dosyalar 644, wp-config.php 600
    find /var/www/html/wordpress -type d -exec chmod 755 {} ;
    find /var/www/html/wordpress -type f -exec chmod 644 {} ;
    chmod 600 /var/www/html/wordpress/wp-config.php

    Adım 10: DNS Geçişi ve Yayın

    DNS geçişini en düşük trafikli zaman diliminizde gerçekleştirin. İşlem 15 dakikadan kısa sürmeli; çoğu çözümleyici için genellikle 1–4 saat olan 48 saate kadar sürebilecek bir yayılma penceresiyle tamamlanmalıdır.

    Geçiş Öncesi Son Kontroller

  • Hazırlama URL’sinin tam taramasını çalıştırın ve sıfır 404 olduğunu doğrulayın
  • Tüm 301 yönlendirmelerinin doğru Location başlıklarını döndürdüğünü doğrulayın
  • İletişim formlarını, arama işlevini ve tüm e-ticaret akışlarını test edin
  • Google Search Console’un yeni sitede doğrulandığını onaylayın
  • Yoast SEO veya Rank Math aracılığıyla yeni bir XML site haritası oluşturun ve gönderin

DNS Güncelleme Süreci

Etki alanınızı Alan Adı Kaydı aracılığıyla kaydettirdiyseniz, A kaydını doğrudan DNS yönetim panelinde güncelleyin. Yayılma gecikmesini en aza indirmek için geçişten en az 24 saat önce TTL’yi 300 saniyeye düşürün.

A record: yourdomain.com → [new WordPress server IP]
TTL: 300 (pre-cutover), restore to 3600 post-cutover

Yayın Sonrası İzleme

  • Etki alanının kendisi değiştiyse Google Search Console adres değişikliği aracını etkinleştirin
  • Google yeniden tarama ve yeniden dizinleme yaparken geçici sıralama dalgalanması bekleyin — ilk 30 gün boyunca Search Console’daki Core Web Vitals‘ı izleyin
  • Kullanılabilirlik izleme için UptimeRobot veya eşdeğerini kurun
  • İlk hafta boyunca sunucu hata günlüklerini günlük olarak kontrol edin:
tail -f /var/log/apache2/error.log
# or for Nginx:
tail -f /var/log/nginx/error.log

Arama Motoru Yeniden Gönderimi

Güncellenmiş site haritanızı Google Search Console’a gönderin:

  1. Search Console > Site Haritaları‘na gidin
  2. sitemap.xml girin (veya büyük siteler için sitemap_index.xml)
  3. Gönder‘e tıklayın

Bing Webmaster Tools’a da gönderin ve siteyi orada bağımsız olarak doğrulayın — Bing’in dizini, Copilot dahil birçok yapay zeka arama motoru tarafından kullanılmaktadır.

Barındırma Altyapısı Önerileri

Taşınan WordPress sitenizin performansı büyük ölçüde temel altyapıya bağlıdır. Drupal’dan WordPress’e geçiş, barındırma yığınınızı modernize etmek için de ideal bir fırsattır.

Orta düzey trafikli siteler (aylık 10.000–100.000 ziyaret) için en az 2 vCPU, 4 GB RAM ve NVMe depolama içeren bir VPS Hosting planı, tam sayfa önbelleklemeyle WordPress için yeterli alan sağlar. Yüksek trafikli veya kaynak yoğun siteler için Dedicated Servers, gürültülü komşu sorununu tamamen ortadan kaldırır ve çekirdek parametreleri, MySQL yapılandırması ve ağ yığını ayarlaması üzerinde tam kontrol sağlar.

Birden fazla müşteri sitesi yönetiyorsanız veya GUI tabanlı bir sunucu yönetim deneyimini tercih ediyorsanız, VPS Control Panels cPanel, Plesk ve DirectAdmin dahil çeşitli seçenekler sunar; her biri tek bir arayüzden çok siteli WordPress yönetimini, otomatik yedeklemeleri ve SSL sağlamayı destekler.

Teknik Karar Matrisi: Her Geçiş Yaklaşımı Ne Zaman Kullanılır

SenaryoÖnerilen YaklaşımTemel Araç
Drupal 7, küçük site (<500 node)FG eklentisi ücretsiz katman, aynı sunucuFG Drupal to WordPress (ücretsiz)
Drupal 9/10, paragraf ağırlıklı içerikFG eklentisi Premium, hazırlama sunucusuFG Drupal to WordPress Premium
Drupal Commerce → WooCommerceFG Premium + WooCommerce eklentisiFG + WooCommerce geçiş modülü
Çok dilli Drupal sitesiFG Premium + WPMLFG + WPML eklentisi
Karmaşık View’lara sahip DrupalManuel yeniden yapılandırma gerekliWP_Query + CPT UI
Farklı sunucu geçişiVeritabanı erişimi için SSH tüneliSSH port yönlendirme
Sıfır kesinti gereksinimiMavi-yeşil dağıtımDNS TTL azaltma + hazırlama

Temel Teknik Çıkarımlar

  • Her şeyden önce yedek alın. Sıkıştırılmış bir SQL dökümü ve sites/default/files/ dizininin bir tar arşivi güvenlik ağınızdır. Başlamadan önce her ikisinin de eksiksiz ve geri yüklenebilir olduğunu doğrulayın.
  • İçe aktarıcıyı çalıştırmadan önce veritabanı bağlantısını test edin. Başarısız geçişlerin büyük çoğunluğu, güvenlik duvarı kuralları veya eksik SELECT izinleri nedeniyle bağlantı testinde takılır.
  • Paragraf tabanlı Drupal içeriği Premium eklentiyi gerektirir. Ücretsiz katman, paragraf alanlarını sessizce atlayacak ve içeriği hata mesajı vermeden eksik bırakacaktır.
  • 301 yönlendirmeleri isteğe bağlı değildir. Harici geri bağlantıları veya arama motoru dizinlemesi olan her Drupal URL’si, kalıcı bir 301 ile WordPress karşılığına yönlendirilmelidir. Eksik bir yönlendirme, kaybedilen bir sıralama sinyalidir.
  • DNS TTL’yi geçişten 24 saat önce düşürün. A kaydını değiştirdiğinizde yayılmanın saatler değil dakikalar içinde tamamlanması için 300 saniyeye ayarlayın.
  • Eşlenmemiş Drupal alanları için wp_postmeta denetleyin. Özel alan verileri içe aktarmadan sonra oraya yerleşir — Drupal örneğini devre dışı bırakmadan önce mevcut olduğunu ve doğru anahtarlandığını doğrulayın.
  • Drupal’ı hemen devre dışı bırakmayın. Drupal ortamını yayından sonra en az 30 gün boyunca çalışır durumda tutun (bakım modunda, herkese açık değil) — referans ve geri alma seçeneği olarak.
  • Site haritanızı yayına geçtiğiniz gün yeniden gönderin. Googlebot’un yeni yapıyı organik olarak keşfetmesini beklemeyin — aktif gönderim yeniden taramayı hızlandırır.

SSS

Drupal çoklu site kurulumunu WordPress’e taşıyabilir miyim?

Evet; ancak her Drupal alt sitesi ayrı ayrı taşınmalıdır. FG Drupal to WordPress eklentisi, Drupal çoklu siteyi tek bir geçişte yerel olarak işlemez. Mimarinize bağlı olarak bir WordPress Çoklu Site ağını veya bağımsız WordPress kurulumlarını hedefleyerek her alt site için ayrı bir içe aktarma çalıştırın.

Drupal kullanıcı parolaları WordPress’e aktarılacak mı?

Hayır. Drupal, WordPress’in phpass tabanlı karma sistemiyle uyumsuz olan tuzlanmış SHA-512 karması (veya daha yeni sürümlerde bcrypt) kullanır. FG Premium eklentisi kullanıcı hesaplarını taşır ancak parolaları sıfırlar ve her kullanıcıya parola sıfırlama e-postası gönderir. Kullanıcı iletişimini buna göre planlayın.

WordPress karşılığı olmayan Drupal içerik türlerini nasıl ele alırım?

İçe aktarmayı çalıştırmadan önce WordPress’te eşdeğer Özel Gönderi Türleri (CPT’ler) kaydedin. FG Premium eklentisi, Drupal içerik türlerini WordPress CPT’lerine eşlemenize olanak tanır. Bu eşleme olmadan tüm node’lar varsayılan olarak post gönderi türüne düşer ve içerik taksonominizi çöküştürür.

Geçiş sırasında Drupal taksonomi terimlerine ne olur?

Drupal sözlükleri WordPress taksonomilerine eşlenir. Varsayılan eşleme, Drupal tags terimlerini WordPress etiketlerine ve Drupal categories terimlerini WordPress kategorilerine dönüştürür. Özel sözlükler, içe aktarmadan önce WordPress’te manuel taksonomi kaydı gerektirir; aksi takdirde silinecektir.

Büyük bir Drupal sitesi için geçiş ne kadar sürer?

5.000 node ve 2 GB medya içeren bir site için iyi donanımlı bir sunucuda 2–4 saatlik içe aktarma süresi bekleyin; buna ek olarak 4–8 saatlik geçiş sonrası içerik denetimi ve yönlendirme yapılandırması ekleyin. Gerçek DNS geçişi 15 dakikadan kısa sürer. Kapsamlı, üretim kalitesinde bir geçiş için başlangıçtan yayına kadar geçen toplam süre genellikle bir ila iki iş günüdür.

15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın