Analysis updated 2026-08-08 · repo last pushed 2026-07-28
Build a blog where every post automatically gets a clean URL from its title.
Create an e-commerce store with descriptive product page URLs instead of ID numbers.
Set up a documentation site with readable URLs for each article and category.
Build a multi-language site with translatable slugs for each language.
| spatie/laravel-sluggable | spatie/laravel-honeypot | dreeveapp/dreeve | |
|---|---|---|---|
| Stars | 1,555 | 1,565 | 1,883 |
| Language | PHP | PHP | PHP |
| Last pushed | 2026-07-28 | 2026-06-02 | — |
| Maintenance | Active | Maintained | — |
| Setup difficulty | easy | easy | moderate |
| Complexity | 2/5 | 1/5 | 3/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Just install the Composer package and add a trait plus a few properties to your Eloquent model, no external infrastructure needed.
If you've ever noticed how a blog post titled "My Summer Vacation" gets a URL like my-summer-vacation instead of a random ID number, you've seen slugs in action. Spatie's laravel-sluggable package does exactly this for Laravel applications, it automatically creates those clean, readable URL segments whenever you save a new piece of content. Instead of manually figuring out what the web address should be, you just give your content a title and the package handles the rest. The setup is straightforward: you add a small marker to your data model telling the package which field to pull from (like a title) and where to store the result (like a slug field). From that point on, every time you create or update a record, the package converts your title into a URL-friendly format, lowercase, spaces become dashes, special characters stripped out. If two pieces of content end up with the same slug, it automatically appends a number to keep them unique. One particularly thoughtful feature is what they call "self-healing URLs." When you enable it, your URLs combine the slug with a unique ID number. So if you rename a post from "Old Title" to "New Title," the old URL doesn't break, it automatically redirects visitors to the new address. This matters because broken links are bad for both user experience and search engine rankings. This package is built for developers working with Laravel, a popular PHP framework. A concrete example: imagine you're building a blog, an e-commerce store, or a documentation site. You want product pages, article pages, and category pages to all have memorable, descriptive URLs rather than strings of numbers. This package handles that automatically without any manual upkeep. The project also supports translatable slugs for multi-language sites, lets you swap in your own custom logic if the defaults don't fit, and includes an AI assistant integration for scaffolding sluggable models. It's an opinionated package, meaning the maintainers have made sensible default choices so you can get started quickly, but they've left the door open for customization when you need it.
A Laravel package that automatically creates clean, readable URL segments (slugs) from your content titles, with support for unique slugs, self-healing redirects, and multi-language sites.
Mainly PHP. The stack also includes PHP, Laravel.
Active — commit in last 30 days (last push 2026-07-28).
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.