MARKETPLACE
PLUGINS
PATH NAVIGATION ROUTING W/ HISTORY
Path Navigation Routing w/ History logo

Path Navigation Routing w/ History

Published April 2025
   •    Updated February 2026

Plugin details

A powerful and flexible navigation tool that provides precise control over URL paths and parameters. Features intelligent path handling with version-prefix support, parameter management, and multiple
navigation modes.

Key Features:
• Multiple navigation modes (direct path, append, up level, after first segment)
• Smart path handling with automatic slash normalization
• Version-prefix awareness (/version-xxx/) with automatic preservation
• Flexible parameter management with preserve/replace options
• Browser history control (push or replace state)
• SEO-friendly URLs with clean, semantic structure
• Cross-browser compatible with fallback support
• Real-time state tracking of URL segments (path1, path2, path3)
• Dynamic parameter state management (keys, values, and full params)
• Automatic version prefix handling in state values
• Browser navigation event triggers for state changes

Demo: https://path-nav-demo.bubbleapps.io/version-test/demo

Editor: https://bubble.io/page?id=path-nav-demo&test_plugin=1743623462725x424590459734589440_current&tab=Design&name=demo&type=page

Help: soapy.dev/plugins

$39

One time  •  Or  $7/mo

5.0 stars   •   1 ratings
8 installs  
This plugin does not collect or track your personal data.

Platform

Web

Contributor details

Facundo Lucci logo
Facundo Lucci
Joined 2021   •   2 Plugins
View contributor profile

Instructions

Actions:
"Go to path"

This plugin provides sophisticated URL navigation with multiple path modification options and parameter handling.

Path Modification (in order of precedence):

1. Up Level Navigation:
  • Set 'upLevel' to Yes to remove the last path segment
  • Example: /dashboard/settings → /dashboard
  • Overrides all other path modifications

2. Append to Path:
  • Use 'appendPath' to add a segment to current path
  • Won't append if segment already exists at end
  • Example: /dashboard + "settings" → /dashboard/settings

3. Path After First Segment:
  • Use 'pathAfterPage' to replace everything after first segment
  • Example: /dashboard/settings/advanced + "users" → /dashboard/users

4. Basic Path:
  • Direct path to navigate to
  • Used when no other modifiers are set
  • Example: "dashboard/settings"

Parameter Handling:

1. Parameter List:
  • Add [{key: "filter", value: "active"}]
  • Remove parameter by setting value to empty or null
  • Multiple parameters: [{key: "id", value: "123"}, {key: "sort", value: "desc"}]

2. Preserve Parameters:
  • Set 'preserveParams' to Yes to keep existing URL parameters
  • New parameters override existing ones
  • Empty parameters are automatically removed

History Control:
• Set 'replaceState' to Yes to update URL without adding to browser history
• Set to No (default) to create new history entry

Version Handling:
• Automatically detects and preserves version prefixes (/version-xxxx/)
• Works seamlessly with Bubble's versioning system

Examples:

1. Simple Navigation:
  • path: "dashboard"
  • Result: /dashboard

2. Append to Current Path:
  • Current: /dashboard
  • appendPath: "settings"
  • Result: /dashboard/settings

3. Up Level with Parameters:
  • Current: /dashboard/settings?filter=active
  • upLevel: Yes
  • preserveParams: Yes
  • Result: /dashboard?filter=active

4. Change Section:
  • Current: /dashboard/settings/advanced
  • pathAfterPage: "users"
  • Result: /dashboard/users

5. Update Parameters:
  • parameters: [{key: "page", value: "2"}, {key: "sort", value: "desc"}]
  • preserveParams: Yes
  • Adds/updates parameters while keeping others

Element: "URL States and Trigger"
A dynamic URL state tracking element that provides real-time access to path segments and URL parameters.

State Values

Path Segments:
• path1: First path segment after version prefix
• path2: Second path segment
• path3: Third path segment
• Example: /dashboard/settings/advanced → path1: "dashboard", path2: "settings", path3: "advanced"

Paths After Page:
• paths_after_page: Array of all segments after first segment
• Example: /dashboard/settings/advanced → ["settings", "advanced"]

Parameter States:
• param_keys: Array of parameter names
• param_values: Array of parameter values
• params: Array of full "key=value" strings
• Example URL: ?filter=active&sort=desc

param_keys: ["filter", "sort"]

param_values: ["active", "desc"]

params: ["filter=active", "sort=desc"]


Events:

Modify URL Complete:
• Triggered on any URL change
• Works with browser back/forward
• Fires on plugin navigation
• Fires on manual URL changes
Version Handling:
• Automatically removes version prefix from path segments
• Example: /version-test/dashboard → path1: "dashboard"
• Preserves version awareness in navigation

Types

This plugin can be found under the following types:
Element   •   Event   •   Action

Categories

This plugin can be found under the following categories:

Resources

Support contact
Documentation
Tutorial

Rating and reviews

Average rating (5.0)

Solves URL management
April 15th, 2025
This plugin helps a lot in maintaining URL paths and parameters, and does so in a beautifully simple way!
Bubble