Description
Yedekalma, WordPress yedekleme işini tek ekranda toplayan ücretsiz bir yedek alma eklentisidir. Tek tıkla sitenizin tam yedeğini alır — dosyalar ve veritabanı — ve aynı ekrandan geri yükler. Ayrıca WordPress site taşıma (yeni sunucu veya yeni alan adı) yapar ve virüs / zararlı yazılım taraması ile bulaşmış dosyaları temizler. Yedekleme, geri yükleme, taşıma ve güvenlik tek eklentide toplandığı için her iş için ayrı bir araca ihtiyacınız olmaz.
Her şey kendi sunucunuzda çalışır. Hesap, kayıt veya API anahtarı gerekmez: kurun, etkinleştirin, Yedek Al‘a basın. Yedek dosyalarınız kendi hostingunuzda kalır ve dilediğiniz zaman ZIP olarak indirebilirsiniz.
Neler yapar?
- Site yedekleme — tema, eklenti ve yüklemeler dahil tüm dosyalar.
- Veritabanı yedekleme — gzip sıkıştırmalı MySQL dökümü (
.sql.gz), büyük siteler için uygun. - Paylaşımlı hostingde çalışır —
exec()kapalı ve PHP limitleri dar olsa bile parçalı (zaman dilimli) çalışıp yedeği tamamlar. - Artımlı yedekleme — dosyaların gerçek değişiklik zamanına bakar, değişen dosya asla atlanmaz.
- Tek tıkla geri yükleme — veritabanı, eklentiler, temalar ve yüklemeler; ya da yalnızca seçtiğiniz parça.
- Elinizdeki arşivden geri yükleme —
.zip,.sqlveya.sql.gzdosyasını sürükleyip bırakın. - Site taşıma / alan adı değiştirme — geri yükleme sırasında site adresi veritabanında otomatik güncellenir.
- Virüs tarama — WordPress çekirdeği, eklentiler ve aktif temada kod enjeksiyonu, web shell ve arka kapı arar; bulunanları toplu silebilirsiniz.
- Kendi bulutunuza gönderim (isteğe bağlı) — Google Drive, Dropbox, OneDrive, Amazon S3 / S3 uyumlu, FTP / SFTP.
- Zamanlanmış otomatik yedekleme (isteğe bağlı) — günlük, haftalık, saatlik veya birkaç dakikada bir; saklama kuralı ile.
- AES-256 uçtan uca şifreleme (BYOK) — parola sitenizden çıkmaz.
Ücretsiz bir yedekleme eklentisi arıyorsanız: geri yükleme, taşıma ve virüs taraması dahil hepsi ücretsizdir; hiçbiri “premium” kilidinin arkasında değildir.
In English
Yedekalma is a free WordPress backup plugin that takes a one-click backup of your entire site — files and database — and restores it again from the same screen. It also migrates your WordPress site to a new host or domain and scans it for malware. One backup plugin covers backup, restore, migration and security, so you do not need a separate tool for each job.
Everything runs on your own server. No account, no sign-up and no API key: install, activate, click Take Backup. Your backup archives stay on your hosting, and you can download them as a ZIP at any time.
Looking for a free backup plugin that also does migration and malware scanning without a paywall? Yedekalma gives you a full WordPress backup, a database backup, one-click restore, site migration and a malware scanner in a single plugin — no premium unlock required for any of it.
Backup
- Full backup — every file (themes, plugins, uploads) plus the complete database.
- Database backup — MySQL dump only, gzip compressed (
.sql.gz) for large sites. - Files backup — site files only, without the database.
- Works on shared hosting — chunked, time-sliced backup that finishes even when
exec()is disabled and PHP limits are strict. - Incremental backup — compares real file modification times, so a changed file is never skipped.
- Safe storage — local backups live in a hardened, non-browsable folder with unguessable file names.
Restore
- One-click restore of the database, plugins, themes and uploads straight from your dashboard.
- Restore only what you need — pick just the database, just uploads, just plugins or the whole site.
- Restore from an archive you already have — drag & drop a
.zip,.sqlor.sql.gzfile and restore from it. - Integrity checked — a truncated or corrupt archive is refused instead of half-applied, so a bad file can never damage a working site.
- SHA-256 verification of every archive before a restore begins.
Migration
- Move your site to a new host — download the backup, install Yedekalma on the target server and restore.
- Change domain safely — site URL and home URL are rewritten in the database automatically during the restore.
- New database server —
wp-config.phpcredentials can be updated as part of a restore. - Clone your website to a fresh install for disaster recovery or a redesign.
Malware scanner
- Security scan of PHP, JS and configuration files across WordPress core, your plugins and the active theme.
- Detects code injections, web shells and backdoors using malicious-pattern matching.
- Persistent results — the scan report survives page reloads, so you can review it whenever you like.
- Bulk clean — select detected files and delete them in one click.
- Core protection — WordPress core files are shielded from accidental deletion while planted files can still be removed.
Optional cloud service — backup to your own cloud storage
Local backup, restore, migration and the malware scanner are complete on their own and never contact an external server. If you also want off-site backup copies, you can connect the optional Yedekalma cloud service (see External services below) to:
- Backup to Google Drive — stream backups straight to your own Google Drive.
- Backup to Dropbox and OneDrive — send archives to your own Dropbox or Microsoft OneDrive account.
- Backup to Amazon S3 and S3-compatible storage — Backblaze B2, Wasabi, Cloudflare R2 and MinIO.
- Backup to FTP / SFTP — upload to any FTP or SFTP server you control.
- Run scheduled automatic backups — daily, weekly, hourly or as often as every few minutes for busy sites — with retention rules.
- Table-level incremental database backup — only the database tables that actually changed are exported, so even very frequent backups stay small and fast; unchanged runs are skipped automatically.
- Encrypt archives with client-side AES-256 (BYOK) before they leave your server — the passphrase never leaves your site.
Languages
Yedekalma ships with English, Turkish (Türkçe), German, Russian and Arabic translations.
External services
This plugin can optionally connect to the Yedekalma cloud service (an external SaaS) to perform off-site backup and restore operations, package backups for delivery to your own cloud storage, check subscription state, and monitor backup quota. This connection only happens if you choose to use the cloud service (by entering an API token, by clicking the optional “Connect with Google” button, by clicking the optional “register this site” button, or by sending a support request from the Support screen — all described below); the plugin’s local backup, restore, migration and malware-scanner features work with no external connection at all.
- Service URL: https://yedekalma.com
- Terms of Service: https://yedekalma.com/legal
- Privacy Policy: https://yedekalma.com/legal#privacy
- Connect with Google (opt-in): The dashboard shows an optional “Connect with Google” button. It does nothing unless you click it. If you click it, your browser is sent to https://yedekalma.com where you sign in with Google; Yedekalma then creates or finds your account from your Google e-mail address and links this site (identified by its Site URL) to it. Only your e-mail address and the Site URL are used for this; no Google Drive or other Google data permission is requested, and no site content is sent. A one-time connection token is returned to your site and stored encrypted locally.
- Optional site registration (opt-in): The dashboard also shows an optional “register this site with Yedekalma” button. It does nothing unless you click it. If you click it, the plugin sends only your Site URL and technical version info (plugin, WordPress, PHP version and locale) to https://yedekalma.com so the site can be listed in your Yedekalma panel; no site content or personal data is sent. If you also enter a notification e-mail, that address and your marketing-consent choice are sent as well. You can ignore the button entirely and every built-in feature still works.
- Support form (opt-in, no account needed): The plugin has a Yedekalma Support screen. It sends nothing until you fill it in and press “Send”. When you do, the message you typed, the reply e-mail address and name you entered, the chosen category and your Site URL are sent to https://yedekalma.com so the support team can answer you by e-mail. A separate checkbox — shown ticked, and you can untick it — additionally sends technical details of this installation: plugin, WordPress, PHP and MySQL versions, web server, site language, multisite flag, active theme name, the number of active plugins, PHP limits (
memory_limit,max_execution_time,upload_max_filesize), whether ZipArchive andexec()are available, free disk space, whether the backup folder is writable, whether the site is connected to the cloud service, and the date and count of your local backups. The full list is shown on screen before you send it. No site content, database content, passwords, plugin list or user data is sent, and no Yedekalma account is required to use this form. - Data Transmission: When connected (or after opt-in registration), the plugin sends requests to the Yedekalma API containing your Site URL, active plugin features, backup metadata (such as file lists, sizes, and checksums), and your API token (or anonymous install id) to perform secure backup and restore tasks.
Screenshots





Installation
- In your WordPress admin, go to Plugins Add New.
- Search for Yedekalma.
- Click Install Now, then Activate.
- Open Yedekalma in the admin sidebar.
- Click Start without an account and take your first backup.
Manual installation: upload the yedekalma folder to /wp-content/plugins/ and activate it from the Plugins screen.
FAQ
-
WordPress sitemin yedeğini nasıl alırım?
-
Yedekalma Kontrol Paneli‘ni açın ve Yedek Al‘a basın. Tam Yedek (dosya + veritabanı), Sadece Dosya veya Sadece Veritabanı seçebilirsiniz. Yedekleme kendi sunucunuzda parça parça çalışır; bittiğinde arşivi ZIP olarak indirebilirsiniz.
-
Veritabanı yedeği nasıl alınır?
-
Yedek Al Sadece Veritabanı deyin. Sıkıştırılmış bir MySQL dökümü (
.sql.gz) elde edersiniz; indirebilir veya daha sonra geri yükleyebilirsiniz. -
Yedek alma eklentisi ücretsiz mi?
-
Evet. Yedekleme, geri yükleme, taşıma ve virüs taraması hesap açmadan ve ücret ödemeden tam olarak çalışır. İsteğe bağlı Yedekalma bulut hizmeti site dışı (off-site) depolama ekler ve ücretsiz bir başlangıç paketi vardır.
-
WordPress site taşıma nasıl yapılır?
-
Evet. Yedeği indirin, yeni sunucuda Yedekalma’yı kurun ve arşivden geri yükleyin. Site adresi ve ana sayfa adresi veritabanında otomatik olarak yeni alan adına göre güncellenir.
-
Yedekler nerede saklanıyor?
-
Varsayılan olarak kendi hostingunuzda, dışarıdan listelenemeyen korumalı bir klasörde ve tahmin edilemez dosya adlarıyla. İsterseniz isteğe bağlı bulut hizmetiyle kendi Google Drive, Dropbox, OneDrive, S3 veya FTP alanınıza gönderebilirsiniz — yedeğin içeriği Yedekalma sunucularında tutulmaz.
-
Paylaşımlı hostingde çalışır mı?
-
Evet. Yedekleme zaman dilimli parçalar halinde ilerler;
exec()kapalı olsa ve PHP zaman/bellek limitleri dar olsa bile tamamlanır. Sunucu yoğunluk nedeniyle isteği reddederse eklenti bekleyip kaldığı yerden devam eder. -
WordPress virüs temizleme yapar mı?
-
Evet. Yedekalma Zararlı Yazılım Taraması ekranından tarama başlatın: WordPress çekirdeği, eklentiler ve aktif tema PHP/JS ve yapılandırma dosyaları için kod enjeksiyonu, web shell ve arka kapı kalıplarına karşı taranır. Bulunan dosyaları tek tıkla toplu silebilirsiniz; WordPress çekirdek dosyaları yanlışlıkla silinmeye karşı korunur. Virüs temizleme ücretsizdir, hesap açmanız gerekmez.
-
Otomatik (zamanlanmış) yedekleme var mı?
-
Evet, isteğe bağlı bulut hizmetiyle. Günlük, haftalık, saatlik ya da yoğun siteler için birkaç dakikada bir otomatik yedekleme kurabilir, her biri için saklama kuralı tanımlayabilirsiniz. Tek tıkla manuel yedek her zaman ücretsizdir ve zamanlama gerektirmez.
-
Büyük siteleri (5 GB, 10 GB) yedekleyebilir mi?
-
Evet. Yedekleme küçük zaman dilimlerine bölünerek ilerler ve veritabanı doğrudan gzip sıkıştırmalı döküme akıtılır; böylece PHP süre ve bellek limitlerine takılmadan tamamlanır. Çok büyük siteler için isteğe bağlı bulut hizmetiyle arşivi hostinginizi doldurmadan doğrudan kendi Google Drive, S3 veya FTP alanınıza gönderebilirsiniz.
-
WooCommerce mağazamı yedekler mi?
-
Evet. Tam yedek tüm WordPress veritabanını içerir — WooCommerce siparişleri, ürünler, müşteriler ve ayarlar dosyalarla birlikte kaydedilir. Yoğun mağazalarda isteğe bağlı bulut hizmetiyle sık artımlı yedekleme kurup iki yedek arasındaki yeni siparişleri de koruyabilirsiniz.
-
Nasıl destek alabilirim? Üye olmam gerekiyor mu?
-
Hayır, üyelik gerekmez. WordPress yönetim panelinizde Yedekalma Destek ekranını açın, sorununuzu yazın ve gönderin. Site adresiniz otomatik olarak eklenir; isterseniz PHP/WordPress sürümü ve sunucu limitleri gibi teknik bilgileri de tek tıkla iletebilirsiniz (ne gönderileceğini göndermeden önce ekranda görürsünüz). Yanıt, yazdığınız e-posta adresine gelir — yedekalma.com hesabınız olmasa bile.
-
Yedeklerimi Google Drive’a gönderebilir miyim?
-
Evet, isteğe bağlı Yedekalma bulut hizmetiyle. Arşiv sunucunuzdan doğrudan kendi Google Drive, Dropbox, OneDrive, Amazon S3 / S3 uyumlu veya FTP / SFTP alanınıza aktarılır; Yedekalma bir kopyasını saklamaz.
-
Is this backup plugin free?
-
Yes. Backup, restore, migration and the malware scanner are fully functional with no account and no payment. The optional Yedekalma cloud service adds off-site storage and has a free tier.
-
Is this a good free backup plugin for WordPress?
-
Yedekalma is a free WordPress backup plugin that bundles full-site backup, database backup, one-click restore, site migration and a malware scanner — features that many plugins split between free and premium tiers. Everything runs on your own server and needs no account.
-
How do I back up my WordPress site?
-
Open Yedekalma Dashboard and click Take Backup. Choose Full (files + database), Files Only or Database Only. The backup runs in time-sliced chunks on your own server and you can download the archive as a ZIP when it finishes.
-
How do I back up my WordPress database?
-
Open Yedekalma Dashboard, click Take Backup and choose Database Only. You get a compressed MySQL dump (
.sql.gz) that you can download or restore later. -
Can I back up a WooCommerce store?
-
Yes. A full backup includes your entire WordPress database — WooCommerce orders, products, customers and settings — together with your files, so your whole store is captured. For very busy stores you can schedule frequent incremental backups through the optional cloud service so new orders are protected between runs.
-
Can it back up large sites (5 GB, 10 GB or more)?
-
Yes. Backups run in small time-sliced chunks and the database is streamed to a gzip-compressed dump, so large sites finish without hitting PHP time or memory limits. For very large sites, connecting the optional cloud service lets archives stream straight to your own Google Drive, S3 or FTP storage instead of filling your hosting disk.
-
Yes. Yedekalma is a pure-PHP plugin with no server dependencies, so it works on any standard WordPress host — shared hosting, cPanel, Plesk, DirectAdmin or a managed platform. It does not need
exec(), shell access or SSH. -
Does it work on LiteSpeed, Nginx and Apache?
-
Yes. The plugin runs inside WordPress itself and does not depend on the web server, so it works the same on LiteSpeed, Nginx, Apache or any other server that runs PHP.
-
Can I use it to migrate my site to a new host or domain?
-
Yes. Take a full backup, download the ZIP, install Yedekalma on the target site and restore the archive there. The site URL and home URL in the database are updated for the new domain automatically.
-
Can I clone my website for disaster recovery?
-
Yes. Take a full backup and restore it onto a completely separate install; the site URL is rewritten for the new domain automatically. Your original site is never modified.
-
Where are my backups stored?
-
In
wp-content/uploads/yedekalma-backups/on your own server. The folder is protected from directory browsing and the archive names include a random token, so nobody can guess the URL. If you connect optional cloud storage, backups go to your own Google Drive, Dropbox, OneDrive, S3 or FTP account instead. -
Can I back up to Google Drive?
-
Yes, through the optional Yedekalma cloud service. Backups stream directly from your server to your own Google Drive; Yedekalma never keeps a copy.
-
Can I back up to Dropbox or OneDrive?
-
Yes. With the optional cloud service you can send scheduled backups to your own Dropbox or Microsoft OneDrive account.
-
Does it support Amazon S3, Backblaze B2 or Wasabi?
-
Yes. The optional cloud service supports Amazon S3 and any S3-compatible storage — Backblaze B2, Wasabi, Cloudflare R2 and MinIO. Uploads use a client-side signed (SigV4) request and your secret key is AES-256 encrypted on your own site, never sent to Yedekalma.
-
Can I back up to FTP or SFTP?
-
Yes. The optional cloud service can upload backups to any FTP or SFTP server you control. The credentials are encrypted on your own site.
-
Does it support scheduled automatic backups?
-
Yes, through the optional cloud service. You can schedule automatic backups daily, weekly, hourly or as often as every few minutes for busy sites, each with its own retention rules. One-click manual backups are always available for free without any schedule.
-
What is incremental backup and does it support it?
-
An incremental backup only saves what changed since the last run, so it stays small and fast. Yedekalma compares real file modification times for files and, with the cloud service, exports only the database tables that actually changed — unchanged runs are skipped automatically.
-
Can I encrypt my backups?
-
Yes. With the optional cloud service you can turn on client-side AES-256 (BYOK) encryption. Archives are encrypted on your own server before they leave it, and the passphrase never reaches Yedekalma.
-
How does the malware scanner work?
-
It scans PHP, JS and configuration files in WordPress core, your plugins and the active theme for malicious patterns, code injections, web shells and backdoors. Results are saved so you can review them later, and you can delete detected files in bulk. Core WordPress files are protected from deletion.
-
How do I restore a WordPress backup for free?
-
Open Yedekalma Backups, find the backup you want and click Restore. You can restore the database, plugins, themes and uploads separately or all at once. You can also drag & drop a
.zip,.sqlor.sql.gzarchive you already have and restore from it — no account and no payment required. -
Can I restore only the database?
-
Yes. When restoring, pick the Database section on its own and the rest of the site is left untouched. This is handy for rolling back a bad content change without reverting files.
-
Can I restore only the uploads, media or a single component?
-
Yes. Restore offers each section your backup contains — database, plugins, themes and uploads — so you can restore just your media/uploads, just plugins or any single part instead of the whole site.
-
Is there a free WordPress migration plugin here?
-
Yes. Yedekalma migrates your WordPress site to a new host or domain for free: take a full backup, download the ZIP, install Yedekalma on the target site and restore. The site URL and home URL are rewritten in the database automatically, and
wp-config.phpcredentials can be updated during the restore. -
How can I scan WordPress for malware without a subscription?
-
The built-in malware scanner is completely free and needs no account. Open Yedekalma Malware Scanner and start a scan; it checks WordPress core, your plugins and the active theme for injected code, web shells and backdoors, then lets you delete detected files in bulk while protecting core files.
-
How often should I back up my WordPress site?
-
For most sites a weekly full backup plus a daily database backup is a good baseline; busy or e-commerce sites should back up daily or more often. You can run a one-click backup any time for free, and the optional Yedekalma cloud service adds scheduled automatic backups with retention rules.
-
What happens to my backups if I delete the plugin?
-
Nothing. Local archives under
wp-content/uploads/yedekalma-backups/stay where they are unless you remove them yourself, and anything in your own cloud storage stays there too. -
Türkçe destekliyor mu?
-
Evet. Yedekalma tamamen Türkçe arayüze sahiptir: site yedekleme, veritabanı yedekleme, yedekten geri yükleme, site taşıma ve virüs/zararlı yazılım taraması işlemlerinin tümünü Türkçe olarak yapabilirsiniz.
-
Is Multisite supported?
-
Not in version 1 — a separate plugin instance per site is required. Full Multisite support is on the roadmap.
-
Is it GDPR / KVKK compliant?
-
Yes. The plugin makes no external connection at all unless you deliberately connect the optional cloud service, and explicit consent is collected for that data transfer.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Yedekalma — Yedek Alma, Geri Yükleme ve Taşıma” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Yedekalma — Yedek Alma, Geri Yükleme ve Taşıma” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
For the full history of older releases, see changelog.txt in the plugin folder.
1.57.2 — 2026-08-18
- Düzeltildi: yedek %97’de “kayıt onayı bekleniyor”da takılıp başarısız oluyordu.
Arşiv aslında hedefe SORUNSUZ yüklenmiş oluyordu; eklenti son adımda panele kayıt
bilgisini yalnızca BİR KEZ gönderiyor, o tur tamamlanamazsa sonraki denemelerde boş
gönderiyordu. Panel de bunu “bilgi gelmedi” sayıp yedeği başarısız işaretliyordu.
Artık kayıt bilgisi saklanıyor ve gerektiğinde tekrar gönderiliyor. - Bu durumda takılı kalmış eski bir oturum varsa artık otomatik temizleniyor; eskiden
o oturum sonraki her yedeği de düşürüyordu.
1.57.3 — 2026-08-18
- Düzeltildi: yedek başarıyla alınıyordu ama panel “dosya bulunamadı” diyordu. Arşiv
doğru klasöre yazılıyor, ancak indirme ve silme işlemleri klasörü BAŞKA bir kaynaktan
hesaplıyordu. Sitesi başka bir sunucuya taşınmış kurulumlarda WordPress’in bildirdiği
yükleme klasörü yolu ESKİ sunucuya ait olabiliyor; yazma tarafı bunu 1.57.0’da
doğrulamaya başlamıştı ama okuma/silme tarafı ham değeri kullanmaya devam ediyordu.
Sonuç: yedek 3-4 dakika boyunca paketleniyor, tamamlanıyor, sonra panel dosyayı
bulamayıp işi başarısız sayıyordu. Dosya aslında YERİNDEYDİ. - Aynı hata yedeğin İÇERİĞİNİ de bozuyordu: yedek klasörünün yeni arşive dahil
EDİLMEMESİNİ sağlayan kural da aynı yanlış yoldan hesaplandığı için taşınmış sitelerde
çalışmıyordu — arşiv kendi önceki arşivlerini içine alıp gereksiz yere büyüyordu. - Artık yedek klasörünün yolu tek bir doğrulanmış kaynaktan geliyor: yazma, okuma, silme,
geçici dosya ve dışlama kuralı aynı yeri gösteriyor.
1.57.1 — 2026-08-18
- Düzeltildi: bazı hostinglerde yedek “Call to undefined function disk_free_space()”
hatasıyla düşüyordu. 1.57.0’daki yeni disk/kota kontrolü, bu fonksiyonu kapatan
paylaşımlı hostinglerde ölümcül hataya yol açıyordu. Artık fonksiyonun varlığı tek bir
yerden kontrol ediliyor; yoksa disk bilgisi “ölçülemedi” olarak geçiliyor ve yedek
normal şekilde devam ediyor. - Not: aynı sınıf hata 1.53.x’te de yaşanmıştı. Kontrolün her çağrı yerinde elle
tekrarlanması hatayı geri getirdiği için artık tek bir yardımcıdan geçiliyor ve
otomatik bir kontrol, korumasız çağrı eklenmesini engelliyor.
1.57.0 — 2026-08-18
- Yedek artık BAŞLAMADAN önce sistemi kontrol ediyor. Eskiden bir sorun varsa (klasör
yazılamıyor, disk dolu, veritabanına erişilemiyor, ZipArchive yok) bunu ancak yedek %95’e
geldiğinde, 15-20 dakika sonra öğreniyordunuz. Artık yedek başlamadan önce tek bayt
paketlenmeden kontrol yapılıyor ve sorun varsa saniyeler içinde net bir mesajla duruyor.
Kontrol edilenler: PHP sürümü, gerekli eklentiler (ZipArchive, cURL), yedek klasörüne
GERÇEK yazma testi, disk/kota, veritabanı erişimi, bellek ve süre limitleri, yarım kalmış
yedek artıkları. - Yazma testi bilerek gerçek bir dosya yazıp siliyor: paylaşımlı hostingde izin bilgisi
“yazılabilir” dese bile kota veya bağlama sorunu yüzünden yazma başarısız olabiliyor —
bugün yaşanan arıza tam olarak bu türdendi. - Uyarılar yedeği durdurmaz, yalnızca bildirilir; yedek yalnızca gerçekten engelleyici bir
sorun varsa başlatılmaz.
1.56.0 — 2026-08-18
- Yedek klasörü artık eklenti etkinleştirilirken oluşturuluyor. Eskiden klasör ilk yedeğin
SONUNDA, arşiv paketlendikten sonra yaratılıyordu. Bu yüzden yazılamayan bir klasör ancak
saatler sonra, yedek %95’teyken hata veriyordu; o zamana kadar harcanan süre boşa gidiyordu.
Artık kurulumda deneniyor: klasör oluşturulup korumaları (.htaccess, index.php) HEMEN
uygulanıyor. Bir sorun varsa yönetim panelinde net bir uyarı görüyorsunuz — yedeğin
başarısız olmasını beklemenize gerek kalmıyor. - Sorunu düzeltince uyarı kendiliğinden kalkıyor. Yükleme klasörü yolunu düzelttiğinizde
eklentiyi yeniden etkinleştirmeniz gerekmez; panel her açılışta (saatte en fazla bir kez)
yeniden deneyip klasörü oluşturur ve uyarıyı kaldırır.
1.55.8 — 2026-08-18
- Sunucu taşıması sonrası yedek alınamıyordu (kritik). Site başka bir sunucuya taşındığında
veritabanı, ESKİ sunucunun mutlak klasör yolunu taşımaya devam edebiliyor (Ayarlar > Medya
altındaki “upload_path” ayarı). WordPress yükleme klasörünü oradan bildirdiği için eklenti,
yeni sunucuda HİÇ VAR OLMAYAN bir yola yazmaya çalışıyor ve yedek her seferinde
“Hedef klasör oluşturulamadı — Permission denied” ile ölüyordu. Diskte 30 GB boş yer olsa bile.
Eklenti artık bu yola körü körüne güvenmiyor: kullanılabilir olduğunu (var + yazılabilir)
doğruluyor, değilse kurulumun gerçek yapısından (WP_CONTENT_DIR, ardından ABSPATH) sağlam bir
klasöre düşüyor. Yol hiçbir şekilde kullanılamıyorsa hata mesajı ne yapmanız gerektiğini
söylüyor.
1.55.7 — 2026-08-18
- “Hedef klasör oluşturulamadı” hatası artık sebebini ÖLÇEREK söylüyor. Önceki sürüm
“üst klasörde yazma izni yok olabilir” diyordu; “olabilir” sizi doğru yere götürmez, çünkü
bu hata hem izin, hem disk/kota dolması, hem de bir üst klasörün hiç bulunmaması yüzünden
oluşur ve çözümleri birbirinden farklıdır. Artık mesaj şunları içeriyor: en derin VAR OLAN
üst klasör hangisi, o klasör yazılabilir mi, orada ne kadar boş alan var ve sistemin kendi
hata mesajı. Böylece disk mi dolu yoksa izin mi eksik, bakar bakmaz görülüyor.
1.55.6 — 2026-08-17
- “Ne kadar yer kazandırır?” ölçümü ile yedeğin gerçekte aldığı dosya sayısı ayrışıyordu.
İlerleme ekranı “5717 dosya” derken ölçüm paneli “5724 dosya” diyordu. Sebep: ölçüm, yedeği
üreten kodun iki elemesini yapmıyordu — eklentinin kendi geçici artıkları ve okunamayan
dosyalar. Yani panel, yedeğe girmeyecek dosyaları “girecek” diye sayıyordu.
Artık üç yer de (parçalı yedek listesi, tam yedek ve ölçüm paneli) tek bir karar noktasını
kullanıyor; gösterilen sayı yedeğin gerçekte yaptığı işle aynı olmak zorunda. - Ölçüm paneli artık yalnızca SİZİN kalıplarınızın elediğini “kazanç” olarak sayıyor; varsayılan
olarak zaten hariç olanlar (önbellek, yedek klasörü, okunamayan dosya) rakamı şişirmiyor.
1.55.5 — 2026-08-17
- Başka eklentilerin uyarıları Yedekalma ekranlarında görünmüyor artık. WordPress uyarı
kancasını tüm yönetim sayfalarında çalıştırdığı için, temanızın “şu eklenti pasif” uyarısı
veya başka bir eklentinin “veri toplamamıza izin verir misiniz?” kutusu Yedekalma ayar
sayfasının en üstünde çıkıyordu; bir yedekleme ekranında bunları görmek “bu benim yedeğimle
mi ilgili?” karışıklığı yaratıyordu. Artık yalnızca KENDİ ekranlarımızda üçüncü taraf
uyarıları gizleniyor. WordPress çekirdeğinin uyarıları (güvenlik/güncelleme) KORUNUR ve
sitenizin diğer sayfalarına hiç dokunulmaz. - Simge (dashicons) bağımlılığı açıkça beyan edildi. Arayüzdeki simgeler çekirdeğin
stil dosyasını zaten yüklemiş olmasına dayanıyordu; bir tema veya eklenti onu kaldırırsa
simgelerin yerinde boş kutular kalıyordu. Artık kendi stilimizin bağımlılığı olarak
yükleniyor.
1.55.4 — 2026-08-17
- “Önerilen gereksiz dosya ve klasörleri hariç tut” özelliği kaldırıldı. Tek tıkla 35 kural
uygulamak, yedeğinizin içeriğini daraltan kararları görmeden kabul etmenize yol açıyordu.
Neyin hariç tutulacağına artık siz karar veriyorsunuz: sağdaki klasör gezgininden istediğiniz
klasörü seçip hariç tutabilir, kaydetmeden önce “Ne kadar yer kazandırır?” ile etkisini
ölçebilirsiniz. Önbellek klasörleri, .git, node_modules ve tanınan yedek eklentisi klasörleri
zaten varsayılan olarak hariçtir — onlar için bir şey yapmanız gerekmez.
1.55.3 — 2026-08-17
- “Önerilen gereksiz dosyaları hariç tut” artık NEDEN gereksiz olduklarını da gösteriyor.
Düğme 35 kalıbı tek tıkla ekliyordu ama her kalıbın gerekçesi ayrı bir pencerede duruyor ve
yalnızca ayrı bir bağlantıyla açılıyordu. Yani yedeğinizin içeriğini daraltan 35 kuralı
görmeden kabul etmiş oluyordunuz. Artık kalıplar eklendiği anda gerekçe listesi açılıyor:
her satırda kalıp, ne olduğu ve neden yedeğe girmesine gerek olmadığı yazıyor; eklenenler
“✓ eklendi” olarak işaretleniyor. Katılmadığınız satırı kaydetmeden önce kutudan silebilirsiniz.
Listede site içeriği (yüklemeler, temalar, eklentiler, çeviriler, vendor/) ASLA yer almaz.
1.55.2 — 2026-08-17
- Yedek, kendi eski arşivini yedeklemeye çalışıyordu (kritik). Eklenti yedeği geçici bir
dosyada kurar (wp-content/uploads/yedekalma_full_…). Bir yedek koşusu yarıda kalırsa bu
geçici dosya diskte kalıyor ve SONRAKİ yedek onu normal bir site dosyası sanıp arşive
eklemeye çalışıyordu. Artık yüzlerce MB olan bu artık tek bir adıma sığmadığı için yedek
ilerleyemiyor, hosting isteği kesiyor ve yedek hiç tamamlanmıyordu. Aynı şey eski
kurulumdan kalanYedekAlmaBackup-…klasörleri için de geçerliydi.
Artık eklentinin kendi geçici dosyaları ve yedek klasörleri her koşuda hariç tutuluyor.
Belirti: yedeğin sonlara doğru tıkanıp saatlerce aynı dosyada beklemesi, sitenizin gerçekte
olduğundan çok daha büyük ölçülmesi. - Not: diskte kalmış eski
yedekalma_full_…dosyalarını silmek yer kazandırır; yedeğe artık
girmiyorlar ama yer kaplamayı sürdürürler.
1.55.1 — 2026-08-17
- “Yükleme başarısız” artık SEBEBİNİ söylüyor. Yedek kendi sunucunuzda saklanırken (domain
içi depolama) bir sorun çıkarsa panelde yalnızca “Yükleme başarısız: upload_failed” yazıyordu;
disk mi doldu, klasöre yazma izni mi yok, hiç belli olmuyordu. Bu adımda beş ayrı hata yolu
vardı ve hiçbiri gerekçe döndürmüyordu. Artık disk boş alanı ölçülüyor, yazma izni sınanıyor
ve mesaj net: “Diskte yeterli yer yok: arşiv 412,0 MB, boş alan 63,4 MB — eski yedekleri
silip yeniden deneyin.” gibi. - Yarım yazılan arşiv artık fark ediliyor. Disk yazma sırasında dolarsa dosya eksik kalıyor
ve bu sessizce “başarılı” sayılabiliyordu. Artık yazılan boyut beklenenle karşılaştırılıyor;
eksikse yarım dosya siliniyor ve durum açıkça bildiriliyor.
1.55.0 — 2026-08-17
- Yedeğe giremeyen dosyalar artık BİLDİRİLİYOR (kritik). Bir dosya izin hatası, açılamayan
klasör ya da disk/kota sorunu yüzünden okunamazsa, eklenti onu SESSİZCE atlıyordu: yedek
“tamamlandı” damgası alıyor, o dosyalar arşivde bulunmuyordu. Daha kötüsü, klasör gezinmesi
bir izin hatasıyla kesilirse YARIM dosya listesi tam liste gibi kullanılıyordu — yani bütün
bir klasör sessizce yedeğin dışında kalabiliyordu. Bunu ancak geri yüklerken fark ederdiniz.
Artık okunamayan her dosya/klasör sayılıyor ve yedekalma.com paneline bildiriliyor; panelde
yedeğin yanında “⚠ N dosya arşive eklenemedi — bu yedek EKSİK” uyarısı görünüyor. - Panel tarafı da aynı gün düzeltildi: bu bilgi eskiden gönderiliyor ama panelde OKUNMUYORDU.
1.54.9 — 2026-08-17
- Hariç tutma kalıplarında karakter sınıfı (
[0-9]) uygulanmıyordu.logs[0-9]ya da
20[12][0-9] gibi bir kalıp yazdıysanız, ekranda “hariç tutulan yol” olarak sayılıyor ama
yedeğe GİRİYORDU. Aynı kalıp panelin PHP modülünde doğru çalıştığı için iki üründe farklı
sonuç doğuyordu; artık ikisi birebir aynı davranıyor. Yalnız*ve?kullandıysanız
bu sorundan etkilenmediniz.
1.54.8 — 2026-08-17
- “Diskte bulundu” yedekleri silinemiyordu (kritik kullanılabilirlik). Yedek listesi iki
kaynağı birleştirir: eklentinin kendi kaydı ve diskte tarama ile bulunan arşivler (satırda
“Diskte bulundu” etiketiyle görünür). İkinci gruptaki bir yedeği seçip “Sil” dediğinizde
işlem tamamlanmıyor, satır listede kalıyordu. Sebep: bu satırların kaydı olmadığı için
eklenti onları bulut yedeği sanıp yedekalma.com’a bilmediği bir kimlikle silme isteği
gönderiyordu. Artık disk taramasında bulunup dosya doğrudan siliniyor (yol güvenlik
denetiminden geçirilerek). - Arşivi elle sildiyseniz kayıt artık temizlenebiliyor. Bir yedek dosyasını FTP/dosya
yöneticisiyle kendiniz sildiyseniz, “Sil” işlemi “dosya bulunamadı” diyerek duruyor ve
listeyi hiç temizleyemiyordunuz. Silme artık idempotent: dosya zaten yoksa istenen sonuç
sağlanmış sayılır ve kayıt kaldırılır. Dosya diskte VARSA ama silinemiyorsa (izin/kilit)
bu yine açıkça hata olarak bildirilir — kaydın kalkıp dosyanın kalması engellenir.
Aynı kural bulut tarafında da geçerli: panelde kaydı bulunmayan bir yedek “zaten silinmiş”
sayılır.
1.54.7 — 2026-08-17
- Sayfa önbelleği panelin sitenizi okumasını engelliyordu (kritik). LiteSpeed Cache,
WP Rocket veya benzeri bir önbellek eklentisi kullanıyorsanız, eklentinin yedekalma.com
ile konuştuğu/wp-json/yanıtları önbelleğe alınabiliyordu. Sonucu: panelde “Modül
durumu alınamadı — eklentiyi güncelleyin” uyarısı çıkıyor, eklentiyi güncellemek de bir
şey değiştirmiyordu; çünkü sorun eklentide değil, araya giren önbellekteydi.
Ayrıca aynı önbellek, yetkili bir isteğe verilen yanıtı yetkisiz bir ziyaretçiye
sunabiliyordu — sitenizin dosya ve veritabanı boyutu bu yolla görünür hâle gelebiliyordu.
Eklenti artık kendi REST yanıtlarını açıkça önbelleklenemez olarak işaretliyor
(no-store+DONOTCACHEPAGE+ LiteSpeed kontrolü). Yedeklemeniz bundan etkilenmiyordu;
etkilenen yalnızca panelin ayarlarınızı okuması ve durum göstergeleriydi. - S3 uyumlu depolamada özel port kullanan hedeflerde imza hatası (kritik). Kendi
sunucunuzda çalışan MinIO gibi, adresinde port bulunan (https://depo.ornek.com:9000)
bir S3 hedefi tanımladıysanız, eklentinin ürettiği imza panelin ürettiğinden FARKLI
olabiliyordu ve yüklemeSignatureDoesNotMatchhatasıyla sessizce reddediliyordu.
Sebep:Hostbaşlığı varsayılan portu (http’de 80, https’te 443) göstermez; eklenti
ise portu her koşulda ekliyordu. Artık panelle birebir aynı kural uygulanıyor.
Amazon S3, Google Cloud Storage, Wasabi gibi standart portlu hedefleri kullanıyorsanız
bu sorundan etkilenmediniz.
1.54.6
- Bu sürüm SAHAYA HİÇ ÇIKMADI. Sürüm numarası deponun içinde bir an için ayarlandı ama
yayınlanmadan önce bir sonraki düzeltmeyle birleştirildi ve 1.54.7 olarak yayınlandı.
Kayıt, “1.54.6’ya ne oldu?” sorusunun cevabı olarak burada duruyor.
1.54.5 — 2026-08-17
- Hariç tutma listesi yedeğe HİÇ uygulanmıyordu (kritik). Dosya bölümünde belirlediğiniz
hariç tutma kalıpları yalnızca ekranda çalışıyordu: rozet doğru sayıyı gösteriyor,
“ne kadar yer kazandırır?” ölçümü doğru sonucu veriyor, panele bildirilen liste de
doğruydu — ama yedeği ÜRETEN kod bu listeyi BAŞKA bir kayıttan okuyordu ve oraya hiçbir
zaman bir şey yazılmıyordu. Sonuç: liste daima boş sayılıyor ve hariç tuttuğunuz her şey
arşive giriyordu. Aynı hata boyut ölçümünü de etkiliyordu (site boyutu olduğundan büyük
görünüyordu). Sahada ölçüldü: tahmin “yedeğe giren 9.214 dosya” derken yedek 16.669 dosya
işliyordu — aradaki ~8,1 GB tam olarak hariç tutulmuş olması gereken veriydi. Artık
liste tek bir kaynaktan okunuyor; eski kayıtta değer bırakmış kurulumlar için o kayıt da
birleştiriliyor (hiçbir ayar kaybolmaz).
1.54.4 — 2026-08-17
- Aynı sitede iki yedek birden başlayabiliyordu (kritik). Eklentinin iki yedek yolu
vardı ve her biri AYRI bir çalışma kilidi kullanıyordu: panelin sürdürdüğü parçalı
yedek ile zamanlayıcının tetiklediği yedek birbirini hiç görmüyordu. Panel bir yedeği
parça parça sürdürürken gelen zamanlı tetik, aynı sitede İKİNCİ bir tam yedek
başlatabiliyordu — iki kat disk, iki kat CPU ve zaten sınırlı bir sunucuda ikisinin de
bitememesi. Artık iki yol tek kilidi paylaşıyor: hangisi önce başladıysa diğeri
ilerlemeyi bozmadan “meşgul” deyip çekiliyor.
1.54.3 — 2026-08-17
- Eklentinin KENDİ zamanlanmış yedeği büyük sitelerde sonsuz döngüye giriyordu (kritik).
Panelden tetiklenen yedek 1.49’da yeni arşiv motoruna geçirilmişti; eklentinin kendi
zamanlamasıyla çalışan yedek ise eski motorda (PHP ZipArchive) kalmıştı. Bu motor arşivi
her kapanışta BAŞTAN YAZAR — üstelik açık dosya sınırı yüzünden her 400 dosyada bir
kapanış yapılıyordu. Sonuç: arşiv büyüdükçe her tur, arşivin tamamını yanına açtığı
geçici bir dosyaya (.part) yeniden kopyalıyor; paylaşımlı hosting isteği 60 saniyede
kestiği için kopya hep yarım kalıyor ve bir sonraki tur sıfırdan başlıyordu. Geçici
klasörde büyüyüp büyüyüp sıfırlanan bir dosya, sürekli meşgul bir sunucu ve hiç bitmeyen
bir yedek. Artık her iki yol da aynı akış motorunu kullanıyor: girdiler arşivin sonuna
eklenir, hiçbir aşamada yeniden yazma ve geçici kopya olmaz.
1.54.2 — 2026-08-17
- Büyük sitelerde yedek asla bitmiyordu — arşiv artık kopyalanmıyor, TAŞINIYOR (kritik).
“Domain içi depolama” hedefinde son adım, tamamlanan arşivi geçici klasörden yedek
klasörüne koymaktı ve bunu KOPYALAYARAK yapıyordu. 7-9 GB’lık bir sitede bu kopya
dakikalar sürer; paylaşımlı hosting isteği 60 saniyede kestiği için kopya hep yarım
kalıyor ve bir sonraki tur AYNI kopyayı sıfırdan başlatıyordu. Sonuç: yedek klasöründe
büyüyüp büyüyüp sıfırlanan bir dosya, dolan disk ve hiç tamamlanmayan bir yedek.
Kaynak ve hedef zaten aynı disktedir; artık dosya taşınıyor — işlem anında bitiyor,
ek disk alanı istemiyor ve yarıda kalamıyor. Ek bir yedek hedefiniz (mirror) varsa
arşive hâlâ ihtiyaç duyulduğu için eski davranış sürüyor. - Arşivin SHA-256 özeti her turda yeniden hesaplanıyordu (kritik). Yükleme aşamasına
birden çok kez girilir (izin iste yükle kayıt onayı) ve her girişte 7-9 GB’lık
arşivin tamamı baştan sona okunup özetleniyordu. Tek geçiş bile 60 saniyelik istek
penceresine sığmadığı için yedek, arşiv çoktan hazırken %95’te takılı kalıyordu.
Arşiv o noktadan sonra değişmediği için özet artık bir kez hesaplanıyor. - Yarım kalan yedeklerin GB’lık artıkları geride kalabiliyordu. Yarıda kesilen bir
yedeğin oturum bilgisi kaybolursa (nesne önbelleği temizlenir, veritabanı budanır)
eklentinin elinde silinecek dosyanın yolu kalmıyordu; sahada iki terk edilmiş arşiv
(9,0 GB + 7,6 GB) aynı anda görüldü. Geçici dosya yolları artık oturumdan bağımsız
olarak da tutuluyor ve bir sonraki yedek başlarken önceki koşunun artıkları siliniyor.
1.54.1 — 2026-08-17
- Arşiv yazıcısında kısa yazma artık yakalanıyor (yedek bütünlüğü). Disk ya da hosting
kotası dolduğunda işletim sistemi bir yazmayı YARIM tamamlayabilir. Yazıcı yalnızca “yazma
tamamen başarısız oldu mu” diye bakıyordu; yarım yazma başarı sayılıyor ve arşivde izlenen
konum gerçek dosya boyutundan kayıyordu. Bu kayma, o noktadan sonraki tüm dosya kayıtlarını
yanlış yere işaret ettirir — arşiv “geçerli” görünür ama açılamaz. Artık yarım yazmalar
tamamlanıyor, gerçekten yazılamıyorsa paketleme durduruluyor. Aynı boşluk 4 GB üstü
arşivlerin son kaydında ve dosya küçüldüğünde yazılan dolguda da vardı. - Şifreli yedekte “yer yok” hatası artık doğru söyleniyor. Şifreleme geçici olarak
arşivin ~2 katı boş alan ister; alan yetmediğinde mesaj “openssl yok ya da doğrulama
başarısız” diyordu ve sorun yanlış yerde aranıyordu. Artık gereken/mevcut alan yazılıyor
ve şifreleme daha başlamadan kontrol ediliyor.
1.54.0 — 2026-08-17
- Yedek bütünlüğü — arşiv artık yüklenmeden ÖNCE doğrulanıyor (kritik). Eklenti, ürettiği
arşivi bugüne kadar hiç sınamıyordu: yazma sırasında bir hata olsa bile (disk dolu, hosting
kotası, geçici I/O hatası) paketleme sonuna kadar devam ediyor, dosya “geçerli bir zip” gibi
görünüyor ve bulut alanınıza öyle yükleniyordu. Bozukluk ancak GERİ YÜKLEME günü ortaya
çıkıyordu. Artık: (1) yazma hatası olduğu anda paketleme durdurulur ve yarım arşiv silinir —
yanlış bir “başarılı” kaydı oluşmaz; (2) tamamlanan her arşiv, yüklemeden ve şifrelemeden
önce yapısal olarak doğrulanır; doğrulamayı geçemeyen arşiv gönderilmez. - Artımlı yedeklerde “değişmemiş dosyayı atla” kuralı düzeltildi. Kaynak sınırı olan
hosting’lerde devreye giren parçalı yedekleme yolunda bu kural hesaplanıyor ama
UYGULANMIYORDU: yedek “artımlı” olarak işaretlense de her turda sitenin TAMAMI yeniden
paketlenip yükleniyordu. Bu, gereksiz süre, bant genişliği ve bulut alanı tüketiyordu. - Yedeklenemeyen dosya artık sessiz kalmıyor. Bir dosya izin/okuma hatası yüzünden arşive
eklenemediğinde eskiden hiçbir iz kalmıyor, üstelik o dosya “yedeklendi” listesine yazıldığı
için SONRAKİ artımlı yedeklerde de atlanıyordu — yani bir daha hiçbir yedeğe girmiyordu.
Artık yalnızca gerçekten arşive giren dosyalar listeye yazılır ve eklenemeyen dosya sayısı
ilerleme ekranında uyarı olarak gösterilir. - Veritabanı olmadan “tam yedek” üretilmiyor. Doğrudan yedekleme yolunda veritabanı dökümü
arşive eklenemese bile yedek başarılı sayılıyordu; içinde veritabanı olmayan bu arşiv
saklama sayacına girip gerçekten tam olan eski bir yedeğin silinmesine yol açabiliyordu.
Artık bu durumda yedek açıkça başarısız olur. - E-posta yedeğinde de aynı koruma. Bir e-postanın arşive yazılması başarısız olduğunda
ileti artık “yedeklendi” sayılmıyor. - PHP sürüm kapısı eklendi: eklenti, gerektirdiği PHP sürümünün altındaki sunucularda
dosyalarını yüklemeden önce durur ve yönetici paneline açıklayıcı bir uyarı basar.
Geri yükleme düzeltmeleri (aynı sürümde):
- Geri yüklemede bileşen seçimi artık UYGULANIYOR (kritik). Panelde “Veritabanı” kutusunu
kapatıp yalnızca dosyaları geri yüklediğinizde eklenti bu seçimi YOK SAYIYOR ve yedekteki
veritabanı dökümünü canlı veritabanınıza uyguluyordu — açıkça hariç tuttuğunuz, geri dönüşü
olmayan bir üzerine yazma. Dosya, veritabanı ve e-posta seçimlerinin üçü de artık dikkate
alınıyor. - “Bu dosyaya dokunma” listesi artık SİLME adımında da geçerli. Hariç tutma yalnızca yazma
sırasında uygulanıyordu; artımlı geri yüklemenin “silinenler” listesinde yer alan korumalı
bir yol (tipik olarakwp-config.phpveyawp-content/uploadsaltındaki dosyalar) yine de
siteden siliniyordu — yani koruma tam tersine dönüyordu. - Hiçbir dosya yazılamadıysa silme adımı artık çalışmıyor. Arşiv açıldı ama izin/disk
sorunu yüzünden tek bir dosya bile yazılamadıysa, geri yükleme siteyi onarmak yerine yalnızca
silme uyguluyordu — kurtarma anında ek veri kaybı. Artık bu durumda silme atlanır ve sebebi
raporlanır. - Yarım veritabanı dökümü artık uygulanmadan reddediliyor. Sıkıştırılmış (.sql.gz) dökümde
“tamamlandı” işareti yalnızca tüm ifadeler ÇALIŞTIRILDIKTAN sonra kontrol ediliyordu: yarım
bir döküm canlı veritabanına zaten uygulanmış oluyor, ardından “kısmi geri yükleme iptal
edildi” deniyordu — geri alma diye bir şey yoktu. Artık döküm önce taranıyor; işaret yoksa
veritabanına tek bir ifade bile uygulanmıyor. - Yarım yazılan dosya artık sitede bırakılmıyor. Geri yükleme sırasında disk dolarsa kesik
bir dosya yazılıp “başarılı” sayılıyordu. Artık kesik dosya siliniyor, sayılıyor ve sonuç
“kısmi” olarak işaretleniyor. - Geri yükleme artık eklentinin kendi dosyalarının üzerine yazmıyor. Arşivdeki eski eklenti
sürümü, işlem sürerken çalışan eklentinin üzerine yazılabiliyordu. - Kullanılmayan üç geri yükleme uç noktası kaldırıldı (
/restore-zip,/restore-db,
/restore-wpconfig). Bunlar yukarıdaki korumaların hiçbirini uygulamıyordu ve zaten
çağrılmıyorlardı; ayrıca sitenizin kök dizinindeki dosyaları (index.php,wp-config.php,
.htaccess …) sessizce atlayan bir hata içeriyorlardı.
1.53.3 — 2026-08-16
- Geri yüklemede “bu dosyayı koru” seçimi artık UYGULANIYOR (önemli). Panelde bir dosyayı
ya da klasörü geri yükleme dışında bıraktığınızda, eklenti bu seçimi YOK SAYIYOR ve dosyanın
üzerine yazıyordu. Tipik olarakwp-config.php,.htaccessvewp-content/uploadsbundan
etkileniyordu; hiçbir uyarı da gösterilmiyordu. Artık hariç tutulan yollar atlanıyor ve
atlanan dosya sayısı sonuç raporunda görünüyor. - Yanlış klasöre açılan arşiv sorunu giderildi. Özel modül biçiminde üretilmiş bir arşiv
eklenti üzerinden geri yüklendiğinde site dosyaları gerçek yerlerine değildosya/alt
klasörüne açılıyor, veritabanı dökümü de sıradan bir dosya gibi site köküne yazılıyordu —
yani geri yükleme “başarılı” görünse de site onarılmıyor, üstelik dökümün web üzerinden
indirilebilir kalması riski doğuyordu. Her iki önek de artık doğru ele alınıyor.
1.53.2 — 2026-08-15
- Yedek bütünlüğü (önemli). Bir dosya arşive eklenirken okuma hatası oluşursa, o dosya
eskiden sessizce SIFIR baytlarla doldurularak yedeğe giriyordu. Arşiv “başarılı” görünüyor,
boyut ve tarih doğru yazıldığı için sonraki artımlı yedekler de o dosyayı atlıyordu; bozukluk
bir sonraki tam yedeğe kadar zincirde kalıyordu. Artık okuma hatası ile “dosya kopyalanırken
küçüldü” durumu birbirinden ayrılıyor: gerçek okuma hatasında dosya arşive DOĞRU İÇERİKMİŞ
gibi yazılmıyor, bir sonraki turda yeniden deneniyor. (Canlı bir sitede log dosyasının
yedekleme sırasında döndürülmesi gibi olağan durumlar eskisi gibi sorunsuz çalışır.) - Arşiv üretiminde tutarlılık doğrulaması ve ofset takibi sıkılaştırıldı; kesilen bir yazma
işlemi artık arşivin geri kalanını kaydırmıyor.
1.53.1 — 2026-08-13
- Güvenlik/kararlılık: Şifreli arşiv çözülürken bozuk bir dosyadaki hatalı uzunluk
alanı belleği sınırsız doldurabiliyordu; artık makul bir üst sınır uygulanıyor
(PHP Yedekleme Modülü’ndeki aynı düzeltmenin eklenti karşılığı).
1.53.0 — 2026-08-13
- Düzeltme: Şifreli yedeklerde parola parmak izi panele bildirilmiyordu. Bu yüzden geri
yüklemede yanlış parola ön-kontrolü hiç çalışmıyor, arşiv indirilip çözülmeye
çalışıldığında hata veriyordu; ayrıca şifreli yedekler panelde “şifresiz” görünüyordu. - Düzeltme: Yedeğin başlama anı ve süresi panele bildirilmiyordu — yedek geçmişinde
“ne kadar sürdü” alanı boş kalıyordu. - Her iki bilgi artık doğrudan yedek, parçalı yedek ve çoklu depolama hedefi (fan-out)
yollarının hepsinde gönderiliyor (PHP Yedekleme Modülü ile aynı sözleşme).
1.52.0 — 2026-08-12
- FIX (data loss): Files you excluded from backups could be deleted from your live site during a restore. In an incremental backup the plugin listed “files that exist in the previous backup but are gone from disk” so a restore could remove them — but it was actually measuring “files that did not enter this archive”. Exclusion rules and temporarily unreadable files landed in that same list. So if you added a folder to the exclusion list after a full backup (to make backups smaller), the next incremental marked every file in it as deleted, and restoring that chain removed the folder from your site. Those files were not in any backup either, because they were excluded. The check now looks at the disk directly, which is what the code always claimed to do.
- FIX: Read-only backup verification works again on WordPress. The
/verifyREST route was removed in 1.51.x on the assumption that nothing called it; the panel calls it in two places (manual dry-run and the weekly verification drill). With the route gone WordPress answered 404, so verification silently checked nothing — it looked green because zero checks ran, not because zero problems were found. - FIX: An unrecognised restore mode is now rejected instead of silently falling back to “restore everything”. The most destructive option should never be the default for an instruction the plugin does not understand.
- FIX: Size measurement no longer walks into folders it is going to skip anyway. Scans stop at the folder boundary for local backup archives, caches,
node_modules, version control and other backup plugins’ folders. On sites holding several GB of old archives the 10-second measurement budget was spent listing files that were then discarded, so the reported site size came back far too small — and the panel had no way to tell that the number was incomplete. - FIX: The folder browser used for choosing exclusions no longer counts already-skipped subfolders in its totals, so the sizes you base your decision on reflect what actually goes into the backup.
1.51.4 — 2026-08-12
- FIX: Exclusion rules written as a regular expression now actually work. The settings screen has always documented three rule types (path, wildcard, regex) and even showed
/^backup_\d+\.sql$/ias an example, but the matcher had no regex branch at all: such a line was treated as a literal folder name, so it never matched anything — and never reported an error either. If you relied on a regex rule, files you believed were excluded were still being backed up. - FIX: A rule that cannot be compiled is no longer swallowed in silence. Invalid patterns are reported back to the panel and excluded from the “N excluded paths” badge, so the number on screen matches what the backup actually does. Previously the badge counted raw lines, which meant it could say “1 excluded path” while zero paths were excluded.
1.51.3 — 2026-08-11
- SECURITY: Removed seven REST endpoints that were still registered but no longer used by anything (
/db,/files,/manifest,/file,/diag,/zip-batch,/verify). They belonged to an older “pull” transfer model that was replaced by direct backup, yet each one still accepted the shared secret and could stream your full database dump or read any file under the site root. Dead code is not harmless when it is also an open door, so the doors are gone. Backup, restore and download are unaffected — they never used these routes. - FIX: Site size measurement now works for sites connected with this plugin. The
/sizeendpoint existed and worked, but the panel only ever asked the standalone PHP module for it, so the “current size / monthly upload” box stayed permanently empty for WordPress sites. The two halves are now connected.
1.51.2 — 2026-08-10
- FIX: Your exclusion list was ignored when the site size was measured and when the incremental baseline was built. The backup itself honoured the list, so excluding a large folder did shrink the backup — but the panel kept reporting the old size, and the incremental baseline still listed files that would never be backed up. Measuring and producing now use the exact same matching code.
1.51.1 — 2026-08-08
- UX: After sending a support request you now get a confirmation screen instead of the empty form again. Seeing the form a second time made it look as if nothing had been sent, so the natural reaction was to send it once more. The screen states the request number, the address the answer will go to and what happens next. The form is also processed before the page is drawn, so refreshing no longer re-sends the request.
- FIX: A support request could be dropped without a trace. The spam trap on the Support form was a hidden field named
website, and browsers and password managers autofill exactly that name — a filled trap made the server discard the request while the screen still said “we received it”. The field no longer carries a name autofill recognises, and the server now logs every rejection so a false positive can be spotted instead of vanishing. - FIX: If sending failed, the form was redrawn with “send technical details” ticked again even when you had unticked it — a second attempt would have sent the details you chose to withhold. The checkbox now keeps your choice.
- FIX: The confirmation after a successful request was always shown in Turkish regardless of the site language; it is translated now. Error text still comes from the server, because that is where the diagnosis is.
- FIX: Collecting technical details could raise a PHP warning on hosts with an unusual uploads directory configuration.
- TWEAK: The review prompt is now a small tab in the bottom corner instead of a bar pinned to the middle of the screen edge, where it sat at eye level and stayed there while you scrolled.
- FIX: The technical-details list you are asked to approve before sending was printed in Turkish on English, German, Russian and Arabic sites — you were being asked to confirm a list you could not read. Labels and states are shown in your own language now. What is actually transmitted stays in one fixed language on purpose, so support reads every request with the same vocabulary.
1.51.0 — 2026-08-08
- NEW: A Support screen under Settings. Until now a user who hit a problem had nowhere to write from inside WordPress — and because local backup, restore and the malware scanner work with no account at all, most of those users have no Yedekalma login either, so “open a ticket in the panel” was not an option for them. The new screen needs no account: your site address is filled in automatically, you type the problem, and the reply comes to the e-mail address you give.
- NEW: Optional one-click technical details with the request — plugin/WordPress/PHP/MySQL versions, PHP limits, whether ZipArchive and
exec()are available, free disk space, whether the backup folder is writable and when the last local backup ran. Support answers usually start by asking exactly these. The complete list is shown on screen before sending and the checkbox can be unticked; no site content, database content or passwords are ever included. - NEW: If the request cannot be sent (hosts that block outgoing connections), the screen says so and gives the support e-mail address instead of failing silently.
- UX: The “please rate us on WordPress.org” prompt no longer sits across the top of every Yedekalma page. Two lines of text and three buttons were eating the top of the first screen on every visit until it was dismissed. It is now a slim tab on the edge of the screen; the message itself opens in a dialog only if you click it. Closing the dialog changes nothing — snoozing or dismissing still happens only when you press those buttons.
1.50.12 — 2026-08-07
- FIXED: Your excluded paths were still being ignored by the two code paths that actually build the backup. 1.50.5 added the check, but in both places it was handed a variable that was never assigned — PHP treats that as “no patterns”, so every rule silently evaluated to “keep this file”. A site that excluded several folders was still packing 70,140 files. The panel-driven chunked backup and the full-ZIP endpoint now read your pattern list before they walk the site.
1.50.11 — 2026-08-07
- UX: The right column is narrower again (420px) and every pixel it gives up goes to the folder browser. The two buttons under the pattern box now sit one above the other at full column width, and
white-space: nowrapmakes it impossible for “Exclude the suggested unnecessary files and folders” to break onto a second line — if the measurement is ever wrong the button will visibly overflow instead of quietly wrapping.
1.50.10 — 2026-08-07
- UX: The two columns are no longer equal width. The right column is fixed at 440px — just enough for the “Exclude the suggested unnecessary files and folders” button to stay on one line — and every extra pixel goes to the folder browser on the left, where folder name, size, file count and button all share a row and a narrow column truncates the name you are trying to read.
1.50.9 — 2026-08-07
- UX: Dropped the “Excluded paths” row label from the exclusion screen. Once each column had its own heading, that label was a third heading lined up with nothing — and it was eating 200px that the folder browser now uses instead. The browser is wider, and two columns now fit …
