0 high · 2 medium · 13 low · 9 to get ahead
No key-takeaways / TL;DR block · No table of contents · No comparison table · No entity sameAs links · No llms.txt · No EntityMap published
Issues affecting crawlability, indexing and trust
Elements the competitors have that this page doesn't
The page proves its picks with lab metrics (torsional rigidity, shock absorption scores) but never helps the reader diagnose their own flat-foot type first, while the competitors that build trust (Doctors of Running, Solereview) lead with diagnosis or personal flat-feet experience before recommending anything.
Your first measured score — the line starts from zero (no prior data). Re-audit after changes and it continues from here.
| Authority Signals | llms.txt | 2/4 competitors |
| Data & Evidence | Expert quotations | 1/4 competitors |
| Content Depth | TL;DR block | 1/4 competitors |
| Content Depth | Table of contents | 1/4 competitors |
Ranked by how many of the competitors already have it. Elements none of them carry are left out.
| Signal | runrepeat.com | www.solereview.com | www.doctorsofrunning.com | www.reddit.com | www.macys.com |
|---|---|---|---|---|---|
| Target phrase used verbatim | ✓ H1: "Best Running Shoes For Flat Feet" | ✓ title: "Best running shoes for flat feet" | ◐ "Shoes for Flat Feet Runners" | ◐ "suggestions for flat feet" | – title names only the Brooks product |
| Plain definitional sentence in opening | – opens with a brand promise, no definition | – opens with changelog, no definition | – opens with personal anecdote | – opens with a removed-post notice | – opens with product tagline |
| Sourced/attributed statistic | ✓ 13 lab stats, e.g. "0.72 traction score" | ◐ only 1 stat, a share count (5.7K) | – no numeric stats in excerpt | ◐ 6 numbers, mostly mileage in comments | ✓ "4.4 rating, 9,842 reviews" |
| Concrete pricing | – no price visible in excerpt | – no price shown | – no price shown | – no price shown | ✓ product page with live price |
| Named case study / personal experience | ◐ "flat footers among us" testers, unnamed | – no personal narrative, product-only | ✓ author's own flat-feet running story | ✓ commenters share their own shoe picks | – no personal narrative |
| Trust/authority signals | ✓ "Why trust us" + lab methodology link | ◐ named editors, dated changelog | ◐ author name + "Content Manager" role | ◐ community upvotes only | ✓ 9,842 ratings, 646 customer photos |
| FAQ block | ✓ "Are there lightweight shoes for flat feet?" | ✓ FAQ present per audit | ✓ FAQ present per audit | ◐ open questions in comments, not structured | ◐ shipping/returns FAQ only |
| Visible freshness/updated date | ◐ byline "Jul 20, 2020" vs title "2026" | ✓ "updated ... for November 2023" | ✓ "June 26, 2023" | ✓ "9mo ago" | – no visible publish/update date |
✓ present ◐ partial – missing · each cell shows that page's own specific, grounded in the rendered pages.
Share of sentences that state a fact cleanly enough to quote — a plain “X is Y / X does Y” an answer engine can lift and attribute. You 53% vs competitor median 51%. Of 217 sentences: 192 statements, 8 questions, 17 calls-to-action — but only 116 state a fact cleanly enough to quote, which is the 53%.
About half the page's sentences are plain declarative statements, but the rest lean on soft transitional phrasing ("however", "note that") rather than direct claims, which slightly weakens how quotable individual sentences are.
Whether the page links its key entities to a knowledge graph (a sameAs to Wikidata/Wikipedia) so answer engines can resolve and attribute them. Your page doesn't yet link its entities to the knowledge graph. 0 of 4 competitors do. Almost no page does this, so it's a cheap, ownable edge.
The page names several real shoe brands and models (adidas, Saucony, Brooks, HOKA, ASICS) plus its own testing methodology, but none of these are grounded to the knowledge graph, and there's no entitymap.json linking the brand, its methodology, or the shoe models to verifiable external identities.
None of these are grounded on your page yet — this is the fix, not the current state. ✓ = a Wikidata match is ready to use in the suggested EntityMap; unmarked = you still need to find a sameAs. These come from the EntityMap in the fixes below — paste it into your JSON-LD or entitymap.json.
How cleanly an answer engine can lift a self-contained answer or definition from the page.
The page never states in one plain sentence what a 'flat feet running shoe' actually is before diving into product picks, and several paragraphs open with "However" or "It" rather than naming the shoe, which makes them harder to lift as standalone answers.
Open the action plan for every item with its fix.
I can apply the fixes below for you, from the schema and structured data to the content and technical changes, so the page is ready to be cited, not just diagnosed.
Have it done for you →Grouped by priority — technical, competitor and content gaps together. Where a ready-made fix exists, open the ▸ link beneath the item for paste-ready code, wording or an example; the rest describe what to change. “Get ahead” is what none of the competitors do yet.
No knowledge-graph grounding at all — no Organization JSON-LD, no sameAs, no EntityMap. Add a sitewide Organization node with an @id and a sameAs to Wikidata/Wikipedia so answer engines can resolve and attribute your entities.
The durable fix — add this block to every page (put it in your site-wide template), inside <head>. The @id is a permanent tag your other pages reuse to point at “this is us”; the sameAs links tell answer engines exactly which real-world company you are — replace the placeholders with your real Wikipedia and Wikidata page URLs:
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Organization", "@id": "https://runrepeat.com/#organization", "name": "RunRepeat", "url": "https://runrepeat.com", "logo": "https://runrepeat.com/logo.png", "sameAs": [ "https://en.wikipedia.org/wiki/RunRepeat", "https://www.wikidata.org/wiki/Q_________" ] } </script>
Macy's shows 4.4 stars from 9,842 ratings plus 646 customer photos; Reddit shows genuine upvote-based consensus. RunRepeat has star icons but no AggregateRating schema or visible review count.
Suggested heading: What real buyers say
Quote a named expert or authority relevant to the topic.
You: no uses quotations · Competitors: 1/4 have it
At ~1337px it may be cut off.
<meta name="description" content="The 7 best running shoes for flat feet based on extensive wear and lab testing.">
Headings jump levels (e.g. H2 to H4).
Fix: Use headings in order (no skipped levels).
No key-takeaways / TL;DR block near the top — a compact, highly quotable summary.
Drop this near the top of the page:
<p class="tldr"><strong>TL;DR:</strong> RunRepeat's guide ranks the 7 best running shoes for flat feet in 2026 using in-lab wear testing rather than opinion. It awards category winners for overall support, shock absorption, energy return, daily use, weight, and traction, each backed by measured data like torsional rigidity and outsole grip scores from testers who have flat feet themselves.</p>
No plain “X is a Y” definition near the top — the sentence answer engines lift to say what this is.
Fix: State plainly what the page is about near the top: “X is a Y that…”.
2 of 379 images missing alt.
Add descriptive alt text to each image — say what it shows, skip “image of” (replace the sample wording):
<img loading="lazy" src="https://cdn.runrepeat.com/storage/gallery/buying_guide/3/flat-feet-high-arches-13329773-main-217622…" srcset="https://cdn.runrepeat.com/storage/gallery/buying_guide/3/flat-feet-high-arches-13329773-main-217622…" sizes="(max-width: 768px) calc(100vw - 30px), 720px" data-zoom-src="https://cdn.runrepeat.com/storage/gallery/buying_guide/3/flat-feet-high-arches-13329773-main-217622…" width="720" height="420"><img loading="lazy" src="https://cdn.runrepeat.com/storage/gallery/buying_guide/3/flat-feet-high-arches-13329773-main-217622…" srcset="https://cdn.runrepeat.com/storage/gallery/buying_guide/3/flat-feet-high-arches-13329773-main-217622…" sizes="(max-width: 768px) calc(100vw - 30px), 720px" data-zoom-src="https://cdn.runrepeat.com/storage/gallery/buying_guide/3/flat-feet-high-arches-13329773-main-217622…" width="720" height="420" alt="Describe what the image shows">
<img loading="lazy" src="https://cdn.runrepeat.com/storage/gallery/buying_guide/3/guide-foot-type-uppers-19272732-main-21482…" srcset="https://cdn.runrepeat.com/storage/gallery/buying_guide/3/guide-foot-type-uppers-19272732-main-21482…" sizes="(max-width: 768px) calc(100vw - 30px), 720px" data-zoom-src="https://cdn.runrepeat.com/storage/gallery/buying_guide/3/guide-foot-type-uppers-19272732-main-21482…" width="720" height="301"><img loading="lazy" src="https://cdn.runrepeat.com/storage/gallery/buying_guide/3/guide-foot-type-uppers-19272732-main-21482…" srcset="https://cdn.runrepeat.com/storage/gallery/buying_guide/3/guide-foot-type-uppers-19272732-main-21482…" sizes="(max-width: 768px) calc(100vw - 30px), 720px" data-zoom-src="https://cdn.runrepeat.com/storage/gallery/buying_guide/3/guide-foot-type-uppers-19272732-main-21482…" width="720" height="301" alt="Describe what the image shows">
1 images missing width/height.
Add each image’s real pixel width and height so the browser reserves space — replace WIDTH and HEIGHT with the image’s actual dimensions:
<img loading="lazy" src="https://cdn.runrepeat.com/storage/images/experts/jovana-subic-sm.jpg" alt="Jovana Subic" data-v-759648b2=""><img loading="lazy" src="https://cdn.runrepeat.com/storage/images/experts/jovana-subic-sm.jpg" alt="Jovana Subic" data-v-759648b2="" width="WIDTH" height="HEIGHT">
1 render-blocking script(s) in <head>.
Add defer so each head script loads without blocking the first paint:
<script type="module" src="https://assets.runrepeat.com/_nuxt/C6x0Wjt2.js" crossorigin=""><script type="module" src="https://assets.runrepeat.com/_nuxt/C6x0Wjt2.js" crossorigin="" defer>
2349 DOM elements.
Fix: Reduce the number of DOM elements — flatten deep nesting and split very long pages.
1 target=_blank links without rel=noopener.
Add rel="noopener" to each target="_blank" link so the new tab can’t reach back into your page:
<a href="/about" target="_blank" data-v-f190972e=""><a href="/about" target="_blank" data-v-f190972e="" rel="noopener">
CSP helps guard against cross-site scripting.
Set on your server, or add a Cloudflare Transform Rule (Modify Response Header):
Content-Security-Policy: default-src 'self'; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'; script-src 'self' (tailor to your site; test in report-only first)
Prevents URLs leaking on downgrade.
Set on your server, or add a Cloudflare Transform Rule (Modify Response Header):
Referrer-Policy: strict-origin-when-cross-origin2 of the competitors publish an /llms.txt and you don't — it points AI crawlers straight at your key pages.
Save as llms.txt at your site root (https://runrepeat.com/llms.txt):
# RunRepeat > Independent running and sneaker review site that lab-tests shoes and publishes data-backed buying guides. ## Guides - [Best Running Shoes For Flat Feet](https://runrepeat.com/guides/best-flat-feet-running-shoes): Lab-tested picks for flat-footed runners, ranked by category (overall, shock absorption, energy return, daily trainer, lightweight, traction, durability) ## About - [How We Test](https://runrepeat.com/how-we-test): Methodology for lab and wear testing - [About RunRepeat](https://runrepeat.com/about): Site background and testing lab
A simple at-home wet-footprint test readers can do before buying, showing how to tell flexible vs rigid flat feet from the footprint shape.
Combine the guide's own durability testing with price to show a rough cost-per-mile for each shoe, a value metric none of the competitors calculate.
A table showing which of the 7 picks come in narrow/wide widths and half sizes, since flat-footed runners often need a wider toe box.
Brief, sourced context on the actual injury risks associated with untreated flat feet in runners (e.g. plantar fasciitis, shin splints), reviewed or quoted by a podiatrist.
A table with clear headers is a format AI answers pull directly for “best/compare/vs” queries.
Add a real HTML <table> (not an image or a set of divs) with a clear header row — engines lift these directly for “compare / vs / best” queries. Put the things you're comparing as columns and the features as rows:
<table> <thead> <tr><th>Feature</th><th>Option A</th><th>Option B</th></tr> </thead> <tbody> <tr><td>What it covers</td><td>Yes</td><td>No</td></tr> <tr><td>Price / from</td><td>…</td><td>…</td></tr> </tbody> </table>
A short summary of the main points near the top gives AI a clean, quotable answer.
You: not on your page · Competitors: 1/4 have it
Drop this near the top of the page:
<p class="tldr"><strong>TL;DR:</strong> RunRepeat's guide ranks the 7 best running shoes for flat feet in 2026 using in-lab wear testing rather than opinion. It awards category winners for overall support, shock absorption, energy return, daily use, weight, and traction, each backed by measured data like torsional rigidity and outsole grip scores from testers who have flat feet themselves.</p>
Jump-links help both readers and AI segment and cite the right section.
You: not on your page · Competitors: 1/4 have it
None of your competitors publish an EntityMap yet — doing it now puts you in front of the field. It's a machine-readable index of your key concepts, each linked to Wikidata, that AI answer engines read directly.
A complete EntityMap for your site, ready to publish — each Wikidata/Wikipedia sameAs link has been checked and any that didn't resolve were removed. Save it as entitymap.json at your site root (https://runrepeat.com/entitymap.json) and link it from your homepage. Spec: entitymap.org.
{ "version": "1.0", "schema": "https://entitymap.org/spec/v1.0", "publisher": { "name": "RunRepeat", "url": "https://runrepeat.com", "sameAs": [] }, "generated": "2026-08-13", "entities": [ { "entityId": "e_001", "@type": "Organization", "name": "RunRepeat", "description": "Independent running shoe and sneaker review site that lab-tests footwear and publishes data-driven buying guides.", "sameAs": "", "relations": [ { "predicate": "publishes", "targetId": "e_002", "targetName": "Best Running Shoes For Flat Feet guide" } ], "hasChunks": [] }, { "entityId": "e_002", "@type": "DefinedTerm", "name": "Best Running Shoes For Flat Feet guide", "description": "RunRepeat's annually updated buying guide ranking running shoes for flat-footed runners based on lab and wear testing.", "sameAs": "", "relations": [ { "predicate": "about", "targetId": "e_003", "targetName": "Flat feet" } ], "hasChunks": [] }, { "entityId": "e_003", "@type": "DefinedTerm", "name": "Flat feet", "description": "A foot condition where the arch is low or absent, often associated with overpronation during running.", "sameAs": "https://www.wikidata.org/wiki/Q844839", "relations": [], "hasChunks": [] }, { "entityId": "e_004", "@type": "Product", "name": "adidas Supernova Solution 3", "description": "RunRepeat's overall top pick for flat feet, a mild stability shoe with the Guide Your Ride system.", "sameAs": "", "relations": [ { "predicate": "madeBy", "targetId": "e_008", "targetName": "Adidas" } ], "hasChunks": [] }, { "entityId": "e_005", "@type": "Product", "name": "Saucony Hurricane 25", "description": "RunRepeat's pick for best shock absorption among flat-feet running shoes, a maximalist stability trainer.", "sameAs": "", "relations": [ { "predicate": "madeBy", "targetId": "e_009", "targetName": "Saucony" } ], "hasChunks": [] }, { "entityId": "e_006", "@type": "Product", "name": "Brooks Adrenaline GTS 25", "description": "RunRepeat's pick for best daily trainer for flat feet, featuring Brooks' GuideRails support system.", "sameAs": "", "relations": [ { "predicate": "madeBy", "targetId": "e_010", "targetName": "Brooks" } ], "hasChunks": [] }, { "entityId": "e_007", "@type": "Product", "name": "ASICS Gel Kayano 33", "description": "RunRepeat's pick for best traction among flat-feet running shoes, using Hybrid ASICSGRIP rubber.", "sameAs": "", "relations": [ { "predicate": "madeBy", "targetId": "e_011", "targetName": "ASICS" } ], "hasChunks": [] }, { "entityId": "e_008", "@type": "Organization", "name": "Adidas", "description": "German sportswear and footwear manufacturer.", "sameAs": "https://www.wikidata.org/wiki/Q3895", "relations": [], "hasChunks": [] }, { "entityId": "e_009", "@type": "Organization", "name": "Saucony", "description": "American running shoe manufacturer.", "sameAs": "", "relations": [], "hasChunks": [] }, { "entityId": "e_010", "@type": "Organization", "name": "Brooks", "description": "American running shoe and apparel manufacturer.", "sameAs": "https://www.wikidata.org/wiki/Q4977969", "relations": [], "hasChunks": [] }, { "entityId": "e_011", "@type": "Organization", "name": "ASICS", "description": "Japanese sports equipment and footwear manufacturer.", "sameAs": "https://www.wikidata.org/wiki/Q286485", "relations": [], "hasChunks": [] } ] }
Your page already answers questions of its own. These 3 are covered by the competitors and not by yours — adding them widens the range of searches you can be the answer to.
Questions the competitors answer that yours doesn't — with how many of them cover each one:
The raw signal readouts and detail behind the report — expand what you want to dig into.
| Signal | You | Competitors |
|---|---|---|
| Word count | 5715 | 1628 |
| Paragraphs | 137 | 46 |
| Reading ease (Flesch) | 66 | 65 |
| Avg sentence length | 15w | 21w |
| Text-to-HTML ratio | 38% | 24% |
| Signal | You | Competitors |
|---|---|---|
| Subheadings (H2) | 30 | 2 |
| Sub-subheadings (H3) | 21 | 14 |
| Question headings | 13 | — |
| …answered (40+ words) | 12 | — |
| Lists (ul/ol) | 25 | 5 |
| Tables | 5 | — |
| Signal | You | Competitors |
|---|---|---|
| Title length | 54 chars | 72 chars |
| Meta description | Yes | 3/4 |
| H1 count | 1 | 2 |
| Canonical tag | Yes | 3/4 |
| Mobile viewport | Yes | 4/4 |
| HTTPS | Yes | 4/4 |
| Signal | You | Competitors |
|---|---|---|
| FAQ questions | 0 | — |
| Full answers (40+ words) | 0 | — |
| Avg answer length | 0w | — |
| FAQ schema | No | 0/4 |
| Signal | You | Competitors |
|---|---|---|
| Statistics / data points | 13 | 4 |
| Citations to sources | 3 | 3 |
| Authoritative citations | 1 | — |
| Expert quotations | 0 | — |
| Hedging density | 0.1/100w | — |
| Signal | You | Competitors |
|---|---|---|
| Key-takeaways / TL;DR | No | 1/4 |
| Table of contents | No | 1/4 |
| Comparison tables | 0 | — |
| Author entity (Person) | Yes | 2/4 |
| Entity sameAs | No | 0/4 |
| Content age (months) | 1 | 17 |
| Signal | You | Competitors |
|---|---|---|
| Internal links | 78 | 131 |
| External links | 3 | 17 |
| Video / media embeds | 8 | — |
| AI crawlers blocked | 0 | — |
| llms.txt present ▲ | No | 2/4 |
| EntityMap published | No | 0/4 |
| Address | https://runrepeat.com/guides/best-flat-feet-running-shoes |
| Status code | 200 |
| Indexability | Indexable |
| Content type | text/html;charset=utf-8 |
| Server response | 78 ms |
| URL folder depth | 2 |
| Generator (CMS) | — |
| Last modified | — |
| H1 | 7 Best Running Shoes For Flat Feet in 2026 |
| H1 / H2 / H3 | 1 / 30 / 21 |
| Total headings | 55 |
| Meta robots | max-image-preview:large |
| Canonical | https://runrepeat.com/guides/best-flat-feet-running-shoes (self) |
| hreflang tags | 5 (x-default set) |
| Language | en |
| Character encoding | Declared |
| Favicon | Declared in <head> |
| Meta keywords | — |
| Open Graph complete | Yes |
| Twitter card | Yes |
| AMP page | No |
| Forms | 1 |
| iframes | 0 |
| Phone | — |
| — | |
| — | |
| Postcode | — |
| Opening hours | No |
| Chatbot | Smartsupp · medium confidence |
| Booking mechanism | Chat only (booking via agent) |
| Star ratings shown | Yes |
| Testimonials / reviews | No |
| Video testimonials | No |
| AggregateRating schema | No |
| Review platforms | — |
| Word count (rendered) | 5715 |
| Source word count (raw) | 15514 |
| Sentences | 369 |
| Avg sentence length | 15 words |
| Reading ease (Flesch) | 66 (Easy) |
| Paragraphs | 137 |
| JS-reliance ratio | 0.37 |
| Text-to-HTML ratio | 38% |
| Internal outlinks | 78 (62 unique) |
| External outlinks | 3 (3 unique) |
| Nofollow links | 0 |
| Broken jump-links | 0 |
| Images | 379 · alt coverage 99% |
| Image formats | 0 next-gen (WebP/AVIF) · 378 lazy-loaded · 0 decorative (empty alt) |
| Structured data | 3 JSON-LD (WebPage, BreadcrumbList, Article) · RDFa |
| HTTPS | Yes |
| Mixed content | 0 |
| HSTS | Yes |
| Content-Security-Policy | No |
| X-Content-Type-Options | Yes |
| X-Frame-Options | Yes |
| Referrer-Policy | No |
| HTML size | 1377 KB |
| <head> / <body> count | 1 / 1 |
| Invalid elements in <head> | 0 |
| Bad content-type | No |
| DOM size | 2349 elements |
Branded reports for your clients, bulk audits across thousands of pages, continuous monitoring with alerts, and integrations with your CMS and analytics.
Tell me what you need →