Directory / plugin

Vantorix – Subfolder Link Fixer

v1.1.0 · by Vantorix

Makes root-relative links like "/" and "/about-us/" work when WordPress is installed in a subfolder. No database changes.

About this plugin

Links such as /, /about-us/ or /contact/ are handy because they work on any domain. But when WordPress lives in a subfolder — for example https://example.com/demo/ — those links jump to the domain root and visitors land on the wrong page or a 404.

Subfolder Link Fixer detects your site’s subfolder from the Home URL and quietly fixes those links in the page sent to the browser:

  • href="/" becomes href="/demo/"
  • href="/about-us/" becomes href="/demo/about-us/"
  • Form actions like action="/contact/" are fixed too.

Nothing is written to your content. Your posts, menus and page-builder data stay exactly as they were, so you can move the site back to a root domain, export it, or switch the plugin off at any time.

Features

  • Automatic subfolder detection from the Home URL — nothing to configure.
  • Choose what to fix: links (href), form actions (action), images and scripts (src) and responsive images (srcset).
  • Excluded paths: keep links that should really leave the site, such as /shop/ on the same domain, untouched.
  • Manual subfolder for sites served from a folder by a reverse proxy.
  • Live link tester on the settings screen shows exactly what visitors get.
  • Automatic page-cache clearing when settings change, for LiteSpeed Cache, WP Rocket, W3 Total Cache, WP Super Cache and SiteGround Optimizer.
  • Debug comment for administrators with the number of links fixed on a page.
  • Site Health section under Tools Site Health Info.
  • WP-CLI: wp subfolder-links status and wp subfolder-links test / /about-us/.

Good for

  • Theme and template-kit demo sites hosted side by side, e.g. example.com/kit-one/, example.com/kit-two/.
  • Staging copies that live in a subfolder of the live domain.
  • Subdirectory Multisite networks — every subsite gets its own folder automatically.
  • Imported content or page-builder layouts that contain hard-coded / links.

What it leaves alone

  • Protocol-relative links (//cdn.example.com/...) and full URLs.
  • Links that already include the subfolder, and paths you exclude.
  • data-* attributes.
  • Admin screens, AJAX, REST API, feeds and the Elementor editor preview.
  • Sites installed at the domain root — the plugin simply stays idle.

For developers

  • vantorix_slf_attributes — array of attributes to rewrite.
  • vantorix_slf_excluded_paths — array of path prefixes to skip.
  • vantorix_slf_should_run — return false to skip the current request.
  • vantorix_slf_purge_caches — action fired after settings change; purge your own cache here.

Example: skip rewriting on one page.

add_filter( 'vantorix_slf_should_run', function ( $run ) {
    return is_page( 'landing' ) ? false : $run;
} );

Plugin tags