| 开发者 |
onsitetools
freemius |
|---|---|
| 更新时间 | 2026年9月4日 18:48 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
503 to bots. X answers 403. LinkedIn answers 999. A site behind a firewall throws a challenge page. None of those links are broken — they open perfectly well in your browser. Report them as broken and you hand the user a list of two hundred problems, of which one hundred and ninety are not problems, and they stop trusting the list.
So Onsite Link Verdict only ever calls a link broken when it has proof:
404 or 410. And even then we ask a second time, with a different method, before accusing the link: there are servers that answer 404 to one kind of request and 200 to another, and a wrong accusation here is the most expensive kind.403, 503, a rate limit, a challenge page, anything that is not 404 or 410 — it answered, and that is not proof the page died. Your list of real problems stays short, and short means believable.
It runs on your own server, and stays out of the way
There is no account to create, no cloud service and no credit card. Your posts, pages and comments are not uploaded anywhere — see "External services" below for everything that does leave your site, and why.
Checking links is real work for the same server that answers your readers. Onsite Link Verdict is built around that:
HEAD requests first, falling back to GET only when a verdict depends on it. At most 2 KB of any response body is ever read.404 — and instead of telling you the page no longer exists, Onsite Link Verdict tells you it exists and is not published, and which status it is inNo. Your posts, pages and comments stay where they are, and the results are stored in your own database. There is no cloud service behind the plugin holding your content. See "External services" below for everything that does go out, and why.
It reads your posts, pages and comments and stores the links it finds in a table in your own database. Your content is not uploaded, and there is no cloud service behind it. Two destinations are contacted, and both are set out in full under "External services" above: the servers that host the links being checked, and Freemius, which runs our licensing and checkout. The Freemius contact starts with an opt-in screen you can decline. What that means for your own processing records is for you to decide — this is a description of the plugin, not legal advice.
It is built not to. Work happens in small scheduled batches with a hard cap, not all at once.
No. It finds them and tells you exactly where each one is; you change the link in the post editor, where you can see it in context. Replacing a URL across the whole site in one step — with a preview of every change before it happens, and an undo — is what the paid add-on does.
Because the server answered us with something that is not 404 or 410. Some servers refuse automated requests — Amazon, X, LinkedIn and anything behind a bot firewall all do. The link is probably fine; open it in your browser to confirm.
They are kept separate on purpose. A refusal is not a death: the page is there, and a reader with a browser reaches it. Nor is it something you can fix from your own site, since what a distant server does with an automated request is not yours to configure.
Because it deliberately works in small bites in the background. How long depends on how many links you have and which speed you picked: the panel shows the estimate for your own site next to each setting, under Tools → Onsite Link Verdict. If it is slower than you want, change the setting to Fast — but read what it says there first. Checking faster means hammering the sites you link to harder, and more of them will start refusing the checks, which puts those links in "Couldn't verify" instead of giving you a real answer.
They leave the list as each post is checked again, not all at once. A rule takes effect the next time Onsite Link Verdict scans the post, page or comment a link sits in — so on a small site they disappear quickly, and on a site with hundreds of posts a full sweep takes several background runs. Nothing is stuck; the list is catching up. If you want a rule to take effect on one specific post right away, open that post and save it. That schedules a fresh scan of it. (Exclusion rules are part of Pro.)
Your site's cron is probably disabled. Onsite Link Verdict shows a warning at the top of its page when it detects this. Ask your host how to set up a real cron job.
the_content and need to know which post they are drawing, which they ask the global $post. Onsite Link Verdict was not setting it up, so on a page built with Elementor — where the post content itself is empty — the scan found nothing and reported a clean bill of health. A false all-clear is worse than a false positive: with a false positive you lose time, with this you lose the page and never know. Verified against a real Elementor install.HEAD request alone. Some servers answer 404 to HEAD and 200 to GET — zazzle.com does exactly this — and a 404 is the one verdict Onsite Link Verdict gives immediately, with no second chance. Every 404 and 410 is now confirmed with a GET before the link is accused. Healthy links still cost a single request.404, 410 and a total absence of response now count as proof. This fixes the case where a site that persistently answers 503 to bots — Amazon does exactly this — was reported as a broken link after three checks.CF-Mitigated, CF-Chl-Bypass, X-DataDome, Retry-After) and go straight to Unverifiable, whatever status code they carry.