PHPackages                             lucass3na/laravel-blog - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. lucass3na/laravel-blog

ActiveLibrary[Admin Panels](/categories/admin)

lucass3na/laravel-blog
======================

Simple blog package (with admin panel) for Laravel (6.x and 7.x). Includes all views, controllers, routes and can add a blog to any existing Laravel app. Fully customisable blog (view, urls, and many other options). Includes image uploads and a pretty admin interface to manage your blog. Defaults to /blog but you can change it to anything.

v9.2.1(5y ago)027MIT

Since Aug 2Pushed 5y agoCompare

[ Source](https://github.com/lucass3na/laravel-blog)[ Packagist](https://packagist.org/packages/lucass3na/laravel-blog)[ RSS](/packages/lucass3na-laravel-blog/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (7)Versions (29)Used By (0)

Laravel Blog
============

[](#laravel-blog)

Have you worked with Wordpress? Developers call this package wordpress-like laravel blog.

### Contact us for any customization:

[](#contact-us-for-any-customization)

### Lightweight and Comprehensive

[](#lightweight-and-comprehensive)

Incredible features with a lightweight laravel blog package. I highly recommend it because:

- Quick installation (&lt;3 minutes)
- It's very easy to extend
- Included great features out-of-box
- Its simplicity allows to be easily made compatible with latest laravel
- No additional concept except laravel knowledge
- Compatible with other Laravel platforms like Bagisto

Outstanding Features
--------------------

[](#outstanding-features)

- Fulltext Search - search throughout all blog posts
- Multi Level Category - nested sets using Baum
- Multi Language Support

### Quick and easy installation

[](#quick-and-easy-installation)

1- Install via composer

`composer require binshops/laravel-blog`

For a fresh Laravel installation run the following too:

```
composer require laravel/ui
php artisan ui vue --auth

```

2- Run the following two commands to copy config file, migration files, and view files

`php artisan vendor:publish --provider="BinshopsBlog\BinshopsBlogServiceProvider"`

3- Execute migrations to create tables

`php artisan migrate;`

4- You must add one method to your \\App\\User (in laravel 8 \\App\\Models\\User) model. As the name of this method shows it determines which user can manage posts. Place your logic there

```
 /**
     * Enter your own logic (e.g. if ($this->id === 1) to
     *   enable this user to be able to add/edit blog posts
     *
     * @return bool - true = they can edit / manage blog posts,
     *        false = they have no access to the blog admin panel
     */
    public function canManageBinshopsBlogPosts()
    {
        // Enter the logic needed for your app.
        // Maybe you can just hardcode in a user id that you
        //   know is always an admin ID?

        if (       $this->id === 1
             && $this->email === "your_admin_user@your_site.com"
           ){

           // return true so this user CAN edit/post/delete
           // blog posts (and post any HTML/JS)

           return true;
        }

        // otherwise return false, so they have no access
        // to the admin panel (but can still view posts)

        return false;
    }

```

5- Create a directory in `public/` named `blog_images`

6- Login as admin and setup your package: `/blog_admin/setup`

Congrats! Your blog is ready to use. (URLs are customizable in the config file)

Admin panel URI: `/blog_admin`Front URI: `/en/blog`

To see package on Packagist click this [Link](https://packagist.org/packages/binshops/laravel-blog)

### Single Language Version

[](#single-language-version)

To install the single language version of the package use version v8.1x:

1- `composer require binshops/laravel-blog:v8.1.1`

2- `php artisan vendor:publish --provider="BinshopsBlog\BinshopsBlogServiceProvider"`

3- `php artisan vendor:publish --tag=laravel-fulltext`

4- `php artisan migrate;`

You can see the single version in "single-lang" branch.

Important Notes
---------------

[](#important-notes)

- For laravel 8.x's default auth User model, change user model in `binshopsblog.php` to: `\App\Models\User::class`

Features
--------

[](#features)

- Compatible with latest laravel version (laravel 8.x)
- Backward-compatibility with previous laravel versions
- Full text search - searching throughout the blog posts
- Multi-level category support
- fully configurable via its `config/binshopsblog.php` config file
- Ready to use admin panel
- Full customizability of admin views and front views
- Paginated views
- Ability to upload images
- Managing posts, categories
- Managing comments and comment approval
- Other options include using Disqus comments or disabling comments

Recent Changes
--------------

[](#recent-changes)

- **9.1.x** Multi language support
- 8.0.x Compatibility with Laravel 8.x

What/who this package is for:
-----------------------------

[](#whatwho-this-package-is-for)

- For websites running Laravel
- Who wants to have a site blog. This laravel blog gives an easy to use interface to write blog posts/assign categories/manage existing posts
- Where only admin users can edit/manage the blog (this is not suitable for every user on your site to be able to manage posts)
- For anyone who likes to add a wordpress-like laravel blog to laravel website

How to customise the blog views/templates
-----------------------------------------

[](#how-to-customise-the-blog-viewstemplates)

After doing the correct `vendor:publish`, all of the default template files will be found in /resources/views/vendor/binshopsblog/ and are easy to edit to match your needs.

### Customizing admin views

[](#customizing-admin-views)

If you need to customize the admin view, just copy the files from `vendor/binshopsblog/src/Views/binshopsblog_admin`to `resources/views/vendor/binshopsblog_admin`Then you can modify them just like any other view file.

Routes
------

[](#routes)

It will auto set all required routes (both public facing, and admin backend). There are some config options (such as changing the /blog/ url to something else), which can be done in the binshopsblog.php file.

Config options
--------------

[](#config-options)

All config options have comments which describe what they do. Please just refer to the `binshopsblog.php` file in your /config/ dir.

### Custom User Model

[](#custom-user-model)

You can change the default user model through the config file.

Events
------

[](#events)

You can find all the events that are fired by looking in the `/src/Events` directory.

Add these (and an Event Listener) to your `EventServiceProvider.php` file to make use of these events when they fire.

Built in CAPTCHA / anti spam
----------------------------

[](#built-in-captcha--anti-spam)

There is a built in captcha (anti spam comment) system built in, which will be easy for you to replace with your own implementation.

Please see [this Captcha docs](https://binshops.binshops.com/laravel-blog-package#captcha) for more details.

Image upload errors
-------------------

[](#image-upload-errors)

Try adding this to config/app.php:

```
'Image' => Intervention\Image\Facades\Image::class

```

- Also make sure that /tmp is writable. If you have open\_basedir enabled, be sure to add :/tmp to its value.
- Ensure that /public/blog\_images (or whatever directory you set it to in the config) is writable by the server
- You might need to set a higher memory limit, or upload smaller image files. This will depend on your server. I've used it to upload huge (10mb+) jpg images without problem, once the server was set up correctly to handle larger file uploads.

Version History
---------------

[](#version-history)

- **9.2.x** Stable version of package
- 9.0.x Multi-language support beta release
- 8.0.x Compatibility with Laravel 8
- 7.3.2 Some bug fixes
- 7.3.0 New Admin UI
- 7.2.2
    - bug fix: do not show search bar when it's disabled
    - feature: configure to show full text post or preview
- 7.2.1 - adds logout button at admin panel
- 7.2.0
    - adds sub-category functionality to blog
    - adds reading progress bar feature (if you upgrade, re-publish config file and view files)
- 7.1.8 - ability to remove images from posts (this feature does not work for old posts)
- 7.1.7 - updates CKEditor
- 7.1.5 - minor fix for recent posts
- 7.1.4 - updates fulltext search package which solves the search issue
- 7.1.2 - shows categories on blog home page - minor fix (if you upgrade try to re-publish view files)
- 7.1.1 - minor fix and some admin panel text changes
- 7.1.0 - Adds support for custom user model (if you upgrade, try to publish new config)
- 7.0.2 - Bug fix for listing posts and search page
- 7.0.1 - made compatible with Laravel 6.x &amp; 7.x
- 3.1 - minor fixes
- 3.0.3 - fixed RSS feed cache issue
- 3.0.2 - fixed default medium image size (changed to 600x400)
- 3.0.1 - replaced all short tags (&lt;?) with full opening ones (&lt;?php)
- 3.0 - Added separate functionality for uploading images (and save some meta data in db)
- 2.1 - added 'short\_description' to db + form, and BinshopsBlogPost::generate\_introduction() method will try and use this to generate intro text.
- 2.0 - added full text search (enable it via the config file - it is disabled by default).
- 1.2 - added WYSIWYG, few smaller changes
- 1.1.1 - added basic captcha
- 1.0.5 - composer.json changes.
- 1.0 - First release
- 0.3 - Small changes, packagist settings.
- 0.1 - Initial release

Contact:

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 96.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~10 days

Total

24

Last Release

1873d ago

Major Versions

v7.3.2 → v8.0.82020-10-20

v8.0.8 → v9.0.12020-11-18

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/11907290?v=4)[lucass3na](/maintainers/lucass3na)[@lucass3na](https://github.com/lucass3na)

---

Top Contributors

[![samberrry](https://avatars.githubusercontent.com/u/20775532?v=4)](https://github.com/samberrry "samberrry (154 commits)")[![wast](https://avatars.githubusercontent.com/u/9076227?v=4)](https://github.com/wast "wast (4 commits)")[![edbrk](https://avatars.githubusercontent.com/u/31439728?v=4)](https://github.com/edbrk "edbrk (1 commits)")

---

Tags

laravelpackagefeedrsswriteblogadmin newslaravel blogpostsupdatepanelbinshops

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/lucass3na-laravel-blog/health.svg)

```
[![Health](https://phpackages.com/badges/lucass3na-laravel-blog/health.svg)](https://phpackages.com/packages/lucass3na-laravel-blog)
```

###  Alternatives

[binshops/laravel-blog

Simple blog package (with admin panel) for Laravel. Includes all views, controllers, routes and can add a blog to any existing Laravel app. Fully customisable blog (view, urls, and many other options). Includes image uploads and a pretty admin interface to manage your blog. Defaults to /blog but you can change it to anything.

48447.0k](/packages/binshops-laravel-blog)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
