- How do I install Aloia CMS in a Laravel application?
- Install it with Composer using roelofjan-elsinga/aloia-cms, then publish the package config and views and create the content directories for your Markdown files. The package auto-registers its service provider and ships routes, controllers, and Blade templates, so pages and posts resolve through Laravel routing and views. No database migrations are needed for content, which keeps setup short for a greenfield Laravel app. Check the README for the exact publish tags and directory conventions for your version.
- Does Aloia CMS require a database?
- No, Aloia CMS is a flat-file CMS: pages and blog posts are Markdown files with YAML front matter stored on disk, so content does not need database tables. Rendered output is cached through Laravel's cache layer, and form submissions are file-backed rather than Eloquent models. You still need a plan for where uploads and form submissions are written in production, especially on ephemeral or container-based platforms.
- Which Laravel and PHP versions does Aloia CMS support?
- Support depends on the package's composer.json constraints and the release you install, so verify the current README and Packagist metadata before committing. The project had a release in April 2025, but the technical evaluation recommends pinning the version and validating each Laravel minor in CI because it leans on routing, middleware, Blade, caching, and filesystem abstractions. Treat major Laravel upgrades as something that may require upstream fixes or a fork.
- How does caching work in Aloia CMS and how do I invalidate it?
- Rendered-output caching is central to performance, so the package resolves content through Laravel's cache store rather than querying a database on every request. Invalidation on content change, deploy, or config change must be understood and tested, or editors may see stale pages. Review the package documentation for any provided cache-clearing commands and wire invalidation into your deploy process. Standard Laravel cache commands can help, but confirm how the package keys and expires its cached pages.
- Can I store media uploads and form submissions on S3 or object storage?
- Aloia CMS uses Laravel's filesystem abstractions, so you can configure disks in config/filesystems.php rather than assuming local storage only. The practical work is verifying that the package's media handling and form submission paths respect your chosen disk, and testing permissions, backups, and retention. On ephemeral-filesystem platforms such as container-based deploys, bake content into the image and redirect writes to shared or object storage. Add spam protection, rate limiting, and validation on top of file-backed form submissions.
- What front matter fields does Aloia CMS support and can I extend them?
- Content is authored as Markdown with YAML front matter, and the schema covers conventions such as template, middleware, slug, and SEO fields. The technical evaluation flags front-matter schema and routing conventions as package choices you accept when adopting it. Extending the schema without forking depends on what the package exposes in config and views, so review the source and README for your target version. If you need custom fields or editorial metadata, plan for a fork or a wrapper layer.
- Does Aloia CMS support multilingual content?
- First-class multilingual support is not called out in the available context, so assume localization would require a parallel content tree and custom routing or middleware. You can model translated Markdown files in separate directories and resolve them by locale, but that is application-level work rather than a built-in feature. If multilingual content is a core requirement, evaluate whether a database-backed or headless CMS is a better fit.
- Is Aloia CMS suitable for a production marketing site or blog?
- It fits content-light Laravel applications such as marketing sites, documentation, landing pages, changelogs, and small blogs, especially with a CDN or response cache in front. The main risks are longevity and bus factor: the project has roughly 187 stars and effectively a single maintainer, so treat it as a dependency you may need to fork or replace. Pin the version, test Laravel minors in CI, back up uploads and form submissions, and understand cache invalidation before launch. It is a poor fit if non-technical editors need a full WYSIWYG workflow, roles, scheduling, or revisions.
- How do I avoid route collisions when adding Aloia CMS to an existing Laravel app?
- The package ships routes, controllers, and Blade templates for pages, posts, and form submissions, so it can collide with existing catch-all or slug routes. Review route registration order, apply a prefix or middleware group where possible, and test the resolved route list with php artisan route:list. If the package's default routes conflict, you can often disable or override them and wire your own controllers to the content API. Layout inheritance and asset pipeline decisions for uploaded media also need deliberate handling when bolting onto an existing Blade stack.
- How do I migrate away from Aloia CMS later, and what are the alternatives?
- The exit path is comparatively good because content lives as Markdown files with YAML front matter, which can be lifted to another Markdown-based system with minimal rework. The main migration effort is mapping front-matter conventions, routing, and cached rendered output to the new system. Alternatives include database-backed Laravel CMS packages, headless content APIs, and other flat-file Markdown tools, depending on whether you need editorial workflows or a non-technical authoring UI. Keep your content files in version control so a future migration or fork is straightforward.