SharePoint does not include a built-in broken link checker. Microsoft's documentation for SharePoint Online and SharePoint Server 2013 describes no native report that lists broken links across a site, so finding them means using a script, a community solution such as the PnP Power Platform sample, or a third-party crawler that can sign in to SharePoint.
That gap surprises a lot of intranet owners, because broken links are one of the most common complaints on any SharePoint site that has been reorganized. This guide covers what actually works for SharePoint Online and for older on-premises SharePoint 2013 farms, why ordinary web-based link checkers can't see inside SharePoint, and how to stop links breaking in the first place.
Key takeaways
- Microsoft does not document a built-in broken link checker for SharePoint Online or SharePoint Server 2013, so you need a script, a community solution or a third-party tool.
- The PnP community publishes a proof-of-concept Power Platform solution that checks SharePoint pages for 404 links, but it needs a Power Automate premium license and is unsupported.
- Any checker must be able to sign in, because pages and files behind a SharePoint login return a sign-in prompt to anonymous tools, including public web checkers.
- Prevention matters most: avoid renaming files and folders, use Document IDs within a site collection, and plan redirects before restructuring.
Why SharePoint links break
A typical SharePoint link to a file contains the full path: the site, the document library, any folders and the file name. If any part of that path changes, a link that uses the old path can stop working. The usual causes are:
- Renaming a file or folder. The name in the URL changes.
- Moving files or folders. The folder part of the path changes. Moving content to a different site or site collection changes even more.
- Restructuring sites. Renaming a site, splitting a site or migrating to a new tenant changes the start of every URL.
- Deleting old pages or documents that other pages still link to.
- Migrations, for example from SharePoint 2013 to SharePoint Online, where the hostname and path structure change completely.
Some links survive moves better than others. Document ID links look up the item by its ID within a site collection rather than by its folder path, while a URL copied from the browser's address bar usually points at a specific location. Sharing links work differently again. Test the kinds of link your organization uses before a large reorganization, rather than assuming.
What Microsoft offers natively
There is no "find broken links" report in SharePoint Online or SharePoint Server 2013. The tools Microsoft provides help you avoid broken links or reduce their impact, rather than find them:
| Feature | What it does | Limits |
|---|---|---|
| Document ID service | Assigns each document an ID that, in Microsoft's words, "will follow the item throughout its entire life cycle" | Works per site collection; you must enable it for each one, and a file moved to a site collection without the service loses its ID |
| Move to | Moves files and, according to Microsoft, copies the document's history to the new destination | Microsoft's support page does not promise that links pointing to the old location keep working |
| Redirect pages (SharePoint Server publishing) | A page layout that sends visitors from an old page to its new address | Only for publishing pages, and each one is created by hand |
| IIS logs (on-premises only) | Record requests that returned 404, and who made them | Need log analysis tools; not available in SharePoint Online |
A Microsoft blog post from 2008, now archived on Microsoft Learn, recommended combining these with process: avoid renaming documents (use the Title column instead), keep folder structures simple, add a redirect page whenever a publishing page moves, and use a broken link crawler and 404 reports to find what slips through. That advice still holds.
Option 1: The PnP Power Platform sample (SharePoint Online)
The PnP community, which publishes samples for Microsoft 365 developers, has a SharePoint broken links checker built with Power Automate and Power Apps. According to its documentation:
- It is "a proof of concept Power Platform solution for checking broken links in SharePoint pages", and the maintainers say they do not support samples.
- It runs when a page is created or edited, and a link is treated as broken when it returns HTTP 404.
- Links must have a title to be picked up and processed.
- Broken links are saved to a "Broken Links" list, and the page author gets a Teams adaptive card listing them with a link to edit the page.
- It needs a Dataverse environment and a Power Automate premium license, because the HTTP connector is premium.
- Each additional site needs its own copy of the check flow.
It is a good starting point if you have Power Platform skills and licenses, but it covers site pages, not every document, list or web part on a site.
Option 2: A PowerShell script
Many administrators write their own checker with PnP PowerShell. The general approach is:
- Connect to the site with an account that can read the content.
- Read items from the libraries and lists you care about, such as Site Pages and any list with hyperlink columns, using cmdlets like
Get-PnPListItem. - Extract URLs from page content and hyperlink fields.
- Request each URL and record the HTTP status code.
- Export the results with the source page, the target URL and the status, so owners can fix links at the source.
The hard part is authentication. A request for an internal SharePoint URL made without credentials typically gets a sign-in redirect or an access-denied response rather than a clear 404, so a naive script will report many working links as broken or broken ones as fine. Check SharePoint targets through authenticated requests or the SharePoint APIs, and treat external URLs separately. Also pause between requests so you don't throttle your own tenant.
There are community-built scripts and tools for this, including a broken link auditor in the PnP SharePoint skills catalog, which describes itself as read-only and produces an HTML link-health report saved to the site. Treat any community tool as unsupported code: read it, test it on a small site and run it with the least access it needs.
Option 3: A crawler that can sign in
For SharePoint Server 2013 and other on-premises farms, a desktop crawler running inside your network can work through sites like any website, provided it supports Windows authentication. Microsoft's own free IIS Search Engine Optimization Toolkit, released for IIS 7 and 7.5, could crawl sites with Windows or Basic authentication and report broken links, though it is an old tool and you should confirm it still runs in your environment. The 2008 Microsoft post mentioned Xenu Link Sleuth and LinkScan as examples of broken link crawlers.
Crawl during quiet hours, limit the crawl to the sites you own, and exclude system pages such as list views and settings pages, which can multiply into thousands of URLs.
For SharePoint Online, commercial governance and migration tools from third-party vendors offer link scanning across sites and documents. Compare what they scan (pages only, or documents and list items too), whether they can fix links in bulk, and what permissions they ask for.
Option 4: Fix links people actually hit
On-premises, IIS logs on each web front-end server record every 404 along with the URL and, for authenticated sites, the user. Sorting those by frequency shows the broken links that are costing people time right now. The 2008 Microsoft post points out that this works for links in places a crawler can never see, such as bookmarks and links inside emails or documents stored elsewhere.
SharePoint 2013: a special note
SharePoint Server 2013 reached the end of extended support on April 11, 2023, according to Microsoft's lifecycle page, so it no longer receives security updates. If you are cleaning up broken links on a 2013 farm, it is often part of a migration. Do the link inventory before you migrate: a list of every page and its outbound links makes it much easier to rewrite or redirect URLs afterward.
What about public web broken link checkers?
Free online checkers, including our broken link checker, work by requesting pages from the public internet without signing in. That has two consequences for SharePoint:
- They cannot crawl pages behind a SharePoint login. Your intranet and any site that needs a Microsoft 365 account will look like a sign-in page to them.
- Links from a public site into SharePoint can't be judged. If your public website links to a SharePoint document, a public checker will usually see a sign-in redirect or a 401 or 403 response. Our checker lists 401, 403 and 429 responses separately as links that refused the check, and a link that redirects to a sign-in page that loads may look like it works. Either way, it can't tell whether the document behind the login still exists.
Our tool is useful when your public website runs on SharePoint Server with anonymous access, or when you want to check the public pages that link into SharePoint. To check a single public URL with every redirect hop, use the HTTP status code checker. For anything that requires a login, use one of the authenticated options above.
How to prevent broken links in SharePoint
- Don't rename files to change how they display. Edit the Title column instead.
- Keep folder structures shallow and use metadata and views to organize content.
- Turn on the Document ID service in each site collection where documents are linked from elsewhere, and share Document ID links for important documents.
- Link to pages, not deep file paths, where you can. A page can be updated in one place when a file moves.
- Plan restructures. Inventory links before you move anything, tell site owners in advance and add redirects for publishing pages.
- Check regularly. Schedule a monthly scan of your busiest sites, and fix links at the source rather than relying on redirects. Our guide to automating broken link checks shows how to schedule checks with open-source tools.
For the general principles of fixing broken links and redirect chains, see how to find and fix broken links and redirect chains.
Frequently asked questions
Does SharePoint have a built-in broken link checker?
No. Neither SharePoint Online nor SharePoint Server 2013 includes a native report that finds broken links across a site. Microsoft provides features that help prevent them, such as Document IDs, but finding them requires a script, a community solution or a third-party tool.
How do I check broken links in SharePoint 2013?
Use a crawler that runs inside your network and supports Windows authentication, write a PowerShell script that reads pages and tests links with authenticated requests, or analyze IIS logs for 404 responses. Since SharePoint 2013 is out of support, combine the cleanup with your migration plan.
Can an online broken link checker scan my SharePoint site?
Only pages that load without signing in. Public online checkers, including ours, cannot log in to SharePoint, so they see a sign-in page instead of your content. For an intranet, use a tool that runs with a SharePoint account.
Do links break when I move a file in SharePoint?
Links that contain the old folder path can stop working when a file moves or is renamed, especially if it moves to another site or site collection. Document ID links find the item by its ID within a site collection instead. Test every link type you use, including sharing links, before a big reorganization.
Is the PnP broken links checker an official Microsoft product?
No. It is a community sample published in the PnP Power Platform samples repository. Its documentation calls it a proof of concept, says samples are not supported and notes it needs a Power Automate premium license.
Related reading
- How to Find and Fix Broken Links and Redirect Chains: Find broken internal links, soft 404s and redirect chains, then fix them with copy-paste Apache and Nginx rules that send users and Googlebot in one hop.
- Automate Broken Link Checks: Scheduled Crawls and GitHub Actions: How to run broken link checks automatically with lychee or linkinator on a GitHub Actions schedule, check external links politely and fix them in bulk.
- HTTP Status Codes and SEO: How Google Treats Each One: How Google and Bing handle 200, 301, 302, 304, 404, 410, 429 and 5xx responses, what each one does to crawling and indexing, and how to check your own pages.
Sources
- PnP Power Platform samples: SharePoint broken links checker
- PnP SharePoint skills: Broken Link Auditor
- PnP PowerShell: Get-PnPListItem
- Microsoft Support: Enable and configure unique Document IDs
- Microsoft Support: Move or copy files in SharePoint
- Microsoft Learn (archived blog, 2008): Preventing and managing broken links in SharePoint
- Microsoft Learn (archived TechNet Magazine): Utility Spotlight, IIS SEO Toolkit
- Microsoft Lifecycle: SharePoint Server 2013
More guides for your industry
Free checklist (PDF)
Free it support & msps website checklist
31 practical checks for it support & msps: website speed and mobile, Google Business Profile and reviews, email security, booking and enquiry handling, and AI search visibility. Each one says why it matters, and many link to a free tool that checks it.
Written by the MakeItFlow team
We build the website audit these guides are based on. Every fact is checked against the primary sources listed above and this guide was last reviewed on 12 November 2026 . How we research and check
Check your own site in 30 seconds
Run a free audit covering speed, SEO, DNS, email authentication and security headers — and get a prioritised fix list.