Page analysis report
example.com is underperforming, with content and conversion the weakest area at 12 out of 100 and 1 critical problem that visitors and search engines will notice. All 1 pages found on this site were analysed.
1 of 1 page analysed
Every page the crawl could find was analysed, so the findings below cover all of them. It stopped because the crawl ran out of new pages to visit.
1 of 1 link checked · none of the checked ones were broken
Ranked by how serious each problem is, how much of the site it affects, and how much that check is worth. Every one of them links to the evidence it came from.
Search visibility
42/100
10 issues · 5 strengths · 30% of the overall score
Performance
95/100
1 issue · 10 strengths · 21% of the overall score
Accessibility
85/100
3 issues · 9 strengths · 17% of the overall score
Security
69/100
6 issues · 8 strengths · 17% of the overall score
Content and conversion
12/100
4 issues · 0 strengths · 15% of the overall score
None. All 1 of the 1 address linked from the pages analysed answered.
42/100
10 issues · 5 strengths
The page renders roughly 19 words of text in its HTML. Either the page is genuinely thin, or the content is drawn in by JavaScript after load — in both cases search engines have very little to work with on first read.
19 wordsRecommended action
Deliver the main copy in the initial HTML, and give the page enough substantive text to answer the visitor's question.
The title is only 14 characters. Short titles waste the space search engines give you and often fail to describe what the page offers.
Example DomainRecommended action
Expand the title towards 50-60 characters, adding the value proposition or brand name.
The meta description is the sales copy underneath the link in search results. When it is missing, search engines paste in an arbitrary sentence from the page, which rarely reads like an invitation to click.
Recommended action
Add a meta description of 140-160 characters that states the benefit and includes a reason to click.
When someone shares this page on LinkedIn, Facebook, WhatsApp or Slack, the preview will be assembled from whatever those platforms can scrape. Usually that means a bare URL with no image, which measurably reduces click-through.
Recommended action
Add og:title, og:description and a 1200x630 og:image, plus twitter:card set to summary_large_image.
The page links to none of your other pages. Internal links are how ranking strength flows around a site and how crawlers find the rest of your pages.
0 internal, 1 externalRecommended action
Add navigation and in-copy links to your other important pages.
A sitemap is how you hand search engines a complete list of the pages you want indexed. Without one, discovery depends entirely on crawlers following internal links.
Recommended action
Generate a sitemap.xml, publish it at the domain root, and reference it from robots.txt.
Structured data is what earns rich results: star ratings, FAQ dropdowns, breadcrumbs, product prices. Without it the listing is limited to a plain blue link.
Recommended action
Add JSON-LD schema appropriate to the page — Organization and WebSite sitewide, plus Product, Article, FAQPage or LocalBusiness as relevant.
Without a canonical tag, the same page reached through different URLs (with tracking parameters, with and without a trailing slash, http and https) can be treated as several competing pages.
Recommended action
Add <link rel="canonical" href="..."> pointing at the preferred absolute URL for this page.
The page contains 1 heading. Headings are how both readers scanning the page and search engines parsing it work out the shape of your content.
Recommended action
Break the content into sections and give each one a descriptive H2, with H3s beneath where needed.
robots.txt is the first file most crawlers request. Its absence is not fatal, but it means you have no way to steer crawlers away from low-value URLs or to point them at your sitemap.
Recommended action
Publish a robots.txt at the domain root, even a permissive one, and list your sitemap in it.
Nothing in the meta robots tag, the X-Robots-Tag header, or robots.txt prevents this page from being indexed.
Exactly one H1 gives search engines an unambiguous statement of the page's topic.
Example DomainThe viewport adapts to the device width, which is the baseline requirement for mobile-first indexing.
95/100
1 issue · 10 strengths
The response carries no Cache-Control header, so every browser and CDN has to guess how long the page may be reused. Guesses tend to be conservative, which means repeat visitors re-download work they already had.
No cache-control headerRecommended action
Send a Cache-Control header on HTML — even a short one such as max-age=300, must-revalidate — and long max-age values on static assets.
The first byte arrived in 18 ms, which is comfortably inside the 600 ms Google treats as good. Visitors start seeing the page almost immediately.
18 ms to first byteThe page loads no external JavaScript at all, so nothing stands between the visitor and the content.
0 external scripts, 0 blocking in <head>The page loads no <img> elements, so none of the usual image costs — layout shift, wasted bandwidth, delayed rendering — apply here.
The server compresses the HTML before sending it, which typically cuts the transfer to a quarter of its size and shortens the wait on mobile connections.
content-encoding: brAt 559 B the page's markup downloads almost instantly, so the browser can start building the page straight away.
559 B of markup, sent Brotli-compressed12 HTML elements is comfortably within the range browsers handle without effort, so layout and scrolling stay smooth even on older phones.
12 elementsOnly 145 B of CSS and JavaScript is inlined, which is the right size for critical styles without bloating every page view.
145 B inline CSS, 0 B inline JavaScriptNo external stylesheets block the first paint, so the browser can render as soon as the HTML arrives.
0 stylesheetsThe page does not fetch web fonts from another domain, so text is never held back waiting for a font file to arrive from a third-party server.
The requested URL is the one that was served, so no round trip is spent sending visitors somewhere else before the page starts loading.
https://example.com/85/100
3 issues · 9 strengths
Link text such as "Learn more" only makes sense to someone reading the sentence around it. Heard on its own in a list of links it says nothing about where it leads, so the visitor has to open the link to find out. Descriptive link text also tells search engines what the destination page is about.
Learn moreRecommended action
Rewrite the link text so it names the destination — "See our pricing" rather than "click here" (WCAG 2.4.4).
There is no <main>, <nav>, <header> or <footer>, and no ARIA equivalent, so the page is one undifferentiated block of markup. Screen reader users move around an unfamiliar page by jumping between landmarks; with none, the only route to the content is to listen to the whole menu from the top, on every visit.
Recommended action
Wrap the page content in <main>, the menu in <nav>, and use <header> and <footer> for the surrounding furniture (WCAG 1.3.1).
Nothing at the top of the page lets a keyboard user jump straight to the content. There is very little navigation ahead of it today, so the cost is small, but a skip link is a two-line addition that keeps working as the menu grows.
Recommended action
Add <a href="#main">Skip to content</a> as the first element in the body, visible only when focused.
The page serves no <img> elements, so no picture content is being lost to visitors who cannot see it. Images painted in by CSS are outside what this analysis can see.
The page serves no text inputs, dropdowns or text areas, so nobody is being asked to fill in a box without being told what it is for.
The document is marked as "en", so screen readers pronounce the content with the right voice and browsers can offer to translate it.
en69/100
6 issues · 8 strengths
A content security policy lists which scripts, styles and frames the browser is allowed to load. Its absence is not a hole in itself — most sites run without one — but it means that if anything ever does inject a script, through a compromised plugin, a third-party advert or a tag manager mistake, the browser will run it without question.
Recommended action
Start with a report-only policy to see what your pages actually load, then tighten it to an enforcing default-src that names only the domains you rely on.
Visitors who type your domain without "https" make one unprotected request before the redirect kicks in. HSTS tells the browser to remember your site as https-only, so that first request never happens again — closing the window in which someone on a shared or public network could intercept it.
Recommended action
Send Strict-Transport-Security: max-age=31536000; includeSubDomains once you are confident every subdomain works over https.
Any site can load your pages inside an invisible frame positioned over their own buttons, so a visitor believes they are clicking one thing while actually clicking yours. It is how attackers trigger purchases, form submissions and account changes in someone else's name.
Recommended action
Send X-Frame-Options: SAMEORIGIN, or add frame-ancestors 'self' to your content security policy.
Without this header a browser may ignore the file type you send and guess from the content instead. On any site that accepts uploads that matters: a file uploaded as an image but containing script can end up being run as script.
Recommended action
Send X-Content-Type-Options: nosniff on every response. It is a single line of server configuration with no side effects.
The referrer policy decides how much of your URL is handed to sites you link out to, including any account or search terms sitting in the address. Modern browsers already default to a fairly private setting, so this is a refinement rather than a gap.
Recommended action
Send Referrer-Policy: strict-origin-when-cross-origin to make the safe behaviour explicit and consistent across older browsers.
A permissions policy switches off browser features the page never uses — camera, microphone, location — so an embedded widget or third-party script cannot quietly prompt for them under your brand name. Relatively few sites set one, so this is polish rather than a real exposure.
Recommended action
Send Permissions-Policy: camera=(), microphone=(), geolocation=() and add back only what the page genuinely needs.
The page loads over https and the certificate was accepted without complaint, so visitors see a padlock rather than a "Not secure" warning and their details are encrypted in transit.
https://example.com/The page contains no <form> element, so nothing here posts visitor data to an address that could be unencrypted. Fields wired up in JavaScript instead send wherever their code points them, which this analysis cannot see.
Every script, stylesheet, image and frame loads over https, so the padlock stays intact and nothing is silently blocked.
12/100
4 issues · 0 strengths
This check looks for a mailto: link, a tel: link, a link to a contact, enquiry or quote page, or a form that asks for a name, email address, telephone number or message. None of those appears in the HTML of the page analysed. Every enquiry a visitor is willing to make then depends on them hunting for a way to reach you, and enquiries are the thing the rest of the site exists to produce. Contact details set as an image, or written into the page by JavaScript after it loads, are invisible to this check — and to a search engine reading the page for the first time.
Recommended action
Put the phone number and email address in the footer of every page as tel: and mailto: links, and link a contact page from the main navigation.
This check looks for a link or button whose text or address matches a fixed action vocabulary (contact, get in touch, enquire, request a quote, book, call, buy, order, subscribe, sign up, register, get started, download, apply), a mailto: or tel: link, and a form that asks for anything other than a search term. None of those appears in the HTML of the page analysed. A visitor who has read enough to be interested is then left to work out what to do next on their own, and the usual answer is to go back to the search results. Anything drawn in by JavaScript after the page loads is invisible to this check, as it is to a search engine reading the page for the first time.
Recommended action
Give every page one obvious next step — a link to the enquiry form, the phone number as a tel: link, or the booking page — and repeat it at the foot of long pages.
No form asking for a name, email address, telephone number or message appears in the HTML of the page analysed. Every enquiry then depends on the visitor opening their own mail client or picking up the phone, which loses the ones who would happily have typed two lines into a box but will not compose an email to a stranger.
Recommended action
Add a short form — name, email, message — to the contact page and to the foot of the main service pages. If enquiries are deliberately taken by phone, or through a booking system on another domain, nothing needs to change here.
No link whose text or address identifies a privacy policy appears on the page analysed. UK and EU data protection law requires that people are told what will be done with their personal data at the point it is collected, and Google Ads and the main payment providers both require a reachable privacy policy as a condition of the account. Visitors read its absence the same way: as a sign that nobody is accountable for the site.
Recommended action
Publish a privacy policy and link it from the footer of every page, and from any page carrying a form.
No check in this category passed cleanly, so there is nothing to credit yet.
width=device-width, initial-scale=1The site shows its own icon in tabs, bookmarks and mobile search listings.
data:,The address is short and human-readable, which helps with sharing and click-through.
https://example.com/The page serves no buttons, so there is no control that would be announced without saying what it does.
The viewport tag places no cap on magnification, so anyone who needs larger text can pinch to enlarge the page.
width=device-width, initial-scale=1The page does not use aria-labelledby or aria-describedby, so no control is relying on text borrowed from an element that might not exist.
The first heading in the markup is the H1, so anyone navigating by heading meets a clear statement of what the page is before anything else.
Example DomainThe page embeds no visible iframes, so there is nothing that would be announced as an unnamed frame.
No element carries a positive tabindex, so focus moves through the page in the order things appear in the HTML. Whether that order matches what the visitor sees is something only a rendered page can confirm.
This page links only to https addresses, so a visitor clicking through never drops out of the encrypted connection and never sees a browser warning on the way.
This response sets no cookies, so there is nothing here that could be sent over an unprotected connection or read by injected script.
No header publishes a precise software version, so an attacker scanning the site cannot immediately look up known exploits for what you run.
cloudflareNothing on the page publishes an address in a form that automated harvesters can lift straight out of the HTML.
Links that open in a new tab either declare rel="noopener" or there are none, so no page you link to is handed a reference back to yours.
seo.webknown.in
Every finding above comes from a response this analysis fetched: 1 page of example.com as they responded at the time shown. Nothing here is inferred, and what the crawl did not reach is stated rather than assumed. Re-run the analysis after making changes to see the score move.