Cached Analysis

This analysis was performed 1 month ago (07.07.2026 13:12). The website may have changed since then.

Analyzed: 07.07.2026 13:12 1 month ago

SEO Analysis Report

56
/ 100

Average

Site needs optimization in many areas

Urgently plan optimization actions. Focus on critical issues.

Bridge the gap. Get a free action plan to reach score 80+ within 24h.

Get free plan

⚠️ Critical Issues (4)

  • 0/100
    Robots & Sitemap

    Missing robots.txt file, Sitemap.xml file not found

    Recommendation: Create a robots.txt file to control how bots crawl your site
  • 55/100
    Meta Tags

    Missing <body> tag in source code, Title too short (12 characters), Missing meta description

    Recommendation: Add <body> tag - page content should be inside <body>. The browser auto-corrects this error.
  • 55/100
    Mobile Friendliness

    No media queries detected - page may not be responsive

    Recommendation: Add CSS media queries for responsive design (@media (max-width: 768px))
  • 56/100
    Core Web Vitals

    Recommendation: Add async or defer to 1 render-blocking scripts for better LCP

Category Scores

Meta Information

36/100
36
/ 100

Content

73/100
73
/ 100

Resources

74/100
74
/ 100

Technical SEO

56/100
56
/ 100

Priority Recommendations

Top 15
1

Create a robots.txt file to control how bots crawl your site

CRITICAL
Technical SEO Robots & Sitemap
Documentation
2

Create and publish a sitemap.xml file containing all important pages

CRITICAL
Technical SEO Robots & Sitemap
Documentation
3

Add Article/BlogPosting structured data - crucial for AI content understanding

Missing structured data

The page has no Schema.org markup that tells Google exactly what the content is (article, product, company, etc.).

Impact

You're not taking advantage of "rich snippets" - enhanced results with stars, prices, images.

How to fix

Add appropriate Schema.org type (e.g., Article, Product, Organization) in JSON-LD format.

CRITICAL
Content AI Citation
Documentation
4

Page needs significant changes to be well-cited by AI systems - start with adding Schema.org and clear content structure

Missing structured data

The page has no Schema.org markup that tells Google exactly what the content is (article, product, company, etc.).

Impact

You're not taking advantage of "rich snippets" - enhanced results with stars, prices, images.

How to fix

Add appropriate Schema.org type (e.g., Article, Product, Organization) in JSON-LD format.

CRITICAL
Content AI Citation
5

Add meta description with a compelling page summary (120-160 characters)

CRITICAL
Meta Information Meta Tags
Documentation
6

Add CSS media queries for responsive design (@media (max-width: 768px))

CRITICAL
Technical SEO Mobile Friendliness
Documentation
7

Enable gzip or brotli compression for HTML, CSS, JS - reduces size by up to 70%

No resource compression

Server does not compress text files (HTML, CSS, JS) before sending.

Impact

Data transfer is 60-80% larger than it could be. Page loads much slower.

How to fix

Enable gzip or brotli compression in server configuration.

CRITICAL
Resources Page Speed
Documentation
8

Add <meta property="og:image"> tag with an image at least 1200x630 pixels. Without it, Facebook shows a random or empty preview

Missing og:image

No image for social media. Shared links will be without graphics.

Impact

Posts without images get significantly fewer clicks and shares.

How to fix

Add og:image with an image address minimum 1200x630 pixels.

HIGH
Meta Information Social Preview
9

Add Strict-Transport-Security header with max-age of at least 31536000 (1 year). This protects users against HTTPS downgrade attacks

Page is not secure (no HTTPS)

Your page doesn't use encrypted HTTPS connection. Browsers show "Not Secure" warning next to the address.

Impact

Google lowers rankings for pages without HTTPS. Users don't trust pages without the "padlock" in the address bar.

How to fix

Install an SSL certificate (many hosts offer free Let's Encrypt) and redirect traffic to https://.

HIGH
Technical SEO HTTP Headers Security
Documentation
10

Add Content-Security-Policy header - the most effective protection against XSS attacks. Start with report-only mode: Content-Security-Policy-Report-Only

Missing security headers

The page doesn't send basic security headers that protect against attacks.

Impact

The page is more vulnerable to XSS, clickjacking, and other attacks.

How to fix

Add headers: X-Content-Type-Options, X-Frame-Options, Content-Security-Policy.

HIGH
Technical SEO HTTP Headers Security
Documentation
11

Add X-Frame-Options: SAMEORIGIN header. This protects against clickjacking attacks where an attacker embeds your page in a hidden iframe

Missing security headers

The page doesn't send basic security headers that protect against attacks.

Impact

The page is more vulnerable to XSS, clickjacking, and other attacks.

How to fix

Add headers: X-Content-Type-Options, X-Frame-Options, Content-Security-Policy.

HIGH
Technical SEO HTTP Headers Security
Documentation
12

Add X-Content-Type-Options: nosniff header. This prevents the browser from interpreting files as a different MIME type, which can lead to malicious code execution

Missing security headers

The page doesn't send basic security headers that protect against attacks.

Impact

The page is more vulnerable to XSS, clickjacking, and other attacks.

How to fix

Add headers: X-Content-Type-Options, X-Frame-Options, Content-Security-Policy.

HIGH
Technical SEO HTTP Headers Security
Documentation
13

Add Schema.org markup (JSON-LD) for rich snippets in Google (e.g. Article, Product, Organization)

Missing structured data

The page has no Schema.org markup that tells Google exactly what the content is (article, product, company, etc.).

Impact

You're not taking advantage of "rich snippets" - enhanced results with stars, prices, images.

How to fix

Add appropriate Schema.org type (e.g., Article, Product, Organization) in JSON-LD format.

HIGH
Meta Information Schema.org Markup
Documentation
14

Add Open Graph tags (og:title, og:description, og:image, og:url) for better sharing on Facebook

HIGH
Meta Information Open Graph Protocol
Documentation
15

Add FAQPage schema for Q&A sections - ideal source of AI citations

HIGH
Content AI Citation
Documentation

🎯 Quick Wins

Best ROI

Robots & Sitemap

ROI: 20
0 80 (+80)
Effort 4/5
  • Create a robots.txt file to control how bots crawl your site
  • Create and publish a sitemap.xml file containing all important pages

Schema.org Markup

ROI: 16
20 52 (+32)
Effort 2/5
  • Add Schema.org markup (JSON-LD) for rich snippets in Google (e.g. Article, Product, Organization)

    Missing structured data

    The page has no Schema.org markup that tells Google exactly what the content is (article, product, company, etc.).

    Impact

    You're not taking advantage of "rich snippets" - enhanced results with stars, prices, images.

    How to fix

    Add appropriate Schema.org type (e.g., Article, Product, Organization) in JSON-LD format.

Open Graph Protocol

ROI: 16
20 52 (+32)
Effort 2/5
  • Add Open Graph tags (og:title, og:description, og:image, og:url) for better sharing on Facebook

HTTP Headers Security

ROI: 15
0 60 (+60)
Effort 4/5
  • Add Strict-Transport-Security header with max-age of at least 31536000 (1 year). This protects users against HTTPS downgrade attacks

    Page is not secure (no HTTPS)

    Your page doesn't use encrypted HTTPS connection. Browsers show "Not Secure" warning next to the address.

    Impact

    Google lowers rankings for pages without HTTPS. Users don't trust pages without the "padlock" in the address bar.

    How to fix

    Install an SSL certificate (many hosts offer free Let's Encrypt) and redirect traffic to https://.

  • Add Content-Security-Policy header - the most effective protection against XSS attacks. Start with report-only mode: Content-Security-Policy-Report-Only

    Missing security headers

    The page doesn't send basic security headers that protect against attacks.

    Impact

    The page is more vulnerable to XSS, clickjacking, and other attacks.

    How to fix

    Add headers: X-Content-Type-Options, X-Frame-Options, Content-Security-Policy.

Social Preview

ROI: 13.33
0 40 (+40)
Effort 3/5
  • Add <meta property="og:image"> tag with an image at least 1200x630 pixels. Without it, Facebook shows a random or empty preview

    Missing og:image

    No image for social media. Shared links will be without graphics.

    Impact

    Posts without images get significantly fewer clicks and shares.

    How to fix

    Add og:image with an image address minimum 1200x630 pixels.

  • Add og:title tag - Facebook will use a dedicated title instead of the HTML title tag

Twitter Cards

ROI: 12
40 52 (+12)
Effort 1/5
  • Add Twitter Cards markup (twitter:card, twitter:title, twitter:description) for better sharing on Twitter/X

    Missing twitter:card

    Missing the basic twitter:card tag specifying card type.

    Impact

    Twitter doesn't know which card format to display.

    How to fix

    Add twitter:card with value "summary" or "summary_large_image".

Detailed Results

27 analyzers
T
Title OK Needs improvement

virti.net.pl

Length: 12 characters
D
Meta Description Missing Needs improvement
Length: 0 characters
V
Viewport OK Optimal

width=device-width, initial-scale=1

C
Charset OK

UTF-8

L
Language OK

en

R
Robots Missing
Index: Yes | Follow: Yes

HTML structure

<html> ✓ <head> ✓ <body> ✗
275
ms response
3.8
KB HTML
2
Resources
Compression

Resources

CSS: 1
JavaScript: 0
Images: 1

Cache

Cache-Control: None
ETag:
Validators:

Render-blocking resources: 1

CSS: 1 | JS: 0
20/100
AI citation readiness: Poor

Content structure

Headings:
Lists:
Tables:
Avg. paragraph: 16 words

Answer format

Summary:
Definitions:
FAQ section:

Structured data

Article schema:
FAQ schema:
HowTo schema:

Authority signals

Author:
Publish date:
Modified date:
18.6 KB
Budget: 1.5 MB

Weight breakdown by category

CSS (1 files) 3.9 KB / 150 KB
HTML (1 files) 4 KB / 100 KB
Fonts (0 files) 0 B / 150 KB
Other (0 files) 0 B / 100 KB
Images (1 files) 10.6 KB / 750 KB
JavaScript (0 files) 0 B / 500 KB

Compression

Encoding: none
Compressed: 0 / 1

Minification

CSS: 0 minified / 1 not
JS: 0 minified / 0 not
Total HTTP requests: 3
85.7%
Checked: 7 of 7 links
5 OK 1 broken 1 redirected

External links - broken (1)

URL Status Suggestion
https://pl.linkedin.com/in/michael-wysocki-382193268 405 Remove or update

External links - redirected (1)

URL Code Redirects to
http://portfolio-velvetduck.vercel.app 308 https://portfolio-velvetduck.vercel.app/
Status codes: 200 (5x) 308 (1x) 405 (1x)
Reason:
API key not configured
Available:
No
🌐 lang attribute

en

📱 Viewport

Scalable

📝 Form labels
Form fields: 0
With label: 0
🔘 Buttons
Total: 0
Accessible: 0
0
Depth
20
URL length
0
Keywords
Readability

Character analysis

✗ Dashes ✓ Uppercase letters ✓ Underscores ✓ Spaces ✓ Special characters

Additional features

GET parameters: No Trailing /: No
🔗 Canonical URL None
10
Total links
7
Internal
3
External

Dofollow / Nofollow

Dofollow: 10
Nofollow: 0

Anchor text

Descriptive: 10
Generic: 0
Empty: 0

Broken links (4)

https://virti.net.pl//mailto:kontakt@virti.net.pl
https://virti.net.pl//mailto:kontakt@virti.net.pl
https://virti.net.pl//mailto:kontakt@virti.net.pl
https://pl.linkedin.com/in/michael-wysocki-382193268

Redirect chain (1 step)

301
http://virti.net.pl
120ms → redirects
200
https://virti.net.pl/
121ms Destination page
Total time: 241ms

www redirect

Valid: No
Canonical version: non-www

HTTPS redirect

HTTP → HTTPS: Yes
Type: 301

Meta Refresh

Detected: Yes

JS redirect

Detected: Yes

Facebook

Incomplete
No
Title
No
Description
No
Image
No
URL
No
Type
No
Site name

Twitter/X

Incomplete
Card type: none
No
Title
No
Description
No
Image
No
Account

LinkedIn

Incomplete
No
Title
No
Description
No
Image

Social media image analysis

No available image or it could not be analyzed

161
Total words
113
Unique
6.2
Avg. word length
43
Sentences

Text readability

Metric Result
Flesch Reading Ease 23.2
Flesch-Kincaid Grade 11.1
Gunning Fog Index 12.5
Coleman-Liau Index 12.0
SMOG Index 10.2
Difficulty level Very Difficult
Words per sentence (average) 4.3

Structure

Paragraphs: 3
Lists: 0

Content to HTML ratio

Ratio: 3,990.0%
Text / HTML: 1.5 KB / 3.8 KB
LCP
Largest Contentful Paint
Risk: Medium
CLS
Cumulative Layout Shift
Risk: Low
INP
Interaction to Next Paint
Risk: Medium
TTFB
Time to First Byte
Risk: Low

LCP - Details

Response time: 275 ms
Preload hints:
Render-blocking CSS: 1
Render-blocking JS: 1

INP - Details

External scripts: 1
Async scripts: 0
Defer scripts: 0
Sync in <head>: 1

CLS - Details

Images without dimensions: 0
Font display swap:
Iframes without dimensions: 0

TTFB - Details

Response time: 275 ms
Preconnect:
DNS prefetch:

Resource Hints

Preload: 0 Prefetch: 0 Preconnect: 0 DNS Prefetch: 0
Total words: 161
Unique: 113

Most frequent words (107 unique)

# Word How many times Density
1 virti 5 3.11%
2 strony 5 3.11%
3 kontakt 4 2.48%
4 www 3 1.86%
5 reklama 3 1.86%
6 zapraszamy 3 1.86%
7 mail 3 1.86%
8 net 3 1.86%
9 pl 3 1.86%
10 pomysłu 2 1.24%

Two-word phrases (8 unique)

# Phrase How many times Density
1 strony www 3 1.89%
2 zapraszamy do 3 1.89%
3 kontakt virti 3 1.89%
4 virti net 3 1.89%
5 net pl 3 1.89%
6 od pomysłu 2 1.26%
7 do realizacji 2 1.26%
8 mail kontakt 2 1.26%

Three-word phrases (3 unique)

# Phrase How many times Density
1 virti net pl 3 1.89%
2 mail kontakt virti 2 1.26%
3 kontakt virti net 2 1.26%

Keyword stuffing detected

• "virti" - density 3.11% (5x)
• "strony" - density 3.11% (5x)
H1 Correct (1)

"Virti - Virtual Im@ge"

21 characters

Heading distribution

H1
1
1
H2
4
4
H3
1
1
H4
0
H5
3
3
H6
0
Heading hierarchy issues
  • Skok z H3 do H5 (pominięto H4)
4
Internal links
4
Unique destinations
0
In content
0
In navigation

Anchor text quality

4
Descriptive
0
Generic
0
Empty
0
Image
0
URL

Depth of linked URLs

0
/0
4
/1
0
/2
0
/3
0
/4+
Average depth: 1.0 | Deepest: https://virti.net.pl//index.html

Link location on the page

0
Navigation
0
Content
0
Footer
0
Sidebar
4
Other
🤖 robots.txt None
🗺️ Sitemap XML None
🖼️

No images on the page

🔒 HTTPS
Enabled
📜 SSL certificate
Issuer: Let's Encrypt
Expires in 86 days (2026-10-02 04:18:53)

HTTP → HTTPS redirect

Active (HTTP 301)
No mixed content

Security headers

HSTS
CSP
X-Frame-Options
X-Content-Type
X-XSS-Protection
Keyword Title Description H1 Consistency
virti 2/3
strony 0/3
kontakt 0/3
reklama 0/3
zapraszamy 0/3
Viewport

width=device-width, initial-scale=1

Device Width
Initial Scale

Font size

Small fonts: 0

Tap targets

Interactive elements: 11

Media Queries

0 found

Responsive images

Images: 1
With srcset: 0
With <picture>: 0
🔤 Charset
Meta: UTF-8
Header: None
🌍 Hreflang
Strona prawdopodobnie jednojęzyczna
💬 Content-Language
Meta: None
Header: None
F
Virtually no security headers configured
0 of 7 headers present
Header Status Details
HSTS No none
Content-Security-Policy No none
X-Frame-Options No none
X-Content-Type-Options No none
Referrer-Policy No none
Permissions-Policy No none
X-XSS-Protection No none

Add this badge to your website

Your website scored 56/100 in the full SEO analysis. Copy the HTML code and paste it into your footer or sidebar.

SEO Score 56/100 - tested with Seometryka.pl
<a href="https://seometryka.pl" title="SEO Score 56/100 - tested with Seometryka.pl"><img src="https://seometryka.pl/badge/wynik/20127.svg?lang=en" alt="SEO Score 56/100 - tested with Seometryka.pl" height="28" loading="lazy"></a>

Your site needs professional help

With a score of 56/100, your site is losing customers and ranking. We can help — get a free improvement estimate within 24 hours.

Thank you!

We will contact you within 24 hours with a free improvement estimate for your site.

Fast, secure hosting with free SSL, automatic backups, and optimized for SEO. Everything your site needs in one place.

Free SSL certificate NVMe drives + CDN Daily backups HTTP/2 + Brotli
Ask about hosting