Landing Pages Plugin 🛩

The Landing Pages Plugin lets you make standalone landing pages for your Discourse instance. You can display topics, users and other content from your forum. You can restrict pages to groups, apply Discourse themes, set custom paths, and manage pages in a dedicated git repository.

You can see them in action on Pavilion’s new landing pages! :star2:

Screen Shot 2021-02-23 at 6.11.10 PM

:desktop_computer: Get the code

:page_facing_up: Read the documentation

:raising_hand_woman: Request a feature

:bug: Report a bug

Not sure how to install a plugin? Follow the steps here.

Quick Links

Adding and Editing Pages
Page Attributes
Page Asset Management
Partials and Helpers
Global Attributes
Pavilion’s Landing Pages
Pavilion’s Landing Theme


That is a wonderful plugin! Can’t wait to use it even more!


Hey @angus

Did you include (or can you include) a site setting to change the Discourse root route to make the root route the specified landing page for the site?

This is a small addition (if it is not included already) and would help users who do not want to fiddle around with their web server and do redirects, etc; and therefore, I think would make this plugin even better.


How does one customize pages.json without connecting a repo?

1 Like

Thanks for the feedback guys.

Yes, I’m hoping to do that soon. Would you want that in all circumstances though? A list of desired outcomes for guests v users and any other factors would help me think it through.

Here’s the rudimentary patch I made to to handle that.

Perform the redirect from / to /welcome.

  • If you’re a guest
  • And you go directly to (i.e. base path)
  • And we haven’t redirected you to /welcome in the last 5 minutes.

The only way currently is via a zip upload or a repo connection. You can’t do that via the admin UI yet. But yes, the plan is to add a new “page” for site wide settings.


Are there any known incompatibilities with other plugins? I’m having issues installing this and suspect the procourse static pages might be the culprit.

I haven’t tested it, but there shouldn’t be any conflicts. The ProCourse static pages plugin is fundamentally different from this plugin from a technical perspective.

Share the specific issue you’re having and we’ll see if we can help.


I was having issues with the plugin so I deleted the git from app.yml.

I reinstalled it but all the previous data is still in there.

How can I delete it?

(Basically at the moment when I create a new page. I can add some html but all this over stuff shows like my logo and some footer from pavilion) But I cannot find out where this is being pulled from.


Just delete all the landing pages in the Landing Pages Admin UI and remove your repository connection.

You’re using the pages.json in the Pavilion Landing Pages repo. You need to use your own details there. More on that here:


As the global pages.json is proving to be the most confusing / limiting piece of this plugin so far (I’ve received a fair bit of feedback about that), I’ve added it to the Admin UI. Note the “See further” links in the notes that will take you directly to the relevant part of the docs.

The header and footer attributes will be further defined extended over time (and be editable via a UI instead of via JSON), however at this early stage some flexibility there is best.


I was surprised that this utility was so good that you shared it with everyone for free. Really admire your talent. :star: :star: :star: :star: :star:


Much much easier is that! Thank you very much for that update. :slightly_smiling_face:

Hello, Am I missing some CSS file or something somewhere?

I can see the global header but its not displaying properly.

Also when I make any edits in the global settings. When I try to save it, it just continuously loads.

This is the only error I can see:

Thank you in advance.

hm, not sure what’s going on there. That console error is unconnected to the landing pages Admin UI. Does this happen every time? Does it happen when you updated specific attributes?

The update is working fine for me in production, for example I just added :raising_hand_woman: to the “notice” in our landing pages header: Pavilion | Welcome

Screen Shot 2021-04-26 at 8.48.44 PM

    "root": "/welcome",
    "notice": {
        "href": "/join",
        "text": "We're looking for new members 🙋‍♀️"

edit: @Paul_King1 you’re attempting to use bootstrap right? I’ll use this opportunity to create a set of example pages using bootstrap which you can base yours off of. Give me a week.

1 Like

Very much appreciated! Kind regards.

@angus sorry just to confirm the console error was from the test page I made, front end. Not the Admin side.


1 Like

Thanks for the reply, I’ll have to fiddle with it then. It’s probably something specific to my installation if I had to guess. I’ll have to see if there’s a specific error being report, but it won’t let me rebuild the app with this plugin added.

I am still unable to get bootstrap working on the landing pages. I have tried everything and nothin works.

Hey @Paul_King1 sorry for the delay, it’s been a busy few weeks. I decided to make you a little video on the easiest way of using bootstrap with the plugin. It’s a bit late here and I wasn’t using a script, so apologies for any rambling!

Hope that helps you get started. The example page from the video is here: Try Pavilion | Bootstrap


Hey Angus, thanks for this superb plugin. I’m trying to implement the home redirect patch to redirect / to /welcome. I added your rudimentary patch to the plugin.rb of discourse-landing-pages plugin repo but it isn’t working.

This is most likely due to my lack of understanding of how it actually works.

Could you point me in the right direction to implement this? I am a experienced JS dev but just started to learn ruby and discourse architecture.