How To Create Parameters In The URL (Answered)

Is it possible to do something like this:
https://www.example.com/pages/{api_parameter}

Once the “pages” page is opened it would load date from the data parameter listed in the URL.

I’m really just looking for a way to pass data without the ugly ?thing=thing so that pages can be shared on social and still look attractive.

Tried it can’t seem to create a solution. Would love to know the solution

1 Like

You mean a path? If you send someone to myapp.com/pages/jack-frost, then you can lookup a record in your database where a specific field matches the path “jack-frost”

This means that each Thing in your database would need a unique value for that path (text) field so that when you load that page with the path value, it only matches 1 Thing.

Let’s say the name of that field is “slug.” The expression would look something like this:

Search for Thing (slug = Get path from page URL) :first item

“Get path from page URL” is found via “Get data from page URL” > change parameter to path


(click on “get data from page url” to select “path” in dropdown in image below)


Gaby at Coaching No Code Apps (formerly Coaching Bubble)

Courses & Products, Tutorials, Private Coaching, and High-level Development

Start Learning Today :mortar_board:

8 Likes

Thank you!

@romanmg, will Google index this? Any SEO downside to this? Thanks!

1 Like

Google will index it… MAYBE… if you link to it. Issue is: Googlebot does not wait around for your shenanigans to complete.

So, best bet: you make a page called index_this. You put it in your sitemap. There, you construct dyno-links to all of the things.

Some may get indexed. Some may not.

This is the downside to all this stupid jacking around people do with these custom URL schemes. Bubble simply does not allow us to do it the right way, so your mileage may vary, as they say.

But this applies to any dyno-page. If you want dyno-page/unique_id indexed, you need to have a page where the static versions can be found.

Again, since those URLs are dynamic, u have to make this happen before the Googlebot says eff off and goes away.

It’s tricky. Tricky tricky tricky, as they say.

3 Likes

In case it’s not obvious: the page I’m talking about has a minimally styled RG on it that displays the list of pages you want indexed, as links to the dynamic destinations.

I know this is “duh”, but it has to be said for those new to this idea.

Happy Bubblin’!,
-Keith-

Makes sense, thanks @keith (sometimes I want to kill Bubble for being so useless when it comes to the most basic functionality).

I have this working, but it won’t work on the index page, understandably. E.g. if I type in www.example.com/about, Bubble looks for an ‘about’ page and returns a 404. Is there any way to do this on the index page?

2 Likes

Hey @romanmg Gaby,
I just watched your video on this (it’s awesome!), and I was wondering if you could help out with creating unique-slugs?:slight_smile:

I’m not sure how to do the following:
-When a company profile is created then “use the Company name as Slug” (I got this part)
-But then how can I check if there was already a company in the database with the same name/slug name in the database? And in that case, I would like to add a +1 to the Slug name.

So something like
-www.page.com/adidas
-and if there was already a company named Adidas then it would be named
www.page.com/adidas-1

I would appreciate any input.

And related to that: it looks like that Bubble creates a URL like below when there’s a space in the name:

Name in database: Big Company
URL shown in browser: Big%20Company

Do you perhaps have best practise on resolving that?

Hey @geza, that’s a good question.

You do that by first searching your DB for that company:count and then adding +1 to that. And you do all that inside the slugify plugin, so that you can use the result of that step in the next step where you persist the new company to the DB with the new name and slug.

You will end up having two businesses with the same name, but different slugs, that’s I would do it.

Note that with this approach every slug will end up having a number appended to it.

businesses:

Company 1:
slug: adidas-1
name: adidas

Company 2:
slug: adidas-2
name: adidas

1 Like

thanks, @mazorshimon! this was helpful!

1 Like