I’ve got a price comparison/shopping tool that is currently built on Bubble and I’m really wanting to ramp up on SEO-friendly content, something that Bubble is not known for (considering how it’s built).
The site has 4 main types of content:
Search/Filtering - This is the bread and butter of the site. The user will be able to search for products using advanced filters to find a list of products that fit their needs.
Product Pages - When a user clicks on a product they are brought to a product page with all of the details about that product. All of the content on this page never really changes other than the real-time prices from all of the various retailers that sell that product.
Educational Content - These pages are essentially evergreen articles that educate the user on various topics when shopping for products in my niche.
“Best of” & “Top” Lists - Very similar to #3 but more product focused. Most of these would be pages that I would manually update (“Best Monitors for PC Gamers”) but others would be more dynamic. For example, I would love to have a "Cheapest Monitors for PC Gamers).
In regards to SEO and WeWeb Collection types, #1 is clearly a “Dynamic” collection and #3 is clearly a “Static” collection. But #2 and #4 get complicated. Both are pages that are important to rank on Google search but both contain a mix of content that never changes and content that changes by the minute.
For the product page, everything is the same other than the various prices that are regularly changing inside my Xano database.
For a page like “Cheapest Gaming Monitors for the PS5” I would love to be able to have the actual list of products update automatically with the cheapest monitors at that moment. That would be dynamic data but I would want the page to be static since it would be a key page to have rank on Google.
Is this possible? Is there a better way to approach this?
For this one, I think I’d have a static collection with all the static content and combine it with a dynamic collection that gets the price of the product based on the product id.
On my static collection page, I would have a workflow on page load that fetches the dynamic content of the product and bind the price to that collection. In fact, I could even just trigger a workflow on page load that makes that API call if I didn’t want to create the collection.
So most of the content of the page would be static but the price would depend on a specific API call (whether it’s made through a collection or workflow doesn’t really matter in this case)
Does that make sense?
In this case, I’d recommend using a dynamic collection. Using a dynamic collection doesn’t mean your page will not rank. You can still have a fixed URL with proper metadata and, unless you disable the option when you publish your project, your pages will be pre-rendered:
Little side note, if by “at that moment” you mean updating the list in realtime if a price changes in the database while the user is on the page, you’ll also want to make sure your backend has that realtime functionality.
That makes perfect sense! How does this work with newly added products to my Xano database? Do I need to republish my site everytime new products are added, or will a new static page be created the first time someone clicks on the product from a dynamic listing?