Website report

leolucena22.github.io

leolucena22.github.io·🇧🇷 Brazil · Community picks

Measured

Global rank#180
GradeA

Your result

No broken links found in this sample.

Link health
100.00/100

Healthy links in the sample

Quality checklist
66.77/100

Scored technical checks

Broken links
0

Confirmed in sample

13 links verified · 0 unknown · 3 selected source pages · 100% of selected destinations verified. Sample only. Unknown links are not counted as broken.

What to fix first

View all priorities →

Includes issues from the extended diagnostic report.

  1. Self-referencing canonical

    Declare exactly one <link rel="canonical"> whose absolute URL is this page's own final URL (same scheme, host, path and query; only a trailing slash or fragment may differ). Cross-URL canonicals belong on duplicate pages, not on the indexable page itself. Reference: Google Search Central, canonicalization.

  2. Image dimensions declared

    Declare width and height attributes (or an inline aspect-ratio style) on every visible <img> so the browser reserves space before the image loads. Reference: web.dev / Lighthouse "image elements have explicit width and height" (layout shift).

  3. Structured data syntax

    Provide JSON-LD with @context and @type (or a typed @graph). Match the markup to the visible content; syntax alone does not validate its meaning. Reference: schema.org and Google structured data guidelines.

Fix with your coding assistant

Copy a ready-to-use prompt with the issues and affected URLs.

Your path to S-Tier

Not yet S-Tier

Healthy links, every scored requirement passed, and complete evidence in the selected sample.

  • Pass all scored quality requirements across the five categories.
  • Verify every required check and selected destination; incomplete or retained evidence cannot unlock the badge.
How this result qualifies

Verified internal navigation

At least 10 internal destinations were verified. Unknown items do not disqualify the site; confirmed checklist failures reduce quality.

100.00/100 link health · 66.77/100 quality · 13 internal destinations

New comparison baseline. A change in coverage is not a verified improvement.

The diagnostic report below may cover additional pages and external links. Only the stored competitive sample determines the ranking. At least 10 verified internal links are required; unavailable checklist items do not exclude a site. How scoring works

Explore issues & evidenceConfirmed issues, suggested fixes and the evidence behind them.
0 diagnostic broken links14 pages readExtended evidence may include links outside the badge sample.
Latest competitive sample and evidence · 66.77/100 quality

At least 10 internal destinations were verified. Unknown items do not disqualify the site; confirmed checklist failures reduce quality. The available outcomes agreed between passes.

3 selected source URLs · 13 internal destinations. 13 evaluated · 0 unknown · 0 using previous evidence. The expanded diagnostic report follows below.

Some checklist evidence is unavailable: Homepage favicon available, Homepage sharing image available. 0 check(s) use previous evidence, for at most eight days from their last reliable reading. Other unknown observations have no scoring vote.

SEO
80.00/100
Accessibility
93.33/100
Structure
27.78/100
Sharing
52.38/100
Security
75.00/100
Selected pages
  • https://leolucena22.github.io/
  • https://leolucena22.github.io/projects/
  • https://leolucena22.github.io/services/
Internal link verdicts and weights
  • ok · weight 6 · https://leolucena22.github.io/index.html
  • ok · weight 6 · https://leolucena22.github.io/projects/
  • ok · weight 6 · https://leolucena22.github.io/services/
  • ok · weight 2 · https://leolucena22.github.io/projects/calculadora-cdi
  • ok · weight 2 · https://leolucena22.github.io/projects/calculadora-pedras
  • ok · weight 2 · https://leolucena22.github.io/projects/certificados/
  • ok · weight 2 · https://leolucena22.github.io/projects/enviar-mensagem/
  • ok · weight 2 · https://leolucena22.github.io/projects/formatar-resumo
  • ok · weight 2 · https://leolucena22.github.io/projects/gerador-links-anexos
  • ok · weight 2 · https://leolucena22.github.io/projects/imc/
  • ok · weight 2 · https://leolucena22.github.io/projects/meta-sabado
  • ok · weight 2 · https://leolucena22.github.io/projects/termo-autorizacao/
  • ok · weight 2 · https://leolucena22.github.io/projects/whatsapp/
Scoring checks
  • Page title: passed · 3/3 applicable observations

    https://leolucena22.github.io/: Leonardo Lucena — Full Stack Developer

    https://leolucena22.github.io/projects/: Projetos — Leonardo Lucena

    https://leolucena22.github.io/services/: Serviços — Leonardo Lucena

  • Distinct page titles: passed · 3/3 applicable observations

    https://leolucena22.github.io/: Leonardo Lucena — Full Stack Developer

    https://leolucena22.github.io/projects/: Projetos — Leonardo Lucena

    https://leolucena22.github.io/services/: Serviços — Leonardo Lucena

  • Meta description: passed · 3/3 applicable observations

    https://leolucena22.github.io/: Leonardo Lucena – Full Stack Developer apaixonado por tecnologia e educação. Desenvolvimento web, suporte de T.I e organização de eventos acadêmicos.

    https://leolucena22.github.io/projects/: Projetos e ferramentas desenvolvidos por Leonardo Lucena. Simuladores, geradores, calculadoras e mais.

    https://leolucena22.github.io/services/: Serviços de formatação, instalação de programas, upgrade de peças e manutenção de sistemas Android. Deixe seu dispositivo rápido e otimizado!

  • Self-referencing canonical: failed · 0/3 applicable observations

    https://leolucena22.github.io/: No canonical URL

    https://leolucena22.github.io/projects/: No canonical URL

    https://leolucena22.github.io/services/: No canonical URL

  • Main heading: failed · 2/3 applicable observations

    https://leolucena22.github.io/: 0 H1 element(s)

    https://leolucena22.github.io/projects/: 1 H1 element(s)

    https://leolucena22.github.io/services/: 1 H1 element(s)

  • Heading hierarchy: failed · 0/3 applicable observations

    https://leolucena22.github.io/: 2 skipped heading level(s)

    https://leolucena22.github.io/projects/: 2 skipped heading level(s)

    https://leolucena22.github.io/services/: 1 skipped heading level(s)

  • Main landmark: failed · 0/3 applicable observations

    https://leolucena22.github.io/: 0 main landmarks

    https://leolucena22.github.io/projects/: 0 main landmarks

    https://leolucena22.github.io/services/: 0 main landmarks

  • Mobile viewport: passed · 3/3 applicable observations

    https://leolucena22.github.io/: width=device-width, initial-scale=1.0

    https://leolucena22.github.io/projects/: width=device-width, initial-scale=1.0

    https://leolucena22.github.io/services/: width=device-width, initial-scale=1.0

  • Image dimensions declared: failed · 0/2 applicable observations

    https://leolucena22.github.io/: 1 of 1 images lack width/height attributes or an aspect-ratio style

    https://leolucena22.github.io/projects/: 0 of 0 images lack width/height attributes or an aspect-ratio style

    https://leolucena22.github.io/services/: 5 of 5 images lack width/height attributes or an aspect-ratio style

  • Structured data syntax: failed · 0/3 applicable observations

    https://leolucena22.github.io/: 0 of 0 blocks have valid JSON-LD structure

    https://leolucena22.github.io/projects/: 0 of 0 blocks have valid JSON-LD structure

    https://leolucena22.github.io/services/: 0 of 0 blocks have valid JSON-LD structure

  • Document language: passed · 3/3 applicable observations

    https://leolucena22.github.io/: pt-br

    https://leolucena22.github.io/projects/: pt-br

    https://leolucena22.github.io/services/: pt-br

  • Image alternatives declared: passed · 2/2 applicable observations

    https://leolucena22.github.io/projects/: 0 of 0 images lack an alt attribute

    https://leolucena22.github.io/: 0 of 1 images lack an alt attribute

    https://leolucena22.github.io/services/: 0 of 5 images lack an alt attribute

  • Buttons named: passed · 3/3 applicable observations

    https://leolucena22.github.io/: 0 of 1 buttons have no HTML name

    https://leolucena22.github.io/projects/: 0 of 1 buttons have no HTML name

    https://leolucena22.github.io/services/: 0 of 1 buttons have no HTML name

  • Links named: passed · 3/3 applicable observations

    https://leolucena22.github.io/: 0 of 13 links have no HTML name

    https://leolucena22.github.io/projects/: 0 of 13 links have no HTML name

    https://leolucena22.github.io/services/: 0 of 8 links have no HTML name

  • Descriptive link text: failed · 2/3 applicable observations

    https://leolucena22.github.io/services/: 5 of 8 links use generic text: "saiba mais"

    https://leolucena22.github.io/: 0 of 13 links use generic text

    https://leolucena22.github.io/projects/: 0 of 13 links use generic text

  • Open Graph title: failed · 2/3 applicable observations

    https://leolucena22.github.io/projects/: No og:title

    https://leolucena22.github.io/: Leonardo Lucena — Full Stack Developer

    https://leolucena22.github.io/services/: Serviços de Suporte Técnico — Leonardo Lucena

  • Open Graph description: failed · 2/3 applicable observations

    https://leolucena22.github.io/projects/: No og:description

    https://leolucena22.github.io/: Full Stack Developer apaixonado por tecnologia e educação. Desenvolvimento web, suporte de T.I e organização de eventos acadêmicos.

    https://leolucena22.github.io/services/: Especialista em formatação, instalação de programas, upgrades e manutenção de dispositivos.

  • Open Graph type: failed · 2/3 applicable observations

    https://leolucena22.github.io/projects/: No og:type

    https://leolucena22.github.io/: website

    https://leolucena22.github.io/services/: website

  • Open Graph URL: failed · 2/3 applicable observations

    https://leolucena22.github.io/projects/: No og:url

    https://leolucena22.github.io/: https://leolucena22.github.io/

    https://leolucena22.github.io/services/: https://leolucena22.github.io/services/

  • Open Graph image URL: failed · 1/3 applicable observations

    https://leolucena22.github.io/: https://github.io - editada.png

    https://leolucena22.github.io/projects/: No og:image

    https://leolucena22.github.io/services/: https://leolucena22.github.io/assets/services.webp

  • Open Graph image description: failed · 0/2 applicable observations

    https://leolucena22.github.io/: No sharing image description

    https://leolucena22.github.io/projects/: No sharing image description

    https://leolucena22.github.io/services/: No sharing image description

  • Social card type: failed · 2/3 applicable observations

    https://leolucena22.github.io/projects/: No social card type

    https://leolucena22.github.io/: summary

    https://leolucena22.github.io/services/: summary_large_image

  • HTTPS page: passed · 3/3 applicable observations

    https://leolucena22.github.io/: https://leolucena22.github.io/

    https://leolucena22.github.io/projects/: https://leolucena22.github.io/projects/

    https://leolucena22.github.io/services/: https://leolucena22.github.io/services/

  • No insecure embedded resources: passed · 3/3 applicable observations

    https://leolucena22.github.io/: 0 HTTP embedded resource URL(s)

    https://leolucena22.github.io/projects/: 0 HTTP embedded resource URL(s)

    https://leolucena22.github.io/services/: 0 HTTP embedded resource URL(s)

  • Homepage favicon available: unverified · 0/1 applicable observations

    https://leolucena22.github.io/: The image could not be fetched within the network policy and 2 MB limit.

  • Homepage sharing image available: unverified · 0/1 applicable observations

    https://leolucena22.github.io/: The image could not be fetched within the network policy and 2 MB limit.

  • Root sitemap available: passed · 1/1 applicable observations

    https://leolucena22.github.io/sitemap.xml: HTTP 200; sitemap root found

  • Rendered color contrast: unverified · 0/1 applicable observations

    https://leolucena22.github.io/: Requires a browser or human assessment; excluded from points.

  • Keyboard and focus behavior: unverified · 0/1 applicable observations

    https://leolucena22.github.io/: Requires a browser or human assessment; excluded from points.

  • HSTS declared: passed · 1/1 applicable observations

    https://leolucena22.github.io/: Strict-Transport-Security: max-age=31556952

  • Content Security Policy declared: failed · 0/1 applicable observations

    https://leolucena22.github.io/: No Content-Security-Policy header or meta element

Sample reference: 9f14265995a1aa52f6d8eb28bcaa8569c3ee1805aa470168871b885bf9eb8a76

No confirmed broken links in this sample. Unverified URLs are not evidence of healthy links.

Diagnostic checklist

12 passed · 19 need work · 5 not verified. Open a check for the evidence and suggested fix.

SEO
70.00
Sharing
36.51
HTTP response measurement

54 ms median to homepage response headers. Measurements: 51, 54, 155 ms.

Same crawler, three sequential requests, DNS and TLS included. Timing is diagnostic only and never decides a position. This is server/network response, not browser loading or Core Web Vitals.

Static checks inspect crawler-visible HTML; they do not certify accessibility or code quality.

SEO3 to improve
Page titlePassed

14/14 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Give each page a descriptive, non-empty <title>.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Distinct page titlesNeeds work

12/14 applicable observations passed. 0.86/1 checklist weight earned.

How to improve: Use a title that describes the purpose of this page rather than repeating the same title across URLs.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Meta descriptionNeeds work

9/14 applicable observations passed. 0.64/1 checklist weight earned.

How to improve: Add a non-empty meta name="description" that summarizes this page.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Self-referencing canonicalNeeds work

0/14 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Declare exactly one <link rel="canonical"> whose absolute URL is this page's own final URL (same scheme, host, path and query; only a trailing slash or fragment may differ). Cross-URL canonicals belong on duplicate pages, not on the indexable page itself. Reference: Google Search Central, canonicalization.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Root sitemap availablePassed

1/1 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Publish a sitemap URL set or index at /sitemap.xml. This checks its root, not every listed URL.

Accessibility2 to improve
Document languagePassed

14/14 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Declare a valid language tag on the html element, such as en or pt-BR.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Image alternatives declaredPassed

4/4 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Add alt text to informative images. Use alt="" for decorative images. This check does not judge text quality.

Form controls namedNeeds work

5/9 applicable observations passed. 0.56/1 checklist weight earned.

How to improve: Associate a label with each visible form control, or provide a non-empty aria-label / valid aria-labelledby.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Buttons namedPassed

12/12 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Give every button visible text or an accessible name, including icon-only buttons.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Rendered color contrastNot verified

0/1 applicable observations passed. Informational; excluded from points.

How to improve: Check foreground/background contrast in the rendered page.

Keyboard and focus behaviorNot verified

0/1 applicable observations passed. Informational; excluded from points.

How to improve: Test every interactive control with a keyboard and inspect focus visibility.

Structure5 to improve
Main headingNeeds work

11/14 applicable observations passed. 0.79/1 checklist weight earned.

How to improve: Add a descriptive H1 identifying the main topic.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Heading hierarchyNeeds work

4/14 applicable observations passed. 0.29/1 checklist weight earned.

How to improve: Nest headings logically without skipping a level, starting with H1.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Main landmarkNeeds work

1/14 applicable observations passed. 0.07/1 checklist weight earned.

How to improve: Mark the main content with one <main> or role="main" landmark.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Mobile viewportPassed

14/14 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Add meta name="viewport" with width=device-width and do not disable user zoom.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Image dimensions declaredNeeds work

0/4 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Declare width and height attributes (or an inline aspect-ratio style) on every visible <img> so the browser reserves space before the image loads. Reference: web.dev / Lighthouse "image elements have explicit width and height" (layout shift).

Structured data syntaxNeeds work

0/14 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Provide JSON-LD with @context and @type (or a typed @graph). Match the markup to the visible content; syntax alone does not validate its meaning. Reference: schema.org and Google structured data guidelines.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Sharing7 to improve
Open Graph titleNeeds work

8/14 applicable observations passed. 0.57/1 checklist weight earned.

How to improve: Provide a non-empty og:title meta property.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Open Graph descriptionNeeds work

8/14 applicable observations passed. 0.57/1 checklist weight earned.

How to improve: Provide a non-empty og:description meta property.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Open Graph typeNeeds work

8/14 applicable observations passed. 0.57/1 checklist weight earned.

How to improve: Declare og:type, such as website or article.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Open Graph URLNeeds work

8/14 applicable observations passed. 0.57/1 checklist weight earned.

How to improve: Set og:url to an absolute HTTP(S) URL for this content.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Open Graph image URLNeeds work

6/14 applicable observations passed. 0.43/1 checklist weight earned.

How to improve: Set og:image to an absolute HTTP(S) image URL. Homepage image availability is checked separately.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Open Graph image descriptionNeeds work

0/8 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Describe the sharing image with og:image:alt.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Social card typeNeeds work

8/14 applicable observations passed. 0.57/1 checklist weight earned.

How to improve: Declare twitter:card as summary or summary_large_image for a website card.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Homepage favicon availableNot verified

0/1 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Check access, image size and Content-Type, then rescan.

Homepage sharing image availableNot verified

0/1 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Check access, image size and Content-Type, then rescan.

Security1 to improve
HTTPS pagePassed

14/14 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Serve the page over HTTPS with a valid certificate.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

No insecure embedded resourcesPassed

14/14 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Use HTTPS for embedded script, image, stylesheet, frame, audio and video URLs.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

HSTS declaredPassed

1/1 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Send Strict-Transport-Security on HTTPS responses with max-age of at least 15552000 seconds (180 days); OWASP recommends one year and includeSubDomains. Reference: OWASP HTTP Strict Transport Security cheat sheet, MDN.

Content Security Policy declaredNeeds work

0/1 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Send a Content-Security-Policy header (or a <meta http-equiv="Content-Security-Policy"> on the page) that restricts script and resource sources. This check verifies presence, not policy strength. Reference: OWASP Content Security Policy cheat sheet, MDN.

AI access1 to improve
Content in initial HTMLNeeds work

11/14 applicable observations passed. 0.79/1 checklist weight earned.

How to improve: Render meaningful main content on the server so readers can access it without executing JavaScript.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Performance0 to improve
HTML transfer budgetPassed

14/14 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Keep the uncompressed HTML at or below 500 KB. Remove duplicated inline payloads and unnecessary markup.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Repeated homepage HTTP responsePassed

1/1 applicable observations passed. Informational; excluded from points.

How to improve: Improve server response and CDN caching. Median of three requests; diagnostic only, never a ranking tiebreak.

Browser loading and Core Web VitalsNot verified

0/1 applicable observations passed. Informational; excluded from points.

How to improve: Measure LCP, INP and CLS with browser and field tools.

Checklist quality-v4. Competitive weights: SEO 25%, Accessibility 25%, Structure 25%, Sharing 10%, Security 15%. AI access and Performance are diagnostic only. This expanded report may include pages outside the competitive sample. Unverified scored checks earn no points; not-applicable and manual checks are excluded. Full methodology and references.

HTTP response timings

HTTP response time measured by our crawler; not browser loading speed.

Pages inspected (14)

All 14 pages from this scan.

PageStatusTitleH1ms
https://leolucena22.github.io/200Leonardo Lucena — Full Stack Developer
Page checklist evidence
  • title: passedLeonardo Lucena — Full Stack Developer
  • description: passedLeonardo Lucena – Full Stack Developer apaixonado por tecnologia e educação. Desenvolvimento web, suporte de T.I e organização de eventos acadêmicos.
  • canonical: failedNo canonical URL
  • h1: failed0 H1 element(s)
  • headings: failed2 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passedpt-br
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: passed0 of 13 links have no HTML name
  • link-text: passed0 of 13 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://leolucena22.github.io/
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedLeonardo Lucena — Full Stack Developer
  • og-description: passedFull Stack Developer apaixonado por tecnologia e educação. Desenvolvimento web, suporte de T.I e organização de eventos acadêmicos.
  • og-type: passedwebsite
  • og-url: passedhttps://leolucena22.github.io/
  • og-image: failedhttps://github.io - editada.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary
  • readable: passed1682 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed7,605 bytes of HTML; budget 500,000
0235
https://leolucena22.github.io/projects/200Projetos — Leonardo Lucena
Page checklist evidence
  • title: passedProjetos — Leonardo Lucena
  • description: passedProjetos e ferramentas desenvolvidos por Leonardo Lucena. Simuladores, geradores, calculadoras e mais.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed2 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passedpt-br
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: passed0 of 13 links have no HTML name
  • link-text: passed0 of 13 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://leolucena22.github.io/projects/
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: failedNo og:title
  • og-description: failedNo og:description
  • og-type: failedNo og:type
  • og-url: failedNo og:url
  • og-image: failedNo og:image
  • og-alt: not-applicableNo sharing image description
  • twitter-card: failedNo social card type
  • readable: passed2174 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed8,077 bytes of HTML; budget 500,000
1110
https://leolucena22.github.io/services/200Serviços — Leonardo Lucena
Page checklist evidence
  • title: passedServiços — Leonardo Lucena
  • description: passedServiços de formatação, instalação de programas, upgrade de peças e manutenção de sistemas Android. Deixe seu dispositivo rápido e otimizado!
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passedpt-br
  • alt: passed0 of 5 images lack an alt attribute
  • img-dimensions: failed5 of 5 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: passed0 of 8 links have no HTML name
  • link-text: failed5 of 8 links use generic text: "saiba mais"
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://leolucena22.github.io/services/
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedServiços de Suporte Técnico — Leonardo Lucena
  • og-description: passedEspecialista em formatação, instalação de programas, upgrades e manutenção de dispositivos.
  • og-type: passedwebsite
  • og-url: passedhttps://leolucena22.github.io/services/
  • og-image: passedhttps://leolucena22.github.io/assets/services.webp
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed1497 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed8,406 bytes of HTML; budget 500,000
1188
https://leolucena22.github.io/index.html200Leonardo Lucena — Full Stack Developer
Page checklist evidence
  • title: passedLeonardo Lucena — Full Stack Developer
  • description: passedLeonardo Lucena – Full Stack Developer apaixonado por tecnologia e educação. Desenvolvimento web, suporte de T.I e organização de eventos acadêmicos.
  • canonical: failedNo canonical URL
  • h1: failed0 H1 element(s)
  • headings: failed2 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passedpt-br
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: passed0 of 13 links have no HTML name
  • link-text: passed0 of 13 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://leolucena22.github.io/index.html
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedLeonardo Lucena — Full Stack Developer
  • og-description: passedFull Stack Developer apaixonado por tecnologia e educação. Desenvolvimento web, suporte de T.I e organização de eventos acadêmicos.
  • og-type: passedwebsite
  • og-url: passedhttps://leolucena22.github.io/
  • og-image: failedhttps://github.io - editada.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary
  • readable: passed1682 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed7,605 bytes of HTML; budget 500,000
0110
https://leolucena22.github.io/projects/termo-autorizacao/200Gerador de PDFs - Termo de Autorização e Ficha de Cadastro
Page checklist evidence
  • title: passedGerador de PDFs - Termo de Autorização e Ficha de Cadastro
  • description: failedNo meta description
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passedpt-BR
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 14 controls have no HTML label
  • buttons: passed0 of 4 buttons have no HTML name
  • links-named: not-applicable0 of 0 links have no HTML name
  • link-text: not-applicable0 of 0 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://leolucena22.github.io/projects/termo-autorizacao/
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: failedNo og:title
  • og-description: failedNo og:description
  • og-type: failedNo og:type
  • og-url: failedNo og:url
  • og-image: failedNo og:image
  • og-alt: not-applicableNo sharing image description
  • twitter-card: failedNo social card type
  • readable: passed822 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed22,886 bytes of HTML; budget 500,000
1149
https://leolucena22.github.io/projects/enviar-mensagem/200Sistema de Mensagens Dinâmicas - Melhorado
Page checklist evidence
  • title: passedSistema de Mensagens Dinâmicas - Melhorado
  • description: failedNo meta description
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passedpt-BR
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: failed2 of 3 controls have no HTML label
  • buttons: passed0 of 4 buttons have no HTML name
  • links-named: passed0 of 1 links have no HTML name
  • link-text: passed0 of 1 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://leolucena22.github.io/projects/enviar-mensagem/
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: failedNo og:title
  • og-description: failedNo og:description
  • og-type: failedNo og:type
  • og-url: failedNo og:url
  • og-image: failedNo og:image
  • og-alt: not-applicableNo sharing image description
  • twitter-card: failedNo social card type
  • readable: passed288 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed19,616 bytes of HTML; budget 500,000
1112
https://leolucena22.github.io/projects/calculadora-cdi200Simulador CDI | Investimentos Inteligentes
Page checklist evidence
  • title: passedSimulador CDI | Investimentos Inteligentes
  • description: passedSimulador de investimentos atrelado ao CDI com cálculo de rendimento líquido, imposto e valor acumulado.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passedpt-BR
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 6 controls have no HTML label
  • buttons: passed0 of 2 buttons have no HTML name
  • links-named: not-applicable0 of 0 links have no HTML name
  • link-text: not-applicable0 of 0 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://leolucena22.github.io/projects/calculadora-cdi/
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedSimulador CDI - Investimentos Inteligentes
  • og-description: passedFaça simulações completas com valor inicial, aportes mensais, percentual do CDI e imposto. Veja seu rendimento total e valor líquido.
  • og-type: passedwebsite
  • og-url: passedhttps://leolucena22.github.io/projects/calculadora-cdi/
  • og-image: passedhttps://leolucena22.github.io/projects/calculadora-cdi/images/imagem.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed898 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed8,624 bytes of HTML; budget 500,000
1183
https://leolucena22.github.io/projects/formatar-resumo200Formatador de Resumos para Congressos
Page checklist evidence
  • title: passedFormatador de Resumos para Congressos
  • description: passedFerramenta inteligente que formata resumos automaticamente, garantindo títulos em negrito e estrutura correta para submissões científicas.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passedpt-BR
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: passed0 of 3 buttons have no HTML name
  • links-named: not-applicable0 of 0 links have no HTML name
  • link-text: not-applicable0 of 0 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://leolucena22.github.io/projects/formatar-resumo/
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedFormate Resumos de Forma Automática
  • og-description: passedTransforme seus resumos desformatados em textos estruturados e prontos para submissão científica.
  • og-type: passedwebsite
  • og-url: passedhttps://leolucena22.github.io/projects/formatar-resumo
  • og-image: passedhttps://leolucena22.github.io/projects/images/formatador-resumos.webp
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed831 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed11,207 bytes of HTML; budget 500,000
1231
https://leolucena22.github.io/projects/meta-sabado200Calculadora de Metas - Sábado de Folga
Page checklist evidence
  • title: passedCalculadora de Metas - Sábado de Folga
  • description: passedUm sistema simples para geração dos textos padrões do certificados dos eventos realizados na plataforma ime.events
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passedpt-BR
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: not-applicable0 of 0 buttons have no HTML name
  • links-named: not-applicable0 of 0 links have no HTML name
  • link-text: not-applicable0 of 0 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://leolucena22.github.io/projects/meta-sabado/
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedCalculadora de Valor de Meta
  • og-description: passedUm sistema simples para calcular os valores das metas dos eventos
  • og-type: passedpage
  • og-url: passedhttps://leolucena22.github.io/projects/meta-sabado
  • og-image: passedhttps://leolucena22.github.io/projects/images/calculadora-meta.webp
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary
  • readable: failed13 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed5,457 bytes of HTML; budget 500,000
1190
https://leolucena22.github.io/projects/imc/200Calculadora IMC
Page checklist evidence
  • title: passedCalculadora IMC
  • description: failedNo meta description
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passedpt-br
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: failed2 of 2 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: not-applicable0 of 0 links have no HTML name
  • link-text: not-applicable0 of 0 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://leolucena22.github.io/projects/imc/
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: failedNo og:title
  • og-description: failedNo og:description
  • og-type: failedNo og:type
  • og-url: failedNo og:url
  • og-image: failedNo og:image
  • og-alt: not-applicableNo sharing image description
  • twitter-card: failedNo social card type
  • readable: failed36 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed773 bytes of HTML; budget 500,000
1128
https://leolucena22.github.io/projects/certificados/200Gerador de Certificados
Page checklist evidence
  • title: passedGerador de Certificados
  • description: passedUm sistema simples para geração dos textos padrões do certificados dos eventos realizados na plataforma ime.events
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: passed1 main landmarks
  • lang: passedpt-br
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 4 controls have no HTML label
  • buttons: passed0 of 4 buttons have no HTML name
  • links-named: passed0 of 1 links have no HTML name
  • link-text: passed0 of 1 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://leolucena22.github.io/projects/certificados/
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedGerador de Textos dos Certificados
  • og-description: passedUm sistema simples para geração dos textos padrões dos certificados do eventos realizados na plataforma ime.events
  • og-type: passedpage
  • og-url: passedhttps://leolucena22.github.io/projects/certificados
  • og-image: passedhttps://leolucena22.github.io/projects/certificados/assets/imagem.webp
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary
  • readable: passed408 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed5,490 bytes of HTML; budget 500,000
1117
https://leolucena22.github.io/projects/gerador-links-anexos200Gerador de Links Diretos
Page checklist evidence
  • title: passedGerador de Links Diretos
  • description: passedUm sistema para geração dos links de download direto, usando arquivos compartilhados do Google Drive
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 4 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 1 links have no HTML name
  • link-text: passed0 of 1 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://leolucena22.github.io/projects/gerador-links-anexos/
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedGerador de Links Anexos
  • og-description: passedUm sistema para geração dos links de download direto, usando arquivos compartilhados do Google Drive
  • og-type: passedpage
  • og-url: passedhttps://leolucena22.github.io/projects/gerador-links-anexos/
  • og-image: passedhttps://leolucena22.github.io/projects/gerador-links-anexos/images/imagem.webp
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary
  • readable: passed471 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed5,053 bytes of HTML; budget 500,000
1212
https://leolucena22.github.io/projects/whatsapp/200Iniciar conversa no WhatsApp
Page checklist evidence
  • title: passedIniciar conversa no WhatsApp
  • description: failedNo meta description
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passedpt-br
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: not-applicable0 of 0 links have no HTML name
  • link-text: not-applicable0 of 0 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://leolucena22.github.io/projects/whatsapp/
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: failedNo og:title
  • og-description: failedNo og:description
  • og-type: failedNo og:type
  • og-url: failedNo og:url
  • og-image: failedNo og:image
  • og-alt: not-applicableNo sharing image description
  • twitter-card: failedNo social card type
  • readable: passed278 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed6,694 bytes of HTML; budget 500,000
1104
https://leolucena22.github.io/projects/calculadora-pedras200Calculadora de Pedras
Page checklist evidence
  • title: passedCalculadora de Pedras
  • description: failedNo meta description
  • canonical: failedNo canonical URL
  • h1: failed0 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passedpt-br
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: failed1 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 1 controls have no HTML label
  • buttons: not-applicable0 of 0 buttons have no HTML name
  • links-named: passed0 of 1 links have no HTML name
  • link-text: passed0 of 1 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://leolucena22.github.io/projects/calculadora-pedras/
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: failedNo og:title
  • og-description: failedNo og:description
  • og-type: failedNo og:type
  • og-url: failedNo og:url
  • og-image: failedNo og:image
  • og-alt: not-applicableNo sharing image description
  • twitter-card: failedNo social card type
  • readable: failed78 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed1,751 bytes of HTML; budget 500,000
0177
Optional AI signals

Informational signals; these do not certify search visibility or unlock S-Tier.

  • llms.txtGuide for AI agents
  • Structured dataJSON-LD on the homepage
  • Semantic HTMLMain and navigation landmarks
Browser measurements · supplementary

Mobile page report

leolucena22.github.io

https://leolucena22.github.io/

Measured · 9/13/2026, 8:27:46 PM UTC

Redirected to: https://leolucena22.vercel.app/

Speed
57
Accessibility
91
SEO basics
100
Main content (LCP)
13.6 s
Layout shifts (CLS)
0
Blocking time (TBT)
0 ms
Measurement notes (1)
  • The page may not be loading as expected because your test URL (https://leolucena22.github.io/) was redirected to https://leolucena22.vercel.app/. Try testing the second URL directly.

Your next improvements

Measured findings to investigate, ordered by audit score.

1. First Contentful Paint

First Contentful Paint marks the time at which the first text or image is painted. [Learn more about the First Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/first-contentful-paint/).

2. Use efficient cache lifetimes

A long cache lifetime can speed up repeat visits to your page. [Learn more about caching](https://developer.chrome.com/docs/performance/insights/cache).

https://leolucena22.github.io/js/script.js
3. ARIA `progressbar` elements do not have accessible names.

When a `progressbar` element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to label `progressbar` elements](https://dequeuniversity.com/rules/axe/4.12/aria-progressbar-name).

body > div#root > div.scroll-progress · <div class="scroll-progress" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;">
4. Largest Contentful Paint

Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

5. Heading elements are not in a sequentially-descending order

Properly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies. [Learn more about heading order](https://dequeuniversity.com/rules/axe/4.12/heading-order).

section.skills-section > div.bento-grid > div.bento-card > h4 · <h4>
6. Background and foreground colors do not have a sufficient contrast ratio.

Low-contrast text is difficult or impossible for many users to read. [Learn how to provide sufficient color contrast](https://dequeuniversity.com/rules/axe/4.12/color-contrast).

div#root > footer > div.footer-bottom > a · <a href="https://github.com/leolucena22" target="_blank" rel="noopener noreferrer">
7. Time to Interactive

Time to Interactive is the amount of time it takes for the page to become fully interactive. [Learn more about the Time to Interactive metric](https://developer.chrome.com/docs/lighthouse/performance/interactive/).

8. Speed Index

Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).

Fix with your coding assistant

Copy a ready-to-use prompt with the issues and affected URLs.

Battle scoring rules

The arena winner follows the verified ranking: internal link health first, then the published two-decimal quality score. Both sites need two agreeing standard observations. Browser performance, accessibility and SEO are complementary diagnostics and do not move the ranking or decide its winner. Page-only battles compare compatible rounds; performance differences up to five points draw, and equal round wins remain a tie. Missing measurements never count as zero. Browser audits do not certify accessibility. Saved results keep their measured evidence; start a rematch for a newer comparison.