sitelens

Documentation

How Sitelens
works.

Everything about crawling, scoring, the checks we run and how to control our crawler.
01

Getting started

  1. 1.Create a free account — email and password, no card.
  2. 2.Add your site's start URL (usually the homepage). The first audit starts immediately.
  3. 3.When it finishes, open the report: the site score, seven category scores and a list of issues sorted by severity.
  4. 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.

02

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.
03

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.
04

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:

CategoryChecksWeight
Crawlability2124%
On-page1524%
Links714%
Speed714%
Security510%
Mobile & UX27%
Social37%

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.

05

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 loaded+

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 error+

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)+

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)+

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) redirect+

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 noindex+

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 tag+

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 URL+

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 URL+

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 attribute+

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 long+

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 spaces+

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 content+

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 homepage+

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 200+

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)+

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 fileSite+

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 siteSite+

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 foundSite+

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 loadSite+

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)Site+

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 tag+

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)+

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)+

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 title+

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 description+

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)+

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)+

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 description+

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 heading+

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 headings+

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 skipped+

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)+

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 text+

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 data+

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 data+

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.

Speed

7 checks · weight 14%

Response time, page weight and loading hints.

Slow server response (> 1.5 s)+

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)+

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 compressed+

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)+

Why it matters

Each script adds network requests and can block rendering.

How to fix

Bundle, defer or remove unused scripts.

Many stylesheets (> 10)+

Why it matters

Stylesheets block rendering until they load.

How to fix

Combine stylesheets and inline critical CSS.

Images without width/height+

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 eagerly+

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 HTTPSSite+

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 HTTP+

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)+

Why it matters

Browsers block or warn about insecure resources, breaking images and scripts.

How to fix

Load every resource over https://.

No HSTS headerSite+

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 headersSite+

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 tag+

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 faviconSite+

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">.

Social

3 checks · weight 7%

How links look when shared on social and chat apps.

Missing Open Graph tags+

Why it matters

Without og:title/og:description, shared links look bare on Facebook, LinkedIn, Slack and messengers.

How to fix

Add og:title, og:description, og:image and og:url.

No og:image+

Why it matters

Links with an image get far more clicks when shared.

How to fix

Add a 1200×630 og:image.

No Twitter/X card+

Why it matters

Without twitter:card, links on X show as plain text.

How to fix

<meta name="twitter:card" content="summary_large_image">

06

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.

07

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.

08

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.
09

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.

10

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 SitelensBot apply; 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.

11

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].