Cara Mengatasi WordPress Error The Link You Followed Has Expired saat Upload Tema dan Plugin

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.

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

PolaKemungkinan penyebabUji cepat
Hanya saat upload file besarpost_max_size / upload_max_filesize terlalu kecilCoba unggah file kecil; bila berhasil, bataslah masalahnya
Saat menyimpan/menonaktifkan, bukan uploadNonce benar-benar kedaluwarsa, cache admin usangMuat ulang halaman, login ulang, coba di jendela privat
File melebihi upload_max_filesize sajaBatas file individualWordPress 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

SituasiLangkah berikutnya
Nilai php.ini tidak berubah di Site HealthCari php.ini yang benar-benar dimuat FPM; periksa .user.ini dan panel hosting
Upload besar berhasil, upload media gagalPeriksa batas Nginx client_max_body_size (artikel 413 di situs ini)
Error muncul tanpa upload apa punFokus 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

Cookie Consent