Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →When WordPress shows “The Link You Followed Has Expired” during a plugin or theme installation, file upload, or content import, first compare the file and request with PHP’s size limits. Check upload_max_filesize and post_max_size together, then investigate transfer and execution time if the upload is slow. Treat memory as a separate branch only when an exhaustion message or log supports it. There is no single setting that fixes every occurrence.
Identify what failed before changing settings
Note the exact action that produced the message:
- Installing or updating a plugin or theme ZIP.
- Uploading a file through the Media Library or another form.
- Importing a WordPress WXR file or another content archive.
Record the file’s size and confirm that it is a complete, legitimate package. A truncated download, corrupted archive, or wrong file type can produce a separate failure that changing PHP limits will not repair.
Understand the four diagnostic branches
| Branch | What it limits | Evidence to look for | Who may control it |
|---|---|---|---|
| Size | Individual upload and the complete HTTP request | File exceeds upload_max_filesize or the request exceeds post_max_size |
PHP/server configuration; often the host |
| Transfer time | How long PHP accepts incoming data | Slow upload reaches a timeout despite fitting the size limits | PHP/server configuration |
| Execution time | How long a PHP script may run while processing the request | Import or installation starts, then processing times out | PHP/server configuration |
| Memory | RAM available to PHP and WordPress processes | Explicit memory-exhaustion text or matching server logs | PHP and host policy; WordPress requests may be capped |
The expired-link wording does not, by itself, identify which branch is responsible.
Check both PHP upload-size limits
upload_max_filesize: one file
This directive caps the size of an individual uploaded file. Compare it with the ZIP, archive, or other file that failed.
post_max_size: the whole request
This directive caps the total request sent to PHP, including the uploaded file and request overhead. WordPress Developer Resources states: “The value for post_max_size must be greater than or equal to the value for upload_max_filesize.” A file can therefore be below the individual-file limit and still be rejected because the complete request is too large.
Check the effective values for the PHP installation used by this WordPress site, not just a configuration file you edited. Hosting panels, a PHP information page supplied by the host, or support staff can reveal those values. Do not assume that changing a WordPress setting changes PHP upload directives.
Rank #2
When size is sufficient, check time limits separately
max_input_time: receiving the upload
max_input_time controls how long PHP is allowed to receive incoming request data. A large file on a slow connection can hit this limit even when both size limits are adequate.
max_execution_time: processing the request
max_execution_time controls script execution after processing begins. Theme or plugin installation, archive extraction, and a WXR import may need more processing time than a simple upload. Increasing execution time does not automatically increase the time allowed to transfer the file, and changing the transfer limit does not resolve a script that times out while processing.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Rank #3
WordPress notes that timeout values are often configured per server. Ask the host for the effective max_input_time and max_execution_time when the values are hidden or a local change has no effect.
Investigate memory only when evidence points there
Do not treat memory as the default explanation for this message. Follow this branch when the screen shows a memory-exhaustion error or the PHP/server log records one at the same time.
PHP memory limit
Check PHP’s memory_limit and whether the host permits it to be changed for this site.
WordPress memory constants
WordPress uses WP_MEMORY_LIMIT for normal requests and WP_MAX_MEMORY_LIMIT for administration tasks. These constants request available memory; host policy can prevent the requested value from taking effect. A higher WordPress constant cannot override a lower server-level restriction.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsBest Value
Change the relevant value through the method your host supports
- Check the current effective PHP values for the affected WordPress installation.
- Change only the directive that matches the evidence: size, input-transfer time, execution time, or memory.
- Use the hosting control panel or PHP configuration method documented for your PHP handler. If the host permits site-level configuration, it may provide a per-site editor; otherwise the change may require hosting support.
- Recheck the effective value after saving. A file edit that does not appear in the active PHP configuration has not changed the limit WordPress is using.
- Retry the original action with the same file and record whether the failure changed.
Do not apply a generic set of very large values. Limits should be high enough for the specific request while remaining consistent with the server’s resources and policy.
What to do when you cannot change the limits
If the control-panel option is missing, the configuration file is inaccessible, or the displayed value remains unchanged, contact hosting support. Give them the site, PHP version or handler if known, the action that failed, the file size, and the effective values you observed. Ask them to confirm the server-side values for upload_max_filesize, post_max_size, max_input_time, max_execution_time, and, when relevant, memory_limit.
Some hosting accounts do not allow customers to change these limits. In that case, support must adjust them or explain the account’s maximum. If the current host will not provide limits required by your legitimate upload or import, moving to a managed WordPress plan is a hosting decision, not a WordPress setting.
Verify the fix instead of assuming it
- Retry the same plugin, theme, upload, or WXR import that originally failed.
- Confirm that the action completes, not merely that the expired-link message disappears.
- Check the resulting installation, media item, or imported content in WordPress.
- If the error changes to a timeout, memory error, or archive error, follow that new evidence rather than reverting blindly to upload-size changes.
The correct diagnosis is the setting whose effective value and failure behavior match the affected request. Because server configurations differ, no universal numeric limit or guaranteed fix applies to every site showing this wording.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




