خلاصه سریع (TL;DR): خطای «the link you followed has expired» در وردپرس معمولاً هنگام آپلود قالب، افزونه یا فایل حجیم ظاهر میشود و ریشهی آن محدودیتهای PHP سرور مانند upload_max_filesize، post_max_size و max_execution_time است. برای رفع این خطا کافی است این مقادیر را از طریق فایل php.ini، .htaccess، فایل functions.php یا تنظیمات پنل هاست افزایش دهید. در ادامه شش روش کاربردی و آزموده را گامبهگام آموزش میدهیم تا این مشکل را بهطور کامل برطرف کنید.
خطای the link you followed has expired در وردپرس چیست؟
این خطا یکی از پیامهای امنیتی وردپرس است که ظاهر شدن آن معمولاً ربطی به منقضیشدن واقعی یک لینک ندارد. وردپرس برای محافظت از سایت، مدتزمان و حجم مشخصی برای هر درخواست تعریف میکند. وقتی فرایند آپلود یا پردازش یک فایل بیش از این محدودیتها طول بکشد یا از حجم مجاز عبور کند، سرور درخواست را قطع میکند و وردپرس بهجای نمایش خطای فنی گنگ، این پیام را نشان میدهد.
به بیان دقیقتر، وردپرس از یک مکانیزم امنیتی به نام nonce استفاده میکند که اعتبار زمانی دارد. وقتی آپلود فایل بیش از حد طول بکشد یا حجم داده از سقف تعیینشده در سرور فراتر رود، پردازش ناتمام میماند و nonce منقضی تلقی میشود؛ نتیجه همان پیام «لینکی که دنبال کردید منقضی شده است» خواهد بود.
چرا خطای the link you followed has expired رخ میدهد؟
شناخت علت دقیق، کلید انتخاب راهحل درست است. مهمترین دلایل بروز این خطا عبارتاند از:
- کوچکبودن مقدار upload_max_filesize: حجم فایل قالب یا افزونهای که آپلود میکنید از سقف مجاز سرور بیشتر است.
- کوچکبودن post_max_size: کل دادهی ارسالی در یک درخواست از حد مجاز عبور کرده است.
- کمبودن max_execution_time: پردازش فایل بیش از زمان مجاز طول کشیده و سرور آن را قطع کرده است.
- پایینبودن memory_limit: حافظهی اختصاصیافته به PHP برای پردازش فایل کافی نیست.
- انقضای nonce امنیتی: به دلیل کندی پردازش، توکن امنیتی وردپرس پیش از پایان کار منقضی شده است.
در بیشتر موارد، این خطا هنگام آپلود قالبهای سنگین (بهویژه قالبهایی که با فایل دمو همراهاند) یا افزونههای حجیم رخ میدهد. خبر خوب این است که تقریباً همیشه با افزایش چند مقدار ساده در تنظیمات PHP برطرف میشود.
مقادیر پیشنهادی برای رفع خطا
پیش از شروع، بهتر است بدانید هر پارامتر چه نقشی دارد و چه مقداری برای آن مناسب است. جدول زیر مقادیر پیشنهادی برای رفع این خطا را نشان میدهد:
| پارامتر | نقش | مقدار پیشنهادی |
|---|---|---|
| upload_max_filesize | حداکثر حجم یک فایل قابل آپلود | ۱۲۸M |
| post_max_size | حداکثر حجم کل داده در یک درخواست | ۱۲۸M |
| max_execution_time | حداکثر زمان اجرای اسکریپت (ثانیه) | ۳۰۰ |
| max_input_time | حداکثر زمان دریافت داده ورودی (ثانیه) | ۳۰۰ |
| memory_limit | حداکثر حافظه در دسترس PHP | ۲۵۶M |
توجه کنید که مقدار post_max_size باید همیشه بزرگتر یا مساوی upload_max_filesize باشد، وگرنه محدودیت کوچکتر اعمال میشود و خطا همچنان باقی میماند.
روش اول: ویرایش فایل php.ini
مطمئنترین راه، افزایش مقادیر از طریق فایل php.ini است. اگر به این فایل دسترسی دارید، مراحل زیر را دنبال کنید:
- از طریق پنل هاست یا FTP وارد پوشهی اصلی سایت شوید.
- فایل
php.iniرا باز کنید؛ اگر وجود نداشت، یک فایل جدید با همین نام بسازید. - خطوط زیر را اضافه یا ویرایش کنید:
upload_max_filesize = 128M
post_max_size = 128M
max_execution_time = 300
max_input_time = 300
memory_limit = 256M
پس از ذخیرهی فایل، صفحهی مدیریت وردپرس را رفرش کنید و دوباره آپلود را امتحان کنید. در بیشتر هاستهای اشتراکی مبتنی بر cPanel، تغییرات php.ini بلافاصله اعمال میشود.
روش دوم: ویرایش فایل .htaccess
اگر سرور شما از Apache استفاده میکند، میتوانید همین مقادیر را در فایل .htaccess که در پوشهی اصلی وردپرس قرار دارد اعمال کنید. کافی است خطوط زیر را به انتهای فایل اضافه کنید:
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value max_execution_time 300
php_value max_input_time 300
php_value memory_limit 256M
پیش از ویرایش، حتماً یک نسخهی پشتیبان از فایل .htaccess تهیه کنید؛ چون یک خطای کوچک در این فایل میتواند کل سایت را با خطای ۵۰۰ از دسترس خارج کند. اگر پس از ذخیره، سایت خطا داد، فایل پشتیبان را جایگزین کنید. توجه داشته باشید که در سرورهای LiteSpeed نیز این روش معمولاً کار میکند، اما روش php.ini پایدارتر است.
روش سوم: ویرایش فایل functions.php قالب
اگر به هیچکدام از فایلهای سرور دسترسی ندارید، میتوانید مقادیر را از طریق فایل functions.php قالب فعال خود تعریف کنید. خطوط زیر را به انتهای این فایل اضافه کنید:
@ini_set('upload_max_filesize', '128M');
@ini_set('post_max_size', '128M');
@ini_set('max_execution_time', '300');
این روش یک محدودیت مهم دارد: تغییرات فقط تا زمانی که قالب فعلی فعال است باقی میماند. اگر قالب را عوض کنید یا آن را بهروزرسانی کنید، این خطوط پاک میشوند. به همین دلیل توصیه میکنیم در صورت امکان از قالب فرزند (child theme) استفاده کنید تا تغییرات شما با بهروزرسانی قالب از بین نرود.
روش چهارم: تنظیم از طریق پنل هاست (cPanel و DirectAdmin)
بسیاری از هاستهای حرفهای امکان تغییر مقادیر PHP را از طریق رابط گرافیکی پنل فراهم میکنند و این آسانترین روش برای کاربران غیرفنی است. در پنلهای محبوب:
- در cPanel: به بخش «MultiPHP INI Editor» یا «Select PHP Version» بروید، دامنهی خود را انتخاب کنید و مقادیر موردنظر را تغییر دهید.
- در DirectAdmin: به بخش «PHP Settings» یا «Custom PHP.ini» مراجعه کنید و پارامترها را ویرایش کنید.
این روش نیازی به کدنویسی ندارد و تغییرات آن پایدار است. اگر روی هاست خود این گزینهها را نمیبینید، ممکن است پلن هاست شما این امکان را نداشته باشد؛ در این حالت بهترین راه، تماس با پشتیبانی هاست است. در هاستهای اشتراکی برتینا با پنل cPanel و DirectAdmin، این تنظیمات بهسادگی در دسترس شماست.
روش پنجم و ششم: افزایش حافظه وردپرس و تماس با پشتیبانی
گاهی علاوه بر محدودیت آپلود، حافظهی PHP نیز باید افزایش یابد. برای این کار خط زیر را به فایل wp-config.php (بالای خط «همینجا متوقف کنید») اضافه کنید:
define('WP_MEMORY_LIMIT', '256M');
اگر هیچکدام از روشهای بالا مشکل را حل نکرد، ششمین و مطمئنترین راه، تماس با پشتیبانی هاست است. تیم پشتیبانی میتواند محدودیتها را در سطح سرور برای شما تنظیم کند؛ کاری که در برخی هاستهای اشتراکی فقط از سمت مدیر سرور امکانپذیر است. یکی از مزایای کار با یک هاست حرفهای، دسترسی به هاست وردپرس بهینهشده با پشتیبانی ۲۴/۷ فارسی است که همین تنظیمات را از پیش برای اجرای روان وردپرس آماده کرده است.
چگونه از تکرار این خطا جلوگیری کنیم؟
پیشگیری همیشه بهتر از درمان است. برای اینکه دیگر با این خطا روبهرو نشوید، این نکات را رعایت کنید:
- پیش از خرید هاست، از مقادیر پیشفرض PHP آن مطمئن شوید؛ هاستهای حرفهای معمولاً مقادیر مناسبی تنظیم کردهاند.
- قالبها و افزونهها را از منابع معتبر و در نسخهی بهینه دانلود کنید تا حجم غیرضروری نداشته باشند.
- در صورت امکان، فایلهای حجیم را بهجای آپلود از پیشخوان، از طریق FTP در پوشهی مربوطه قرار دهید.
- از یک هاست با منابع کافی و امکان تنظیم PHP استفاده کنید تا در آینده با این محدودیتها درگیر نشوید.
اگر سایت شما رشد کرده و بهطور مداوم با محدودیت منابع روبهرو میشوید، شاید زمان مهاجرت به یک سرور مجازی با منابع اختصاصی و کنترل کامل روی تنظیمات PHP فرا رسیده باشد. با انتقال رایگان برتینا، جابهجایی سایت شما بدون دردسر انجام میشود.
تفاوت رفع خطا در هاست اشتراکی و سرور اختصاصی چیست؟
روش رفع این خطا بسته به نوع میزبانی شما کمی متفاوت است. در هاست اشتراکی، شما به تنظیمات کل سرور دسترسی ندارید و فقط میتوانید مقادیر PHP مربوط به حساب خود را از طریق php.ini، .htaccess یا پنل تغییر دهید. برخی هاستهای اشتراکی حتی سقفی برای این مقادیر تعیین میکنند که نمیتوانید از آن فراتر بروید؛ در این حالت تنها راه، تماس با پشتیبانی یا ارتقای پلن است.
اما اگر روی یک سرور مجازی یا اختصاصی کار میکنید، کنترل کامل روی تنظیمات PHP دارید و میتوانید مقادیر را در سطح سرور و بهصورت سراسری تغییر دهید. این آزادی عمل بهویژه برای سایتهایی که بهطور مداوم فایلهای حجیم آپلود میکنند یا چند سایت را روی یک سرور میزبانی میکنند، بسیار ارزشمند است. اگر مدام با محدودیتهای هاست اشتراکی درگیر هستید، این نشانهای است که شاید زمان مهاجرت به یک محیط با منابع بیشتر فرا رسیده باشد.
نکتهی مهم این است که در سرورهای مجازی و اختصاصی، پس از تغییر php.ini معمولاً باید سرویس PHP یا وبسرور را ریاستارت کنید تا تغییرات اعمال شود؛ در حالی که در بیشتر هاستهای اشتراکی این کار بهصورت خودکار انجام میشود.
چگونه مطمئن شویم تغییرات اعمال شده است؟
پس از اعمال هر یک از روشها، باید بررسی کنید که مقادیر جدید واقعاً فعال شدهاند. سادهترین راه، مراجعه به بخش «سلامت سایت» (Site Health) در پیشخوان وردپرس است. در این بخش، وردپرس مقادیر فعلی مانند حداکثر حجم آپلود و محدودیت حافظه را نمایش میدهد. اگر مقادیر همچنان قدیمی هستند، یعنی تغییر شما اعمال نشده و باید روش دیگری را امتحان کنید.
راه دیگر، ساختن یک فایل سادهی PHP با تابع phpinfo است که تمام تنظیمات فعال PHP را نشان میدهد؛ البته پس از بررسی، حتماً این فایل را حذف کنید چون اطلاعات حساس سرور را افشا میکند. اگر پس از امتحان همهی روشها مقادیر تغییر نکردند، به احتمال زیاد یک تنظیم در سطح بالاتر سرور، مقادیر شما را نادیده میگیرد و باید از پشتیبانی هاست کمک بگیرید. صبر و بررسی مرحلهبهمرحله، کلید رفع قطعی این خطاست و از آزمونوخطای بیهدف جلوگیری میکند.
توجه داشته باشید که ترتیب اولویت روشها اهمیت دارد. اگر روی هاست اشتراکی هستید، بهتر است ابتدا از پنل هاست (cPanel یا DirectAdmin) شروع کنید، چون این روش پایدارترین و کمخطرترین گزینه است. اگر پنل شما این امکان را نداشت، سراغ php.ini و سپس .htaccess بروید. روش functions.php را بهعنوان آخرین راه در نظر بگیرید، چون به قالب فعال وابسته است و با تعویض قالب از بین میرود. این ترتیب منطقی باعث میشود با کمترین ریسک و بیشترین احتمال موفقیت، خطا را برطرف کنید و از دستکاری غیرضروری فایلهای حساس سرور بپرهیزید.
سوالات متداول
آیا خطای the link you followed has expired به دادههای سایت آسیب میزند؟
خیر. این خطا صرفاً یک محدودیت در فرایند آپلود است و هیچ آسیبی به دادهها یا محتوای سایت شما وارد نمیکند. با افزایش مقادیر PHP، فرایند آپلود از همانجایی که متوقف شده بود، بهدرستی انجام میشود.
بعد از تغییر مقادیر PHP باید کاری انجام دهم؟
در بیشتر موارد کافی است صفحهی مدیریت وردپرس را رفرش کنید. در برخی هاستها ممکن است لازم باشد چند دقیقه صبر کنید یا از طریق پنل، PHP را ریاستارت کنید تا تغییرات اعمال شود. پس از اطمینان از اعمال مقادیر جدید، دوباره فایل موردنظر را آپلود کنید تا از رفع کامل خطا مطمئن شوید.
چرا با وجود افزایش upload_max_filesize باز هم خطا میگیرم؟
احتمالاً مقدار post_max_size شما کوچکتر از upload_max_filesize است. این دو مقدار باید هماهنگ باشند و post_max_size نباید کوچکتر از حجم فایل شما باشد. همچنین بررسی کنید که max_execution_time کافی باشد. اگر همهی این مقادیر درست تنظیم شدهاند اما خطا باقی است، ممکن است تغییرات شما اعمال نشده باشد؛ در این حالت از بخش سلامت سایت وردپرس مقادیر فعلی را بررسی کنید و در صورت لزوم روش دیگری را امتحان کنید یا با پشتیبانی هاست تماس بگیرید.
آیا این خطا فقط هنگام آپلود قالب رخ میدهد؟
خیر. اگرچه رایجترین حالت هنگام آپلود قالب و افزونه است، این خطا میتواند هنگام آپلود تصاویر حجیم، فایلهای رسانهای بزرگ یا حتی ذخیرهی تنظیمات سنگین نیز رخ دهد. علت در همهی موارد، محدودیتهای PHP سرور است.
جمعبندی
خطای «the link you followed has expired» با وجود ظاهر ترسناکش، یکی از سادهترین خطاهای وردپرس برای رفع است. ریشهی آن محدودیتهای پیشفرض PHP سرور است و با افزایش مقادیری مانند upload_max_filesize، post_max_size، max_execution_time و memory_limit از طریق php.ini، .htaccess، functions.php یا پنل هاست برطرف میشود. اگر میخواهید از ابتدا با چنین محدودیتهایی درگیر نشوید، انتخاب یک هاست وردپرس بهینهشده در برتینا با تنظیمات PHP مناسب، پشتیبانی ۲۴/۷ فارسی و انتقال رایگان، مطمئنترین راه برای اجرای بیدردسر سایت شماست.




