AMP Page Has Validation Errors: Fix It or Retire AMP

No Comments
Amp page has validation errors: fix it or retire amp

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 errorWhat triggers itTypical fix
Custom JavaScript foundAny author <script> that is not the AMP runtimeRemove it; use an official AMP component
Disallowed tag<img>, <iframe>, <object>, <frame>Swap for <amp-img>, <amp-iframe>, etc.
Disallowed attributeInline style="", onclick handlersMove styles to <style amp-custom>; drop inline JS
Mandatory tag missingNo AMP boilerplate, no <html ⚡>, no runtime scriptAdd the required head scaffolding
CSS too large<style amp-custom> block over 75KBTrim/minify theme CSS to fit
Missing width/height<amp-img> without explicit dimensionsAdd width and height

How to detect it

  1. Run the AMP URL through the official AMP validator (append #development=1 to 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Subscribe to our newsletter!

More from our blog