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
- Visitor selects filters on the front end.
- AJAX updates the Archive Loop results.
- The plugin updates the URL with query parameters representing each active filter.
- 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:
- Go to WP Enhanced → WPEnhanced Ajax Filter Blocks in WordPress admin.
- Find URL sync, Synchronize filters with URL, or equivalent wording.
- 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.
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
| Setting | Role in URL sync |
|---|---|
| Synchronize filter items (Pro) | Keeps multiple panels in sync; URL reflects combined state |
| Update method | On 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 |
Shareable link workflows
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:
noindexfaceted 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
- Enable URL sync in plugin settings.
- Publish a page with Filter Posts + Archive Loop.
- Apply filters on the front end—confirm the address bar updates.
- Copy URL, open in a private/incognito window—filters and results should restore.
- Click pagination—filter parameters should remain.
- Click Reset on Filter Posts—parameters should clear from the URL.
Troubleshooting
| Issue | Likely cause |
|---|---|
| URL never changes | URL sync disabled in plugin settings |
| Filters apply but URL empty | Caching layer stripping query strings on AJAX response |
| Shared link opens unfiltered | Page cached without respecting query vars; exclude from full-page cache |
| Duplicate parameters | Multiple Filter Posts items targeting the same source with different IDs |
Related documentation
- URL sync concept — Architecture overview
- Filter Posts block — Synchronize setting
- Plugin settings — Global toggles
What's next
- Query, sorting, and archives — Base query vs URL parameters
- Pagination loses filters — Fix broken paging
- Quick Start — First filtered page with URL testing step