Catalog / river.hr
65

SEO audit for river.hr

River Solutions — Sigurnost, automatika i mreže | Bakar

media

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

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

River Solutions projektira i ugrađuje videonadzor, alarme, pametne kuće i WiFi mreže za domove, hotele i tvrtke diljem Hrvatske.

Screenshot of river.hr
17
pages crawled
17
indexable pages
0
errors
83
warnings
85
notices
16
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Content 70 0 17 0
Headings 70 0 17 0
Rendering 70 0 17 0
Canonical 72 0 16 17
Links 72 0 16 0
Cache 100 0 0 17
Performance 100 0 0 34
Security 100 0 0 17
Findings

Warnings (5 rules)

warning Interior page canonicalizes to the homepage

Rule canonical.points_to_homepage · Canonical · 16 occurrence(s)

  • https://river.hr/about — this interior page canonicalizes to the homepage (https://river.hr/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://river.hr/automation — this interior page canonicalizes to the homepage (https://river.hr/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://river.hr/automation/audio — this interior page canonicalizes to the homepage (https://river.hr/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://river.hr/automation/bms — this interior page canonicalizes to the homepage (https://river.hr/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://river.hr/automation/custom — this interior page canonicalizes to the homepage (https://river.hr/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://river.hr/automation/smart — this interior page canonicalizes to the homepage (https://river.hr/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://river.hr/contact — this interior page canonicalizes to the homepage (https://river.hr/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://river.hr/networking — this interior page canonicalizes to the homepage (https://river.hr/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://river.hr/networking/planning — this interior page canonicalizes to the homepage (https://river.hr/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://river.hr/networking/provisioning — this interior page canonicalizes to the homepage (https://river.hr/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://river.hr/networking/wifi — this interior page canonicalizes to the homepage (https://river.hr/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://river.hr/security — this interior page canonicalizes to the homepage (https://river.hr/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://river.hr/security/access — this interior page canonicalizes to the homepage (https://river.hr/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://river.hr/security/burglar — this interior page canonicalizes to the homepage (https://river.hr/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://river.hr/security/cctv — this interior page canonicalizes to the homepage (https://river.hr/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.
  • https://river.hr/security/fire — this interior page canonicalizes to the homepage (https://river.hr/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.

warning Orphan page (no internal inlinks)

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

warning Content only rendered by JavaScript (invisible to non-JS crawlers & AI)

Rule rendering.js_shell · Rendering · 17 occurrence(s)

  • https://river.hr/ — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://river.hr/about — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://river.hr/automation — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://river.hr/automation/audio — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://river.hr/automation/bms — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://river.hr/automation/custom — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://river.hr/automation/smart — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://river.hr/contact — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://river.hr/networking — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://river.hr/networking/planning — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://river.hr/networking/provisioning — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://river.hr/networking/wifi — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://river.hr/security — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://river.hr/security/access — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://river.hr/security/burglar — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://river.hr/security/cctv — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://river.hr/security/fire — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.

Notices (6 rules)

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

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

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

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

  • https://river.hr/ — this URL is a canonical target but has no internal links pointing to it — crawlers only learn of it via the canonical tag. Add direct internal links (or list it in the sitemap).

notice Canonical points to a different URL

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

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

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

  • https://river.hr/ — 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://river.hr/about — 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://river.hr/automation — 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://river.hr/automation/audio — 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://river.hr/automation/bms — 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://river.hr/automation/custom — 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://river.hr/automation/smart — 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://river.hr/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://river.hr/networking — 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://river.hr/networking/planning — 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://river.hr/networking/provisioning — 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://river.hr/networking/wifi — 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://river.hr/security — 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://river.hr/security/access — 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://river.hr/security/burglar — 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://river.hr/security/cctv — 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://river.hr/security/fire — 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 · 17 occurrence(s)

  • https://river.hr/ — 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://river.hr/about — 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://river.hr/automation — 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://river.hr/automation/audio — 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://river.hr/automation/bms — 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://river.hr/automation/custom — 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://river.hr/automation/smart — 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://river.hr/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://river.hr/networking — 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://river.hr/networking/planning — 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://river.hr/networking/provisioning — 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://river.hr/networking/wifi — 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://river.hr/security — 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://river.hr/security/access — 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://river.hr/security/burglar — 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://river.hr/security/cctv — 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://river.hr/security/fire — 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.
Pages (showing 17 of 17)
URLStatusIndexableWordsIn-links
https://river.hr/
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0
https://river.hr/about
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0
https://river.hr/automation
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0
https://river.hr/automation/audio
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0
https://river.hr/automation/bms
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0
https://river.hr/automation/custom
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0
https://river.hr/automation/smart
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0
https://river.hr/contact
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0
https://river.hr/networking
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0
https://river.hr/networking/planning
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0
https://river.hr/networking/provisioning
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0
https://river.hr/networking/wifi
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0
https://river.hr/security
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0
https://river.hr/security/access
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0
https://river.hr/security/burglar
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0
https://river.hr/security/cctv
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0
https://river.hr/security/fire
River Solutions — Sigurnost, automatika i mreže | Bakar
200 yes 0 0

Audit your own site — free

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

Scan your site →