| 开发者 | linktender |
|---|---|
| 更新时间 | 2026年10月23日 12:44 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
link="url:...") are read as text. No shortcode is run to do this.linktender folder to /wp-content/plugins/.DISABLE_WP_CRON), make sure a real cron job calls wp-cron.php every few minutes.Yes. It was built for sites where a link checker made the server slow or needed a cloud account. Checks run in short, time-boxed background batches with a lock, a few requests at a time on different domains, so visitors' page loads are not slowed down. On a 20,000-post test site a batch used about 1,300 database queries and at most 63 MB of memory. If you used the Broken Link Checker plugin before, LinkTender → Health & Tools can import its exclusions and settings.
No. Everything runs on your own server. There are no quotas and no limits on the number of links.
The site behind the link blocked our automated check. This can be a Cloudflare or other bot challenge, a login wall (401/403) or a rate limit (429). That says nothing about whether the page works for real visitors, so LinkTender does not call it broken. Open the link in your browser. If it works, click Ignore.
A link is reported as broken right away when the server answers 404 (Not Found) or 410 (Gone). This includes links to your own pages that no longer exist. The link is then re-confirmed over the next 24 hours. Timeouts, server errors (5xx), DNS failures and refused connections are retried 2, 10 and 24 hours after the first failure, and the link is only marked broken if it still fails after that. If your own server is offline or cannot connect to itself, nothing is marked broken; those links are checked again later.
Checks run in the background in short batches: by default up to 50 links or 20 seconds every 5 minutes, or every minute while there is a backlog. Four links are checked at a time, each on a different domain, with a pause between requests to the same domain. Visitors' page loads do not run checks. You can lower the batch size, check one link at a time, or pause checking at any time.
Expect roughly 1,000 to 2,500 links an hour, depending on how quickly the linked sites answer. A site with 50,000 unique links needs about a day for its first full check. Finding the links in the first place reads 250 posts per batch, so a 20,000-post site is fully indexed after about 80 batches (about 80 minutes when WP-Cron runs every minute). Links in posts you save are picked up straight away.
Only when you click Edit URL, Unlink or Use final URL. Post edits go through WordPress, so a revision is created and you can undo them.
Gutenberg and Elementor content is scanned and can be edited. For shortcode-based builders (Divi, WPBakery, Avada and similar), the URLs written in shortcode settings are found and can be edited too. LinkTender reads them as text and never runs the shortcodes, so scanning has no side effects. Other builders that store links in post content or plain custom fields are scanned as well.
Yes. Links in the text of approved comments are scanned and can be edited or unlinked. Pingbacks, trackbacks and comments that are pending, spam or in the trash are left out. Checking commenters' website links is an option under Settings (off by default). You can also turn comment scanning off there.
Yes. Activate it per site, or network-activate it. Network activation creates the tables on every site in the network, however many there are (in batches of 100; on very large networks any site not reached within the activation request sets itself up the first time its dashboard is opened). New sites get their tables when they are created, and deleting a site removes its tables. Each site has its own schedule, and checking starts on a site when one of its administrators clicks Start checking links.
In two tables, {prefix}linktender_links and {prefix}linktender_instances. Deleting the plugin from the Plugins screen removes them and all of the plugin's options.
Yes. Use linktender() to reach the services (links, scanner, checker, queue, editor). Hooks include linktender_loaded, linktender_link_checked, linktender_link_status_changed, linktender_check_result, linktender_request_args, linktender_retry_intervals, linktender_concurrency, linktender_extracted_urls, linktender_scan_extra_sources, linktender_edit_source, linktender_bulk_actions, linktender_list_columns, linktender_settings_fields and linktender_admin_menu.
linktender() helper moved into their own files; the main plugin file declares no functions.