3. What will be discussed in this talk
• Why do we want to have many sites in one Neos
• What does Neos offer to make multisite setups easy
• How to create a multisite
• Summary
• Time for questions
6. The main benefits
• Benefits for development & maintenance
• Optimized editor processes
• Launch new sites and microsites with ease
• Business (money) advantages
7. Benefits for development & maintenance
• Only one codebase to be taken care of
• Increased security
• One server setup
• One integration pipeline
• Features roll out to all sites at the same time
• And can be limited with feature flags
• Optimize one site and get a benefits in all of them
8. Optimize editorial process
• Have reusable content between sites
• Have same usability and processes on all sites
• Only one login is needed
• Cross site navigation menus possible
• Reuse assets like images, documents and others
9. Launch new sites and microsites with ease
• Work on them in parallel to existing pages
• Manage sites and domains in the backend
• Secure the domains until Go-Live with an authentication
• Then:
• Turn of authentication and go live
• If necessary map live domain to server and then go live
10. Business benefits
• Reduced longterm cost through lower development & maintenance efforts
• But slightly increased initial cost for the first two sites
• More up-to-date content with improved editorial process
• Reduced time to market with new sites
• Consistent corporate identity
12. Reuse content from other sites
• Examples:
• Content for privacy, license or legal texts
• Banners & advertisements
• Records of employees & authors
• Categories & tags
• Works with any reference property
• Neos will show the source by the domain
13. Change the starting point & reference any page
myPageReference:
type: reference
ui:
label: i18n
inspector:
editorOptions:
placeholder: i18n
startingPoint: '/'
nodeTypes:
- ‚Neos.Neos:Document'
14. Or use one site as global content hub
myContentReferences:
type: references
ui:
label: i18n
inspector:
editorOptions:
placeholder: i18n
startingPoint: ‚/sites/contenthub‘
nodeTypes:
- ‚Neos.Neos:Content‘
17. Using content dimensions for multisites
• Have a master site
• Use dimensions to customize content on children sites
• Needs mapping of domains to dimensions
• Could get more complex with multiple languages at the same time
• See case study by CORE4 (and ask Bernhard Schmitt @nezaniel)
18. Handling site specific configurations
• Multiple Settings files in site packages will override each other
• Could be solved with separate Context per site but has drawbacks
• Core caching is not shared
• Needs more configuration on the webserver
• Context must be set correctly for console commands
• Put global configuration into one Settings.yaml
• Have site specific configuration in the site node
• Use a custom nodetype for the homepages
19. Some examples
• Social media links
• Parameters for webservices
• Site specific footer links
• Config for frontend plugins
21. Theming and customizations
• Use homepage nodes to set themes & customize
• Change logo
• Change typography, colors, iconset, …
• Use 3rd party packages to extend Neos multisite
capabilities
23. Separate site handling if necessary
• Use roles which are locked into one site
• Use dynamic policies which match users to sites
• Match asset collections with sites to keep assets
separated
24. Some notes on performance
• Many small sites behave similar to one bigger site
• Neos can handle a lot of content, no matter where and scales nicely
• Real project with 8 sites containing ~50.000 nodes is no problem
• 100.000s of nodes should work too
• Future Neos developments will make this even more scalable
• Site selection in backend might be harder to use with > 30 sites
• Could be optimized easily in the future
35. Notes about creating sites
• Creating a site package is easier with the package „neos/site-
kickstarter“
• You can also build a site package manually if you know what you do
• You will miss out a useful boilerplate
• If you create a new site package you have to import the new site manually
• Don’t forget that additional site packages should depend on the main one
• Don’t forget that Settings.yaml files have one hierarchy
36. Summary
• Neos is already well prepared to handle many sites
• Many use cases are already solvable
• Some use cases need small adjustments
• Performance will continuously get better with future Neos versions
• Start using the feature and forward use cases and experiences to the core team
• Contribute or sponsor changes that could benefit all projects