A · Very good

Page SEO Inspection

https://jamiesomers.com/
Crawled 14 Nov, 03:20 UTC (33 min ago)
HTTP 200 105 KB 520 ms TTFB
Download PDF

PDF export is a paid feature

A PDF of the full report, ready to send to a client or a colleague, comes with Basic at $19 a month and every plan above it, along with saved history. The report itself stays free to read.

See the plans

Analyse this page again?

This page was crawled 33 min ago. Running it again costs one report from your allowance, and a page that has not changed since will score the same.

On-Page Checklist 76% Complete
Primary focus: The first image is lazy-loaded. If it is the largest contentful paint element, this directly delays LCP. Fix now →
Filter:

Full diagnostics

Every check that ran, grouped by what it affects. Problems appear first in each group.

Meta Tags & Search Snippet Simulator

The tags that decide how this page is titled and described in search results.

✓ 2100% · excellent
Live snippet simulation
Title width: 485px / 580px
J Jamie Somers jamiesomers.com
Jamie Somers | PhD in Physics | Trinity College Dublin

Jamie Somers is a Scientist and Physics PhD Student at Trinity College Dublin. He works in the Bradley Photonics Group in the area of Nanophotonics.

Title tag 485px of 580px

The title length is well judged.

Rendered width

Desktop485px/ 580px
Mobile436px/ 920px

Measured in Arial at the size Google renders result titles, accurate to within a fraction of a percent of a browser. Characters: 54.

Meta description 148 characters

The meta description length is well judged.

Crawling & indexing

Whether search engines can reach, read and index this page at all.

✓ 17100% · excellent
HTTP status HTTP 200

The page returns 200 OK.

Redirect chain

The URL resolves without redirects.

Robots directives

No directive prevents indexing.

Canonical tag

The canonical correctly references this page.

https://jamiesomers.com
Language

Language is declared as "en".

lang="en"
hreflang

No hreflang annotations, which is correct for a single-language page.

Viewport

The viewport is configured for mobile.

width=device-width,initial-scale=1,maximum-scale=10
Character encoding

The page declares UTF-8 encoding.

Favicon

A favicon is declared.

Mixed content

All resources load securely.

URL length 24 characters

The URL is 24 characters.

URL readability

The URL is clean and readable.

URL depth 0 levels deep

The page is 0 levels deep.

URL parameters

The URL has no query parameters.

robots.txt 0 KB

robots.txt is present and does not block crawling.

XML sitemap 63 URLs

A sitemap is published, listing 63 URLs.

Lists 63 URLs

Missing pages (404) HTTP 404

A page that does not exist returns HTTP 404, so search engines drop dead addresses.

www and https versions 3 checked

All 3 other spellings of this address redirect here in one permanent step.

Content & metadata

What the page says it is about, and how it reads.

i 1✓ 1091% · excellent
Word count 816 Substantive
Headings 16 Structured
H1 tags 1 Exactly one
Text ratio 5.6% Text vs markup
Heading outline 16 headings
H1 Jamie Somers Scientist
H2 AMBER Centre
H3 Something's Missing II About Me Explore Blog Explore CV Explore Contact Explore Lab Repor…
H2 Publications
H3 01
H3 JUNE, 2026
H3 08
H3 APRIL, 2026
H2 Articles
H3 Bioengineered Solutions to Medical Challenges – Discovery to Deployment
H3 +5
H2 Videos
H3 Something's Missing
H3 +1
Twitter card

No twitter:card tag, so shared links render as a small preview.

How to fix
How to fix
<meta name="twitter:card" content="summary_large_image">
Open Graph tags

Open Graph tags are present.

H1 tag

The page has exactly one h1.

Jamie Somers Scientist
Heading hierarchy

The heading outline descends in order.

Content length 816 words

The page has roughly 816 words.

Text-to-HTML ratio 5.6% text

Text is 5.6% of the page source.

Table headers

No data tables on this page, so there are no columns to label.

Keyword placement

The page's prominent terms appear in its title, description or headings.

Where these terms appear

TermCountDensityTitleDescriptionHeadings
jamie162.70%✓✓✓
research132.20%✕✕✕
college122.03%✓✓✕
somers111.86%✓✓✓
dublin101.69%✓✓✕
Keyword repetition

No term is repeated unnaturally often.

Keyword cloud

The page's most frequent terms, from 592 words of content.

What this page is about

Term size reflects how often it appears. Density is not a ranking factor, this is a view of the page's subject, not a target to hit.

jamieresearchcollegesomersdublinuniversitylasercentreexploreopticsopentrinitylondonamberreadspectroscopyphotonicbackpublicationsexpressdirectwritinginstituteirishwebsitephysicsimperialdoctoralstructuresmaterialsinternationalsomethingmissingreportssuperimposedgratingsopticametamaterialsspectrochimicaacta
Share image 1920 × 993 px

The share image loads and is 1920 × 993 pixels, the right size and shape for a large card.

AI & answer readiness

Whether answer engines and AI overviews can extract and trust this page.

i 4✓ 660% · fair
AI crawlers 10/10 All allowed
Readable without JS Yes Served complete
Identity 1/2 Partly declared
Quotable signals 2/4 Schema, date, author, answers
Answer readiness 0 found

No heading is followed by a concise 40 to 60 word answer, the shape featured snippets and AI overviews extract.

How to fix
How to fix
Open at least one section with a direct 40 to 60 word answer to the question its heading poses.
Answer schema

No structured data an answer engine can lift directly, such as FAQPage, HowTo or Article.

How to fix
How to fix
Mark up question-and-answer content as FAQPage, or step-by-step content as HowTo.
Page subject

No structured data describes what this page is about.

Found: WebSite, Person, ScholarlyArticle, Organization
None of these declare the page's subject.

4 types: WebSite, Person, ScholarlyArticle, Organization

How to fix
How to fix
Describe the page with the type that fits it, Article for writing, Product for a product, FAQPage for questions and answers. Boilerplate like Organization and BreadcrumbList identifies the site, not the page.
llms.txt for AI agents

No llms.txt. AI coding agents have no curated map of this site.

https://jamiesomers.com/llms.txt returned nothing
How to fix
How to fix
A markdown file at /llms.txt listing your most useful pages with one-line descriptions. It does not affect how AI assistants cite you in answers, and nobody has shown that it does. What it helps is agents reading your documentation directly: Anthropic supports it, Perplexity uses it to choose pages, and Cursor, Continue and Cline navigate docs with it. Worth doing for a documentation or API site, and safe to skip otherwise.
Content freshness

The page is dated and about -1 days old.

datePublished in structured data

Attribution

Attribution signals present: author in structured data, publisher in structured data, author meta tag, about page.

author in structured data, publisher in structured data, author meta tag

Extractable structure 816 words

816 words across 16 headings, 1 lists and 0 tables.

Publisher identity

The page names who is behind it: Jamie Somers, Optica Publishing Group.

Readable without JavaScript

The page reads the same with and without JavaScript.

AI crawler access 10 checked

Every AI crawler checked is allowed to read this page.

Speed & delivery

What makes the page slow, and what the loading experience measures.

i 1✓ 1091% · excellent
Rendered page
Not captured
Mobile, not captured for this report
The page as it rendered on a desktop viewport
Desktop, measured
LCPNo data
n/a

Largest Contentful Paint

Target ≤ 2.5s

Needs real-user data from Chrome UX Report

INPNo data
n/a

Interaction to Next Paint

Target ≤ 200ms

Needs real-user data from Chrome UX Report

CLS Good
0.001

Cumulative Layout Shift

Target ≤ 0.1

What this measures

How much visible content jumps around while the page loads. This is what makes someone tap the wrong thing because a banner or image pushed the layout down underneath their finger.

What moves it: Give images and video explicit width and height so the browser reserves the space, reserve room for ads and embeds, and avoid inserting content above what is already on screen.

FCP Good
0.96s

First Contentful Paint

Target ≤ 1.8s

What this measures

How long until anything at all appears, the first text or image painted. It separates "the page starts slowly" from "the biggest element is slow": a fast FCP with a slow LCP points at the hero, while both slow points at the server.

What moves it: Cut render-blocking CSS and JavaScript in the head, inline the styles needed for the first screen, and improve the server response time.

TTFBNo data
n/a

Real-user response time

Target ≤ 800ms

Needs real-user data from Chrome UX Report

Inline styles 120 found

120 elements carry inline style attributes, which cannot be cached and inflate the document.

How to fix
How to fix
Move repeated styles into a cacheable stylesheet.
Time to first byte

Time to first byte is 520 ms.

Render-blocking resources 1 found

1 render-blocking resource in the head.

HTML size 105 KB

The HTML document is 105 KB.

Deprecated tags

No deprecated HTML tags are used.

Compression

The response is compressed with zstd.

Content-Encoding: zstd
Page weight 42 requests · 1.7 MB

The page loads 42 requests totalling 1.7 MB.

What loaded, by type

Type RequestsTransferred
image17of 34 declared1.1 MB
font5351 KB
script5238 KB
document118 KB
other129 KB
stylesheet1of 0 declared9 KB
media10 KB

Of these, 12 requests (22 KB) come from third-party domains. The HTML declares 34 images but only 17 loaded, the rest are lazy-loaded and fetched when scrolled to.

Third-party services 4 services · 19 KB

4 third-party services load on this page, adding 19 KB.

Third-party services

Service TransferredMain thread
Cloudflare10 KB13ms
Google/Doubleclick Ads6 KB2ms
Other Google APIs/SDKs2 KBunder 1ms
Google Tag Manager1 KBunder 1ms

0.0s of main-thread time

Browser caching 4 KB re-downloaded

Cache lifetimes are long enough that a returning visitor re-downloads only 4 KB.

Short cache lifetimes

FileCache lifetimeSize
static.cloudflareinsights.com/…823e78c4301a35b7e07294d873017920888140921d10 KB

Security

Transport security, reputation and the response headers that protect visitors.

! 2i 6✓ 643% · needs work
HSTS

No Strict-Transport-Security header, so a first visit over HTTP can be intercepted before the redirect.

How to fix
How to fix
Strict-Transport-Security: max-age=31536000; includeSubDomains
Clickjacking protection

Nothing prevents this page being embedded in a frame, which allows clickjacking.

How to fix
How to fix
Content-Security-Policy: frame-ancestors 'self'
MIME sniffing

No X-Content-Type-Options header, so browsers may guess a resource type and execute it.

How to fix
How to fix
X-Content-Type-Options: nosniff
Referrer policy

No Referrer-Policy header, so full URLs may leak to third-party sites.

How to fix
How to fix
Referrer-Policy: strict-origin-when-cross-origin
Content Security Policy

No Content-Security-Policy, the main defence against cross-site scripting.

How to fix
How to fix
Content-Security-Policy: default-src 'self'
Permissions policy

No Permissions-Policy header, so any script or embed on the page may ask for the camera, microphone or location.

How to fix
How to fix
Permissions-Policy: camera=(), microphone=(), geolocation=()
TLS version

The server still accepts TLS 1.0 or 1.1, retired in 2021. No current browser uses them, so they serve only very old clients and attackers forcing a weaker connection.

How to fix
How to fix
Disable TLS 1.0 and 1.1 and keep 1.2 and 1.3. On a CDN this is usually a "minimum TLS version" setting.
security.txt

No security.txt, so somebody who finds a vulnerability has no published way to tell you about it.

https://jamiesomers.com/.well-known/security.txt
How to fix
How to fix
Publish /.well-known/security.txt with a Contact: line (an email address or a form) and an Expires: date.
Email addresses in the page

No email addresses are written into the page for harvesting bots to collect.

Cookie flags

The page sets no cookies, so there are none to expose.

Version disclosure

No software versions are disclosed in headers or the page.

TLS certificate 32 days left

The TLS certificate is valid for another 32 days, issued by Google Trust Services.

32 days remaining
Google Web Risk

Not listed by Google Web Risk for malware, phishing or unwanted software.

TLS version TLS 1.3

Connections use TLS 1.3.

Server & domain

The server and the domain behind the page: protocol, network, registration and email records.

i 1✓ 788% · good
DMARC policy

The DMARC policy for jamiesomers.com is p=none, which collects reports but does not stop mail that spoofs the domain.

v=DMARC1; p=none; adkim=r; aspf=r
How to fix
How to fix
Once the reports show only your own services sending, move to p=quarantine and then p=reject.
HTTP/2 HTTP/2

Served over HTTP/2, which loads a page's files in parallel over one connection.

HTTP/3 HTTP/3

Announces HTTP/3, which browsers switch to on a later visit for faster connections on poor networks.

CDN Cloudflare

Served through Cloudflare, a CDN, so visitors get the page from a server near them.

Domain expiry 209 days left

jamiesomers.com is registered until 12 Jun 2027 with Register SPA.

209 days remaining
Domain age 5 years old

jamiesomers.com was registered on 12 Jun 2021, 5 years ago. Age is not a ranking factor, but an established name is one buyers and partners look for.

IPv6

jamiesomers.com has an IPv6 address, so IPv6-only networks reach it directly.

SPF record

jamiesomers.com publishes an SPF record: v=spf1 include:spf.reg365.net ~all

ads.txt

No ad network loads on this page, so ads.txt is not needed.

Links, media & schema

Links, images and structured data.

! 6✓ 754% · fair
Social share preview From this page's Open Graph tags
Anchor text 1 found

1 link has no anchor text, so its purpose is unreadable without sight of the layout.

# / lineLink
JShttps://jamiesomers.com/citi-completion-certificate-1118123748935560.pdf<a target="_blank" href="https://jamiesomers.com/citi-completion-certificate-1118123748935560.pdf"><br> <br> </a>
How to fix
How to fix
Add link text, or an aria-label where the link is an icon.
Image dimensions 34 found

34 images have no width and height, so the page shifts as they load (hurting CLS).

Shown as 23 unique sources; the counts show how often each repeats.

LineImage source
406/imgs/Orcidsocial.webp<img loading="lazy" src="/imgs/Orcidsocial.webp" alt="ORCID icon">
407/imgs/scholarsocial.webp<img title="Jamie Somers" loading="lazy" src="/imgs/scholarsocial.webp" alt="Google Scholar icon">
408/imgs/researchsocial.webp<img loading="lazy" src="/imgs/researchsocial.webp" alt="ResearchGate icon">
409/imgs/researchersocial.webp<img loading="lazy" src="/imgs/researchersocial.webp" alt="Web of Science icon">
410/imgs/linkedinsocial.webp<img loading="lazy" src="/imgs/linkedinsocial.webp" alt="Linkedin icon">
411/imgs/twittersocial.webp<img loading="lazy" src="/imgs/twittersocial.webp" alt="Twitter icon">
412/imgs/githubsocial.webp<img loading="lazy" src="/imgs/githubsocial.webp" alt="Github icon">
413/imgs/instagramsocial.webp<img loading="lazy" src="/imgs/instagramsocial.webp" alt="Instagram icon">
414/imgs/youtubesocial.webp<img loading="lazy" src="/imgs/youtubesocial.webp" alt="Youtube icon">
431, 445, 459…/imgs/arrow-down.svg ×12<img loading="lazy" src="/imgs/arrow-down.svg" alt="Down Arrow" style=" width: 15px; height: 15px;filter: invert(1); ">
510https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/Gordon-Wallace.webp<img alt="Blog Thumbnail" loading="lazy" src="https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/Gordon-Wallace.webp" style="--i:1.3;--j:1.5" id="ArticleImage2">
520https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/Raymond.webp<img alt="Blog Thumbnail" loading="lazy" src="https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/Raymond.webp" style="--i:1.5;--j:1.5" id="ArticleImage2">
529https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/20ddd864cd7ed084154c711f737268402fab436e-3600x2400.webp<img alt="Blog Thumbnail" loading="lazy" src="https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/20ddd864cd7ed084154c711f737268402fab436e-3600x2400.webp" style="--i:1.7;--j:1.5" id="ArticleImage2">
538https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/media_licdn_com-1662656446186.webp<img alt="Blog Thumbnail" loading="lazy" src="https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/media_licdn_com-1662656446186.webp" style="--i:1.9;--j:1.5" id="ArticleImage2">
547https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/photo-1573867639040-6dd25fa5f597.webp<img alt="Blog Thumbnail" loading="lazy" src="https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/photo-1573867639040-6dd25fa5f597.webp" style="--i:2.1;--j:1.5" id="ArticleImage2">
557https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/laue-diffraction.webp<img alt="Blog Thumbnail" loading="lazy" src="https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/laue-diffraction.webp" style="--i:2.3;--j:1.5" id="ArticleImage2">
566https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/201802-030_10.webp<img alt="Blog Thumbnail" loading="lazy" src="https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/201802-030_10.webp" style="--i:2.5;--j:1.5" id="ArticleImage2">
575https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/creating-and-hosting-a-website-using-a-raspberry-pi.webp<img alt="Blog Thumbnail" loading="lazy" src="https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/creating-and-hosting-a-website-using-a-raspberry-pi.webp" style="--i:2.7;--j:1.5" id="ArticleImage2">
591https://jamiesomers.com/cdn-cgi/image/width=65,height=65,dpr=2/imgs/Raymond.webp<img fetchpriority="high" src="https://jamiesomers.com/cdn-cgi/image/width=65,height=65,dpr=2/imgs/Raymond.webp" id="ArticleThumbnail" onclick="articles()" alt="Image of Molecule">
592https://jamiesomers.com/cdn-cgi/image/width=65,height=65,dpr=2/imgs/20ddd864cd7ed084154c711f737268402fab436e-3600x2400.webp<img fetchpriority="high" src="https://jamiesomers.com/cdn-cgi/image/width=65,height=65,dpr=2/imgs/20ddd864cd7ed084154c711f737268402fab436e-3600x2400.webp" id="ArticleThumbnail" onclick="articles()" alt="Image of Molecule">
612https://jamiesomers.com/cdn-cgi/image/width=731,height=426.19,dpr=2/imgs/Somethings-Missing-thumbnail.webp<img src="https://jamiesomers.com/cdn-cgi/image/width=731,height=426.19,dpr=2/imgs/Somethings-Missing-thumbnail.webp" alt="video thumbnail" style="--i:1.1;--j:1.5" id="VideosImage1">
627https://jamiesomers.com/cdn-cgi/image/width=102,height=72.38,dpr=2/imgs/Jamie-Somers-Background3.webp<img loading="lazy" alt="video thumbnail" src="https://jamiesomers.com/cdn-cgi/image/width=102,height=72.38,dpr=2/imgs/Jamie-Somers-Background3.webp" style="--i:1.2;--j:1.5" id="VideosImage2">
644https://jamiesomers.com/cdn-cgi/image/width=177.77,height=100,dpr=1/imgs/Somethings-Missing-thumbnail.webp<img src="https://jamiesomers.com/cdn-cgi/image/width=177.77,height=100,dpr=1/imgs/Somethings-Missing-thumbnail.webp" id="Thumbnail" alt="Youtube">
How to fix
How to fix
<img src="…" width="800" height="600">, the browser reserves the space before decoding.
Image loading

The first image is lazy-loaded. If it is the largest contentful paint element, this directly delays LCP.

<img src="/imgs/Orcidsocial.webp" loading="lazy">
How to fix
How to fix
Remove loading="lazy" from the hero image and add fetchpriority="high".
Image loading 12 found

12 images below the fold load eagerly, competing for bandwidth with the visible page.

Shown as 5 unique sources; the counts show how often each repeats.

LineImage source
517, 526, 535…/imgs/arrow-down.svg ×8<img src="/imgs/arrow-down.svg" alt="Down Arrow" style=" width: 15px; height: 15px;filter: invert(1); ">
591https://jamiesomers.com/cdn-cgi/image/width=65,height=65,dpr=2/imgs/Raymond.webp<img fetchpriority="high" src="https://jamiesomers.com/cdn-cgi/image/width=65,height=65,dpr=2/imgs/Raymond.webp" id="ArticleThumbnail" onclick="articles()" alt="Image of Molecule">
592https://jamiesomers.com/cdn-cgi/image/width=65,height=65,dpr=2/imgs/20ddd864cd7ed084154c711f737268402fab436e-3600x2400.webp<img fetchpriority="high" src="https://jamiesomers.com/cdn-cgi/image/width=65,height=65,dpr=2/imgs/20ddd864cd7ed084154c711f737268402fab436e-3600x2400.webp" id="ArticleThumbnail" onclick="articles()" alt="Image of Molecule">
612https://jamiesomers.com/cdn-cgi/image/width=731,height=426.19,dpr=2/imgs/Somethings-Missing-thumbnail.webp<img src="https://jamiesomers.com/cdn-cgi/image/width=731,height=426.19,dpr=2/imgs/Somethings-Missing-thumbnail.webp" alt="video thumbnail" style="--i:1.1;--j:1.5" id="VideosImage1">
644https://jamiesomers.com/cdn-cgi/image/width=177.77,height=100,dpr=1/imgs/Somethings-Missing-thumbnail.webp<img src="https://jamiesomers.com/cdn-cgi/image/width=177.77,height=100,dpr=1/imgs/Somethings-Missing-thumbnail.webp" id="Thumbnail" alt="Youtube">
How to fix
How to fix
Add loading="lazy" to images below the first screen.
Responsive images 34 found

34 large images are served at one fixed size, so phones download desktop-sized files.

Shown as 23 unique sources; the counts show how often each repeats.

LineImage source
406/imgs/Orcidsocial.webp<img loading="lazy" src="/imgs/Orcidsocial.webp" alt="ORCID icon">
407/imgs/scholarsocial.webp<img title="Jamie Somers" loading="lazy" src="/imgs/scholarsocial.webp" alt="Google Scholar icon">
408/imgs/researchsocial.webp<img loading="lazy" src="/imgs/researchsocial.webp" alt="ResearchGate icon">
409/imgs/researchersocial.webp<img loading="lazy" src="/imgs/researchersocial.webp" alt="Web of Science icon">
410/imgs/linkedinsocial.webp<img loading="lazy" src="/imgs/linkedinsocial.webp" alt="Linkedin icon">
411/imgs/twittersocial.webp<img loading="lazy" src="/imgs/twittersocial.webp" alt="Twitter icon">
412/imgs/githubsocial.webp<img loading="lazy" src="/imgs/githubsocial.webp" alt="Github icon">
413/imgs/instagramsocial.webp<img loading="lazy" src="/imgs/instagramsocial.webp" alt="Instagram icon">
414/imgs/youtubesocial.webp<img loading="lazy" src="/imgs/youtubesocial.webp" alt="Youtube icon">
431, 445, 459…/imgs/arrow-down.svg ×12<img loading="lazy" src="/imgs/arrow-down.svg" alt="Down Arrow" style=" width: 15px; height: 15px;filter: invert(1); ">
510https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/Gordon-Wallace.webp<img alt="Blog Thumbnail" loading="lazy" src="https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/Gordon-Wallace.webp" style="--i:1.3;--j:1.5" id="ArticleImage2">
520https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/Raymond.webp<img alt="Blog Thumbnail" loading="lazy" src="https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/Raymond.webp" style="--i:1.5;--j:1.5" id="ArticleImage2">
529https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/20ddd864cd7ed084154c711f737268402fab436e-3600x2400.webp<img alt="Blog Thumbnail" loading="lazy" src="https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/20ddd864cd7ed084154c711f737268402fab436e-3600x2400.webp" style="--i:1.7;--j:1.5" id="ArticleImage2">
538https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/media_licdn_com-1662656446186.webp<img alt="Blog Thumbnail" loading="lazy" src="https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/media_licdn_com-1662656446186.webp" style="--i:1.9;--j:1.5" id="ArticleImage2">
547https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/photo-1573867639040-6dd25fa5f597.webp<img alt="Blog Thumbnail" loading="lazy" src="https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/photo-1573867639040-6dd25fa5f597.webp" style="--i:2.1;--j:1.5" id="ArticleImage2">
557https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/laue-diffraction.webp<img alt="Blog Thumbnail" loading="lazy" src="https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/laue-diffraction.webp" style="--i:2.3;--j:1.5" id="ArticleImage2">
566https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/201802-030_10.webp<img alt="Blog Thumbnail" loading="lazy" src="https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/201802-030_10.webp" style="--i:2.5;--j:1.5" id="ArticleImage2">
575https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/creating-and-hosting-a-website-using-a-raspberry-pi.webp<img alt="Blog Thumbnail" loading="lazy" src="https://jamiesomers.com/cdn-cgi/image/width=77,height=77,dpr=2/imgs/creating-and-hosting-a-website-using-a-raspberry-pi.webp" style="--i:2.7;--j:1.5" id="ArticleImage2">
591https://jamiesomers.com/cdn-cgi/image/width=65,height=65,dpr=2/imgs/Raymond.webp<img fetchpriority="high" src="https://jamiesomers.com/cdn-cgi/image/width=65,height=65,dpr=2/imgs/Raymond.webp" id="ArticleThumbnail" onclick="articles()" alt="Image of Molecule">
592https://jamiesomers.com/cdn-cgi/image/width=65,height=65,dpr=2/imgs/20ddd864cd7ed084154c711f737268402fab436e-3600x2400.webp<img fetchpriority="high" src="https://jamiesomers.com/cdn-cgi/image/width=65,height=65,dpr=2/imgs/20ddd864cd7ed084154c711f737268402fab436e-3600x2400.webp" id="ArticleThumbnail" onclick="articles()" alt="Image of Molecule">
612https://jamiesomers.com/cdn-cgi/image/width=731,height=426.19,dpr=2/imgs/Somethings-Missing-thumbnail.webp<img src="https://jamiesomers.com/cdn-cgi/image/width=731,height=426.19,dpr=2/imgs/Somethings-Missing-thumbnail.webp" alt="video thumbnail" style="--i:1.1;--j:1.5" id="VideosImage1">
627https://jamiesomers.com/cdn-cgi/image/width=102,height=72.38,dpr=2/imgs/Jamie-Somers-Background3.webp<img loading="lazy" alt="video thumbnail" src="https://jamiesomers.com/cdn-cgi/image/width=102,height=72.38,dpr=2/imgs/Jamie-Somers-Background3.webp" style="--i:1.2;--j:1.5" id="VideosImage2">
644https://jamiesomers.com/cdn-cgi/image/width=177.77,height=100,dpr=1/imgs/Somethings-Missing-thumbnail.webp<img src="https://jamiesomers.com/cdn-cgi/image/width=177.77,height=100,dpr=1/imgs/Somethings-Missing-thumbnail.webp" id="Thumbnail" alt="Youtube">
How to fix
How to fix
<img src="hero.jpg" srcset="hero-400.jpg 400w, hero-800.jpg 800w" sizes="(max-width: 600px) 400px, 800px">
Broken links 25 checked

3 links on this page return an error. Visitors who follow them land on an error page.

403  https://scholar.google.com/citations?user=StcLIYEAAAAJ
403  https://www.researchgate.net/profile/Jamie-Somers
403  https://www.webofscience.com/wos/author/record/GON-6744-2022
How to fix
How to fix
Update each link to its current destination, or remove it. For a page of your own that moved, add a redirect too.
Structured data

Structured data is valid: WebSite, Person, ScholarlyArticle, Organization.

WebSite, Person, ScholarlyArticle, Organization

4 types: WebSite, Person, ScholarlyArticle, Organization

Rich result eligibility

Eligible for rich results via Organization.

Organization

1 type: Organization

Link distribution 40 resources

20 internal and 20 external links.

20 internal, 20 external

20 internal, 20 external

Link rel attributes

Outbound link rel attributes look appropriate.

In-page anchors

In-page anchors resolve to real targets.

Image alt text

All images carry an alt attribute.

Image formats

No heavy legacy image formats found.

22 already in a modern format

What to fix first

Ranked by impact against effort, the top of this list buys the most for the least work.

1
! Recommended The first image is lazy-loaded. If it is the largest contentful paint element, this directly delays LCP.
Remove loading="lazy" from the hero image and add fetchpriority="high".
quick fix
2
! Recommended 34 images have no width and height, so the page shifts as they load (hurting CLS).
<img src="…" width="800" height="600">, the browser reserves the space before decoding.
quick fix
3
! Recommended 12 images below the fold load eagerly, competing for bandwidth with the visible page.
Add loading="lazy" to images below the first screen.
quick fix
4
! Recommended 1 link has no anchor text, so its purpose is unreadable without sight of the layout.
Add link text, or an aria-label where the link is an icon.
quick fix
5
! Recommended No Strict-Transport-Security header, so a first visit over HTTP can be intercepted before the redirect.
Strict-Transport-Security: max-age=31536000; includeSubDomains
quick fix
6
! Recommended Nothing prevents this page being embedded in a frame, which allows clickjacking.
Content-Security-Policy: frame-ancestors 'self'
quick fix
7
! Recommended 3 links on this page return an error. Visitors who follow them land on an error page.
Update each link to its current destination, or remove it. For a page of your own that moved, add a redirect too.
quick fix
8
! Recommended 34 large images are served at one fixed size, so phones download desktop-sized files.
<img src="hero.jpg" srcset="hero-400.jpg 400w, hero-800.jpg 800w" sizes="(max-width: 600px) 400px, 800px">
moderate
9
· Notice No structured data describes what this page is about.
Describe the page with the type that fits it, Article for writing, Product for a product, FAQPage for questions and answers. Boilerplate like Organization and BreadcrumbList identifies the site, not the page.
quick fix
10
· Notice No heading is followed by a concise 40 to 60 word answer, the shape featured snippets and AI overviews extract.
Open at least one section with a direct 40 to 60 word answer to the question its heading poses.
moderate
11
· Notice No X-Content-Type-Options header, so browsers may guess a resource type and execute it.
X-Content-Type-Options: nosniff
quick fix
12
· Notice The server still accepts TLS 1.0 or 1.1, retired in 2021. No current browser uses them, so they serve only very old clients and attackers forcing a weaker connection.
Disable TLS 1.0 and 1.1 and keep 1.2 and 1.3. On a CDN this is usually a "minimum TLS version" setting.
quick fix

Score breakdown

How each area scored. Categories that could not be measured are excluded rather than counted as zero.

Indexability & Crawling40 checks · 10 issues
76
On-Page Content & Structure22 checks · 4 issues
94
Core Web Vitals11 checks · 1 issue
99
Schema & Rich Snippets2 checks · 0 issues
100
Media & Links11 checks · 6 issues
59
Overall scoreGrade A · 65/88 passed
86