# Broken link checker and mixed content checker

> Once a day Lampwick crawls up to 250 pages of your site, checks every link, internal and external, lists mixed content and alerts on new findings.

The site crawl is a broken link checker that runs by itself. Once a day Lampwick follows the links of your site, up to 250 pages, checks every link it finds (external ones too), and lists `http://` resources on `https` pages: mixed content, which browsers block or warn about. When a crawl finds something new, your team gets one alert with the counts. You turn it on per [uptime monitor](/features/uptime-monitoring/).

## What you get

- **Broken links, grouped.** 5xx, 404, other 4xx and connection errors (DNS, TLS, timeouts, redirect loops), with a filter for **Internal** and **External**, and the pages each link is on.
- **Mixed content.** Every `http://` image, script, stylesheet, iframe, video, audio, embed and `url(...)` in an inline `style` on your `https` pages, listed once each with the pages it appears on.
- **Only new findings alert.** After the first crawl, an alert says "12 broken links (2 new) on 183 pages". The same findings alert at most once per 30 days.
- **Needs login, kept apart.** Links that answer 401 or 403 are listed separately and never alert.
- **Ignore** a link you know about, such as a partner site that blocks bots. Up to 1,000 per monitor.
- **Crawl now** after you fix something, once per 10 minutes, and **Recent crawls** with the latest 30 runs.
- It respects `robots.txt` (the `lampwick` group, otherwise `*`) and `nofollow`, sends one request at a time, 250 ms apart, and stores URLs and status codes, never page content.

## How to check for broken links without a tool

For a one-off check, open your browser's developer tools on a page and look at the **Console** for mixed content warnings and the **Network** tab for red 404s. That covers one page. A site with a blog, docs or a shop changes every week, and external sites you link to move or vanish without telling you. A daily crawl catches those.

## Set it up

1. Add an uptime monitor for your site, or open an existing one under **Uptime**.
2. On the **Site crawl: broken links & mixed content** card, click **Turn on site crawl**. The first crawl starts within a minute or two.
3. If the monitor checks a health endpoint such as `/up`, set **Start crawl at** to your homepage.
4. If a firewall or bot protection filters crawlers, allow the User-Agent `lampwick-crawler`.

Rules, limits and error messages: the [site crawl docs](/docs/crawler/).

## What it doesn't do

| Limit | Value |
|---|---|
| Pages per crawl | 250, up to 10 clicks deep from the start page |
| Size | 2 MB per page, 50 MB per crawl; only HTML is read |
| External links | 500 per crawl, ports 80 and 443 only |
| Time | 10 minutes per crawl |
| Monitors with a crawl | 10 per team, 20 over all teams one owner owns |

- It doesn't run JavaScript. A single-page app that draws its links with JavaScript shows few links to follow.
- It reads `<a href>` links. It doesn't check SEO meta tags, page speed, spelling or images for size.
- It crawls once a day, not after every deploy; use **Crawl now** for that.

## What it costs

The site crawl is included from Pro: €29 per team per month, also Team (€79) and Business (€199). It isn't on Free. See [pricing](/#pricing).

## Related

- The certificate behind your `https` pages: [SSL certificate expiry monitoring](/features/ssl-monitoring/).
- Links that broke after an edit, and four other ways an app goes offline: [how to know when your app is down](/guides/know-when-your-app-is-down/#an-edit-broke-links).
- Built with Lovable, Replit or v0: [monitoring for AI-built apps](/for/ai-built-apps/).

[Start free](https://app.lampwick.dev/signup), add your site, and turn on the crawl on Pro.
