Tutorials on SEO (routing & titles binding)

Hello everyone!

So far Weweb has been fantastic on most aspects I tested. I just haven’t seen some tutorials about SEO configuration, especially dynamic binding. I wanted to know if you can make more tutorials about :

1- How to dynamically bind page titles based on the current item (by passing variables on the page for example)
2- How to pass data between pages and how to do it with prettier URLs like website.com/ticket/001/ticket-title (if that is even possible). I only tried but so far I only seem to be able to pass parameters in url and that’s not what I need.

I think it would be a great addition with the unboarding tutorial about tickets.

Thank you for this great tool!

2 Likes

Hey @theophilenz :wave:

Thank you for this feedback!

I’ll do these tutorials asap and ping you when they’re ready :wink:

@Quentin Thank you for the quick answer. I must add some stuff for the tutorials ideas regarding SEO.

1- I saw that you have a “collections page”, which is great. But one thing it seems to lack is the /page-slug/ prefix before whatever path we want to add. That would be great, unless I missed something.

2- I only seem to be able to only bind collection data in the page title and description. It would be nice to also have access to current page variables and even perhaps be able to concatenate values and bing them to the field based on the current page query.

3- I only see events on interactions and no events on load (for the full page loaded for example, I’d like to change variables titles to the current page values in order to bind them to the title), I don’t know of I missed anything on that too.

You’ll tell me if some features are lacking and I could add them to the feature request list!

Thank you.

2 Likes

Thanks for the feedback!

1/ You can add this prefix in your backend on every record, even if it’s not perfect, it works :wink:
2/ It’s totally possible to bind data in the collection pages’ content, that’s even the first use-case of WeWeb. Check how to do it here: How to repeat pages from a data source | WeWeb Helpdesk
3/ It’s definitely in our roadmap! Also, feel free to add it here so that users can upvote it: Feature Requests | weweb.io

1 Like

I’m sorry for my very late reply. I think I was not clear enough. For the prefix I can indeed take it from my database. I’ll make that setup.

For the other points, let me clarify. Here’s my use case :

I’m building a directory. Which means that for SEO, titles and URLs are pretty important. Let’s say I need to build something like Zocdoc. I need to have:

  1. Routing : A dynamic page for every service (dynamically because I don’t want to create a collection for doctors, another one for dentists and so on…if I have hundreds or more). All I need is to be able to have: website.com/{service}/{city} (as you would understand, everything in brackets is dynamic so I’d lookup my data source based on that).
  2. Titles. Again for this example, titles would be something like “Best Dentists in Québec City”. Dynamically based on the aforementioned query. If I could store page variables and bind those variables in that page titles and description it would be nice.

I know that your platform supports VueJS and I don’t know if we can take advantage of the vue-router library for that matter ?

Is that something I need to ask as features or your are already considering that?

Thank you !

Hi @theophilenz, apologies for the late reply! The notification went unnoticed on our side :grimacing:

For now, you’d have to create the dynamic paths and titles in Airtable because we statically generate pages. We’re not in SPA mode yet but it’s coming soon! :slight_smile:

:point_down:
Then you could bind the path and title fields from your people base to your collection page.

Here’s how you could set up your base in Airtable:

:point_down:
With the lower, substitute and concatenate formulas, you could generate the dynamic url in Airtable:

:point_down:
For the dynamic title, you would only need the concatenate formula:

:point_down:
Does that help?