
AMP Page Has Validation Errors: Fix It or Retire AMP
You publish an AMP version of this page, and that AMP version fails the amphtml validator. AMP grades pass/fail with no partial credit — one disallowed tag counts the same as fifty — so a failing page never gets cached, never gets served as AMP, and earns nothing while still costing you a second template to maintain.
Unlike the canonical and access checks in this cluster, this one is about the AMP document's own markup. The URL loads fine; the HTML inside it just breaks the AMP spec.
What this check actually flags
Somewhere on your site a standard page declares <link rel="amphtml" href="...">, pointing at a stripped-down AMP copy. The crawler followed that link, ran the target through the official validator, and got back errors. AMP is a restricted subset of HTML with its own required boilerplate, a banned-tag list, and hard limits. Fail any rule and the document is invalid AMP — which means it is not eligible for the AMP Cache and cannot be served on any AMP surface. It is, functionally, a broken duplicate of your real page.
Why invalid AMP is the worst state to be in
A page with no AMP at all is clean. A page with valid AMP earns whatever AMP still offers. A page with invalid AMP pays every cost — the parallel URLs, the extra crawl surface, the second rendering path to QA — and collects zero benefit, because invalid AMP is never cached or served. You are running a second copy of the page purely to generate a crawl error. There is no scenario where leaving it broken helps.
| Validator error | What triggers it | Typical fix |
|---|---|---|
| Custom JavaScript found | Any author <script> that is not the AMP runtime | Remove it; use an official AMP component |
| Disallowed tag | <img>, <iframe>, <object>, <frame> | Swap for <amp-img>, <amp-iframe>, etc. |
| Disallowed attribute | Inline style="", onclick handlers | Move styles to <style amp-custom>; drop inline JS |
| Mandatory tag missing | No AMP boilerplate, no <html ⚡>, no runtime script | Add the required head scaffolding |
| CSS too large | <style amp-custom> block over 75KB | Trim/minify theme CSS to fit |
| Missing width/height | <amp-img> without explicit dimensions | Add width and height |
How to detect it
- Run the AMP URL through the official AMP validator (append
#development=1to the URL and open the browser console, or paste it into validator.ampproject.org). It prints the exact tag, line, and rule for every error. - Fetch the raw markup with
curl -s https://example.com/page/amp/and eyeball the head for the required boilerplate, the<html ⚡>attribute, and any stray<script>or<img>tags that should not be there. - Crawl with Screaming Frog storing AMP; the AMP tab lists validation errors and warnings per URL so you can see how widespread the problem is across templates.
- If AMP still appears in your Search Console property, open the legacy AMP report — it groups errors by type across all affected URLs, which is the fastest way to spot a template-level break.
- Re-validate after every fix. Because the validator is pass/fail, a page is not "improved" until it is fully valid — half-fixed is still failing.
How to fix it (if you are keeping AMP)
Work the validator output top to bottom. Rip out custom JavaScript — AMP allows only the runtime and official component scripts, so analytics, chat widgets, and plugin JS all have to go or be replaced by their AMP equivalents (amp-analytics, amp-live-list, and so on). Convert every <img> to <amp-img> with explicit dimensions. Move all styling into a single <style amp-custom> block and keep it under 75KB. Restore any missing boilerplate. Then re-run the validator until it returns clean.
How to retire AMP cleanly (usually the better call)
If you are not a high-velocity news publisher, maintaining valid AMP for every template is rarely worth it now. To retire it: remove the amphtml links from your standard pages, 301 the AMP URLs to their non-AMP equivalents, drop AMP-specific sitemap entries, and let the cache expire. Then put the effort you would have spent on AMP into Core Web Vitals on your real pages, which is where the speed story actually lives in 2026.
Common mistakes
Treating warnings as errors (or ignoring real errors as "just warnings") — read the validator's severity labels, since only errors block caching. Fixing one page by hand when the break is template-wide, so it reappears on the next publish. And validating the standard page instead of the AMP URL: this check is about the document behind the amphtml link, not your canonical HTML. The same "invalid means excluded" logic shows up in structured data too, as covered in rich result is invalid.
FAQ
Does one small error really disqualify the whole page?
Yes. AMP validation is binary — a single disallowed attribute fails the document exactly like a missing runtime script would. There is no "mostly valid" AMP; it either passes or it is not served.
What is the difference between this and "AMP URL is invalid"?
They overlap, but the dedicated AMP URL is invalid check is Search Console's own verdict on the URL, while this flag comes from running the markup through the validator during a crawl. Fix the markup and both clear.
Can I just remove the amphtml link and leave the AMP file up?
You can, but tidy up: 301 the orphaned AMP URLs so they do not linger as thin duplicates. Removing the link stops advertising AMP; redirecting the URLs stops the duplicate from being crawlable.
Is AMP worth validating at all anymore?
Google dropped AMP as a Top Stories requirement in 2021 and retired the AMP badge. For most sites the honest answer is to retire AMP rather than keep validating it. Keep it only if a specific distribution channel you rely on still demands it.
Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.
About SEO ProCheck
Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.
Work With Me
Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.







