SEO Experts, I Need You

Hi everyone! I’m trying some things out with a blog structure and running into some SEO questions. If anyone has tips or experiences they’d like to share, I’d love to hear them!

I’ve read through many of the posts regarding internal links, vanity urls, etc. But I want to run a specific setup by anyone listening to make sure I understand how Google will respond.

My ultimate goal is to have vanity URLs that will be indexed by Google for every Blog Post, but still use a dynamic page structure where the content type is set to Post. Here’s what I’ve got:

1.) Internal links and shared links take visitors to the dynamic Post page via a vanity URL (path parameter). Like these:

2.) When the visitor lands on this page, I use the Go to Page action to navigate to the same page and send data, which I’ve identified via Path Parameter. Now, the visitor is still on the same page, but the URL looks like this:

My question so far isn’t why or how any of this is happening. I’m doing this intentionally so that vanity links are used, but structurally, I can take advantage of a dynamic page with content type set (mainly, page header HTML needs to pull from Current Page’s Post… among a few other reasons).

3.) I have a locked off page that has a repeating group of all my Posts. The RG cell contains a link element that navigates to the Post page through the “external URL” option: cell's vanity url. This one is for Google to find and index!

I know Google will index dynamic pages regardless of the Path parameter method or Content Type method, so my question is if I only ever link to the vanity urls and never link or share the “full” url with unique ID BUT visitors are being re-routed to the full url (via internal action Go to Page, not Link)… will Google still only index the vanity URLs?

I just don’t know enough about how Google’s brain works (does anyone?), but I wonder if this setup will allow me to have Google index only vanity URLs for a dynamic page that will get “refreshed” to the full URL as soon as a user lands on it…? (I don’t know if it’s even technically a refresh, but anyway…)

Thanks for taking the time!


If you go this route, I think you’d want to set the Vanity URL and the corresponding full URL to be canonicalized so that Google treats them as the same URL. I suspect that resolves all of the challenges you’ll have, but I’m not sure of this.

Also, Google really, really cares about page load speed. Not because they choose to care, but because it impacts the likelihood someone who clicks that link in search is willing to wait for the page to load before clicking “back.”

An Alternative

Another approach you could take is to use a much shorter ID instead of the Bubble ID and then skip the step of creating a vanity URL since the URL will already be clean looking. For example, you could number your blog posts and add that value to your database and use that as part of the URL instead of the full Bubble ID. Then, add the name of the article to the front of it, and you’ve got URLs that are nearly as simply as vanity URLs, but simpler to create and faster to load for users.

Example for your app:

Also, you could use a random unique number (or number and letter combination) instead. This is how many big sites seem to do it. For example, here’s one from Glassdoor:

Hey Scott, glad you answered. I’ve seen your posts in other related threads.

The page load speed is another hoop that I’m aware of, but for the moment I’m wanting to confirm what Google would index. I think you’re right about canonical urls though. I’ll have to try it out to be 100%. Thanks!

Regarding your alternative method… What I’m wanting to do is take advantage of having a dynamic page with a content type set, which means Bubble will insert the Thing’s unique ID into the URL. Yes, I can enable the “readable url” feature, but the unique ID will still be there. There’s currently no way to have a dynamic page with a Thing not empty AND a clean url (that I know of).

That’s why I want to direct users to the page with a path, with no Thing involved, so that the URL is “clean.” But then reload the page with internal navigate action that lets me Send Data, which I identify from the path. They start with nice url and end up on what I’m calling the “full” url, which is the official url for a dynamic page (with unique ID).

I think what you described is currently what I’m doing for the first part involving a Path for each post.

Did a bit of quick research on the forum because I thought I’d seen a solution before. It seems like there may be another way to do this that uses the user friendly version of the URL. Here’s two articles that explain it:

Would this approach make sense for your use case?