I have a little problem. My client wants an advanced filtering system on their website that is connected to a CMS. I’ve tried MixItUp but I’m coming across some issues so my question to you is if anyone knows a good way to handle this. Does anyone know a good third-party service that will achieve this?
You have hit a big limitation in Webflow. The preference is usually to use dynamic queries which you can’t do as Webflow sites are basically static. Maybe one day in the future Webflow will support GraphQL or at least filtering within the API (so dated).
If you have any significant number of results then using on page filtering and sorting (Mixitup, Finsweet, JetBoost, etc) will result in terrible performance and page loads. For smaller datasets these can work.
You may want to consider building a faceted search function with Algolia (which seems to have been removed from the “Integrations” or Swiftype. There is no plug and play solution I am aware of and both requires the ability to work with API’s. Basically you would convert a CSV to JSON and export it as an index. Then expose results via the API which lets you filter the index in realtime, producing results that link to collection items.
Sometimes it takes Code to go beyond the NoCode limitations in Webflow. Tally-ho!
Do Mixitup, Finsweet and JetBoost all use the same basic approach? Meaning that all the CMS content is loaded with the page, and they just filter it down?
As @webdev indicates, for a large CMS this would degrade performance since a ton of results would need to be loaded.
Or do any of these services externally host your CMS content so that they can call the data dynamically?
Also, is there any SEO impact (positive or negative) to adding this onpage filtering functionality.
All 3 are client-side solutions, which act on the content already in the page.
If you’re using the CMS as your source, that means publishing all of the content you could want, and then filtering it down the the view you need at this moment.
That said, Finsweet’s API has the ability to source content from external sources, so if you want to you can use their full sorting and filtering ability while pulling in your content externally.
The tradeoff is page size v. external data access, so it will benefit you most if your data set is very large and the views you’re extracting are comparatively small.
Also, if you’re using the CMS to store your data, but wanting certain filtered views to be externally sourced, you can use Whalesync or Powerimporter Pro to sync your CMS data externally and reference it from there.