# Tutorials on SEO (routing & titles binding)

**URL:** <https://community.weweb.io/t/tutorials-on-seo-routing-titles-binding/81>\
**Category:** Tips and Hacks\
**Created:** [November 13, 2021, 10:08pm UTC](https://community.weweb.io/t/tutorials-on-seo-routing-titles-binding/81 "2021-11-13T22:08:54Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![theophilenz](https://avatars.discourse-cdn.com/v4/letter/t/e19b73/32.png) [@theophilenz](https://community.weweb.io/u/theophilenz)\
**Post date:** [November 13, 2021, 10:08pm UTC](https://community.weweb.io/t/tutorials-on-seo-routing-titles-binding/81/1 "2021-11-13T22:08:54Z")

</div>

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](http://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!

---

<div class="post-metadata">

**Author:** ![Quentin](https://sea2.discourse-cdn.com/flex016/user_avatar/community.weweb.io/quentin/32/6_2.png) [@Quentin](https://community.weweb.io/u/Quentin)\
**Post date:** [November 15, 2021, 8:58am UTC](https://community.weweb.io/t/tutorials-on-seo-routing-titles-binding/81/2 "2021-11-15T08:58:28Z")

</div>

Hey @theophilenz 👋

Thank you for this feedback!

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

---

<div class="post-metadata">

**Author:** ![theophilenz](https://avatars.discourse-cdn.com/v4/letter/t/e19b73/32.png) [@theophilenz](https://community.weweb.io/u/theophilenz)\
**Post date:** [November 15, 2021, 12:27pm UTC](https://community.weweb.io/t/tutorials-on-seo-routing-titles-binding/81/3 "2021-11-15T12:27:06Z")

</div>

@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.

---

<div class="post-metadata">

**Author:** ![Quentin](https://sea2.discourse-cdn.com/flex016/user_avatar/community.weweb.io/quentin/32/6_2.png) [@Quentin](https://community.weweb.io/u/Quentin)\
**Post date:** [November 18, 2021, 3:54pm UTC](https://community.weweb.io/t/tutorials-on-seo-routing-titles-binding/81/4 "2021-11-18T15:54:43Z")

</div>

Thanks for the feedback!

1/ You can add this prefix in your backend on every record, even if it’s not perfect, it works 😉  
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](https://help.weweb.io/en/article/how-to-repeat-pages-from-a-data-source-1khscik/)  
3/ It’s definitely in our roadmap! Also, feel free to add it here so that users can upvote it: [Feature Requests | weweb.io](https://feedback.weweb.io/feature-requests)

---

<div class="post-metadata">

**Author:** ![theophilenz](https://avatars.discourse-cdn.com/v4/letter/t/e19b73/32.png) [@theophilenz](https://community.weweb.io/u/theophilenz)\
**Post date:** [December 2, 2021, 3:53pm UTC](https://community.weweb.io/t/tutorials-on-seo-routing-titles-binding/81/5 "2021-12-02T15:53:54Z")

</div>

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}](http://website.com/%7Bservice%7D/%7Bcity%7D)** (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 !

---

<div class="post-metadata">

**Author:** ![Joyce](https://sea2.discourse-cdn.com/flex016/user_avatar/community.weweb.io/joyce/32/13232_2.png) [@Joyce](https://community.weweb.io/u/Joyce)\
**Post date:** [December 12, 2021, 3:25pm UTC](https://community.weweb.io/t/tutorials-on-seo-routing-titles-binding/81/6 "2021-12-12T15:25:16Z")

</div>

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

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! 🙂

👇  
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:

 ![Screen Shot 2021-12-12 at 16.12.40](https://us1.discourse-cdn.com/flex016/uploads/weweb/original/1X/7edba635ad86868d8648280bdb3ad958ce834a7b.png)

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

 ![Screen Shot 2021-12-12 at 16.14.59](https://us1.discourse-cdn.com/flex016/uploads/weweb/original/1X/624c9b98679c56772beb519cfcbd6b69d8dc8d73.png)

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

 ![Screen Shot 2021-12-12 at 16.15.07](https://us1.discourse-cdn.com/flex016/uploads/weweb/original/1X/1060d9eb2fe1de1e8e8f99b328e48d5225889196.png)

👇  
Does that help?

---

<div class="post-metadata">

**Author:** ![Matthieu](https://sea2.discourse-cdn.com/flex016/user_avatar/community.weweb.io/matthieu/32/1288_2.png) [@Matthieu](https://community.weweb.io/u/Matthieu)\
**Post date:** [February 17, 2023, 4:51pm UTC](https://community.weweb.io/t/tutorials-on-seo-routing-titles-binding/81/7 "2023-02-17T16:51:12Z")

</div>

Hey @Quentin

I can’t figure out how to bind a variable into my pages titles.  
It would be nice to at least have a global var with the project name and not a hard coded value in every page.  
Sadly none of my variable is eligible for binding and I don’t get why.  
Did you end up making a tutorial about this?

Thanks 🙂

Matth-

---

<div class="post-metadata">

**Author:** ![Matthieu](https://sea2.discourse-cdn.com/flex016/user_avatar/community.weweb.io/matthieu/32/1288_2.png) [@Matthieu](https://community.weweb.io/u/Matthieu)\
**Post date:** [March 27, 2023, 7:54am UTC](https://community.weweb.io/t/tutorials-on-seo-routing-titles-binding/81/8 "2023-03-27T07:54:28Z")

</div>

@Mael Can you give me some help here ?  
Today I’ve got to change the name of my app on _every single_ page of my app ☹

 ![image](https://us1.discourse-cdn.com/flex016/uploads/weweb/original/2X/6/614c9091b455d7475e448aef2fb73e31ff8b7dbd.png)

I have no clue how to make a regular variable bindable here.  
Thanks 🙂

Matth-

---

<div class="post-metadata">

**Author:** ![Mael](https://sea2.discourse-cdn.com/flex016/user_avatar/community.weweb.io/mael/32/13246_2.png) [@Mael](https://community.weweb.io/u/Mael)\
**Post date:** [March 27, 2023, 12:07pm UTC](https://community.weweb.io/t/tutorials-on-seo-routing-titles-binding/81/9 "2023-03-27T12:07:50Z")

</div>

Hello, for metadata of pages, you can only bind it to a static collection

If you don’t have one, you need to define a title for each page manually

---

<div class="post-metadata">

**Author:** ![jaredgibb](https://avatars.discourse-cdn.com/v4/letter/j/ecd19e/32.png) [@jaredgibb](https://community.weweb.io/u/jaredgibb)\
**Post date:** [April 20, 2023, 2:50pm UTC](https://community.weweb.io/t/tutorials-on-seo-routing-titles-binding/81/10 "2023-04-20T14:50:28Z")

</div>

> [@Joyce](#):
>
> e because we statically generate pages. We’re not in SPA mode yet but it’s coming soon! 🙂

are there any plans on the roadmap to allow for page titles from dynamic data without having to run some javascript?

---

<div class="post-metadata">

**Author:** ![Quentin](https://sea2.discourse-cdn.com/flex016/user_avatar/community.weweb.io/quentin/32/6_2.png) [@Quentin](https://community.weweb.io/u/Quentin)\
**Post date:** [April 21, 2023, 9:47am UTC](https://community.weweb.io/t/tutorials-on-seo-routing-titles-binding/81/11 "2023-04-21T09:47:16Z")

</div>

It’s in the roadmap, but not prioritized yet. I’ll keep you posted when we prioritize it!

---

<div class="post-metadata">

**Author:** ![whcmeduk](https://sea2.discourse-cdn.com/flex016/user_avatar/community.weweb.io/whcmeduk/32/1229_2.png) [@whcmeduk](https://community.weweb.io/u/whcmeduk)\
**Post date:** [June 14, 2024, 1:49pm UTC](https://community.weweb.io/t/tutorials-on-seo-routing-titles-binding/81/12 "2024-06-14T13:49:03Z")

</div>

+1 for roadmap
