Catalog / vietflavorrestaurant.com
60

SEO audit for vietflavorrestaurant.com

Home | Viet Flavor Restaura

otherWix

Health 60/100 (fair) · 23 pages crawled · generated 2026-07-29

Download Markdown report (feed to ChatGPT / Claude / Cursor)
23
pages crawled
22
indexable pages
2
errors
74
warnings
145
notices
7
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Structured Data 80 2 9 6
Links 63 0 28 4
Agent Readiness 83 0 13 0
Content 83 0 13 27
Meta Description 88 0 9 1
Headings 97 0 2 0
Canonical 100 0 0 2
Crawlability 100 0 0 1
Images 100 0 0 10
Performance 100 0 0 59
Security 100 0 0 23
Social 100 0 0 12
Findings

Errors (1 rules)

error JSON-LD block missing @context or @type

Rule schema.no_context_type · Structured Data · 2 occurrence(s)

Warnings (7 rules)

warning Control has no accessible name

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

warning Missing <h1>

Rule h1.missing · Headings · 2 occurrence(s)

warning Orphan page (no internal inlinks)

Rule links.orphan · Links · 6 occurrence(s)

warning Internal link points to a redirect

Rule links.redirect_target · Links · 22 occurrence(s)

warning Product schema missing required or recommended properties

Rule schema.product_incomplete · Structured Data · 9 occurrence(s)

  • https://www.vietflavorrestaurant.com/product-page/chicken-pho-bowl — Product structured data is missing required properties (offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review), which enrich the result.
  • https://www.vietflavorrestaurant.com/product-page/chicken-spring-rolls — Product structured data is missing required properties (offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review), which enrich the result.
  • https://www.vietflavorrestaurant.com/product-page/classic-beef-pho — Product structured data is missing required properties (offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review), which enrich the result.
  • https://www.vietflavorrestaurant.com/product-page/coconut-jelly-dessert — Product structured data is missing required properties (offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review), which enrich the result.
  • https://www.vietflavorrestaurant.com/product-page/mango-sticky-rice — Product structured data is missing required properties (offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review), which enrich the result.
  • https://www.vietflavorrestaurant.com/product-page/shrimp-spring-rolls — Product structured data is missing required properties (offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review), which enrich the result.
  • https://www.vietflavorrestaurant.com/product-page/vegetable-pho-delight — Product structured data is missing required properties (offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review), which enrich the result.
  • https://www.vietflavorrestaurant.com/product-page/vegetable-spring-rolls — Product structured data is missing required properties (offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review), which enrich the result.
  • https://www.vietflavorrestaurant.com/product-page/vietnamese-coffee-flan — Product structured data is missing required properties (offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review), which enrich the result.

Notices (17 rules)

notice Canonical target reachable only via a canonical tag (no inlinks)

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

notice Canonical points to a different URL

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

notice Low text-to-HTML ratio

Rule content.low_ratio · Content · 22 occurrence(s)

notice Main text is hard to read (low Flesch Reading Ease)

Rule content.readability_poor · Content · 5 occurrence(s)

  • https://www.vietflavorrestaurant.com/accessibility-statement — this page reads as difficult (Flesch Reading Ease 30, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.vietflavorrestaurant.com/english-privacy-policy — this page reads as very difficult (Flesch Reading Ease 27, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.vietflavorrestaurant.com/english-refund-policy — this page reads as difficult (Flesch Reading Ease 40, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.vietflavorrestaurant.com/english-shipping-policy — this page reads as difficult (Flesch Reading Ease 39, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.vietflavorrestaurant.com/english-terms-conditions — this page reads as difficult (Flesch Reading Ease 41, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.

notice Image alt text is keyword-stuffed (repetition / low variety)

Rule images.alt_stuffed · Images · 1 occurrence(s)

  • https://www.vietflavorrestaurant.com/ — 4 image(s) have keyword-stuffed alt text — the same word repeated several times, or a long low-variety keyword list. Google's image guidance asks for short, descriptive alt text, not keyword lists; rewrite it to describe the image.

notice Image alt text is very long (possible keyword stuffing)

Rule images.alt_too_long · Images · 1 occurrence(s)

notice Image filename is generic/auto-generated (missed image-search signal)

Rule images.generic_filename · Images · 1 occurrence(s)

  • https://www.vietflavorrestaurant.com/ — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.

notice Likely hero image lacks fetchpriority=high

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

  • https://www.vietflavorrestaurant.com/category/all-products — the likely hero/LCP image (22e53e_ef2ebbf33af24b7fba34e44589f3dc38~mv2.jpg) 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://www.vietflavorrestaurant.com/category/desserts — the likely hero/LCP image (571331_57d1a129d1874323bfbf36bd2c98f4c9~mv2.png) 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://www.vietflavorrestaurant.com/category/pho — the likely hero/LCP image (571331_2883d7e0ecff45bd9d6dcf6283cbbfab~mv2.png) 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://www.vietflavorrestaurant.com/category/spring-rolls — the likely hero/LCP image (571331_34ace00ca43f4960994dd06ad18e557e~mv2.png) 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://www.vietflavorrestaurant.com/menu — the likely hero/LCP image (menus_side_image.7077f229.jpeg) 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://www.vietflavorrestaurant.com/menu?menu=vietnamese-delights — the likely hero/LCP image (menus_side_image.7077f229.jpeg) 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://www.vietflavorrestaurant.com/product-page/chicken-pho-bowl — the likely hero/LCP image (571331_00a1bb4c7d57467fa26f4e3f20c112d3~mv2.png) 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://www.vietflavorrestaurant.com/product-page/chicken-spring-rolls — the likely hero/LCP image (571331_34ace00ca43f4960994dd06ad18e557e~mv2.png) 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://www.vietflavorrestaurant.com/product-page/classic-beef-pho — the likely hero/LCP image (571331_73a8eb223257491ab9c6a1bffba14f11~mv2.png) 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://www.vietflavorrestaurant.com/product-page/coconut-jelly-dessert — the likely hero/LCP image (571331_57d1a129d1874323bfbf36bd2c98f4c9~mv2.png) 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://www.vietflavorrestaurant.com/product-page/mango-sticky-rice — the likely hero/LCP image (571331_9cb24b2bf0d74ffd85f15c5359241420~mv2.png) 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://www.vietflavorrestaurant.com/product-page/shrimp-spring-rolls — the likely hero/LCP image (571331_5dd76e67cc5f43c181b15790dc3af800~mv2.png) 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://www.vietflavorrestaurant.com/product-page/vegetable-pho-delight — the likely hero/LCP image (571331_2883d7e0ecff45bd9d6dcf6283cbbfab~mv2.png) 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://www.vietflavorrestaurant.com/product-page/vegetable-spring-rolls — the likely hero/LCP image (571331_2bb30ad005af41ee86441588c5dbd282~mv2.png) 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://www.vietflavorrestaurant.com/product-page/vietnamese-coffee-flan — the likely hero/LCP image (571331_fca2f3694c654a4db2d2e043c7591d00~mv2.png) 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 · 7 occurrence(s)

notice Internal link has no anchor text / accessible name

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

notice Meta description too long

Rule meta_desc.too_long · Meta Description · 1 occurrence(s)

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

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

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

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

  • https://www.vietflavorrestaurant.com/ — 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://www.vietflavorrestaurant.com/accessibility-statement — 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://www.vietflavorrestaurant.com/category/all-products — 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://www.vietflavorrestaurant.com/category/desserts — 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://www.vietflavorrestaurant.com/category/pho — 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://www.vietflavorrestaurant.com/category/spring-rolls — 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://www.vietflavorrestaurant.com/english-privacy-policy — 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://www.vietflavorrestaurant.com/english-refund-policy — 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://www.vietflavorrestaurant.com/english-shipping-policy — 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://www.vietflavorrestaurant.com/english-terms-conditions — 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://www.vietflavorrestaurant.com/menu — 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://www.vietflavorrestaurant.com/menu?menu=vietnamese-delights — 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://www.vietflavorrestaurant.com/product-page/chicken-pho-bowl — 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://www.vietflavorrestaurant.com/product-page/chicken-spring-rolls — 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://www.vietflavorrestaurant.com/product-page/classic-beef-pho — 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://www.vietflavorrestaurant.com/product-page/coconut-jelly-dessert — 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://www.vietflavorrestaurant.com/product-page/mango-sticky-rice — 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://www.vietflavorrestaurant.com/product-page/shrimp-spring-rolls — 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://www.vietflavorrestaurant.com/product-page/vegetable-pho-delight — 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://www.vietflavorrestaurant.com/product-page/vegetable-spring-rolls — 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://www.vietflavorrestaurant.com/product-page/vietnamese-coffee-flan — 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://www.vietflavorrestaurant.com/zuppler-code — 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 URL redirects to another URL

Rule redirect.single · Crawlability · 1 occurrence(s)

notice Missing recommended security headers

Rule security.missing_headers · Security · 23 occurrence(s)

Pages (showing 23 of 23)
URLStatusIndexableWordsIn-links
https://www.vietflavorrestaurant.com/
Home | Viet Flavor Restaura
200 yes 285 23
https://www.vietflavorrestaurant.com/menu
Viet Flavor Menu | Viet Flavor Restaura
200 yes 747 22
https://www.vietflavorrestaurant.com/order-online
Order Online | Viet Flavor Restaurant | Waite Park | Viet Flavor Restaurant Vietnamese Cuisine
200 yes 5 22
https://www.vietflavorrestaurant.com/category/all-products
All Products | Viet Flavor Restaura
200 yes 202 4
https://www.vietflavorrestaurant.com/category/desserts
Desserts | Viet Flavor Restaura
200 yes 126 4
https://www.vietflavorrestaurant.com/category/pho
Pho | Viet Flavor Restaura
200 yes 120 4
https://www.vietflavorrestaurant.com/category/spring-rolls
Spring Rolls | Viet Flavor Restaura
200 yes 126 4
https://www.vietflavorrestaurant.com/product-page/chicken-pho-bowl
Chicken Pho Bowl | Viet Flavor Restaura
200 yes 85 2
https://www.vietflavorrestaurant.com/product-page/chicken-spring-rolls
Chicken Spring Rolls | Viet Flavor Restaura
200 yes 87 2
https://www.vietflavorrestaurant.com/product-page/classic-beef-pho
Classic Beef Pho | Viet Flavor Restaura
200 yes 85 2
https://www.vietflavorrestaurant.com/product-page/coconut-jelly-dessert
Coconut Jelly Dessert | Viet Flavor Restaura
200 yes 84 2
https://www.vietflavorrestaurant.com/product-page/mango-sticky-rice
Mango Sticky Rice | Viet Flavor Restaura
200 yes 84 2
https://www.vietflavorrestaurant.com/product-page/shrimp-spring-rolls
Shrimp Spring Rolls | Viet Flavor Restaura
200 yes 87 2
https://www.vietflavorrestaurant.com/product-page/vegetable-pho-delight
Vegetable Pho Delight | Viet Flavor Restaura
200 yes 86 2
https://www.vietflavorrestaurant.com/product-page/vegetable-spring-rolls
Vegetable Spring Rolls | Viet Flavor Restaura
200 yes 88 2
https://www.vietflavorrestaurant.com/product-page/vietnamese-coffee-flan
Vietnamese Coffee Flan | Viet Flavor Restaura
200 yes 84 2
https://www.vietflavorrestaurant.com/accessibility-statement
Accessibility Statement | Viet Flavor Restaura
200 yes 578 0
https://www.vietflavorrestaurant.com/english-privacy-policy
Privacy Policy | Viet Flavor Restaura
200 yes 362 0
https://www.vietflavorrestaurant.com/english-refund-policy
Refund Policy | Viet Flavor Restaura
200 yes 297 0
https://www.vietflavorrestaurant.com/english-shipping-policy
Shipping Policy | Viet Flavor Restaura
200 yes 320 0
https://www.vietflavorrestaurant.com/english-terms-conditions
Terms & Conditions | Viet Flavor Restaura
200 yes 419 0
https://www.vietflavorrestaurant.com/menu?menu=vietnamese-delights
Viet Flavor Menu | Viet Flavor Restaura
200 yes 747 0
https://www.vietflavorrestaurant.com/zuppler-code
Zuppler Code | Viet Flavor Restaura
200 yes 60 0

Audit your own site — free

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

Scan your site →