Skip to main content

URL Sync and Shareable Filters

URL sync writes active filter values into the browser address bar as query parameters. Visitors can bookmark a filtered shop view, share a link in email, or refresh the page without losing their selections.

URL sync is included in the free WPEnhanced Ajax Filter Blocks plugin and works on any page built with Filter Posts and Archive Loop blocks in the block editor.

For conceptual background, see also URL sync concept.

How it works​

  1. Visitor selects filters on the front end.
  2. AJAX updates the Archive Loop results.
  3. The plugin updates the URL with query parameters representing each active filter.
  4. On page load (or when opening a shared link), parameters are read and filters reapply automatically.

No full page reload is required during filtering; the URL updates via the History API where supported.

Enable URL sync​

URL sync is controlled in WP Enhanced → WPEnhanced Ajax Filter Blocks plugin settings:

  1. Go to WP Enhanced → WPEnhanced Ajax Filter Blocks in WordPress admin.
  2. Find URL sync, Synchronize filters with URL, or equivalent wording.
  3. Enable the option and save.

Also enable Synchronize filter items on individual Filter Posts blocks when using Pro and multiple filter panels that should stay aligned.

note

Synchronize filter items across multiple Filter Posts blocks on one page requires WPEnhanced Ajax Filter Blocks Pro. Global URL sync itself is free.

What appears in the URL​

Each Filter Posts Item contributes parameters derived from its filter source and configuration. Examples:

Blog page

https://example.com/blog-filter/?category=news&search=release

WooCommerce shop

https://example.com/shop/?product_cat=hoodies&min_price=20&max_price=80&filter_pa_colour=blue

Exact parameter names depend on taxonomy slugs, meta keys, and attribute names. Pagination adds a page parameter unless you override it with a Custom pagination parameter on Archive Loop.

Filter Posts block settings​

SettingRole in URL sync
Synchronize filter items (Pro)Keeps multiple panels in sync; URL reflects combined state
Update methodOn change updates URL as each field changes; button mode updates on apply
Show parameters (on items)Visual chips mirroring URL state—not required for sync itself

Marketing campaigns​

Build the filtered view on the front end, copy the URL from the address bar, and use it in ads or emails. Recipients land on the same filtered catalog.

Support and QA​

Ask customers to copy their browser URL when reporting “wrong results”—support can reproduce the exact filter combination.

Internal bookmarks​

Merchandisers bookmark pre-filtered views (e.g. clearance category + in-stock only) for quick admin review.

Pagination and URL sync​

When using standard pagination on Archive Loop:

  • Filter parameters persist when visitors click page 2, 3, …
  • If pagination “loses” filters, verify URL sync is enabled globally and no SEO plugin strips query strings—see Pagination loses filters troubleshooting

Load More and infinite scroll (Pro) append results without traditional page parameters—URL sync still tracks filter state.

SEO considerations​

Filtered URLs with many parameter combinations can create crawl noise. Common mitigations:

  • noindex faceted parameter combinations via your SEO plugin
  • Canonical tags pointing to the base archive
  • Limit indexed filter landing pages to curated campaign URLs

WPEnhanced Ajax Filter Blocks does not replace your SEO plugin’s faceted URL policy.

Testing checklist​

  1. Enable URL sync in plugin settings.
  2. Publish a page with Filter Posts + Archive Loop.
  3. Apply filters on the front end—confirm the address bar updates.
  4. Copy URL, open in a private/incognito window—filters and results should restore.
  5. Click pagination—filter parameters should remain.
  6. Click Reset on Filter Posts—parameters should clear from the URL.

Troubleshooting​

IssueLikely cause
URL never changesURL sync disabled in plugin settings
Filters apply but URL emptyCaching layer stripping query strings on AJAX response
Shared link opens unfilteredPage cached without respecting query vars; exclude from full-page cache
Duplicate parametersMultiple Filter Posts items targeting the same source with different IDs

What's next​