You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Bumped to 1.4.3-RC1 and updated all docs and readmes
* Stop tracking .claude/settings.json and add it to .gitignore
Also tweak the built-in exclusion list wording (currently includes LinkedIn).
* Fix Stable tag typo in readme.txt (1.4.3.-RC1 -> 1.4.3-RC1)
@@ -102,6 +102,14 @@ Specify links to exclude from being checked. This is useful for links known to b
102
102
*`https://example.com/*` - Excludes all links starting with `https://example.com/`
103
103
*`https://x.com*` - Excludes all links containing `x/twitter` in the domain name
104
104
105
+
#### Built-in Exclusion List
106
+
107
+
Some domains are known to block automated link checkers, which would cause their links to be wrongly reported as broken. The plugin ships with a small built-in ("global") exclusion list covering these known offenders (currently includes LinkedIn), applied automatically on top of your own [Link Exclusions](#link-exclusions) list.
108
+
109
+
Links matched by the built-in list are never checked, fixed, or archived, and this cannot be overridden from an individual link's report. The list is maintained by the plugin and is not editable from the admin UI; if one of these domains is important to you, exclude it another way or reach out so it can be reviewed.
110
+
111
+
See [Handling False Positives](#handling-false-positives) for guidance on when to use a rule versus excluding a single link.
You can choose what outcome you want to happen when a link is found to be broken. The options are:
129
-
***Redirect broken links to snapshots on the Wayback Machine** - This will replace the broken link with the archived version, if one exists. If no archived version exists, the link will not be changed. No notice will be given to the user that the link has been replaced.
130
-
***Check broken links but do not redirect them** - Links are still checked and their status recorded internally (so the link report stays up to date), but the link shown to visitors is never changed. Useful for monitoring content without altering the frontend.
137
+
***Redirect broken links to snapshots on the Wayback Machine** - Replaces the broken link with the archived version, if one exists. If no archived version exists, the link is left unchanged. No notice is given to the visitor that the link was swapped.
138
+
***Check broken links but do not redirect them** - Links are still checked and their status recorded in the [Link Table](#link-fixer) (so your reports stay up to date), but the link shown to visitors is never changed. Useful for monitoring link health without altering the frontend.
131
139
***Do not auto check links** - Links are not automatically checked from the frontend and are never changed.
132
140
141
+
> A link can be wrongly reported as broken when the destination blocks automated checkers. See [Handling False Positives](#handling-false-positives) for how to deal with these.
142
+
133
143
#### Link Icon
134
144
135
145

136
146
137
-
When the Fixer Option is set to **Replace Link**, you can optionally display a small icon next to fixed links on the frontend. This lets visitors know the link points to an archived version.
147
+
When the Fixer Option is set to **Redirect broken links to snapshots on the Wayback Machine**, you can optionally display a small icon next to fixed links on the frontend. This lets visitors know the link points to an archived version.
138
148
139
149
The available options are:
140
150
***None** - No icon is displayed (default).
@@ -247,7 +257,7 @@ This will trigger a check of the link to see if it is still active.
247
257
248
258
This will verify if a link allows checking. If it does not, the link will be excluded from being checked.
249
259
250
-
> Please note some urls do not allow bots to check the status of the link, this will often result in links being reported as a 403 even if still active and result in false positives.
260
+
> Please note some urls do not allow bots to check the status of the link, this will often result in links being reported as a 403 even if still active and result in false positives. See [Handling False Positives](#handling-false-positives).
251
261
252
262
## Link Report
253
263
@@ -277,6 +287,12 @@ This lists all checks, with the date/time plus the resulting http status code. I
277
287
278
288
This list all posts which the link appears.
279
289
290
+
### Link Exclusion
291
+
292
+
Each link report has a **Link Exclusion** panel with an **"Exclude this link"** toggle. Excluding a link stops it from being checked for broken status, fixed automatically, or having snapshots created — useful for a single URL that is a [false positive](#handling-false-positives).
293
+
294
+
If the link is already matched by your [Link Exclusions](#link-exclusions) settings list or the [built-in exclusion list](#built-in-exclusion-list), the toggle is shown but disabled: those list-based rules take precedence and must be changed in their respective place instead.
295
+
280
296
## Post/Page List Table
281
297
282
298
The number of links and how many are broken is shown on the post list table.
@@ -305,6 +321,17 @@ The link count is clickable, this will access a filtered link list for that post
305
321

306
322
> The link details page.
307
323
324
+
## Handling False Positives
325
+
326
+
Some websites block automated bots from reading their pages. When that happens the link checker can receive a `403 Forbidden` (or similar) response and mark the link as **broken even though it works fine in a browser** — a false positive.
327
+
328
+
There are two ways to deal with this, depending on how widespread the problem is:
329
+
330
+
1.**Exclude an individual link** — open the link's report and use the [Exclude this link](#link-exclusion) toggle. Best for a one-off URL.
331
+
2.**Exclude by rule** — if a whole domain blocks checkers (e.g. a social network), add a wildcard pattern to your [Link Exclusions](#link-exclusions) list, such as `*example.com*`. This covers every current and future link to that domain at once. Some common offenders are already handled by the [built-in exclusion list](#built-in-exclusion-list).
332
+
333
+
> **Tip:** raising the [Failure Threshold](#failure-threshold) helps avoid *temporary* outages being treated as broken, but it will not help with sites that consistently block bots — for those, exclude the link or add a rule.
334
+
308
335
## Developer Documentation
309
336
310
337
### Dependencies
@@ -717,7 +744,7 @@ add_filter( 'iawmlf_link_checker_timeout', function( int $timeout ): int {
717
744
718
745
#### `iawmlf_should_render_html_link_output`
719
746
720
-
This filter allows you to control whether the HTML link output should be rendered in the frontend for post loops. By default, this is only enabled when the fixer option is set to "Replace Link".
747
+
This filter allows you to control whether the HTML link output should be rendered in the frontend for post loops. By default, this is enabled when the fixer option is set to **Redirect broken links to snapshots on the Wayback Machine** or **Check broken links but do not redirect them** (both need the frontend checker to run), and disabled for **Do not auto check links**.
@@ -950,7 +977,7 @@ These filters allow advanced customization of URLs, timeouts, and client impleme
950
977
951
978
#### `iawmlf_link_icons`
952
979
953
-
This filter allows you to add custom icons to the link icon selector in settings. The Link Icon setting is only available when the Fixer Option is set to **Replace Link**. Each icon should be an array with `id`, `name`, and `css_rule` keys. The `css_rule` should be a complete CSS rule including selector and braces.
980
+
This filter allows you to add custom icons to the link icon selector in settings. The Link Icon setting is only available when the Fixer Option is set to **Redirect broken links to snapshots on the Wayback Machine**. Each icon should be an array with `id`, `name`, and `css_rule` keys. The `css_rule` should be a complete CSS rule including selector and braces.
Copy file name to clipboardExpand all lines: internet-archive-wayback-machine-link-fixer.php
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
* The wayback-link-fixer bootstrap file.
4
4
*
5
5
* @since 1.0.0
6
-
* @version 1.4.2
6
+
* @version 1.4.3-RC1
7
7
* @author Internet Archive
8
8
* @license GPL-3.0-or-later
9
9
*
@@ -12,7 +12,7 @@
12
12
* @wordpress-plugin
13
13
* Plugin Name: Internet Archive Wayback Machine Link Fixer
14
14
* Description: This plugin scans your content for links, replacing broken ones with archived versions from the Wayback Machine. It also features Auto Archiving, which automatically creates snapshots of your own pages and any other links on your site that aren’t yet archived, ensuring long-term accessibility.
@@ -46,6 +46,9 @@ Yes, you can enable the Auto Archiver and this will create new snapshots every t
46
46
= What happens to broken links? =
47
47
When we find a broken link, we update the src on the fly; this means the base content is not edited and remains as created.
48
48
49
+
= Why is a working link being reported as broken? =
50
+
Some websites block automated bots, so the checker can receive a "403 Forbidden" and flag the link as broken even though it works fine in a browser. If this happens you can exclude that single link from its report page, or add a URL rule (with a * wildcard) to the Link Exclusions setting to cover a whole domain.
51
+
49
52
= How long does this take? =
50
53
This all depends on how many links there are within your content. This is all handled in the background but can take many weeks if a site has thousands of links. It is best used as a tool you setup and leave running in the background.
51
54
@@ -116,6 +119,10 @@ The Internet Archive is a non-profit organization dedicated to preserving digita
116
119
117
120
== Changelog ==
118
121
122
+
= 1.4.3 =
123
+
* Adds a global set of excluded urls that will never be archived or checked due to the sites blocking the internet archive.
124
+
* Reintroduces a Scan but do nothing outcome for broken links.
125
+
119
126
= 1.4.2 =
120
127
* Fix: Manually excluded links sometimes revert to unexcluded and can still be run through the link checker process. Now fully respects manual exclusions.
0 commit comments