JS Links – SEO Link Obfuscation

Deskripzioa

JS Links lets you obfuscate links so crawlers can’t follow them — while users still can.
It replaces <a> tags with accessible <span> elements (role="link", tabindex="0") containing Base64-encoded URLs.

Use cases
– Hide links to legal pages, login, or affiliate URLs
– Prevent PageRank dilution in footers or widgets
– Keep a clean, SEO-friendly internal linking structure

Key features
– Lightweight, no external calls or tracking
– 100 % reversible (disable = restores original links)
– Works with all SEO plugins (Yoast, Rank Math, SEOPress)
– Compatible with any theme or builder
– Accessible (keyboard navigation supported)
– Optionally disable obfuscation on specific pages
– Custom CSS styling per area (content, menu, footer, widget)

Why not just use nofollow?
Because nofollow links are still visible to crawlers and can leak PageRank.
JS Links removes the href entirely and hides the destination — Google can’t see it, so no PageRank flows.

Safe and compliant
JS Links follows WordPress coding standards and includes:
– URL sanitization (esc_url_raw())
– Output escaping (esc_attr(), wp_kses_post())
– CSS filtering (safecss_filter_attr())
– Protection against reverse tabnabbing (noopener noreferrer)

🧠 Result: total control of your internal link flow, with zero impact on UX.

Description (FR)

JS Links permet d’obfusquer certains liens pour empêcher Google et les robots d’exploration de les suivre — tout en conservant un comportement identique pour l’utilisateur.
Les balises <a> sont remplacées par des <span> cliquables (role="link", tabindex="0") contenant l’URL encodée en Base64.

Cas d’usage
– Empêcher la transmission de PageRank sur les liens non stratégiques (CGU, mentions légales, etc.)
– Bloquer les liens d’affiliation ou externes sans casser le design
– Préserver un maillage interne propre et hiérarchisé

Fonctionnalités
– Ultra-léger et 100 % réversible
– Compatible avec tous les thèmes et plugins SEO
– Accessible au clavier
– Personnalisation visuelle simple (CSS par zone)
– Exclusion possible de certaines pages

Différence avec nofollow
Un lien nofollow reste une balise <a> visible par Google.
JS Links, lui, supprime l’attribut href et encode l’URL — donc Google ne voit pas le lien.

Sécurité
JS Links respecte les bonnes pratiques WordPress :
– Nettoyage et validation des URLs
– Échappement systématique des sorties
– Filtrage CSS sécurisé
– Protection contre le reverse tabnabbing
– Fallback sans JavaScript (<noscript>)

🧠 En clair : tu gardes ton jus SEO sans sacrifier ton ergonomie.

Credits

Developed and maintained by Pierre Ribeaucourt

Support

If you encounter any issues or have suggestions, feel free to open a thread on the Support Forum.

Instalazioa

  1. Upload the js-links folder to /wp-content/plugins/
  2. Activate the plugin through the “Plugins” menu in WordPress
  3. In the Gutenberg editor, use the JS Link button.
  4. For menus, a dedicated field is available under Appearance > Menus.

MEG

How is this different from rel=”nofollow”?

A nofollow link is still a visible <a> tag and may leak PageRank.
JS Links removes the href attribute and encodes the URL — Google doesn’t follow it.

Is it compatible with SEO plugins like Yoast, Rank Math, or SEOPress?

Yes. JS Links runs after SEO plugins and doesn’t interfere with their output.

Is it accessible?

Yes — links are fully keyboard-activable (Enter / Space) via role="link" and tabindex="0".
However, some screen readers that only list real <a> links may skip them.
We recommend not obfuscating critical navigation or accessibility links.

Can I exclude specific pages?

Yes, by listing their relative URLs (e.g., /, /contact, /legal) in the exclusion field.

Berrikuspenak

Ez dago berrikuspenik plugin honentzat.

Laguntzaileak eta Garatzaileak

“JS Links – SEO Link Obfuscation” software librea da. Ondoko pertsonek egin dizkiote ekarpenak plugin honi.

Laguntzaileak

Aldaketen loga

2.0.0

  • Initial WordPress.org release
  • WP 6.8 compatibility / PHP 7.4+
  • Improved accessibility and sanitization