Catalog / odharris.com
71

SEO audit for odharris.com

OD Harris | Chandler City Vice Mayor | Councilmember | People-First Leadership

mediaWix

Health 71/100 (fair) · 10 pages crawled · generated 2026-08-26

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

OD Harris is a Chandler City Vice Mayor and people-first leader focused on smart growth, transportation, and quality of life. Explore priorities, updates, media, and ways to connect—plus his business…

Screenshot of odharris.com
10
pages crawled
6
indexable pages
0
errors
13
warnings
88
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Budget 88 0 4 0
Indexability 88 0 4 0
Content 94 0 2 11
Titles 94 0 2 4
Headings 97 0 1 1
Agent Readiness 100 0 0 1
Canonical 100 0 0 2
Images 100 0 0 16
Links 100 0 0 2
Meta Description 100 0 0 6
Performance 100 0 0 28
Security 100 0 0 10
Structured Data 100 0 0 3
URL 100 0 0 4
Findings

Warnings (5 rules)

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

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

  • https://www.odharris.com/blog/hashtags/MindfulMantrasforLeaders — this noindex page has 1 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://www.odharris.com/post/i-embrace-self-love-knowing-that-my-confidence-and-compassion-fuel-my-leadership-journey.
  • https://www.odharris.com/blog/hashtags/Odharris — this noindex page has 1 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://www.odharris.com/post/i-embrace-self-love-knowing-that-my-confidence-and-compassion-fuel-my-leadership-journey.
  • https://www.odharris.com/blog/hashtags/QuantumLeapofLeadership — this noindex page has 1 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://www.odharris.com/post/leaders-of-intentions-by-od-harris.
  • https://www.odharris.com/blog/hashtags/odharris — this noindex page has 1 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://www.odharris.com/post/leaders-of-intentions-by-od-harris.

warning Thin content (low word count)

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

warning Missing <h1>

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

warning Page is noindex

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

warning Title likely truncated in SERP (too wide)

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

Notices (19 rules)

notice Heading levels skip a level

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

notice Canonical points to a different URL

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

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

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

  • https://www.odharris.com/ — this page reads as difficult (Flesch Reading Ease 42, 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.odharris.com/about — this page reads as difficult (Flesch Reading Ease 41, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.odharris.com/blog — this page reads as very difficult (Flesch Reading Ease 30, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.odharris.com/contact-now — 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.odharris.com/post/i-embrace-self-love-knowing-that-my-confidence-and-compassion-fuel-my-leadership-journey — this page reads as difficult (Flesch Reading Ease 44, 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 Multiple <h1> elements

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

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

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

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

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

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

notice Likely hero image lacks fetchpriority=high

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

  • https://www.odharris.com/ — the likely hero/LCP image (84770f_4f2cde8799e24f63855d40280b99b191~mv2.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.odharris.com/blog — the likely hero/LCP image (c837a6_df04287e4d3844e29192caafe51d6066~mv2.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.odharris.com/blog/hashtags/MindfulMantrasforLeaders — the likely hero/LCP image (c837a6_df04287e4d3844e29192caafe51d6066~mv2.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.odharris.com/blog/hashtags/Odharris — the likely hero/LCP image (c837a6_df04287e4d3844e29192caafe51d6066~mv2.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.odharris.com/blog/hashtags/QuantumLeapofLeadership — the likely hero/LCP image (c837a6_df04287e4d3844e29192caafe51d6066~mv2.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.odharris.com/blog/hashtags/odharris — the likely hero/LCP image (c837a6_df04287e4d3844e29192caafe51d6066~mv2.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.odharris.com/post/i-embrace-self-love-knowing-that-my-confidence-and-compassion-fuel-my-leadership-journey — the likely hero/LCP image (f44f27_b9d72e3e1bbe486db447fa69c29962b3~mv2.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.odharris.com/post/leaders-of-intentions-by-od-harris — the likely hero/LCP image (f44f27_f1c939e634124dadb90f16da1a58e6c8~mv2.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.

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

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

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

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

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

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

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

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

  • https://www.odharris.com/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.odharris.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://www.odharris.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://www.odharris.com/blog/hashtags/MindfulMantrasforLeaders — 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.odharris.com/blog/hashtags/Odharris — 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.odharris.com/blog/hashtags/QuantumLeapofLeadership — 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.odharris.com/blog/hashtags/odharris — 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.odharris.com/contact-now — 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.odharris.com/post/i-embrace-self-love-knowing-that-my-confidence-and-compassion-fuel-my-leadership-journey — 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.odharris.com/post/leaders-of-intentions-by-od-harris — 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 No structured data detected

Rule schema.none · Structured Data · 3 occurrence(s)

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

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

notice Title is very short

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

notice URL is very long

Rule url.too_long · URL · 1 occurrence(s)

Pages (showing 10 of 10)
URLStatusIndexableWordsIn-links
https://www.odharris.com/
OD Harris | Chandler City Vice Mayor | Councilmember | People-First Leadership
200 yes 493 10
https://www.odharris.com/about
OD Harris official biography
200 yes 597 10
https://www.odharris.com/blog
OD Harris BLOG | People First Insights
200 yes 154 10
https://www.odharris.com/contact-now
OD Harris | Contact Now | Hire Now | Book Now
200 yes 110 10
https://www.odharris.com/blog/hashtags/MindfulMantrasforLeaders
#MindfulMantrasforLeaders
200 no 145 1
https://www.odharris.com/blog/hashtags/Odharris
#Odharris
200 no 154 1
https://www.odharris.com/blog/hashtags/QuantumLeapofLeadership
#QuantumLeapofLeadership
200 no 135 1
https://www.odharris.com/blog/hashtags/odharris
#odharris
200 no 154 1
https://www.odharris.com/post/i-embrace-self-love-knowing-that-my-confidence-and-compassion-fuel-my-leadership-journey
" I embrace self-love, knowing that my confidence and compassion fuel my leadership journey." OD Harris
200 yes 357 1
https://www.odharris.com/post/leaders-of-intentions-by-od-harris
Leaders are Intentional by OD Harris
200 yes 974 1

Audit your own site — free

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

Scan your site →