Catalog / ostelflow.com
65

SEO audit for ostelflow.com

Ostelflow — Back Office

saasNext.js

Health 65/100 (fair) · 21 pages crawled · generated 2026-08-26

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

Hospitality platform for hotels and property managers.

Screenshot of ostelflow.com
21
pages crawled
19
indexable pages
0
errors
42
warnings
174
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Canonical 73 0 19 0
Links 76 0 17 6
Content 97 0 2 4
Duplicate 97 0 2 14
Agent Readiness 99 0 1 2
Crawlability 99 0 1 1
Cache 100 0 0 19
Images 100 0 0 3
Meta Description 100 0 0 1
Performance 100 0 0 45
Robots 100 0 0 1
Security 100 0 0 21
Social 100 0 0 38
Structured Data 100 0 0 19
Findings

Warnings (6 rules)

warning Control has no accessible name

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

warning Thin content (low word count)

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

warning Duplicate <title> across pages

Rule duplicate.title · Duplicate · 2 occurrence(s)

warning Internal link points to a redirect

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

warning Redirect chain (multiple hops)

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

Notices (20 rules)

notice No llms.txt for AI agents

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

  • https://ostelflow.com/ — no llms.txt found at the site root — add one so AI agents get a curated site summary

notice No main landmark for AI agents

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

notice Page served uncached (no-store/private or CDN bypass)

Rule cache.not_cacheable · Cache · 19 occurrence(s)

notice Low text-to-HTML ratio

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

notice Duplicate meta description across pages

Rule duplicate.meta_desc · Duplicate · 14 occurrence(s)

notice Likely hero image lacks fetchpriority=high

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

  • https://ostelflow.com/ — the likely hero/LCP image (image) 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://ostelflow.com/contact — the likely hero/LCP image (ostelflow-wordmark.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://ostelflow.com/h/dar-al-makam — the likely hero/LCP image (dar-al-makam-logo.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 · 3 occurrence(s)

notice Page has only one internal inlink (fragile crawl path)

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

  • https://ostelflow.com/apply — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://ostelflow.com/help/billing-faq — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://ostelflow.com/help/connecting-a-channel — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://ostelflow.com/help/first-day — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://ostelflow.com/help/housekeeping-board — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://ostelflow.com/help/replying-to-guests — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.

notice Meta description too long

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

notice Missing Open Graph tags

Rule og.missing · Social · 19 occurrence(s)

notice Large DOM (over 1500 elements) slows rendering & interaction

Rule perf.dom_size_large · Performance · 1 occurrence(s)

  • https://ostelflow.com/ — the page has 1567 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.

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

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

  • https://ostelflow.com/contact — 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://ostelflow.com/h/dar-al-makam — 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://ostelflow.com/ — 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://ostelflow.com/apply — 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://ostelflow.com/contact — 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://ostelflow.com/h/dar-al-makam — 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://ostelflow.com/help — 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://ostelflow.com/help/adding-rooms-and-prices — 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://ostelflow.com/help/billing-faq — 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://ostelflow.com/help/connecting-a-channel — 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://ostelflow.com/help/extending-or-shortening-a-stay — 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://ostelflow.com/help/first-day — 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://ostelflow.com/help/housekeeping-board — 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://ostelflow.com/help/inviting-property-owners — 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://ostelflow.com/help/inviting-your-team — 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://ostelflow.com/help/online-check-in — 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://ostelflow.com/help/replying-to-guests — 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://ostelflow.com/help/troubleshooting — 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://ostelflow.com/help/virtual-key — 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://ostelflow.com/privacy — 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://ostelflow.com/terms — 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://ostelflow.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://ostelflow.com/apply — 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://ostelflow.com/contact — 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://ostelflow.com/h/dar-al-makam — 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://ostelflow.com/help — 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://ostelflow.com/help/adding-rooms-and-prices — 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://ostelflow.com/help/billing-faq — 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://ostelflow.com/help/connecting-a-channel — 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://ostelflow.com/help/extending-or-shortening-a-stay — 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://ostelflow.com/help/first-day — 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://ostelflow.com/help/housekeeping-board — 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://ostelflow.com/help/inviting-property-owners — 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://ostelflow.com/help/inviting-your-team — 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://ostelflow.com/help/online-check-in — 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://ostelflow.com/help/replying-to-guests — 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://ostelflow.com/help/troubleshooting — 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://ostelflow.com/help/virtual-key — 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://ostelflow.com/privacy — 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://ostelflow.com/terms — 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 Slow server response

Rule perf.slow_response · Performance · 1 occurrence(s)

notice URL redirects to another URL

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

notice robots.txt missing (root returns 404/none)

Rule robots.txt_missing · Robots · 1 occurrence(s)

  • https://ostelflow.com/ — robots.txt did not return a 200 at the site root — a healthy site should serve one (declare your sitemap and confirm the host serves root files)

notice Missing recommended security headers

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

Pages (showing 21 of 21)
URLStatusIndexableWordsIn-links
https://ostelflow.com/h/dar-al-makam
Dar Al Makam — Soliman
200 yes 609 2
https://ostelflow.com/
Ostelflow — Back Office
200 yes 1987 18
https://ostelflow.com/login
Ostelflow — Back Office
200 yes 39 16
https://ostelflow.com/contact
Ostelflow — Back Office
200 yes 126 16
https://ostelflow.com/help
Help — Ostelflow
200 yes 312 14
https://ostelflow.com/privacy
Privacy Policy — Ostelflow
200 yes 854 4
https://ostelflow.com/terms
Terms of Service — Ostelflow
200 yes 760 3
https://ostelflow.com/apply
Apply — Ostelflow
200 yes 142 1
https://ostelflow.com/help/inviting-property-owners
Inviting property owners — Help
200 yes 248 3
https://ostelflow.com/help/inviting-your-team
Inviting your team — Help
200 yes 231 3
https://ostelflow.com/help/troubleshooting
Troubleshooting common issues — Help
200 yes 450 3
https://ostelflow.com/settings
Ostelflow — Back Office
200 yes 39 1
https://ostelflow.com/help/adding-rooms-and-prices
Adding rooms and setting prices — Help
200 yes 292 2
https://ostelflow.com/help/extending-or-shortening-a-stay
Extending or shortening a guest's stay — Help
200 yes 304 2
https://ostelflow.com/help/online-check-in
Setting up online check-in — Help
200 yes 309 2
https://ostelflow.com/help/virtual-key
Sharing a door code with your guest — Help
200 yes 306 2
https://ostelflow.com/help/billing-faq
Billing FAQ — Help
200 yes 441 1
https://ostelflow.com/help/connecting-a-channel
Connecting Booking, Airbnb or Expedia — Help
200 yes 357 1
https://ostelflow.com/help/first-day
Your first day with Ostelflow — Help
200 yes 268 1
https://ostelflow.com/help/housekeeping-board
Using the housekeeping board — Help
200 yes 350 1
https://ostelflow.com/help/replying-to-guests
Replying to guests in the inbox — Help
200 yes 269 1

Audit your own site — free

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

Scan your site →