In this article, first I’ll tell you what problems I encountered and then I analyze some existing Laravel based platforms for laravel blogs.
First let me explain the scenario that I dealt with it. Consider when you have a Laravel project and you want a blog functionality for it.
My scenario has some requirements for blog system, for example the blog functionality must support commenting, defining categories for posts, be light-weight, giving front-end, and be flexible for further customization. Also preferably it’s better using a free solution.
Based on the mentioned requirements (even without the requirements), we have some solutions:
- The easiest way is to use a package which provides blog functionality
- Using some platforms which act as basis for our website, really they are a complete Laravel setup
- Integration with other blog platforms like the most popular WordPress
Let’s look at each of these ways. But I begin from the last solution. Also obviously there is a solution that you can build a blog system from scratch which fits your needs exactly, but you should consider all aspects of a blog.
Integration with other Platforms
I checked integration with WordPress. There are some ways and packages to do it you can check this article to know more about this.
This approach has some big drawbacks for example it has an overhead over your website and for some scenarios it’s a little complicated. You can also try to share sessions between Wordpres and your Laravel website through JWT or a solution like Auth0 which acts as a intermediate layer between your WordPress and your Laravel website. Also there are some considerations, this approach assumes you use WordPress as your authentication engine which may conflicts with your needs.
If you use this approach and handle these drawbacks this is the best way, because you get benefit from a powerful platform like WordPress which is specifically designed for blogs.
A Complete Laravel Setup
There are powerful platforms which give you a fresh setup to your website and you can build your logic over them. One of the most popular is October cms. When you install this software you have a complete Laravel website. But when you see the underlying code, the structure is a little different from the fresh Laravel setup. It also offers new concepts over the Laravel. Also it does not support commenting out of box. All of these issues show that you need another expertise plus your Laravel knowledge to develop your business logic. And for your existing Laravel project it has nothing to say.
Other platforms like Pyrocms and Lavalite have same issues. In Pyrocms you must pay for commenting functionality.
The main issue with these platforms is that you should adapt yourself and logics to their platform and you must learn to develop them.
Canvas and other publishing platforms have good editors but they have big drawbacks, like lack of front-end, weak customizability, and also lack of commenting..
Twill platform has some drawbacks like October platforms, which you must spend much time to learn about customization. Also Twill has its own models for user authentication!
I found the a laravel package as a good starting point for an existing and running Laravel project or even if you are going to begin your project. It’s light-weight and is compatible with your existing authentication system. But it had a drawback, which was not compatible with Laravel 6 and higher. Also it does not support multi-language feature.
I made it compatible with Laravel 6 and higher through another package which I’ve explained at this article.
It’s up to you to choose between these solutions, but I prefer a solution which does not make me dependent to any platform, and ease of customization is one of my considerations.