Catalog / kpwirasecurity.com.my
33

SEO audit for kpwirasecurity.com.my

Welcome

other

Health 33/100 (poor) · 24 pages crawled · generated 2026-08-26

Download Markdown report (feed to ChatGPT / Claude / Cursor)
Screenshot of kpwirasecurity.com.my
24
pages crawled
23
indexable pages
17
errors
141
warnings
304
notices
2
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Security 33 13 10 37
Titles 83 4 0 19
Agent Readiness 71 0 23 47
Meta Description 71 0 23 0
Canonical 74 0 21 0
Duplicate 81 0 15 0
Content 84 0 13 30
Performance 84 0 13 64
Links 85 0 12 13
Images 90 0 8 10
Budget 99 0 1 0
Crawlability 99 0 1 2
Indexability 99 0 1 1
Cache 100 0 0 1
Headings 100 0 0 10
Robots 100 0 0 1
Social 100 0 0 46
Structured Data 100 0 0 23
Findings

Errors (2 rules)

error Mixed content on HTTPS page

Rule security.mixed_content · Security · 13 occurrence(s)

Warnings (15 rules)

warning Control has no accessible name

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

warning Noindex page receives internal links (crawl-budget waste)

Rule budget.noindex_linked · Budget · 1 occurrence(s)

  • https://www.kpwirasecurity.com.my/happen/wp-login.php — this noindex page has 13 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://kpwirasecurity.com.my/happen/, https://www.kpwirasecurity.com.my/happen/2025/07/01/static-security-guards/, https://www.kpwirasecurity.com.my/happen/2025/07/01/.

warning Duplicate page content

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

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

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

  • https://kpwirasecurity.com.my/ — http://kpwirasecurity.com.my/ 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://kpwirasecurity.com.my/ — http://www.kpwirasecurity.com.my/ 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://kpwirasecurity.com.my/ — https://www.kpwirasecurity.com.my/ 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 · 10 occurrence(s)

warning Content-Type header doesn't match the actual content

Rule headers.content_type_mismatch · Security · 10 occurrence(s)

  • https://kpwirasecurity.com.my/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://kpwirasecurity.com.my/about.html — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://kpwirasecurity.com.my/contact.html — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://kpwirasecurity.com.my/index.html — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://kpwirasecurity.com.my/service-1.html — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://kpwirasecurity.com.my/service-2.html — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://kpwirasecurity.com.my/service-3.html — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://kpwirasecurity.com.my/service-4.html — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://kpwirasecurity.com.my/service-5.html — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://kpwirasecurity.com.my/testimonial.html — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".

warning Images missing alt text

Rule images.missing_alt · Images · 8 occurrence(s)

warning Page is noindex

Rule index.noindex · Indexability · 1 occurrence(s)

warning Orphan page (no internal inlinks)

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

warning Internal link points to a redirect

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

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

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

warning Redirect chain (multiple hops)

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

Notices (24 rules)

notice Heading levels skip a level

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

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

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

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

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

  • https://kpwirasecurity.com.my/ — this page reads as very difficult (Flesch Reading Ease 16, 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://kpwirasecurity.com.my/about.html — this page reads as very difficult (Flesch Reading Ease 20, 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://kpwirasecurity.com.my/contact.html — 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://kpwirasecurity.com.my/happen — this page reads as very difficult (Flesch Reading Ease -85, 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://kpwirasecurity.com.my/happen/ — this page reads as very difficult (Flesch Reading Ease -85, 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://kpwirasecurity.com.my/index.html — this page reads as very difficult (Flesch Reading Ease 16, 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://kpwirasecurity.com.my/service-1.html — this page reads as difficult (Flesch Reading Ease 36, 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://kpwirasecurity.com.my/service-2.html — this page reads as very difficult (Flesch Reading Ease 7, 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://kpwirasecurity.com.my/service-3.html — this page reads as very difficult (Flesch Reading Ease 26, 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://kpwirasecurity.com.my/service-4.html — this page reads as very difficult (Flesch Reading Ease 6, 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://kpwirasecurity.com.my/service-5.html — this page reads as very difficult (Flesch Reading Ease 19, 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://kpwirasecurity.com.my/testimonial.html — this page reads as very difficult (Flesch Reading Ease 28, 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.kpwirasecurity.com.my/happen — this page reads as very difficult (Flesch Reading Ease -85, 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.kpwirasecurity.com.my/happen/ — this page reads as very difficult (Flesch Reading Ease -85, 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.kpwirasecurity.com.my/happen/2024/09/10/happening/ — this page reads as very difficult (Flesch Reading Ease 12, 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.kpwirasecurity.com.my/happen/2025/07/ — this page reads as very difficult (Flesch Reading Ease -77, 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.kpwirasecurity.com.my/happen/2025/07/01/ — this page reads as very difficult (Flesch Reading Ease -77, 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.kpwirasecurity.com.my/happen/2025/07/01/static-security-guards/ — 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.kpwirasecurity.com.my/happen/author/admin/ — this page reads as very difficult (Flesch Reading Ease -87, 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.kpwirasecurity.com.my/happen/category/vip-security/ — this page reads as very difficult (Flesch Reading Ease -84, 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 noarchive directive (blocks cached copy)

Rule directives.noarchive · Indexability · 1 occurrence(s)

notice Multiple <h1> elements

Rule h1.multiple · Headings · 10 occurrence(s)

notice Likely hero image lacks fetchpriority=high

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

  • https://kpwirasecurity.com.my/ — the likely hero/LCP image (carousel-1.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://kpwirasecurity.com.my/about.html — the likely hero/LCP image (icon-07-primary.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://kpwirasecurity.com.my/contact.html — the likely hero/LCP image (icon-02-light.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://kpwirasecurity.com.my/index.html — the likely hero/LCP image (carousel-1.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://kpwirasecurity.com.my/service-1.html — the likely hero/LCP image (about-1.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://kpwirasecurity.com.my/service-2.html — the likely hero/LCP image (about-1.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://kpwirasecurity.com.my/service-3.html — the likely hero/LCP image (about-1.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://kpwirasecurity.com.my/service-4.html — the likely hero/LCP image (about-1.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://kpwirasecurity.com.my/service-5.html — the likely hero/LCP image (about-1.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://kpwirasecurity.com.my/testimonial.html — the likely hero/LCP image (testimonial-1.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.

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

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

notice Internal link has no anchor text / accessible name

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

notice Legacy <meta name=keywords> tag present (Google ignores it)

Rule meta.keywords_present · Content · 10 occurrence(s)

notice Missing Open Graph tags

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

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

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

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

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

  • https://kpwirasecurity.com.my/happen — 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://kpwirasecurity.com.my/happen/ — 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://www.kpwirasecurity.com.my/happen — 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://www.kpwirasecurity.com.my/happen/ — 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://www.kpwirasecurity.com.my/happen/2024/09/ — 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://www.kpwirasecurity.com.my/happen/2024/09/10/ — 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://www.kpwirasecurity.com.my/happen/2024/09/10/happening/ — 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://www.kpwirasecurity.com.my/happen/2025/07/ — 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://www.kpwirasecurity.com.my/happen/2025/07/01/ — 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://www.kpwirasecurity.com.my/happen/2025/07/01/static-security-guards/ — 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://www.kpwirasecurity.com.my/happen/author/admin/ — 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://www.kpwirasecurity.com.my/happen/category/uncategorized/ — 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://www.kpwirasecurity.com.my/happen/category/vip-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://www.kpwirasecurity.com.my/happen/wp-login.php — 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 · 14 occurrence(s)

  • https://kpwirasecurity.com.my/happen — 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://kpwirasecurity.com.my/happen/ — 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.kpwirasecurity.com.my/happen — 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.kpwirasecurity.com.my/happen/ — 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.kpwirasecurity.com.my/happen/2024/09/ — 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.kpwirasecurity.com.my/happen/2024/09/10/ — 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.kpwirasecurity.com.my/happen/2024/09/10/happening/ — 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.kpwirasecurity.com.my/happen/2025/07/ — 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.kpwirasecurity.com.my/happen/2025/07/01/ — 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.kpwirasecurity.com.my/happen/2025/07/01/static-security-guards/ — 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.kpwirasecurity.com.my/happen/author/admin/ — 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.kpwirasecurity.com.my/happen/category/uncategorized/ — 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.kpwirasecurity.com.my/happen/category/vip-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://www.kpwirasecurity.com.my/happen/wp-login.php — 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 · 3 occurrence(s)

notice URL redirects to another URL

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

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

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

  • https://kpwirasecurity.com.my/ — 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 · 24 occurrence(s)

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

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

notice Title tag is identical to the H1 (missed keyword variation)

Rule title.same_as_h1 · Titles · 2 occurrence(s)

Pages (showing 24 of 24)
URLStatusIndexableWordsIn-links
https://kpwirasecurity.com.my/about.html
Welcome
200 yes 200 23
https://kpwirasecurity.com.my/contact.html
Welcome
200 yes 155 23
https://kpwirasecurity.com.my/index.html
Welcome
200 yes 324 23
https://kpwirasecurity.com.my/service-1.html
Welcome
200 yes 414 23
https://kpwirasecurity.com.my/service-2.html
Welcome
200 yes 358 23
https://kpwirasecurity.com.my/service-3.html
Welcome
200 yes 383 23
https://kpwirasecurity.com.my/service-4.html
Welcome
200 yes 310 23
https://kpwirasecurity.com.my/service-5.html
Welcome
200 yes 326 23
https://kpwirasecurity.com.my/testimonial.html
Welcome
200 yes 282 23
https://kpwirasecurity.com.my/happen 200 yes 117 10
https://www.kpwirasecurity.com.my/happen/ 200 yes 117 16
https://www.kpwirasecurity.com.my/happen/2024/09/
September 2024
200 yes 90 13
https://www.kpwirasecurity.com.my/happen/2024/09/10/happening/
Happening
200 yes 179 13
https://www.kpwirasecurity.com.my/happen/2025/07/
July 2025
200 yes 107 13
https://www.kpwirasecurity.com.my/happen/2025/07/01/static-security-guards/
STATIC SECURITY GUARDS
200 yes 271 13
https://www.kpwirasecurity.com.my/happen/author/admin/
admin
200 yes 119 13
https://www.kpwirasecurity.com.my/happen/category/uncategorized/
Uncategorized
200 yes 90 13
https://www.kpwirasecurity.com.my/happen/category/vip-security/
VIP SECURITY
200 yes 109 13
https://www.kpwirasecurity.com.my/happen/wp-login.php
Log In ‹ — WordPress
200 no 16 13
https://www.kpwirasecurity.com.my/happen/2024/09/10/
September 10, 2024
200 yes 91 9
https://www.kpwirasecurity.com.my/happen/2025/07/01/
July 1, 2025
200 yes 108 9
https://kpwirasecurity.com.my/
Welcome
200 yes 324 0
https://kpwirasecurity.com.my/happen/ 200 yes 117 0
https://www.kpwirasecurity.com.my/happen 200 yes 117 0

Audit your own site — free

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

Scan your site →