Why Is My Divi Site So Slow? (And How to Fix It)
A slow Divi site usually comes down to hosting, caching, images or plugins, not Divi itself. How to find the real cause and fix it, step by step.
Read the articleUntil August, letting visitors search or filter a Divi blog on the front end meant a third-party plugin, a shortcode, or hand-written AJAX. Divi 5's new Post Filter module does it natively. Because it sits on top of the Loop Builder, it works with any looped element — a blog, a portfolio, a team directory, a WooCommerce product grid — and it filters without a page reload if you want it to. This guide walks through the exact build, setting by setting. It's the same approach I use on client sites as a Divi 5 specialist.
The Post Filter module does not create content. It narrows what an existing Loop returns. If the element you want to filter isn't a Loop yet, the module shows a "Select a Loop" message and does nothing. So Phase 1 is the Loop, and it has to work on the front end before a single filter goes on the page.
You can loop a Section, Row, Column or a single module. For a blog, the simplest reliable setup is a Row with one Column, looped, containing a Post Title, a Post Featured Image and a Post Excerpt module wired to dynamic content.
| Apply Mode | What happens |
|---|---|
| Submit (default) | Nothing changes until the visitor clicks Apply. The page reloads with the filters written into the URL. Best for long lists, many filters, or when you want shareable, bookmarkable filtered URLs. |
| Auto | The loop updates the moment a control changes. No reload, no Apply button needed. Best for short blogs, portfolios, anything where instant feedback matters more than a clean URL. |
Every control inside the form is a Post Filter Item — a child module you add, duplicate, reorder or delete from the Elements list. Each item has a Field Type, and the Field Type decides which other settings appear.
| Field Type | What it renders |
|---|---|
| Text | Search box — or a number, date, date-time or time input via Field Value Type. Searches title, content and custom fields. |
| Select | Single-choice dropdown. Best for long option lists. |
| Radio | Single-choice button list. Visible options, one pick. |
| Checkbox | Multi-choice list. The starter Category item is one of these. |
| Order By | Sort-field picker. You choose which fields visitors may sort on. |
| Order | Ascending / descending toggle. Pairs with Order By. |
| Multiple Order | Up to five stacked sort rules. Overkill for a blog; useful for catalogs. |
| Submit / Reset | Buttons. Submit is required unless Apply Mode is Auto. Reset clears this loop's filters only. |
| Price Range / Stock Status / Review Rating | WooCommerce controls — only offered when the target loop is a product loop. |
| Setting | What it does |
|---|---|
| Field Label | The text above the control. For Submit and Reset it's the button text. |
| Field Value Type | Text, Number, Date, Date Time or Time — how the input is interpreted. Get this wrong and a date filter silently compares strings. |
| Field Option | The data being filtered: a taxonomy (Category, Tag…), author, standard post data, or a custom field. |
| Meta Key | The custom-field key, when Field Option is a custom field. |
| Field Placeholder | Hint text inside the input. Falls back to the Field Label, then to "Search". |
| Field Comparison | How values are matched: equals, not equals, greater than, contains, and so on. |
| Options Method | Automatic discovers the distinct values in the database and caches them for 24 hours. Manual lets you type your own Value / Label pairs. |
| Order By Options | On an Order By item: the checkboxes that decide which sort fields visitors can choose. |
| Label Date Format | PHP date format for date option labels, for example M j, Y. |
Automatic options are cached for a day. Add a new category and it won't appear in the filter until the cache expires or you click Clear Cached Options. Remember this before you file it as a bug.
The parent module's Design tab sets defaults for every item; each item can override them. Work parent-first.
| Design group | Controls |
|---|---|
| Layout | Block, Flex (default) or Grid for how the items line up. Flex with wrap is the right answer for a horizontal filter bar that stacks on phones. |
| Field | Text and number inputs, dropdowns, and label typography. |
| Option / Checkbox & Radio Options | The individual rows in a checkbox or radio list: spacing, backgrounds, borders, icons. |
| Button | Submit and Reset appearance — use the same preset as your site buttons so the form doesn't look bolted on. |
| Sizing / Spacing / Border / Box Shadow | Standard Divi 5 groups. Design Variables apply here, so pull your global colors and spacing tokens rather than typing hex values. |
A long Select on a 390px screen needs full width, and a Flex row of five items needs Wrap turned on or it will overflow the column.
The same Canvas + Interaction approach from my Divi 5 off-canvas menu tutorial can hide this whole filter form behind a "Filter" button on mobile.
A slow Divi site usually comes down to hosting, caching, images or plugins, not Divi itself. How to find the real cause and fix it, step by step.
Read the articleBuild custom CSS Grid layouts in Divi 5 visually with the new Grid Editor: columns, gaps, spans, offset rules and responsive tweaks. No code. Step by step.
Read the articleSecond Chance Dance is a Philadelphia dance studio built on one idea: it’s never too late to dance. They came to me with a dated website that didn’t reflect that warmth — and, more importantly, wasn’t built to do its real job: fill classes and get people onto the studio’s booking app. Here’s how I […]
Read the article