
<blink> tag is a dead, non-standard element that no modern browser animates, and its CSS cousin text-decoration: blink is equally defunct. If it is still in your markup, it signals ancient, unmaintained templates, creates an accessibility liability, and adds invalid HTML that you should strip out today.What this check actually flags
This check fires when a page contains the <blink> element, or the CSS declaration text-decoration: blink, anywhere in its rendered HTML. Blink was a proprietary Netscape Navigator invention from the mid 1990s that made text flash on and off. It was never part of any official HTML specification, not HTML 3.2, not HTML 4.01, not HTML5. Internet Explorer never supported it, Chrome never supported it, and Firefox, the last holdout, removed the flashing behavior in Firefox 23 back in 2013.
So why does a check for it still exist in 2026? Because I still find it. Old WordPress themes, hand-coded brochure sites from 2004 that got migrated three CMS generations forward, legacy CMS WYSIWYG editors that let someone paste in markup twenty years ago, and template snippets copied from ancient forum posts. The tag itself no longer blinks anywhere, browsers now treat it as an unknown inline element and render the text statically, but its presence tells you something important about the health of the codebase you are standing on.
Why it matters for SEO, even though Google does not penalize it
Let me be straight with you: there is no "blink penalty." Google's rendering pipeline, which is based on an evergreen Chromium, simply ignores the tag and indexes the text inside it normally. Your rankings will not jump the day you delete a blink tag. Anyone telling you otherwise is selling something.
The real value of this check is diagnostic, and in my experience it is one of the more reliable canaries you can find in a crawl:
- It flags template rot. Where there is one deprecated element, there are usually friends:
<marquee>,<font>,<center>, table-based layouts, inline event handlers. Pages built on that foundation tend to have real, measurable problems: bloated DOM, poor Core Web Vitals, broken mobile rendering. - It creates invalid HTML. Unknown elements force the parser to guess. One stray unclosed legacy tag usually parses fine, but stacked parser guesswork across a messy template is exactly how content ends up in unexpected places in the DOM tree that Google renders.
- It is an accessibility violation waiting to happen. If any environment still honors the blink behavior (some email clients and embedded webviews have surprised me), flashing content violates WCAG 2.2.2 (Pause, Stop, Hide) and, at certain flash rates, WCAG 2.3.1 (Three Flashes or Below Threshold), which exists because flashing content can trigger photosensitive seizures. That is legal exposure in plenty of jurisdictions, not just bad UX.
- Accessibility and page experience feed the same quality picture. Google's quality systems reward pages that people can actually use. Anything that degrades usability for part of your audience is working against you, whether or not a named ranking factor covers it.
A short history, because it explains the fix
The tag reportedly started as a late-night joke inside Netscape, and the web spent two decades getting rid of it. The practical takeaway from that history: no user-facing behavior depends on blink anymore, so removal is a zero-risk edit. You are deleting markup that does literally nothing in any current browser.
How to detect it on your site
Do not trust a visual check. Since nothing blinks anymore, the tag is invisible to the eye. Go to the source:
- Crawl with a custom search. In Screaming Frog, set up Custom Search (Configuration, then Custom, then Search) for
<blinkandtext-decoration: blinkortext-decoration:blink, then crawl the site. Sitebulb can do the same with its content search. This finds every affected URL in one pass. - Grep the codebase. If you have repo or server access,
grep -ri "<blink" .across templates, theme files, and stored content is faster than any crawl and catches cases that only render under certain conditions. - Query the database. On WordPress, blink tags often live inside
post_content, not the theme. A quickSELECT ID FROM wp_posts WHERE post_content LIKE '%<blink%'tells you exactly which posts to clean. - Validate a sample. The W3C validator (validator.w3.org) flags
<blink>as an unknown element, useful for spot checks on individual templates.
How to fix it, step by step
- Locate every instance using the detection methods above. Fix the template once instead of fixing fifty pages generated by it.
- Unwrap, do not just delete. Remove the opening and closing tags but keep the text content inside them. Deleting the whole node can silently remove copy someone wrote for a reason.
- Decide whether the emphasis still matters. If someone marked that text as blinking in 2003, they wanted attention on it. If the message still matters, restyle it with a highlight, a callout box, or
<strong>. If it says "NEW for spring 2005!", kill it entirely. - Check for CSS and JS equivalents. Search stylesheets for
text-decoration: blinkand keyframe animations that toggleopacityorvisibilityin a loop. A CSS animation that flashes text more than three times per second recreates the exact accessibility problem with modern syntax. If a flashing effect must stay for some business reason, honor theprefers-reduced-motionmedia query and keep it under the WCAG flash thresholds. - Re-crawl to confirm zero instances, then run the affected templates through the W3C validator to catch any sibling legacy tags you exposed along the way.
Legacy elements reference
While you are in there, sweep for the whole family. Here is what I check in the same pass:
| Element | Original purpose | Status | Modern replacement |
|---|---|---|---|
<blink> | Flashing text | Never standardized, dead since 2013 | None. Delete it. |
<marquee> | Scrolling text | Deprecated, still renders in browsers | CSS animation with reduced-motion support |
<font> | Inline typography | Obsolete in HTML5 | CSS font properties |
<center> | Centered blocks | Obsolete in HTML5 | text-align or flexbox |
<big> | Larger text | Obsolete in HTML5 | font-size in CSS |
Do this, not that
- Unwrap blink tags and keep the text content
- Fix the template or database source, not page-by-page symptoms
- Sweep for marquee, font, and center in the same pass
- Search CSS for
text-decoration: blinkand flashing keyframe loops - Respect
prefers-reduced-motionfor any animation you keep
- Delete the entire node and lose the copy inside it
- Recreate blinking with CSS or JavaScript animations
- Expect a ranking bump from this fix alone
- Rely on a visual check, the tag renders as plain text now
- Stop at the first instance, legacy tags travel in packs
What good looks like
A clean bill of health here means a full-site crawl with custom search returns zero matches for <blink and text-decoration: blink, your templates validate without obsolete-element warnings, and any attention-grabbing animation left on the site respects reduced-motion preferences and stays under three flashes per second. More broadly, treat a blink hit as an invitation to audit the whole template generation it came from. The blink tag was never your problem; the fifteen-year-old markup around it usually is.
FAQ
Does Google penalize pages that contain a blink tag?
Will the text inside a blink tag still be indexed?
Is a CSS blink animation acceptable instead?
How do I find blink tags across thousands of pages?
Why do audit tools still test for an element that died in 2013?
Found one blink tag and wondering what else is lurking in that template?
Legacy markup rarely travels alone. An advanced audit maps every structural, rendering, and accessibility issue on your site and ranks them by actual impact.
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.







