Catalog / virtualdizajnstudio.ba
62

SEO audit for virtualdizajnstudio.ba

Izrada web stranica i SEO optimizacija | VirtualDizajnStudio

blog

Health 62/100 (fair) · 20 pages crawled · generated 2026-07-29

Download Markdown report (feed to ChatGPT / Claude / Cursor)

Pružamo profesionalni web dizajn, SEO, grafički dizajn i Google Business View za jačanje vaše online prisutnosti.

20
pages crawled
19
indexable pages
1
errors
84
warnings
178
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Titles 95 1 0 0
Agent Readiness 72 0 19 22
Performance 73 0 18 69
Structured Data 76 0 16 14
Headings 79 0 14 0
Meta Description 84 0 11 0
Content 96 0 3 1
Canonical 99 0 1 0
Crawlability 99 0 1 0
Mobile 99 0 1 1
Images 100 0 0 18
Links 100 0 0 18
Security 100 0 0 18
Social 100 0 0 17
Findings

Errors (1 rules)

error Missing or empty <title>

Rule title.missing · Titles · 1 occurrence(s)

Warnings (9 rules)

warning Control has no accessible name

Rule agent.control_no_name · Agent Readiness · 19 occurrence(s)

warning Missing canonical tag

Rule canonical.missing · Canonical · 1 occurrence(s)

warning Thin content (low word count)

Rule content.thin · Content · 3 occurrence(s)

warning Incomplete/empty response after retries (likely transient — re-crawl)

Rule fetch.incomplete · Crawlability · 1 occurrence(s)

warning Missing viewport meta tag

Rule mobile.viewport_missing · Mobile · 1 occurrence(s)

warning Render-blocking script in <head> (no defer/async)

Rule perf.render_blocking · Performance · 18 occurrence(s)

warning Schema describes content not visible on the page

Rule schema.hidden_content · Structured Data · 16 occurrence(s)

  • https://virtualdizajnstudio.ba/ — a schema name/headline ("Alispahić Damir") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://virtualdizajnstudio.ba/certiqr-studio/ — a schema name/headline ("Alispahić Damir") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://virtualdizajnstudio.ba/cesto-postavljana-pitanja/ — a schema name/headline ("Alispahić Damir") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://virtualdizajnstudio.ba/cijene/ — a schema name/headline ("Alispahić Damir") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://virtualdizajnstudio.ba/dizajn-i-izrada-web-stranica/ — a schema name/headline ("Alispahić Damir") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://virtualdizajnstudio.ba/google-business-view/ — a schema name/headline ("Alispahić Damir") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://virtualdizajnstudio.ba/graficki-dizajn/ — a schema name/headline ("Alispahić Damir") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://virtualdizajnstudio.ba/izracun-doprinosa/ — a schema name/headline ("Alispahić Damir") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://virtualdizajnstudio.ba/kalkulator-marze/ — a schema name/headline ("Alispahić Damir") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://virtualdizajnstudio.ba/portfolio/ — a schema name/headline ("Alispahić Damir") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://virtualdizajnstudio.ba/pravila-privatnosti/ — a schema name/headline ("Alispahić Damir") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://virtualdizajnstudio.ba/procjena-cijene/ — a schema name/headline ("Alispahić Damir") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://virtualdizajnstudio.ba/qr-code-generator/ — a schema name/headline ("Alispahić Damir") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://virtualdizajnstudio.ba/uvjeti-i-odredbe/ — a schema name/headline ("Alispahić Damir") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://virtualdizajnstudio.ba/widgetlab/ — a schema name/headline ("Alispahić Damir") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://virtualdizajnstudio.ba/zahtjev-za-ponudu/ — a schema name/headline ("Alispahić Damir") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.

Notices (18 rules)

notice Heading levels skip a level

Rule agent.heading_skip · Agent Readiness · 2 occurrence(s)

notice No llms.txt for AI agents

Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)

notice No main landmark for AI agents

Rule agent.no_main_landmark · Agent Readiness · 19 occurrence(s)

notice Missing <!DOCTYPE html> (quirks-mode rendering risk)

Rule encoding.doctype_missing · Content · 1 occurrence(s)

notice Missing html lang attribute

Rule i18n.lang_missing · Mobile · 1 occurrence(s)

notice Likely hero image lacks fetchpriority=high

Rule images.hero_no_fetchpriority · Performance · 18 occurrence(s)

  • https://virtualdizajnstudio.ba/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/certiqr-studio/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/cesto-postavljana-pitanja/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/cijene/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/dizajn-i-izrada-web-stranica/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/google-business-view/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/graficki-dizajn/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/izracun-doprinosa/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/kalkulator-marze/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/kontakt/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/o-nama/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/portfolio/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/pravila-privatnosti/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/procjena-cijene/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/qr-code-generator/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/uvjeti-i-odredbe/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/widgetlab/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://virtualdizajnstudio.ba/zahtjev-za-ponudu/ — the likely hero/LCP image (vds-logo.webp) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.

notice Images without width/height (layout shift / CLS)

Rule images.missing_dimensions · Images · 18 occurrence(s)

notice Internal link has no anchor text / accessible name

Rule links.no_anchor_text · Links · 18 occurrence(s)

notice Legacy image format (jpg/png/gif) with no next-gen fallback

Rule perf.images_legacy_format · Performance · 3 occurrence(s)

  • https://virtualdizajnstudio.ba/ — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://virtualdizajnstudio.ba/cesto-postavljana-pitanja/ — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://virtualdizajnstudio.ba/zahtjev-za-ponudu/ — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.

notice No ETag header (no conditional GET for unchanged pages)

Rule perf.no_etag · Performance · 19 occurrence(s)

  • https://virtualdizajnstudio.ba/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/certiqr-studio/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/cesto-postavljana-pitanja/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/cijene/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/dizajn-i-izrada-web-stranica/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/google-business-view/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/graficki-dizajn/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/izracun-doprinosa/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/kalkulator-marze/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/kontakt/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/o-nama/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/paket/one-page/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/portfolio/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/pravila-privatnosti/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/procjena-cijene/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/qr-code-generator/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/uvjeti-i-odredbe/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/widgetlab/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://virtualdizajnstudio.ba/zahtjev-za-ponudu/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.

notice No Last-Modified header (no conditional GET for unchanged pages)

Rule perf.no_last_modified · Performance · 19 occurrence(s)

  • https://virtualdizajnstudio.ba/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/certiqr-studio/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/cesto-postavljana-pitanja/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/cijene/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/dizajn-i-izrada-web-stranica/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/google-business-view/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/graficki-dizajn/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/izracun-doprinosa/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/kalkulator-marze/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/kontakt/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/o-nama/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/paket/one-page/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/portfolio/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/pravila-privatnosti/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/procjena-cijene/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/qr-code-generator/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/uvjeti-i-odredbe/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/widgetlab/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://virtualdizajnstudio.ba/zahtjev-za-ponudu/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.

notice Article schema missing recommended properties (Top Stories / image carousel)

Rule schema.article_incomplete · Structured Data · 12 occurrence(s)

  • https://virtualdizajnstudio.ba/certiqr-studio/ — Article structured data is missing recommended property (image) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://virtualdizajnstudio.ba/cesto-postavljana-pitanja/ — Article structured data is missing recommended property (image) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://virtualdizajnstudio.ba/dizajn-i-izrada-web-stranica/ — Article structured data is missing recommended property (image) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://virtualdizajnstudio.ba/google-business-view/ — Article structured data is missing recommended property (image) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://virtualdizajnstudio.ba/graficki-dizajn/ — Article structured data is missing recommended property (image) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://virtualdizajnstudio.ba/izracun-doprinosa/ — Article structured data is missing recommended property (image) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://virtualdizajnstudio.ba/kalkulator-marze/ — Article structured data is missing recommended property (image) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://virtualdizajnstudio.ba/pravila-privatnosti/ — Article structured data is missing recommended property (image) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://virtualdizajnstudio.ba/procjena-cijene/ — Article structured data is missing recommended property (image) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://virtualdizajnstudio.ba/qr-code-generator/ — Article structured data is missing recommended property (image) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://virtualdizajnstudio.ba/uvjeti-i-odredbe/ — Article structured data is missing recommended property (image) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://virtualdizajnstudio.ba/widgetlab/ — Article structured data is missing recommended property (image) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.

notice Deprecated schema type with no Google rich result

Rule schema.deprecated_type · Structured Data · 1 occurrence(s)

  • https://virtualdizajnstudio.ba/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.

notice No structured data detected

Rule schema.none · Structured Data · 1 occurrence(s)

notice target=_blank link without rel=noopener (tab-napping)

Rule security.unsafe_cross_origin_links · Security · 18 occurrence(s)

notice Missing Twitter Card tag

Rule twitter.missing · Social · 1 occurrence(s)

Pages (showing 20 of 20)
URLStatusIndexableWordsIn-links
https://virtualdizajnstudio.ba/
Izrada web stranica i SEO optimizacija | VirtualDizajnStudio
200 yes 545 18
https://virtualdizajnstudio.ba/cesto-postavljana-pitanja/
Često postavljana pitanja 2023 | VirtualDizajnStudio
200 yes 752 18
https://virtualdizajnstudio.ba/cijene/
Cijene 2024 | VirtualDizajnStudio
200 yes 1213 18
https://virtualdizajnstudio.ba/dizajn-i-izrada-web-stranica/
Dizajn i izrada web stranica 2023 | VirtualDizajnStudio
200 yes 498 18
https://virtualdizajnstudio.ba/google-business-view/
Google Business View 2023 | VirtualDizajnStudio
200 yes 350 18
https://virtualdizajnstudio.ba/graficki-dizajn/
Grafički dizajn 2023 | VirtualDizajnStudio
200 yes 891 18
https://virtualdizajnstudio.ba/izracun-doprinosa/
Izračun doprinosa | VirtualDizajnStudio
200 yes 615 18
https://virtualdizajnstudio.ba/kalkulator-marze/
Kalkulator marže | VirtualDizajnStudio
200 yes 382 18
https://virtualdizajnstudio.ba/kontakt/
Kontakt | VirtualDizajnStudio
200 yes 238 18
https://virtualdizajnstudio.ba/o-nama/
O nama | VirtualDizajnStudio
200 yes 235 18
https://virtualdizajnstudio.ba/portfolio/
Portfolio | VirtualDizajnStudio
200 yes 315 18
https://virtualdizajnstudio.ba/pravila-privatnosti/
Politika privatnosti | VirtualDizajnStudio
200 yes 835 18
https://virtualdizajnstudio.ba/qr-code-generator/
QR code generator | VirtualDizajnStudio
200 yes 441 18
https://virtualdizajnstudio.ba/uvjeti-i-odredbe/
Uvjeti i Odredbe | VirtualDizajnStudio
200 yes 976 18
https://virtualdizajnstudio.ba/zahtjev-za-ponudu/
Zahtjev za ponudu 2023 | VirtualDizajnStudio
200 yes 556 18
https://virtualdizajnstudio.ba/certiqr-studio/
CertiQR Studio | VirtualDizajnStudio
200 yes 178 0
https://virtualdizajnstudio.ba/paket/one-page/ 200 yes 86 0
https://virtualdizajnstudio.ba/procjena-cijene/
Procjena cijene | VirtualDizajnStudio
200 yes 176 0
https://virtualdizajnstudio.ba/widgetlab/
WidgetLab | VirtualDizajnStudio
200 yes 982 0
https://virtualdizajnstudio.ba/prijava/?redirect_to=https%3A%2F%2Fvirtualdizajnstudio.ba%2F 0 no 0 1

Audit your own site — free

157 checks, internal PageRank, render-diff. No signup, results in ~30s.

Scan your site →