Anda mencoba mengunggah tema atau plugin, lalu WordPress menjawab dengan kalimat yang membingungkan: “The link you followed has expired.” Tidak ada tautan yang kedaluwarsa — Anda baru saja mengklik tombol upload. Pesan ini menyesatkan karena WordPress memakainya untuk dua kondisi yang berbeda, dan cara membedakannya menentukan solusinya.
Daftar Isi
Jawaban Singkat
Bila error muncul khusus saat mengunggah file, penyebab paling umum adalah batas PHP: seluruh badan permintaan melebihi post_max_size, sehingga PHP membuang badan permintaan itu sebelum WordPress sempat memprosesnya — dan WordPress, yang tidak menerima token keamanan di dalam permintaan yang dibuang itu, mengira tautannya kedaluwarsa. Solusinya: pastikan post_max_size lebih besar dari upload_max_filesize, dan keduanya lebih besar dari file yang diunggah.
Membedakan Dua Penyebab
| Pola | Kemungkinan penyebab | Uji cepat |
|---|---|---|
| Hanya saat upload file besar | post_max_size / upload_max_filesize terlalu kecil | Coba unggah file kecil; bila berhasil, bataslah masalahnya |
| Saat menyimpan/menonaktifkan, bukan upload | Nonce benar-benar kedaluwarsa, cache admin usang | Muat ulang halaman, login ulang, coba di jendela privat |
| File melebihi upload_max_filesize saja | Batas file individual | WordPress biasanya memberi pesan file melebihi batas, bukan pesan expired |
Persiapan
- Ketahui ukuran file tema/plugin yang gagal diunggah.
- Periksa batas saat ini di Media > Add New (batas upload per file) dan Tools > Site Health > Info > Server.
- Buat backup sebelum mengubah konfigurasi PHP.
Langkah 1: Periksa Batas yang Berlaku
Buka Tools > Site Health > Info > Server dan catat upload_max_filesize, post_max_size, dan max_execution_time. Aturan yang harus dipenuhi:
post_max_size > upload_max_filesize > ukuran file
memory_limit > post_max_size
Contoh yang sehat untuk file tema/plugin besar: upload_max_filesize 64M, post_max_size 128M, memory_limit 256M. Jangan menaikkan ke nilai raksasa tanpa alasan — batas yang terlalu besar memberi ruang bagi skrip lama untuk menghabiskan sumber daya.
Langkah 2: Naikkan Batas di Tempat yang Benar
Di VPS Nginx + PHP-FPM, edit php.ini yang dipakai FPM (bukan hanya CLI):
upload_max_filesize = 64M
post_max_size = 128M
max_execution_time = 300
Lalu muat ulang PHP-FPM. Di Apache, alternatifnya adalah menambahkan php_value di .htaccess (hanya bila server mengizinkannya). Menambahkan @ini_set di functions.php tema tidak memperbaiki dua batas ini, karena PHP sudah membaca nilainya sebelum tema dimuat — ini jebakan umum yang membuang waktu.
Verifikasi perubahan benar-benar berlaku lewat Site Health lagi. Bila nilai tidak berubah, kemungkinan ada php.ini master, .user.ini, atau panel hosting yang menimpa nilai Anda — tanyakan ke penyedia hosting file mana yang mengendalikan PHP di akun Anda.
Langkah 3: Bila Bukan Soal Ukuran
- Muat ulang halaman admin, login ulang, dan coba di jendela privat — ini menyelesaikan kasus nonce yang benar-benar kedaluwarsa (misalnya tab dibiarkan terbuka berjam-jam).
- Nonaktifkan sementara plugin cache/keamanan dan coba lagi; plugin yang menyajikan halaman admin dari cache bisa mengirim token lama.
- Bila tetap gagal, unggah lewat jalur lain: ekstrak ZIP dan unggah foldernya lewat FTP/SFTP ke wp-content/themes atau wp-content/plugins, lalu aktifkan dari dashboard.
Verifikasi Hasil
Perbaikan berhasil bila file yang sebelumnya gagal kini terunggah dan bisa diaktifkan, Site Health menunjukkan batas baru, dan upload file kecil tetap normal. Uji juga upload media biasa untuk memastikan Anda tidak merusak batas lain.
Troubleshooting Lanjutan
| Situasi | Langkah berikutnya |
|---|---|
| Nilai php.ini tidak berubah di Site Health | Cari php.ini yang benar-benar dimuat FPM; periksa .user.ini dan panel hosting |
| Upload besar berhasil, upload media gagal | Periksa batas Nginx client_max_body_size (artikel 413 di situs ini) |
| Error muncul tanpa upload apa pun | Fokus ke nonce/cache/login ulang, bukan ke batas upload |
| File sangat besar (ratusan MB) | Pakai FTP/SFTP saja; upload lewat browser bukan jalur yang tepat |
FAQ
Kenapa pesannya menyebut tautan kedaluwarsa padahal saya baru mengunggah?
Karena WordPress tidak bisa membedakan token yang benar-benar kedaluwarsa dengan token yang tidak pernah sampai (karena badan permintaan dibuang PHP). Keduanya berakhir di fungsi yang sama dengan satu kalimat yang sama.
Apakah menaikkan batas upload berbahaya?
Menaikkan secara moderat dan sesuai kebutuhan itu wajar. Menaikkan ke nilai ekstrem tanpa alasan memberi ruang bagi unggahan dan skrip berat yang tidak diinginkan.
Apakah plugin bisa memperbaiki ini?
Plugin tidak bisa mengubah post_max_size/upload_max_filesize yang sudah dibaca PHP sebelum WordPress dimuat. Perubahan harus di level konfigurasi PHP atau panel hosting.
Kesimpulan
Saat pesan expired muncul pada upload, jangan terjebak pada kata “kedaluwarsa”. Periksa ukuran file terhadap post_max_size dan upload_max_filesize, naikkan di php.ini yang benar, verifikasi lewat Site Health, dan pakai FTP bila file memang terlalu besar untuk browser. Untuk kasus non-upload, muat ulang dan login ulang biasanya cukup.
Referensi
- WPBeginner — The Link You Followed Has Expired: wpbeginner.com — Link Expired
- WPZoom — The Link You Followed Has Expired: wpzoom.com — Link Expired