Integrity
Productivity
Only for Mac
Free
• Scans your site checking for broken links
• Checks images and linked files as well as all internal and external links
• See problems at-a-glance highlighted in colour. Double-click for more detailed information
• In short, improve your website's quality and search engine ranking
If you've maintained a website for any length of time, you'll know that links very quickly become broken, because we move, delete or change our own pages, and other people that we link to do the same. This is called 'link rot'
A broken link on your site is a dead end for your visitors and will also be bad news for your search engine optimisation (SEO).
Unless you enjoy clicking every single link on your site followed by the back button, then you'll need to use a website crawler like Integrity!
Feed it your home page address (url) and Integrity will follow all of your internal links to find your pages, checking the server response code for all internal and external links found.
On features - Integrity is free and is intended to be no more than a simple but effective link checker. Note that Scrutiny is a more advanced app with features such as managing multiple sites, crawling pages requiring authentication and webmaster tools which go beyond link checking.
more Nice app to verify your sites, fast, simple with all the settings required.Really good app like her other one.Thanks!
Nice app to verify your sites, fast, simple with all the settings required.Really good app like her other one.Thanks!
Adds ability to add a rule which can whitelist an additional domain. This is useful for testing links within pdf/Word documents (Integrity Pro feature) which are hosted externally, or for including a subsite which happens to be on another domain.
Improves handling of urls enclosed in smart quotes. Previously these were marked as 'unable to form url' because the smart quotes weren't being trimmed and therefore being treated as part of the url. Such urls are now more helpfully reported as 'Smart quotes detected' and marked bad, although the urls themselves may be OK
12.11.1 28/06/2025
Fixes bug that could happen under unlikely circumstances. If starting url redirects to another domain, and that page doesn't have a base href, then relative urls on it could be constructed using the original url rather than the redirect one (and therefore probably reported as broken). This wouldn't have caused a problem if any other internal page redirected to an external one, because it would have then been treated as an external url and only tested, not crawled. It's recommended anyway that if you know that your starting url redirects to a different domain, that you use the target url, because otherwise it leaves ambiguity as to what is internal and what is external.
12.10.2 17/01/2025
- Allows customisation of coloured row backgrounds in html exports. Uses the styles in Preferences>Reports>Styles. For existing users who have already made changes there, it'll be necessary to add the styles for .badbg and .warningbg
- Looks for role=presentation in image tags, if present then the warning for no alt text is suppressed.
- Fixes issue with encoded characters in urls as discovered on the page
- It wasn't always ignoring "data:image..." but is now
- removes jsessionid from a url as this can cause an infinite loop
12.10.0 20/11/2024
- Previously failed to parse a page if the page contained zero hyperlinks. Now will parse a page with zero hyperlinks if it has at least one image on it
- improves the parsing of an image srcset where unencoded commas are present within urls
- adds a warning if an srcset contains width descriptor(s) as well as pixel density descriptor(s).
12.9.0 02/09/2024
Fixes a possible crash when using 'highlight' feature from within Link Inspector.
Updates the list of user-agent strings so that they're current versions.
12.8.7 22/02/2024
Important fix for all users. Using 'Limit crawl based on robots.txt' could cause the scan to stall if the user is blocking AI training bots. This is because Integrity was misinterpreting "User-agent: Google-Extended" (Bard) as one of the web indexing Google bots.
12.8.5 19/01/2024
- Fixes a problem with the link inspector not displaying all instances of the link url if it appears multiple times on a particular page
- Now generates a warning if a link that appears to be internal (from its domain) but is marked rel=external. This may be deliberate and is legal but there are serious SEO implications if it happens unintentionally.
- Despite collecting the data and possibly generating a warning, Integrity does not *observe* the rel=external at this point. ie if it is internal according to its domain, integrity does not mark it as an external link or treat it as external, ie not following it. This does raise some questions and the matter is left open at this point.
- Now observes rel=nofollow in a link, if at the point the engine comes to follow that link, *all instances discovered so far* are marked 'rel=nofollow'. In other words if an instance has been discovered at that point which doesn't have the nofollow keyword in its rel, then the link will be followed.
12.8.3 22/12/2023
Fixes a possible issue with character encoding
12.8.2 14/12/2023
- More clearly marks image tags with empty source. Previously 'flag missing link url' would also pick up img tags with missing src, if image check was switched on, but would confusingly mark them with the status "missing link url". Now the images are given the status "missing image src" so that they can be distinguished from missing link urls in the By Status and other views.
- Fixes a bug that caused 'urls' containing a bunch of javascript to appear as bad links under very specific and unlikely circumstances.
12.8.0 24/10/2023
Adds Expand All and Collapse All to View menu with keyboard shortcuts, and buttons for those functions to the toolbar palette. These will expand / collapse all items in the current view, if the view is expandable, eg by page, by status, Spelling by word.
12.7.12 04/10/2023
- Two settings were not being saved. Rules / Consider http and https versions of the same url to be the same and Rules / Consider http pages external
- When scanning locally (file://) and with the 'test anchors' setting switched on, could go into a loop.
12.7.10 12/09/2023
Fixes the issues with sorting some of the columns of the 'All links' table
12.7.9 07/08/2023
Small fix for a problem that will affect very few users, but will be a very important fix for those users. If the starting url has a path, and that path contains encoded characters (eg %20) and relative links on the page, then the crawl may not have proceeded past the first page.
12.7.8 26/07/2023
- Adds 'redirect count' as an optional column to the All links table. Sorting this table will find links with the longest redirect chains. This appeared with the SEO results in version 10 and earlier. However, redirect count isn't a property of pages but link urls (different link urls may arrive at the same page via different numbers of redirects.)
12.7.6 10/07/2023
Fixes a problem that could cause repetition or even a loop with certain urls that contain percent-encoded characters
Fixes an issue causing some missing anchors to not be reported
When testing anchors, if the anchor fragment of a url isn't found on the target page, link is now coloured red in the views and treated as a bad link, rather than being coloured orange as before.
12.7.5 11/06/2023
- Some fixes to the 'check anchors' functionality. Note that the status will be the http status regardless of whether the anchor is good or bad, ie '200 no error' even if the anchor doesn't appear on the target page. In the case of a problem with an anchor, a warning is created on that url which can be highlighted in orange depending on your Preferences, or shown in the warnings table in the case of Integrity Pro and Scrutiny.
- Fixes the option Preferences>Views>Display labels>'Display labels for redirected URLs'.
- An efficiency improvement which may help with a slowing-down problem experienced by some users and will generally make the app more efficient for medium to large sites.
12.7.0 16/02/2023
Fixes crash which happened under unlikely circumstances
12.6.4 03/02/2023
- Fixes a bug that could have caused spurious statuses for certain urls (caused if url contained a percent symbol which isn't part of a percent-encoding, which is a bad practice anyway.)
- Fixes some urls with unlikely character combinations in the querystring or path to misleadingly display in tables as the domain only
- Some social and calendar 'add this' links are now listed but not checked. It's potentially not a good thing to request these urls to check them. The ones in question are major domains (eg Google, Outlook) and tend to be generated by plugins, and so more likely to give a false positive when testing than to actually be broken.
12.6.1 27/01/2023
Better handling of html5 picture tag
12.6.0 17/12/2022
- Improved parsing of srcsets
- Fixes a problem that led to the final status of certain urls (a redirect followed by an error) showing the 3xx redirect code rather than the final error code.
- Fixes bug with the redirect table in the Link Inspector not showing the starting url on the first row but the first redirect url
- Fixes a problem that could (under fairly unlikely circumstances) lead to a page incorrectly being excluded from the sitemap for being marked 'robots noindex'.
12.5.2 11/11/2022
Adds 'Delete configuration' to context menu
Fixes sorting by column in 'by status' view, plus small efficiency related to building by status view at end of scan.
Fixes Preferences-Views-'treat blacklisted urls as bad links'
Fixes appearance of headings 'outline' view in page inspector
Other small fixes
12.4.7 04/10/2022
Fixes an issue that could have caused image urls after an audio or video tag to be corrupted and therefore test bad since 12.4.2.
Fixes relating to the 'on finish alert' preference
Updates to the manual
12.4.5 21/09/2022
- Improvement to 'robots noindex' search, false positives may have been seen for that.
- fixes a problem that prevented the contents (src) of iFrames from being followed if the starting page consists of iframes and no other links.
- Adds support for links to audio and video files within audio src="..." / video src="..." It has correctly been reporting and testing audio source src="..." but both markups are valid and now correctly parsed, tested and reported
- Fixes problem causing css files to not be parsed for url('') images. (These image urls should be tested and reported if 'linked files' and 'images' are switched on in Options.)
- Fixes problem which caused starting urls with accented characters in the domain to stall.
- Urls with special characters may have appeared encoded rather than decoded in one or two places including the Link Inspector 'appears on' table and redirect table.
- Improvements to soft 404 functionality
12.4.3 14/09/2022
Improves sorting in Link Inspector 'Appears on' table.
Adds 'Copy URL' to the context menu for that table
When Pause is pressed during scan, current connections are now stopped and returned to the check queue. Previously they were allowed to finish, which didn't cause a problem, but as the stats crept after pressing the button, it didn't look particularly 'clean'.
12.3.16 28/07/2022
By popular request, adds the 'live updating' to the 'By link URL' table (and only if that tab is selected).
It is best if the Settings or another tab is selected during the scan, as the live updating is an overhead and makes the san slower and less efficient. To help with this problem, the 'live updating' happens periodically rather than with every url. But this still isn't advised for very large sites.
12.3.15 11/07/2022
Adds ability to add a rule which can whitelist an additional domain. This is useful for testing links within pdf/Word documents (Integrity Pro feature) which are hosted externally, or for including a subsite which happens to be on another domain.
Improves handling of urls enclosed in smart quotes. Previously these were marked as 'unable to form url' because the smart quotes weren't being trimmed and therefore being treated as part of the url. Such urls are now more helpfully reported as 'Smart quotes detected' and marked bad, although the urls themselves may be OK
more Version 12.11.1 28/06/2025
Data Not Collected The developer does not collect any data from this app.