Skip to content

How wildcard ignore patterns work

Three lists in the crawl settings match addresses: Exclusion rules (pages Scanfully does not check), Links to ignore and Media to ignore (targets Scanfully never reports). Instead of adding every address one by one, you can add a part of an address, or a pattern with the * wildcard, that matches a whole group.

Next to each entry, the settings show how it matches: Contains or Wildcard.

  • Exclusion rules match the address of a page on your site. A matching page is not checked, so the links and media on it are not reported.
  • Links to ignore match the address a broken link points at.
  • Media to ignore match the address of a broken media file.

The Extra pages list does not take patterns: enter the full address of each page.

  • Without a * (shown as Contains), an entry matches every address that contains it anywhere. A full address therefore also matches longer addresses that start with it.
  • With a * (shown as Wildcard), the whole address must match the pattern. Each * matches zero or more of any character, and the parts between them must appear in that order. Without a * at the start, the address must start with the first part; without a * at the end, it must end with the last part.

Matching is case-sensitive: /Blog/ does not match /blog/.

Pattern Matches Doesn’t match
https://example.com/page https://example.com/page, https://example.com/page/sub https://example.com/other
example.com https://example.com/page, https://cdn.example.com/img.png https://other.com/page
/wp-content/ https://mysite.com/wp-content/uploads/img.jpg https://mysite.com/about

Because a full address also matches the addresses that start with it, https://example.com/page covers the pages below it too.

Put a wildcard at the end of a path to match everything below it.

Pattern Matches Doesn’t match
https://example.com/blog/* https://example.com/blog/post-1, https://example.com/blog/2024/march https://example.com/about
https://example.com/search* https://example.com/search?q=test&page=2 https://example.com/about

Put a wildcard in front of the domain to match every subdomain.

Pattern Matches Doesn’t match
*.example-cdn.com/* https://cdn.example-cdn.com/image.jpg, https://assets.example-cdn.com/style.css https://example.com/page
*.example.com/* https://cdn.example.com/img.png, https://sub.example.com/page https://example.com/page

Note that *.example.com/* does not match example.com itself, because there is no dot before example.com in https://example.com/page. To match the domain and its subdomains, use example.com without a wildcard.

Put a wildcard at the start when the domain does not matter, but the path does.

Pattern Matches Doesn’t match
*/wp-content/* https://site-a.com/wp-content/uploads/img.jpg, https://site-b.com/wp-content/themes/style.css https://site-a.com/about
*/tag/* https://example.com/tag/news/ https://example.com/about

A wildcard in the middle matches whatever is between the parts before and after it.

Pattern Matches Doesn’t match
https://example.com/*/image.png https://example.com/a/b/c/image.png https://example.com/a/b/style.css

You can use more than one * in a pattern.

Pattern Matches Doesn’t match
*.example.com/*/img/* https://cdn.example.com/assets/img/logo.png https://cdn.example.com/assets/css/style.css

A single * matches every address. In Exclusion rules that leaves nothing to check, so use it with care.

Patterns help when many reports follow the same structure: a CDN or embed provider that blocks crawlers, a folder of old downloads, tracking addresses, tag or search pages you don’t want checked. They keep the report focused on what you want to fix.

Scanfully already leaves out some addresses by itself, such as links to Facebook, Instagram and LinkedIn. See How Scanfully detects broken links.