Has Link with Whitespace in Href: How to Fix It

No Comments
Has link with whitespace in href: how to fix it

TL;DR: A stray space, tab, or line break inside an href can silently rewrite a URL, encode it to something that 404s, or split link equity between two "different" URLs. Trim every href to a clean value and fix the template or paste habit that let the whitespace in.

What this check flags

This fires when an outgoing anchor's href holds a whitespace character, a space, tab, or newline, at the start, the end, or in the middle of the URL. So the link reads href=" /products/widget " instead of href="/products/widget". The character is invisible in the rendered page but very real in the source, and it changes how browsers, servers, and crawlers interpret the target. Sitebulb and Screaming Frog surface it because that ambiguity is exactly what you want out of your internal linking: a URL should mean one thing, not "maybe this, maybe the encoded version."

How whitespace breaks a URL

A URL is meant to be a clean ASCII string, and a literal space is not valid inside one. When whitespace survives into a request, something has to deal with it, and that something is not consistent across environments.

Whitespace positionWhat tends to happenResult
Leading (before the URL)Most browsers trim it; some crawlers do notTwo URLs seen as distinct; equity split
Trailing (after the URL)Usually trimmed, inconsistentlyOccasional duplicate-URL crawling
Internal (mid-URL space)Encoded to %20 per the HTML spec/my page requests /my%20page → 404
Tab or newline in a pathStripped or encoded unpredictablyBroken link on some devices, works on others

A real failing snippet, and the fix

The nastiest version is an internal space, because it turns into %20 and points at a URL that does not exist:

<!-- Fails: internal space encodes to %20 -->
<a href="/case studies/acme/">Read the Acme case study</a>

<!-- Fails: trailing space from a paste -->
<a href="/pricing/ ">See pricing</a>

The first requests /case%20studies/acme/; if the real path is /case-studies/acme/, that is a 404. The second may be treated as a separate URL from /pricing/ by a strict crawler. Both fixes are the same, trim to a clean value:

<!-- Fixed -->
<a href="/case-studies/acme/">Read the Acme case study</a>
<a href="/pricing/">See pricing</a>

If a path genuinely needs to represent a space, use a hyphen in the slug (best) or an intentional %20, never a raw space in the markup.

Where the whitespace comes from

Nobody types a trailing space into a link on purpose. The usual sources are worth knowing because the fix is at the source, not the page:

  1. CMS link fields. An editor pastes a URL into a WordPress link box and a trailing space rides along, invisible in the visual editor.
  2. Copy-paste from documents. URLs copied out of Word, PDFs, or chat apps often carry leading or trailing whitespace and even non-breaking spaces.
  3. Template concatenation. A theme builds an href by joining a base and a slug variable, and one of them has an untrimmed space, so every page using that template inherits it.

How to detect it

  1. Screaming Frog. Crawl, then use Custom Extraction or export All Outlinks and scan the destination column for values that contain %20 where you did not expect it, or that fail to match a known clean URL. Frog will also report the resulting 404s directly.
  2. Browser DevTools. Inspect a suspect link and read the href in the Elements panel; select the attribute value and you will see the leading or trailing space highlighted. The Network tab shows the actual request path, revealing any %20.
  3. View Source. Search the raw HTML for href=" (quote followed by a space) and for spaces before the closing quote. Those literal patterns catch leading and trailing whitespace fast.

How to fix it

  1. Identify whether the whitespace is per-page (data entry) or site-wide (template). Template issues are the priority since one fix clears many URLs.
  2. For data-entry cases, re-open the link in the CMS and retype or carefully re-paste the URL, then confirm no space survives at either end.
  3. For template cases, add a trim to the variable that builds the href so no future entry can reintroduce the space.
  4. Where a slug needs a space, rename it to use a hyphen and set up a redirect from the old path if it was ever live.
  5. Re-crawl and confirm the flagged hrefs are clean and the associated 404s are gone.

Frequently asked questions

Browsers trim the space anyway, so does it really matter?

Browsers usually trim leading and trailing whitespace, but not identically, and they do not trim an internal space, they encode it to %20. A link that loads in your browser can 404 for a crawler or a user on another device, so the safe move is a clean href.

Will a whitespace href hurt my rankings?

Indirectly. It can create 404s on internal links and cause a crawler to treat the trimmed and untrimmed targets as two URLs, splitting or dissipating the link equity that should have gone to one page. Neither is fatal, but both waste signal you already earned.

Is %20 in a URL always wrong?

No. A deliberate %20 is valid encoding. The problem is a raw space in your markup that gets encoded by accident and points at a path that does not exist. If your real URLs use hyphens, an unexpected %20 is the tell.

How do I stop it recurring?

Trim href values in the template or a save hook so any pasted whitespace is stripped before it is stored, and train editors to paste as plain text. That fixes the source rather than chasing individual pages.

Related checks

Whitespace-driven 404s belong to the broader how to find and fix broken links workflow, and the equity-splitting angle connects to the Link Equity glossary entry. For other malformed targets see Has Link to Non-HTTP Protocol and Link to Local Path. To keep your internal links clean at the architecture level, work through the Internal Linking Complete Guide.

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