> For the complete documentation index, see [llms.txt](https://docs.themeupstudio.com/travio/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.themeupstudio.com/travio/rename-taxonomies/change-page-urls.md).

# Change Page URLs

## Change Page URLs

Use this page if you want to change the public URLs:

* `/destinations/` -> `/places/`
* `/experiences/` -> `/travel-styles/`

If you only want to change visible text, you can skip this page.

The routes file is named `routes.yaml`.

### What you will change

You will update four places:

1. `routes.yaml`
2. The matching Ghost Pages
3. Homepage links inside the theme
4. Ghost Navigation links

### Step 1: Update `routes.yaml`

Open:

```txt
routes.yaml
```

Find the current Travio routes:

```yaml
routes:
  /destinations/:
    template: destinations
    data: page.destinations
  /experiences/:
    template: experiences
    data: page.experiences
```

Change them to your new URLs and page slugs.

Example:

```yaml
routes:
  /places/:
    template: destinations
    data: page.places
  /travel-styles/:
    template: experiences
    data: page.travel-styles
```

Keep these template values unchanged:

* `destinations.hbs`
* `experiences.hbs`

That means these lines can stay as they are:

```yaml
template: destinations
template: experiences
```

The `data` value must match the Ghost Page slug you will use in Step 2.

### Step 2: Create or rename Ghost Pages

In Ghost Admin, create or rename these Pages:

| Current Ghost Page slug | New example slug | Used by                                       |
| ----------------------- | ---------------- | --------------------------------------------- |
| `destinations`          | `places`         | `/places/` route and homepage hero CTA        |
| `experiences`           | `travel-styles`  | `/travel-styles/` route and homepage hero CTA |

Set each Page title to the name visitors should see.

Example:

* Page title: `Places`
* Page slug: `places`

If the route says:

```yaml
data: page.places
```

then the Ghost Page slug must be:

```txt
places
```

### Step 3: Update hardcoded homepage links

Open these files:

```txt
partials/homepage/section-home-destinations.hbs
partials/homepage/section-home-experiences.hbs
```

Current links:

```hbs
link_url="/destinations/"
link_url="/experiences/"
```

Change them to your new URLs:

```hbs
link_url="/places/"
link_url="/travel-styles/"
```

These links control the "View all ..." buttons in the homepage sections.

### Step 4: Update homepage hero page lookups

Open:

```txt
partials/homepage/hero.hbs
```

Current page lookups:

```hbs
{{#get "pages" filter="slug:destinations" limit="1" as |destination_pages|}}
{{#get "pages" filter="slug:experiences" limit="1" as |experience_pages|}}
```

Change the slugs to match the Ghost Page slugs from Step 2:

```hbs
{{#get "pages" filter="slug:places" limit="1" as |destination_pages|}}
{{#get "pages" filter="slug:travel-styles" limit="1" as |experience_pages|}}
```

These lookups power the CTA cards shown in the homepage hero when the home page is featured.

### Step 5: Update Ghost Navigation

In Ghost Admin, open:

```txt
Settings -> Navigation
```

Update normal navigation links:

| Old label    | Old URL          | New label     | New URL           |
| ------------ | ---------------- | ------------- | ----------------- |
| Destinations | `/destinations/` | Places        | `/places/`        |
| Experiences  | `/experiences/`  | Travel Styles | `/travel-styles/` |

If you use normal dropdown syntax, update those child links too:

```txt
+Explore     -> #
-Places      -> /places/
-Travel Styles -> /travel-styles/
```

### Special navigation tokens

Travio also supports special Primary Navigation tokens:

```txt
[destinations]
[experiences]
```

These are internal control tokens. They do not display as text. Travio replaces them with the special header dropdown controls.

Keep these tokens unchanged.

Visitors will still see your renamed labels from `locales/en.json`.

For example, Ghost Admin can still contain:

```txt
[destinations]
[experiences]
```

while visitors see:

```txt
Places
Travel Styles
```

Do not change the tokens to `[places]` or `[travel-styles]` unless you are also editing the theme's developer code.

### Step 6: Upload the changed routes file

Upload the edited `routes.yaml` in Ghost Admin:

```txt
Settings -> Labs or Advanced -> Routes -> Upload routes file
```

Then clear cache if your hosting stack has caching enabled.

### Step 7: Upload the changed theme

Because you edited theme files in Steps 3 and 4, zip the theme folder and upload it again in Ghost Admin:

```txt
Settings -> Design & branding -> Change theme
```

When you create the ZIP, make sure `package.json` is at the root of the ZIP file.

### Step 8: Test the new pages

Visit:

* `/places/`
* `/travel-styles/`
* Homepage section "View all ..." links
* Homepage hero CTA cards
* Primary Navigation links
* Footer links if you added them manually

If you see a 404, confirm the route path, Ghost Page slug, and uploaded `routes.yaml` all use the same slug.

### What should not change

The individual tag archive URLs stay the same unless you change Ghost's global tag taxonomy route:

```txt
/tag/{slug}/
```

For example, a tag named `Paris` may still be available at:

```txt
/tag/paris/
```
