SFW

ZWSP character

Hidden Links via ZWSP Characters on Your Website and SEO

()

In web development and digital marketing, little things make a big difference. A number of elements that bear this fact out and perhaps receive less attention than they should are ZWSP characters, more commonly referred to as zero-width spaces. How do such invisible characters make their appearance on your website, and what kind of damage is capable of being caused to your SEO and site integrity?. We are also going to discuss the ways hidden links impact SEO when they are associated with domains that have been hit with a manual action or penalty.

The issue is going viral, as many webmasters are suddenly realizing their website is filled with links to external sites they did not add, as you can see from the increase in google searches via google trends:

ZWSP google trends

What is a ZWSP Character?

A ZWSP (Zero-Width Space) is a Unicode character that does not produce a visible space when rendered. It’s typically used to control word breaks in text without affecting the layout visibly. In programming and web design, ZWSP characters may serve legitimate purposes, such as formatting text in complex languages or managing line breaks.

However, in some cases, ZeroWidthSpace can become a hidden threat when they are used to hide an external unwanted backlink:

Malicious ZeroWidthSpace hidden Link
Malicious ZeroWidthSpace hidden Link – identified via Chrome Inspect

ZWSP characters are blind to the naked eye; hence, they are extremely good tools for malicious actors who want to introduce hidden content or manipulate certain behavior on a webpage. For this very reason, they can also easily be ignored in regular content reviews or site audits.

In the Above Example, when rendered in the page via any desktop or mobile Web Browser, the human user would not be able see any link in the text when reading the page, however these links are indexed by google, they can be found using INSPECT on your page or by doing a cut-and-paste of the blog entire article into a great free tool such as Notepad++. In it these malicious invisible ZWSP characters are clearly highlighted in BLACK and they expose the hidden href link enclosed in a pair of them to make it disappear:

ZWSP Charater hidden link generated via chatgpt

How Are ZWSP Characters Introduced?

There are several ways ZWSP characters can find their way into your website’s content:

  1. Content Generation Tools: Various AI-generated content utilities, such as, but not limited to, ChatGPT and other free services such as Text Humanizers, may automatically insert ZWSP characters by accident while one is copying and pasting content.
  2. Malicious Attacks: ZWSP characters can be injected into your content or code by hackers; it may be one of the ways to mask malicious links and their destinations, redirect users, or disturb the intended structure of your web pages.
  3. Third-Party Plugins: Integrations with unscrutinized services, plugins, or scripts for such introductions may be performed.
  4. Manual Errors: These characters can be inserted unknowingly by content managers and developers alike during manual editing, especially in cases of uncommon text formatting tools.

For example, we had used ChatGPT to help us generate an initial review of an ai Tool, months later we found out it contained loads of hidden external links, see a screenshot below we had to clean manually by replacing ZWSP with ” blank characters in bulk and then updating the article back after adding a human touch to improve it as much as possible to make it helpful and valueable:

ZWSP Characters

The Risks of ZWSP Characters

A single ZWSP character may be innocuous to appear; the implications, however, may range to extensive:

  • Hidden Links: Probably the most hazardous application of ZWSP characters is in the realm of hiding links. In such cases, by inserting a zero-width space, malicious actors can visually break a link that still works in the page code. This can dupe a user into clicking on ostensibly harmless text that links to something hidden or malicious.
  • Content Manipulation: ZWSP characters might be used to manipulate your site’s content and structure, disrupting the readability or even functionality of your pages.
  • Negative SEO Impact: Search engines are clever, but they work off code and content that is crawlable and can be interpreted. When there are hidden links on a webpage or suspiciously formatted content, this can raise search engine red flags, such as Google. Should these point to domains that have been penalized due to high level of spam due to linking too many external domains with dofollow, it may have a negative impact on the SEO of your site.

Hidden links would mean placing links within a web page in such a manner that it remains hidden or is unapparent to the users. It is against Google Search Essentials (Former Google’s Webmaster Guidelines) and could be a means of manipulating ranking in search results or misleading users. The existence of hidden links can also give rise to a manual action by the search engines, which could lead to:

  • SEO Penalties: These bad practices are looked for by search engines, and once found, the website gets penalized by the usage of hidden or misleading links. It can result in a drop in search rankings or, worst cases, de-indexing of an entire site.
  • Manual Actions: If Google finds that your website is practicing hidden links, it can issue a manual action on your website. Manual actions have serious impacts on your organic search visibility and traffic. These are the ones triggered by implementing ZWSP characters with the purpose of hiding links, which one needs to trace and remove.
  • Associating with malicious domains: If a hidden link points at a domain that has undergone manual actions or been penalized, then the action would carry over to your site. In such a case, linking out to such a domain may give a thumbs-up to their content or behavior. And in cases like that, your website’s reputation and rankings are at stake.

The Importance of Identifying ZWSP Characters

Due to the risks that may be involved with ZWSP characters, proactive identification and addressing of them by webmasters, developers, and SEO professionals are of paramount importance. Here’s why:

  1. Preserving Site Integrity: The integrity of your site, regarding structure and functionality, is maintained through regular audits in search of hidden characters.
  2. Avoiding Manual Actions: You get to decrease the chances of you manually causing some kind of action from search engines by removing those hidden ZWSP characters and links.
  3. Preservation of User Trust: a hidden-character-free and suspicious-content-free website nurtures users’ trust and enriches their browsing experience.

How to Audit Your Website for ZWSP Characters

Due to their invisibility, detection and removal of ZWSP characters are not so easy. However, using advanced auditing tools can get this job done quite simply:

1) Automated Site Audits:

Services like Raiday.ai’s ZWSP Website Audit scan up to 10,000 pages and provide a comprehensive CSV report, identifying pages with ZWSP characters, external URLs, and their status codes. This allows you to take targeted action to clean your site and prevent potential SEO issues.

ZWSP Hidden Link Website Audit

Thanks to the above services, the user will be provided with a CSV or Excel format file containing a full site scan and audit report as per screenshot below:

ZWSP Characters hidden links Site audit report
ZWSP Characters hidden links Site audit report example

2) Code Reviews:

These are reviews of your website code that you should consider on a periodic basis for some strange characters as a help to find and remove any hidden ZWSP characters.

Python can be used to count invisible characters such as ZWSP and NBSP which make your article look as AI generated and thin content. See below an example of a free code snippet that may get you started with creating a script to use in code reviews:

# Function to count ZWSP zero-width spaces in the page content
def count_zwsp(text):
    zwsp_char = '\u200b'
    return text.count(zwsp_char)

# Function to count NBSP non-breaking spaces in the page content
def count_nbsp(text):
    nbsp_char = '\u00a0'
    return text.count(nbsp_char)

3) Third-party integrations:

Any plugins, scripts, or services are brought in from trusted sources and have to be updated on a regular basis so that no vulnerabilities can be present in them.

    You Must Protect Your Website from ZWSP Character Risks

    The ZWSP character may be invisible, but its impact is immense. Whether introduced by accident or as part of a malicious attempt, the existence of ZWSP characters may really cause a disruption in your site, damage your SEO, and open you to penalties or manual actions from search engines.

    It’s all about taking precautions, say running deep website audits or using such trusted services as Raiday.ai, that keep your site healthy and your SEO work safe. On-site checks for hidden elements serve to maintain the best practices, protect your digital presence, and be transparent to users and search engines alike.

    These ZWSP characters and hidden links are just a few of the issues you should look out for in order to build integrity and to present a good reputation for your website in this highly competitive arena.

    How useful was this?

    Click on a star to rate it!

    Average rating / 5. Vote count:

    No votes so far! Be the first to rate this post.

    More Posts from the same Category