How would I set a a unique home page per store in Magento 2? Is there a way to do this programmatically and in the admin panel as well?
This can be done through the admin, you just need to set the CMS page to only display on the store view you wish instead of all store views.
- In the admin go to
content > pages
- On the right hand side in the 'action' column you should see 'select', click on the relevant select for your CMS page and choose edit (the URL for home pages is
- Change the store view to the store you want this home page to display for and click save.
- Do this for each store/CMS page.
As @JoeConstant commented below:
Additionally, you can change which CMS page is the home page in
Stores->Configuration->General->Web->Default Pages->CMS Home Page for each website just like in M1.