Forum Documentation Showcase Pricing Learn more

Blog? Will it work?

BTW, keywords and metadescription are deprecated. It is important to expose headline tags in your app.

I really do appreciate the help guys, however, I am still not sure this quells my suspicions. If a page wasn’t actually created, how will any parameters or tags be called unless the link has been clicked? I get how I would want to use dynamic parameters, makes perfect sense, but I am wondering about google’s algorithm a what to do to get my rank up using a blog.

Here’s a demo blog built with a plugin, and here’s a bit of testing I did with Google. Hope it helps.

The dynamic links will be picked up by Google with the correct SEO metadata for each dynamic page. There are many other factors that determine how well you would rank for those pages though like external links, on-page SEO, structured data, etc.

I have a bubble based blogging site with several 100’s of pages ranked on Google, so I am confident that it’s possible. Let me know if you want me to share a link or so for reference.

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. :slight_smile: 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.

10 Likes

I am using Zeroqode URL Router for navigation in my blog. Does anyone know how to get dynamic SEO setup?
I notice that it will not change according to my URL router

Thank you so much for your help!

Put dynamic data into the SEO areas. This dynamic data needs to be tied to the data type that is displayed based on the URL

Thanks bro

Thank you for your help! But if I put information into my URL, will my URL be untidy and google will not like it as much for SEO?

Hi @paritosh.mehta19 just stumbled on this question and your response and wanted to know if you are still running your bubble based blogging site? If so, would you mind sharing a link?

I am creating content for my site in a blog section and I’m trying to figure out the best way to set up each page so that I’m not recreating it each time I create new content/article, but allowing flexibility to add things like photos at the same time.

That will be true if you don’t do a good job at telling bubble what information to put in the URL, like putting the blog title, which will actually help SEO and google will like it.

I put into a URL a blog title

www.myapp.com/blog/my-blog-article-title

That type of URL is not untidy and it is considered ‘clean’ so that google will like it. You can when creating a datatype put a data filed you title ‘slug’ which is what will get put into the URL after ‘.com/blog/’ this slug is up to you to create but it will suffice for getting the information from the URL to correspond to the blog article.

Boston, thank you for your help I manage to get Description and Image connected. for some reason, my title always reflects as empty. what am I doing wrong?

I am not sure…maybe it needs to be dynamic data as well. I’m not very familiar with this part of bubble as I’ve only started focusing on it a week ago.

Try putting dynamic data in and see if it works.

Where did you get that info in the screen shot showing the properties?

I changed it to dynamic data and its still empty. could it be a bug?

not sure if this is what you are looking for:

Where did you find the information or rather how to did you see the information that is in the screen shot of Properties that shows all the information about the page?

go to your website eg.

yourapp.com/version-test/blog?debug_mode=true

with this debug mode, you will see a inspect button, click on it and select the element you want to inspect

I’m not getting any issues with the recognition of the page title or the description…I didn’t add a image, so that is why it is blank.

Not sure why you are not getting the title.

This is my set up

I made a bug report on this issue, I believe it’s a bug on my end. Thanks a lot Boston!

Hi @JP29

Yes. my site is still live. Here’s the site link for your reference - Your Veg Recipe

To be honest, I haven’t worried much about an ugly URL (especially the id numbers at the end of any post). When I started this site, there were no easy solutions to manage the URL id and so I didn’t have much of a choice. Back then (somewhere in 2017), I could make the URL pretty, but the way that could be implemented would have SEO issues. Today, there are some plugins that provide this feature to have SEO benefit with clean URL’s. For eg: [UPDATED v2.2.0] 😃 Sudsy Page router for SEO-friendly clean URLs! (by Tech-Tonic)

None the less, I still have 100’s of pages and keywords indexed on Google and ranking on Page 1. But is wasn’t something that happened quickly. Here are a few things that you should try to implement that will help.

  1. If your blog articles have a schema markup, set that up. I explained how I have done this schema markup in bubble on another forum post. This will make it easier for Google to Understand the context and content. In our case, I have setup the recipe markup on the recipe page (Eg: Crispy Corn Recipe) and setup a List Markup on a list of recipes page: 10 Paneer Snacks].
  2. In both the above cases, I have kept the URL’s as the default way that bubble handles individual database entries, i.e with the id’s at the end. This simplifies the processing required on load, thus keeping the site load speed optimised.
  3. Try generating backlinks to your site from external domains.
  4. Inter link articles using the link element and double check that by verifying that the loaded page has the [a href] element for the URL. This way the google bot will crawl all those interlinked pages.
  5. Setup Google Search Console with your site, to track and manage SEO and keywords.
  6. Build authority on the topics that your write about and gradually Google should be able to understand the context of the site. Today’s if we write a new recipe, its picked by the Google Bot pretty much in a few hours. Of-course, it takes some additional off-page SEO to try and rank the page.
  7. With the new Dynamic Sitemaps feature enabled, make sure you have included all the articles you need in the sitemap. This you can then verify in the Google Search Console. This will also speed up the indexing.

Please note: Since Bubble is a Javascript based platform, it is definitely more difficult to get data indexed and ranked compared to simple HTML based sites. But the Googlebot is quite advanced and can quite comfortably crawl through it. Refer to these javascript seo guides by google to understand how all this works.

Hope this helps. Please reach out if you have further questions.