Getting started
- 1.Create a free account — email and password, no card.
- 2.Add your site's start URL (usually the homepage). The first audit starts immediately.
- 3.When it finishes, open the report: the site score, seven category scores and a list of issues sorted by severity.
- 4.Open any issue to see why it matters, how to fix it and every affected URL. Fix, then run a new audit to confirm.
Just want to look at a single URL? Use the free page checker — no account needed.
Adding a site
- Start URL
- Where the crawl begins. Use the canonical version of your homepage (https, with or without www — whichever you actually use). The crawl stays on that hostname.
- Page limit
- Maximum pages fetched per audit. Up to 50 on Free, 1,000 on Pro and 5,000 on Agency; you can set it lower.
- Include paths
- Optional. Only URLs whose path starts with one of these prefixes are crawled, e.g. /blog/. One per line or comma-separated.
- Exclude paths
- Optional. URLs whose path starts with one of these prefixes are skipped, e.g. /cart/ or /search.
- Respect robots.txt
- On by default: pages disallowed for SitelensBot are skipped. On a site you own you can turn this off to audit pages hidden from crawlers, such as a staging area.
- Schedule
- Off, monthly, weekly (Pro and Agency) or daily (Agency). See scheduled audits below.
How crawling works
Each audit starts by fetching /robots.txt and your XML sitemaps (from Sitemap: lines, or /sitemap.xml as a fallback). Then SitelensBot fetches the start URL and follows internal links breadth-first, adding sitemap URLs to the queue, until it reaches the page limit.
- Only HTML pages on the same site are analysed; images, PDFs, scripts and other files are skipped.
- Tracking parameters (
utm_*,gclid,fbclid…) and #fragments are stripped so URL variants collapse into one page. - Redirects are followed and recorded, so chains and temporary redirects show up as issues.
- A sample of outbound links is checked for broken external links.
- Click depth is measured from the start URL; pages only found in the sitemap are reported as orphans.
- Site-wide checks (HTTPS redirect, www/non-www, soft 404, HSTS, favicon…) run once per audit.
How scoring works
Every issue has a severity with a fixed weight:
error
30
warning
12
notice
3
Category score = 100 − Σ (severity weight × share of pages affected), floored at 0. An error on half your pages costs 15 points; a notice on every page costs 3. Even a single affected page counts as at least 8% of pages, so isolated problems still move the needle. Site-level issues (like a missing sitemap or no HTTPS redirect) count fully — as if 100% of pages were affected.
Overall score = weighted average of the category scores:
| Category | Checks | Weight |
|---|---|---|
| Crawlability | 21 | 24% |
| On-page | 15 | 24% |
| Links | 7 | 14% |
| Speed | 7 | 14% |
| Security | 5 | 10% |
| Mobile & UX | 2 | 7% |
| Social | 3 | 7% |
Scores of 85+ are shown in green, 60–84 in amber and below 60 in red. The single-page checker uses a simpler page score: 100 minus half the severity weight of each issue found on that page.
Checks reference — all 60
Generated from the same rule set the crawler uses. Site marks checks that run once per site rather than per page.
Crawlability
21 checks · weight 24%Can search engines reach, render and index your pages?
Page could not be loadederror
Why it matters
If our crawler can't load it, search engines likely can't either — the page won't be indexed.
How to fix
Check the server logs for timeouts or DNS errors and make sure the page responds within a few seconds.
Page returns a 4xx errorerror
Why it matters
Pages that return 404/410 are dropped from the index, and links pointing at them waste crawl budget and frustrate visitors.
How to fix
Restore the page, or 301-redirect it to the closest relevant page and update internal links.
Page returns a server error (5xx)error
Why it matters
Server errors tell search engines your site is unreliable; repeated 5xx responses can get pages de-indexed.
How to fix
Fix the underlying server or application error and monitor uptime.
Redirect chain (2+ hops)warning
Why it matters
Every extra hop slows users down and leaks link equity; Google may stop following long chains.
How to fix
Point the first URL straight at the final destination with a single 301.
Temporary (302/307) redirectnotice
Why it matters
Temporary redirects signal the move isn't permanent, so ranking signals may not be passed on.
How to fix
Use a 301 or 308 for permanent moves.
Page is set to noindexnotice
Why it matters
This page will be excluded from search results. That's fine for private or utility pages, but costly if it's by mistake.
How to fix
Remove the noindex meta tag or X-Robots-Tag header if the page should rank.
No canonical tagnotice
Why it matters
Without a canonical, URL variants (tracking parameters, trailing slashes) can be treated as duplicates.
How to fix
Add <link rel="canonical" href="…"> pointing to the preferred URL — usually the page itself.
Canonical points to another URLnotice
Why it matters
This page asks search engines to index a different URL instead, so this one won't rank.
How to fix
Make sure that's intentional; otherwise point the canonical at the page itself.
Canonical points to a broken or redirecting URLerror
Why it matters
A canonical to a 4xx/5xx or redirecting URL sends conflicting signals and can drop both pages.
How to fix
Point the canonical at a live, final (200) URL.
Missing lang attributenotice
Why it matters
The html lang attribute helps search engines and screen readers understand the page language.
How to fix
Add lang to the html element, e.g. <html lang="en">.
URL is very longnotice
Why it matters
Long URLs are harder to share and are often truncated in results.
How to fix
Keep URLs short and descriptive — under ~115 characters.
URL has uppercase letters, underscores or spacesnotice
Why it matters
Mixed-case URLs create duplicates on case-sensitive servers; hyphens are preferred over underscores as word separators.
How to fix
Use lowercase, hyphen-separated URLs and redirect old variants.
Duplicate page contentwarning
Why it matters
Pages with identical content compete with each other and dilute ranking signals.
How to fix
Merge the pages, or set a canonical on the copies pointing to the main version.
Page is more than 3 clicks from the homepagenotice
Why it matters
Deeply buried pages get crawled less often and receive less internal link equity.
How to fix
Link to important pages from the homepage, navigation or hub pages.
Sitemap lists a URL that doesn't return 200warning
Why it matters
Sitemaps should only contain live, indexable URLs; errors erode trust in the sitemap.
How to fix
Remove redirected, broken or noindexed URLs from your sitemap.
Orphan page (only in the sitemap)notice
Why it matters
Pages with no internal links pointing to them are hard to discover and get little ranking power.
How to fix
Link to the page from relevant pages or navigation — or remove it from the sitemap.
No robots.txt fileSitenotice
Why it matters
robots.txt tells crawlers what to skip and where your sitemap lives.
How to fix
Add /robots.txt with your crawl rules and a Sitemap: line.
robots.txt blocks the whole siteSiteerror
Why it matters
A blanket Disallow: / prevents search engines from crawling anything.
How to fix
Remove the global Disallow rule (common leftover from staging sites).
No XML sitemap foundSitewarning
Why it matters
Sitemaps help search engines discover pages, especially on new or large sites.
How to fix
Generate /sitemap.xml and reference it in robots.txt.
Both www and non-www versions loadSitewarning
Why it matters
Two hostnames serving the same content split ranking signals.
How to fix
Pick one hostname and 301-redirect the other to it.
Missing pages return 200 (soft 404)Sitewarning
Why it matters
When non-existent URLs return 200, search engines can index error pages and waste crawl budget.
How to fix
Make your 404 page return an actual 404 status code.
On-page
15 checks · weight 24%Titles, descriptions, headings and content quality.
Missing title tagerror
Why it matters
The title is the headline in search results and one of the strongest on-page ranking signals.
How to fix
Add a unique, descriptive <title> of 30–60 characters.
Title is too long (> 60 characters)notice
Why it matters
Long titles get truncated in search results, hiding your key message.
How to fix
Keep titles under ~60 characters with the main keyword near the start.
Title is too short (< 20 characters)notice
Why it matters
Very short titles miss the chance to describe the page and include keywords.
How to fix
Expand the title to 30–60 characters.
Duplicate titlewarning
Why it matters
Pages sharing a title look interchangeable to search engines and users.
How to fix
Give every page a unique title that reflects its content.
Missing meta descriptionwarning
Why it matters
Without one, search engines pick a random snippet — often a poor one that lowers click-through.
How to fix
Write a compelling 70–160 character meta description.
Meta description is too long (> 160 characters)notice
Why it matters
Long descriptions get cut off in results.
How to fix
Trim it to under ~160 characters.
Meta description is too short (< 70 characters)notice
Why it matters
Short descriptions leave space unused and rarely persuade people to click.
How to fix
Expand it to 70–160 characters with a clear benefit.
Duplicate meta descriptionwarning
Why it matters
Identical descriptions make pages look the same in search results.
How to fix
Write a unique description for each page.
Missing H1 headingwarning
Why it matters
The H1 tells users and search engines what the page is about.
How to fix
Add one clear H1 that matches the page's topic.
Multiple H1 headingsnotice
Why it matters
Several H1s can blur the page's main topic.
How to fix
Use one H1 and structure the rest with H2–H6.
Heading levels are skippednotice
Why it matters
Jumping from H2 to H4 breaks the outline for screen readers and makes structure less clear.
How to fix
Use headings in order without skipping levels.
Thin content (< 300 words)warning
Why it matters
Pages with little text often struggle to rank and may be seen as low quality.
How to fix
Add useful, original content — answer the questions your visitors have.
Images without alt textwarning
Why it matters
Alt text helps image search, accessibility and context for search engines.
How to fix
Add descriptive alt attributes (use alt="" for purely decorative images).
No structured datanotice
Why it matters
Structured data (JSON-LD) can unlock rich results like stars, FAQs and breadcrumbs.
How to fix
Add relevant schema.org markup — Organization, Article, Product, BreadcrumbList…
Invalid JSON-LD structured datawarning
Why it matters
Malformed JSON-LD is ignored entirely by search engines.
How to fix
Fix the JSON syntax and validate with a schema testing tool.
Links
7 checks · weight 14%Broken links, redirects and internal linking.
Broken internal linkserror
Why it matters
Links to missing pages waste crawl budget, leak link equity and frustrate users.
How to fix
Update or remove links pointing at 4xx/5xx pages.
Broken external linkswarning
Why it matters
Dead outbound links hurt user experience and signal a poorly maintained page.
How to fix
Replace the link with a working source or remove it.
Internal links point to redirectsnotice
Why it matters
Linking through redirects slows crawling and dilutes link equity.
How to fix
Update links to point directly at the final URL.
Nofollow on internal linksnotice
Why it matters
Nofollowing your own pages stops link equity from flowing through your site.
How to fix
Remove rel=nofollow from internal links unless there's a specific reason.
Too many links on the page (> 300)notice
Why it matters
Huge numbers of links dilute the value each one passes and overwhelm users.
How to fix
Trim navigation and footer links; prioritise the most important ones.
No outgoing internal linksnotice
Why it matters
Dead-end pages stop crawlers and visitors from exploring the rest of your site.
How to fix
Link to related pages, categories or next steps.
Links without anchor textnotice
Why it matters
Anchor text tells search engines and screen readers where a link goes.
How to fix
Add descriptive text, or an aria-label / image alt for icon links.
Speed
7 checks · weight 14%Response time, page weight and loading hints.
Slow server response (> 1.5 s)warning
Why it matters
Slow pages rank worse and lose visitors — every second counts on mobile.
How to fix
Add caching, optimise database queries, or use a CDN.
Large HTML document (> 500 KB)notice
Why it matters
Heavy HTML slows parsing and rendering, especially on mobile.
How to fix
Remove inlined data and unused markup; paginate long lists.
HTML isn't compressedwarning
Why it matters
Gzip or Brotli typically shrinks HTML by 70%+, speeding up every visit.
How to fix
Enable gzip or Brotli compression on your server or CDN.
Many script files (> 20)notice
Why it matters
Each script adds network requests and can block rendering.
How to fix
Bundle, defer or remove unused scripts.
Many stylesheets (> 10)notice
Why it matters
Stylesheets block rendering until they load.
How to fix
Combine stylesheets and inline critical CSS.
Images without width/heightnotice
Why it matters
Missing dimensions cause layout shift (CLS) as images load.
How to fix
Set width and height attributes (or aspect-ratio) on images.
Many images load eagerlynotice
Why it matters
Loading every image up front wastes bandwidth and slows the first view.
How to fix
Add loading="lazy" to below-the-fold images.
Security
5 checks · weight 10%HTTPS, mixed content and security headers.
HTTP version doesn't redirect to HTTPSSiteerror
Why it matters
Visitors and crawlers can reach an insecure copy of your site, which also creates duplicates.
How to fix
301-redirect every http:// URL to its https:// equivalent.
Page served over HTTPerror
Why it matters
Browsers flag HTTP pages as not secure, and HTTPS is a ranking signal.
How to fix
Serve everything over HTTPS and redirect HTTP.
Mixed content (HTTP resources on HTTPS page)warning
Why it matters
Browsers block or warn about insecure resources, breaking images and scripts.
How to fix
Load every resource over https://.
No HSTS headerSitenotice
Why it matters
HSTS forces browsers to always use HTTPS, preventing downgrade attacks.
How to fix
Add Strict-Transport-Security: max-age=31536000; includeSubDomains.
Missing security headersSitenotice
Why it matters
Headers like X-Content-Type-Options and a frame policy protect visitors from common attacks.
How to fix
Add X-Content-Type-Options: nosniff and X-Frame-Options or a CSP frame-ancestors directive.
Mobile & UX
2 checks · weight 7%Viewport, accessibility basics and favicons.
No mobile viewport tagerror
Why it matters
Without it, mobile browsers render a zoomed-out desktop page — Google indexes mobile-first.
How to fix
<meta name="viewport" content="width=device-width, initial-scale=1">
No faviconSitenotice
Why it matters
Favicons appear in tabs, bookmarks and mobile search results — they build recognition.
How to fix
Add a favicon and reference it with <link rel="icon">.
Audit history & diff
Every audit is stored. The site page shows a score trend across audits, and each report compares itself to the previous audit of the same site:
- Fixed — issue + URL pairs present last time that are gone now.
- New — issue + URL pairs that weren't there in the previous audit.
- Score and category changes since the previous audit.
Use it after a release to confirm fixes landed and nothing regressed.
Scheduled audits & emails
Pick a schedule per site in its settings. Pro includes monthly and weekly audits, Agency adds daily. Scheduled audits use the same settings as manual ones and count towards your monthly audit allowance (10 / 200 / 2,000 on Free / Pro / Agency).
On Pro and Agency, every finished audit — scheduled or manual — triggers a short plain-text email: the new score and change since the last audit, pages crawled, error / warning / notice counts, how many issues were fixed and how many are new, and a link to the full report. You can turn these emails off in Settings → Preferences.
Exports
On Pro and Agency, every report can be exported:
- Issues CSV
- One row per issue per URL: severity, category, issue, url, detail.
- Pages CSV
- One row per crawled page: status, final URL, depth, inlinks, indexable, load time, size, word count, title, description, H1, canonical and page score.
- PDF report
- A print-optimised view of the report. Use your browser's Print → Save as PDF.
Page checker & keyword optimizer
The single-page checker fetches one URL and runs every page-level check, plus shows key facts: title and description length, H1, canonical, word count, links, images, structured data types and a social share preview. Guests get 10 checks an hour; signed-in users get more, and checks are saved to your account.
Add a target keyword to get the on-page optimizer report — nine checks:
- Keyword in the title, and near its start
- Keyword in the meta description
- Keyword in the H1 and in an H2–H3 subheading
- Keyword in the URL
- Keyword in the first 120 words
- Natural density between 0.5% and 3%
- At least 600 words for competitive topics
The optimizer looks only at your page. It doesn't know search volumes or where you rank — we don't provide that data.
SitelensBot — our crawler
All requests from Sitelens — full audits and single-page checks — come from SitelensBot with this user agent:
Mozilla/5.0 (compatible; SitelensBot/1.0; +https://sitelens.dev/bot)
- Respects robots.txt. Rules for
SitelensBotapply; otherwise rules for*apply. - Gentle. About 5 concurrent requests per audit, with timeouts on every request.
- Bounded. Each audit stops at its page limit (5,000 pages at most).
- Public addresses only. It won't fetch private or internal network addresses.
Block SitelensBot entirely:
User-agent: SitelensBot Disallow: /
Block part of your site:
User-agent: SitelensBot Disallow: /private/
Allow it while blocking other bots:
User-agent: SitelensBot Allow: / User-agent: * Disallow: /
Note that a site owner auditing their own site can choose to ignore robots.txt for that audit. If SitelensBot is causing problems on your site, report it or email [email protected] — include your domain and approximate times.
Account & billing
- Plans and prices are on the pricing page. You can pay monthly or yearly.
- Upgrade, switch interval or cancel from billing settings. Cancelling keeps your plan until the end of the paid period, then moves you to Free.
- Invoices for every payment are listed on your billing page.
- You can export your account data or delete your account from account settings.
- Questions? Contact us or email [email protected].