code16/sharp-ohdear-broken-links
Brings Oh Dear broken-link monitoring into Sharp: a Laravel admin panel card that lists detected broken links with their status and source page details, so editors can review and fix them without leaving the Sharp dashboard. Requires a configured Oh Dear API key and site.
composer require code16/sharp-ohdear-broken-links — this is a Sharp extension, so you must already have code16/sharp installed and a working Sharp admin (a SharpServiceProvider, at least one entity/menu entry, and an authenticated guard).php artisan vendor:publish --provider="Code16\SharpOhdearBrokenLinks\SharpOhdearBrokenLinksServiceProvider" (check the provider for the exact tag), then read config/sharp-ohdear-broken-links.php top to bottom. The two things you cannot guess are the Oh Dear API token and the Oh Dear site/monitor ID — the package needs both to fetch anything..env (OHDEAR_API_TOKEN, site ID) rather than the config file, and add them to your deployment secrets. The token is a per-team Oh Dear API token, not a per-site one.config/sharp.php (or in your SharpServiceProvider::buildMenu()), typically alongside your existing entities. The natural first use case: open Broken links in the Sharp sidebar, see the current 404 list pulled from Oh Dear, and click through to the Sharp form of the entity that owns the broken URL so an editor can fix or redirect it.Cache::remember() with a TTL (an hour is reasonable), and expose a manual refresh only to admins.SharpServiceProvider uses policies or a custom SharpAuthorization, verify editors actually see the menu item they need..htaccess/nginx rules, or a slug-history table in your app) lives in your codebase. Consider pairing it with a slug_history table so an editor renaming a page doesn't create a new broken link tomorrow.code16/sharp itself and your other Sharp extensions declare 8.5 compatibility. A single extension claiming support is not sufficient."code16/sharp-ohdear-broken-links": "^2.6" is fine; if you're still on PHP 8.2/8.3 and want the smallest diff, 2.5 → 2.6 is a no-risk move, so there's no reason to stay behind.How can I help you explore Laravel packages today?