Catalog / cloudy-digital.com
65

SEO audit for cloudy-digital.com

الرئيسية | وكالة التسويق الرقمي

saas

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

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

cloudy Digital - وكالة تسويق رقمي متكاملة. تصميم مواقع، سوشيال ميديا، SEO، إعلانات جوجل.

Screenshot of cloudy-digital.com
18
pages crawled
18
indexable pages
0
errors
52
warnings
267
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Agent Readiness 70 0 18 37
Canonical 70 0 18 0
Duplicate 88 0 7 16
Content 93 0 4 0
Titles 93 0 4 0
Performance 98 0 1 63
Cache 100 0 0 18
Images 100 0 0 14
Links 100 0 0 13
Meta Description 100 0 0 16
Security 100 0 0 36
Social 100 0 0 36
Structured Data 100 0 0 18
Findings

Warnings (7 rules)

warning Control has no accessible name

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

warning Homepage duplicated across protocol/host variants (no redirect)

Rule duplicate.protocol_host · Duplicate · 3 occurrence(s)

  • https://cloudy-digital.com/ — http://cloudy-digital.com/ serves the same homepage content with a 200 and no redirect — Google sees a duplicate. Pick one canonical host/scheme and 301-redirect the others.
  • https://cloudy-digital.com/ — http://www.cloudy-digital.com/ serves the same homepage content with a 200 and no redirect — Google sees a duplicate. Pick one canonical host/scheme and 301-redirect the others.
  • https://cloudy-digital.com/ — https://www.cloudy-digital.com/ serves the same homepage content with a 200 and no redirect — Google sees a duplicate. Pick one canonical host/scheme and 301-redirect the others.

warning Duplicate <title> across pages

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

warning Hero/LCP image is lazy-loaded (loading=lazy delays LCP)

Rule images.no_lazy_lcp_candidate · Performance · 1 occurrence(s)

  • https://cloudy-digital.com/portfolio — the likely hero/LCP image (x0taj1el7qgxotainskc9gjz6ypuwdpd99ohuifj.jpg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.

Notices (18 rules)

notice Heading levels skip a level

Rule agent.heading_skip · Agent Readiness · 18 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 · 18 occurrence(s)

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

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

notice Duplicate meta description across pages

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

notice Likely hero image lacks fetchpriority=high

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

  • https://cloudy-digital.com/blog — the likely hero/LCP image (1779537517_o0aegzmm.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://cloudy-digital.com/blog/aman-mtlk-hmay-byanatk-maa-klaody-cloudy-1779531057 — the likely hero/LCP image (1779531057_2bores3n.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://cloudy-digital.com/blog/bday-thky-bakat-mrn-tnasbk-maa-klaody-cloudy-1779537517 — the likely hero/LCP image (1779537517_o0aegzmm.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://cloudy-digital.com/blog/khart-alnmo-althky-mn-cloudy-1779529279 — the likely hero/LCP image (1779529279_lng4cygf.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://cloudy-digital.com/blog/ko-albyanat-oalarkam-maa-cloudy-1779529352 — the likely hero/LCP image (1779529352_c2xaioou.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://cloudy-digital.com/blog/lgh-alaloan-oalrmoz-maa-cloudy-1779528427 — the likely hero/LCP image (1779528427_s4elosag.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://cloudy-digital.com/blog/mbyaaat-mdaaaf-adoat-tsoyky-thky-maa-klaody-cloudy-1779530017 — the likely hero/LCP image (1779530017_ehsiczlx.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://cloudy-digital.com/blog/mktb-mtkaml-arfaa-mlkhsatk-oktbk-aabr-cloudy-klaody-1779529547 — the likely hero/LCP image (1779529547_zd82z8ik.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://cloudy-digital.com/blog/mtabaa-thky-tkaryr-aladaaa-alfory-maa-cloudy-klaody-1779529197 — the likely hero/LCP image (1779529197_ytzrcpkr.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://cloudy-digital.com/blog/snaaa-alryad-alsoky-maa-cloudy-1779529436 — the likely hero/LCP image (1779529436_kchtcnwy.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://cloudy-digital.com/blog?page=2 — the likely hero/LCP image (1779528409_6paboeyx.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://cloudy-digital.com/blog?page=3 — the likely hero/LCP image (1779526018_iavq5jme.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://cloudy-digital.com/blog?page=8 — the likely hero/LCP image (1779353896_c4qmxkx5.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.

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

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

notice Internal link has no anchor text / accessible name

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

  • https://cloudy-digital.com/blog — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://cloudy-digital.com/blog?page=2 — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://cloudy-digital.com/blog?page=3 — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://cloudy-digital.com/blog?page=8 — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.

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

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

notice Missing Open Graph tags

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

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

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

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

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

  • https://cloudy-digital.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://cloudy-digital.com/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://cloudy-digital.com/blog — 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://cloudy-digital.com/blog/aman-mtlk-hmay-byanatk-maa-klaody-cloudy-1779531057 — 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://cloudy-digital.com/blog/bday-thky-bakat-mrn-tnasbk-maa-klaody-cloudy-1779537517 — 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://cloudy-digital.com/blog/khart-alnmo-althky-mn-cloudy-1779529279 — 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://cloudy-digital.com/blog/ko-albyanat-oalarkam-maa-cloudy-1779529352 — 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://cloudy-digital.com/blog/lgh-alaloan-oalrmoz-maa-cloudy-1779528427 — 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://cloudy-digital.com/blog/mbyaaat-mdaaaf-adoat-tsoyky-thky-maa-klaody-cloudy-1779530017 — 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://cloudy-digital.com/blog/mktb-mtkaml-arfaa-mlkhsatk-oktbk-aabr-cloudy-klaody-1779529547 — 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://cloudy-digital.com/blog/mtabaa-thky-tkaryr-aladaaa-alfory-maa-cloudy-klaody-1779529197 — 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://cloudy-digital.com/blog/snaaa-alryad-alsoky-maa-cloudy-1779529436 — 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://cloudy-digital.com/blog?page=2 — 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://cloudy-digital.com/blog?page=3 — 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://cloudy-digital.com/blog?page=8 — 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://cloudy-digital.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://cloudy-digital.com/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://cloudy-digital.com/services — 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 · 18 occurrence(s)

  • https://cloudy-digital.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://cloudy-digital.com/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://cloudy-digital.com/blog — 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://cloudy-digital.com/blog/aman-mtlk-hmay-byanatk-maa-klaody-cloudy-1779531057 — 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://cloudy-digital.com/blog/bday-thky-bakat-mrn-tnasbk-maa-klaody-cloudy-1779537517 — 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://cloudy-digital.com/blog/khart-alnmo-althky-mn-cloudy-1779529279 — 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://cloudy-digital.com/blog/ko-albyanat-oalarkam-maa-cloudy-1779529352 — 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://cloudy-digital.com/blog/lgh-alaloan-oalrmoz-maa-cloudy-1779528427 — 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://cloudy-digital.com/blog/mbyaaat-mdaaaf-adoat-tsoyky-thky-maa-klaody-cloudy-1779530017 — 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://cloudy-digital.com/blog/mktb-mtkaml-arfaa-mlkhsatk-oktbk-aabr-cloudy-klaody-1779529547 — 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://cloudy-digital.com/blog/mtabaa-thky-tkaryr-aladaaa-alfory-maa-cloudy-klaody-1779529197 — 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://cloudy-digital.com/blog/snaaa-alryad-alsoky-maa-cloudy-1779529436 — 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://cloudy-digital.com/blog?page=2 — 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://cloudy-digital.com/blog?page=3 — 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://cloudy-digital.com/blog?page=8 — 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://cloudy-digital.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://cloudy-digital.com/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://cloudy-digital.com/services — 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 Missing recommended security headers

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

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

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

Pages (showing 18 of 18)
URLStatusIndexableWordsIn-links
https://cloudy-digital.com/
الرئيسية | وكالة التسويق الرقمي
200 yes 572 18
https://cloudy-digital.com/about
عن الشركة | وكالة التسويق الرقمي
200 yes 269 18
https://cloudy-digital.com/blog
المدونة | وكالة التسويق الرقمي
200 yes 319 18
https://cloudy-digital.com/contact
تواصل معنا | وكالة التسويق الرقمي
200 yes 235 18
https://cloudy-digital.com/portfolio
أعمالنا | وكالة التسويق الرقمي
200 yes 414 18
https://cloudy-digital.com/services
الخدمات | وكالة التسويق الرقمي
200 yes 446 18
https://cloudy-digital.com/blog?page=8
المدونة | وكالة التسويق الرقمي
200 yes 308 3
https://cloudy-digital.com/blog?page=2
المدونة | وكالة التسويق الرقمي
200 yes 319 2
https://cloudy-digital.com/blog?page=3
المدونة | وكالة التسويق الرقمي
200 yes 322 2
https://cloudy-digital.com/blog/aman-mtlk-hmay-byanatk-maa-klaody-cloudy-1779531057
"أمان مطلق: حماية بياناتك مع كلاودي | Cloudy" | وكالة التسويق الرقمي
200 yes 213 1
https://cloudy-digital.com/blog/bday-thky-bakat-mrn-tnasbk-maa-klaody-cloudy-1779537517
"بداية ذكية: باقات مرنة تناسبك مع كلاودي | Cloudy" | وكالة التسويق الرقمي
200 yes 217 1
https://cloudy-digital.com/blog/khart-alnmo-althky-mn-cloudy-1779529279
خارطة النمو الذكي من CLOUDY | وكالة التسويق الرقمي
200 yes 177 1
https://cloudy-digital.com/blog/ko-albyanat-oalarkam-maa-cloudy-1779529352
قوة البيانات والأرقام مع CLOUDY | وكالة التسويق الرقمي
200 yes 181 1
https://cloudy-digital.com/blog/lgh-alaloan-oalrmoz-maa-cloudy-1779528427
لغة الألوان والرموز مع CLOUDY | وكالة التسويق الرقمي
200 yes 179 1
https://cloudy-digital.com/blog/mbyaaat-mdaaaf-adoat-tsoyky-thky-maa-klaody-cloudy-1779530017
"مبيعات مضاعفة: أدوات تسويقية ذكية مع كلاودي | Cloudy" | وكالة التسويق الرقمي
200 yes 211 1
https://cloudy-digital.com/blog/mktb-mtkaml-arfaa-mlkhsatk-oktbk-aabr-cloudy-klaody-1779529547
"مكتبة متكاملة: ارفع ملخصاتك وكتبك عبر Cloudy كـلاودي" | وكالة التسويق الرقمي
200 yes 211 1
https://cloudy-digital.com/blog/mtabaa-thky-tkaryr-aladaaa-alfory-maa-cloudy-klaody-1779529197
متابعة ذكية: تقارير الأداء الفورية مع Cloudy كـلاودي" | وكالة التسويق الرقمي
200 yes 207 1
https://cloudy-digital.com/blog/snaaa-alryad-alsoky-maa-cloudy-1779529436
صناعة الريادة السوقية مع CLOUDY | وكالة التسويق الرقمي
200 yes 180 1

Audit your own site — free

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

Scan your site →