Hi @ben4, this is a tricky topic because it involves so many variables.
Technically, you can do this. You’ll need to take into account a lot of different factors for how you’ll manage the overall setup. There’s a big issue you need to be aware of when it comes to SEO and creating a blog like this, though -
You can get Google to index and rank your posts correctly, but page load speed will have to be a huge focus for you. The reason is, when Google starts to crawl your page, it only gives the page several seconds to load before it “decides” not to wait around any longer. Since Bubble’s using javascript, Google doesn’t have a static (html) version of your page to crawl. That means if the elements/content on your page take too long to load, Google will see an empty page (or only a partial page).
So, let’s say you have 20 blog posts, and every time Google goes to crawl one of them, it sees only a few different elements load (maybe you have a few more “static” elements on the page outside of the dynamic blog content itself). What’ll happen is, Google will start to crawl your dyamic posts as if they’re different pages (if you’ve set this up properly), but if the rest of the content doesn’t load quickly enough, it’ll see the same few pieces of content over and over and decide you’re producing “duplicate” content. (Google doesn’t like this!)
If Google thinks your content has been duplicated, it won’t index and/or rank it. As your content database grows, this problem can continue to become worse and worse.
Now, let’s say you’re able to make your pages load quickly enough (within the time frame Google bot allows it to load before it decides to move on). The next thing you have to consider is whether the same content loads quickly enough on mobile. Since Google has switched to mobile first indexing, if the page speed isn’t quick enough on mobile, you’ll have a hard time getting ranked/indexed.
Google is still working on being able to index javascript correctly. See this discussion: https://youtu.be/PFwUbgvpdaQ
Your javascript page will load in a sequence (instead of all at once). This gives the user a better experience, but won’t help Google out. So, even though you might see the page loading quickly, Google might only be able to pick up part of the page. You’d need to get very familiar with your posts’ waterfall charts (read about that here: https://gtmetrix.com/blog/how-to-analyze-a-waterfall-chart/).
There are methods for creating a static/html version of your app you can serve to Google, where Google sees the static page and your users see the dynamic, javascript page (tools like prerender.io). However, those come with a lot of tricky implications and don’t tend to work very well.
Take a look at these additional resources:
https://www.onely.com/blog/ultimate-guide-javascript-seo/
https://www.briggsby.com/dealing-with-javascript-for-seo
You can be successful with SEO regarding your overall app, but when building a blog specifically like this, you need to keep in mind all of the above.
If you want the technical explanation for everything, the links above will take you down the rabbit hole. Hopefully this will at least give you some insight into what to expect and what is/isn’t worth the results you’re hoping to achieve.