Setting Landing Page

I’d like to have have a permanent landing page.

So when I go to www.mydomain.com/ I’d like it to always serve the same page I created inside of ghost. Let’s say /welcome and all the blog posts should be visible via /blog or /news.

Is that possible to do in Ghost? I did see that you can create pages and give them a URL, add a menu item but I’m trying to set that page to be the root page and move the blog index page to a different url.

Any help is appreciated.

Yes, it’s possible, check out dynamic routing:

So, I don’t have a custom templates from my page, I’m creating the page from the CMS built in functionality.

routes:

/:
  permalink: /introduction/
  template: post

collections:
  /news/:
    permalink: /{slug}/
    template: index

taxonomies:
  tag: /tag/{slug}/
  author: /author/{slug}/

Moving the blog to /news worked, but I’m having a hard time getting the root page to load correctly.
I tried setting the page slut to / and permalink to / but none of those patterns worked.

Any suggestions?

For future reference for anyone who needs to do this as well, this is my solution:

routes:
  /:
    data:
      post:
        resource: pages
        type: read
        slug: home
    template:
      - page

collections:
  /news/:
    permalink: /{slug}/
    template: index

taxonomies:
  tag: /tag/{slug}/
  author: /author/{slug}/


I made a new page with the slug of ‘home’ and redirected the old blog type posts to /news.

1 Like