Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Sluggable Laravel Package

codinglabsau/laravel-sluggable

A lightweight Laravel package that adds automatic slug generation to Eloquent models. Point the trait at a source column and it creates unique, customizable, URL-friendly slugs on save, handling duplicates and separators with minimal configuration.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for a commodity capability. Slug generation (turning "My Great Post!" into my-great-post) is small, well-bounded, and easy to get 80% right and 20% wrong — collisions, unicode, punctuation, uniqueness on update. A package dependency here is almost always cheaper than owning that edge-case surface. This release does not change that calculus; it keeps the "buy" option viable.
  • Laravel upgrade planning. The headline of v1.1.1 is Laravel 11 support. If our roadmap includes an L11 upgrade, this package moves from "blocked / needs a fork" to "compatible." That is a schedule decision, not a feature decision — treat it as removing a line item from the upgrade risk register.
  • Feature scope for CMS/blog/catalog surfaces. Any roadmap item that includes human-readable URLs (articles, product pages, category trees, SEO landing pages) needs a slugging strategy. This package is a candidate implementation choice behind that feature, not a feature in itself.
  • Maintenance signal, not capability gain. v1.1.1 is a patch-level compatibility release. It tells us the maintainer is still active and tracking upstream Laravel, which is the thing a PM actually cares about for a low-level utility. It does not add functionality, so it should not move a competitor comparison or trigger a migration.

When to Consider This Package

Adopt / shortlist when:

  • We are on Laravel 9, 10, or 11 and want slug behavior wired into Eloquent models (generate on save, keep unique) rather than scattered controller logic.
  • The requirement is conventional Latin-script slugs from a title or name field, with uniqueness per table or per parent record.
  • We want a small, single-purpose dependency with no service provider sprawl, no config publishing, no queue/worker requirements, no external service.
  • The team is standardizing on "one obvious way" to do slugs across multiple models — a package trait is easier to enforce in code review than a homegrown helper.

Look elsewhere (or build a thin internal helper) when:

  • We need transliteration for non-Latin scripts (CJK, Cyrillic, Arabic) or locale-aware slugging — evaluate cocur/slugify or a Slugify-backed implementation instead.
  • We need slug history, redirects on rename, or soft-delete-aware uniqueness — these are product requirements, not slug requirements, and will likely need custom code regardless of package.
  • Bus factor and ecosystem support are gating concerns. This is a low-visibility package from a small agency; spatie/laravel-sluggable is the far more widely adopted alternative with a larger issue/discussion footprint. If the slug is on a revenue-critical path, run a side-by-side against Spatie before committing — the API surface is similar enough that switching later is cheap, but choosing the more-supported option up front is cheaper still.
  • We need a maintenance SLA or security-response commitment. None is implied by a patch release.

Caveat on this assessment: it is based on the v1.1.1 changelog only. Confirm feature set, minimum PHP version, and test coverage against the README and CI config before adoption.

How to Pitch It (Stakeholders)

To executives (30 seconds): Slug generation is the small piece of plumbing that makes URLs readable and SEO-friendly. It is a solved problem and we should not spend engineering time on it. This release is a maintenance update — it adds Laravel 11 compatibility, which means the package stays usable through our next framework upgrade instead of becoming a blocker we'd have to patch ourselves. Cost is one line in composer.json; risk is low and reversible.

To engineering (the real conversation): v1.1.1 is a compatibility patch, not a feature release — no API changes, no breaking changes, no deprecations. Laravel 11 support is the only substantive item, and it de-risks our upgrade path. Before adopting: (1) verify the package's actual feature set and PHP constraint floor in the README, since this changelog is thin; (2) benchmark it against spatie/laravel-sluggable, which has materially broader adoption and a larger maintenance surface; (3) confirm our transliteration requirements, because if we need non-Latin slugs this is the wrong tool. If it passes those three checks, the integration is a trait on the relevant models plus a uniqueness index — roughly an afternoon, including tests, and trivially reversible if we change our minds.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console