URL Manager
Package docs status
Section titled “Package docs status”This page is generated from package source documentation in the Capell packages repository and the checked-in manifest. Source documentation is not distribution status. Before running a Composer command, verify that the exact package and compatible 1.x release are available through public Packagist or the authenticated marketplace account.
| Field | Value |
|---|---|
| Composer package | capell-app/url-manager |
| Package slug | url-manager |
| Product group | Capell Search & SEO |
| Tier | premium |
| Bundle | search-seo |
| Runtime contexts | admin, frontend |
| Capell version | ^1.0 |
| Source repository | capell-app/packages |
| Source path | packages/url-manager |
| Docs source | packages/url-manager/docs |
| Manifest | capell.json |
What This Plugin Adds
Section titled “What This Plugin Adds”URL Manager is an Available, Schema-owning Capell package in the Capell Search & SEO product group. It ships as capell-app/url-manager and extends these surfaces: admin, frontend.
URL Manager adds redirect rules, redirect-hit records, and not-found opportunities to Capell. It can resolve redirects, preserve changed URLs, serve gone responses, and convert observed misses into managed rules.
Administrators manage redirects and review not-found paths in Filament, while frontend middleware applies gone rules and records eligible misses.
Evidence: src/Actions/ResolveRedirectRuleAction.php, src/Actions/RecordChangedUrlRedirectAction.php, src/Actions/ConvertNotFoundOpportunityToRedirectAction.php, src/Providers/UrlManagerServiceProvider.php, src/Filament/Pages/RedirectRulesPage.php, src/Filament/Pages/NotFoundOpportunitiesPage.php, src/Http/Middleware/RecordNotFoundOpportunityMiddleware.php, src/Http/Middleware/ServeGoneRedirectRuleMiddleware.php.
Status details:
- Status: Available
- Tier: premium
- Bundle: search-seo
- Composer package:
capell-app/url-manager - Namespace:
Capell\UrlManager - Theme key: not applicable
Why It Matters
Section titled “Why It Matters”For developers: Redirect resolution, changed-URL handling, and opportunity conversion live in focused Actions with direct behavior tests.
For teams: Site teams can preserve useful old links and turn real 404 traffic into deliberate redirect decisions.
Evidence: src/Actions/ResolveRedirectRuleAction.php, src/Actions/RecordChangedUrlRedirectAction.php, tests/Unit/Actions/RedirectRuleActionsTest.php, tests/Unit/Actions/RedirectIntegrationActionsTest.php, src/Filament/Pages/NotFoundOpportunitiesPage.php, src/Actions/ConvertNotFoundOpportunityToRedirectAction.php, tests/Unit/Http/RecordNotFoundOpportunityMiddlewareTest.php.
Screens And Workflow
Section titled “Screens And Workflow”Screenshot contract: docs/screenshots.json.
- URL Manager beta contract artwork (marketplace, required).
- Create and edit redirect rule form (admin, optional).
- Redirect import workflow (admin, optional).
- Redirect export workflow (admin, optional).
- Redirect health snapshot output (admin, optional).
- Not-found opportunities table (admin, optional).
- Convert 404 opportunity to redirect action (admin, optional).
- Redirect conflict validation error (admin, optional).
- Public redirect and gone response output (public, optional).
Technical Shape
Section titled “Technical Shape”- Service providers:
Capell\UrlManager\Providers\UrlManagerServiceProvider. - Config files:
packages/url-manager/config/capell-url-manager.php. - Migrations:
packages/url-manager/database/migrations/2026_05_31_000001_create_url_manager_redirect_rules_table.php,packages/url-manager/database/migrations/2026_05_31_000002_create_url_manager_redirect_hits_table.php,packages/url-manager/database/migrations/2026_05_31_000003_create_url_manager_not_found_opportunities_table.php,packages/url-manager/database/migrations/2026_06_04_000001_add_priority_to_url_manager_redirect_rules_table.php. - Models:
NotFoundOpportunity,RedirectHit,RedirectRule. - Filament classes:
NotFoundOpportunitiesPage,RedirectRulesPage,RedirectRuleForm,NotFoundOpportunitiesTable,RedirectRulesTable. - Listeners:
RecordRedirectForChangedPageUrl. - Actions:
BindRedirectRulesCsvUploadAction,BuildCanonicalUrlAction,BuildNotFoundRedirectSuggestionsAction,BuildRedirectRulesCsvAction,BuildRedirectRulesCsvTemplateAction,ConvertNotFoundOpportunityToRedirectAction,DeleteRedirectRuleAction,ExportRedirectRulesAction,ImportRedirectRulesAction,ImportSeoSuiteBrokenLinksAction,InvalidateRedirectRuleRuntimeCacheAction,NormalizeManagedUrlAction,and 14 more. - Data objects:
ChangedUrlRedirectData,ConvertNotFoundOpportunityData,NotFoundOpportunityData,PreparedRedirectRuleData,RedirectImportResultData,RedirectImportRowData,RedirectResolutionData,RedirectRuleData. - Command signatures:
url-manager:prune-hits. - Manifest action API:
buildCanonicalUrl: Capell\UrlManager\Actions\BuildCanonicalUrlAction,buildNotFoundRedirectSuggestions: Capell\UrlManager\Actions\BuildNotFoundRedirectSuggestionsAction,buildRedirectRulesCsv: Capell\UrlManager\Actions\BuildRedirectRulesCsvAction,buildRedirectRulesCsvTemplate: Capell\UrlManager\Actions\BuildRedirectRulesCsvTemplateAction,convertNotFoundOpportunityToRedirect: Capell\UrlManager\Actions\ConvertNotFoundOpportunityToRedirectAction,exportRedirectRules: Capell\UrlManager\Actions\ExportRedirectRulesAction,importRedirectRules: Capell\UrlManager\Actions\ImportRedirectRulesAction,importSeoSuiteBrokenLinks: Capell\UrlManager\Actions\ImportSeoSuiteBrokenLinksAction,previewRedirectRulesImport: Capell\UrlManager\Actions\PreviewRedirectRulesImportAction,pruneNotFoundOpportunities: Capell\UrlManager\Actions\PruneNotFoundOpportunitiesAction,pruneRedirectHits: Capell\UrlManager\Actions\PruneRedirectHitsAction,recordChangedUrlRedirect: Capell\UrlManager\Actions\RecordChangedUrlRedirectAction,and 6 more. - Scheduled commands:
url-manager:prune-hits (daily). - Console command classes:
PruneRedirectHitsCommand. - Manifest contributions:
admin-page: Capell\UrlManager\Manifest\NotFoundOpportunitiesPageContribution,admin-page: Capell\UrlManager\Manifest\RedirectRulesPageContribution,console-command: Capell\UrlManager\Manifest\UrlManagerConsoleCommandsContribution,health-check: Capell\UrlManager\Manifest\UrlManagerHealthContribution,model: Capell\UrlManager\Manifest\UrlManagerModelsContribution,scheduled-job: Capell\UrlManager\Manifest\UrlManagerRetentionScheduleContribution. - Health checks:
Capell\UrlManager\Health\UrlManagerHealthCheck. - Cache tags:
url-manager.
Data Model
Section titled “Data Model”- Required tables:
url_manager_redirect_rules,url_manager_redirect_hits,url_manager_not_found_opportunities. - Models:
NotFoundOpportunity,RedirectHit,RedirectRule. - Core record references in migrations:
sites via site_id,languages via language_id. - Migration files:
2026_05_31_000001_create_url_manager_redirect_rules_table.php,2026_05_31_000002_create_url_manager_redirect_hits_table.php,2026_05_31_000003_create_url_manager_not_found_opportunities_table.php,2026_06_04_000001_add_priority_to_url_manager_redirect_rules_table.php. - Migration impact: run host migrations through the package install flow before opening package surfaces.
- Deletion/retention behaviour: migrations declare cascade-on-delete relationships and null-on-delete relationships; retention is scheduled through
url-manager:prune-hits(daily).
Install Impact
Section titled “Install Impact”- Required packages:
capell-app/admin,capell-app/core. - Admin navigation: declares
admin-page: NotFoundOpportunitiesPageContribution,admin-page: RedirectRulesPageContribution; each Filament page or resource controls its own navigation visibility. - Admin/editor extensions: none declared.
- Permissions:
View:RedirectRulesPage,Manage:RedirectRules,View:NotFoundOpportunitiesPage,Manage:NotFoundOpportunities. - Public routes: none declared.
- Database changes: package migrations are declared.
- Config:
config/capell-url-manager.php. - Settings: no package settings declared.
- Queues or schedules: scheduled commands
url-manager:prune-hits (daily). - Cache tags:
url-manager. - Commands:
url-manager:prune-hits.
Common Pitfalls
Section titled “Common Pitfalls”- Keep required Capell packages on compatible v4 releases:
capell-app/admin,capell-app/core. - Run migrations before opening package resources or public routes.
- Review package configuration before production-like verification:
config/capell-url-manager.php. - Register the host scheduler so these declared commands run at their documented frequencies:
url-manager:prune-hits (daily). - Keep public Blade and cached HTML free of authoring markers, model IDs, permissions, signed editor URLs, and lazy database queries.
- Custom write integrations must preserve invalidation for
url-managercache tags.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Likely cause | Check | Fix |
|---|---|---|---|
| Package surface is missing after install | Provider or manifest is not loaded | Confirm capell.json, package composer.json, and provider registration | Reinstall the package, refresh Composer autoload, and clear host caches |
| Admin screen or command fails on missing table | Package migrations have not run | Check the tables listed in Data Model | Run host migrations and rerun the focused package test |
| Background work does not run | Queue worker or declared schedule is not active | Check the jobs and scheduled commands listed in Technical Shape | Start the queue worker or host scheduler, then run the focused command or package test |
| Public output leaks unexpected state | Render data, cache variation, or authoring boundary has regressed | Check public Blade, cache tags, and public-output safety tests | Move data loading out of Blade and rerun the package public-output tests |
Quick Start
Section titled “Quick Start”- Install the package:
composer require capell-app/url-manager. - Run the required setup:
php artisan migrate. - Open the package admin page or resource and verify URL Manager is available.
Next Steps
Section titled “Next Steps”- Package docs
- Overview
- Admin guide
- Configuration files:
config/capell-url-manager.php. - Troubleshooting
- Screenshot contract
- Marketplace assets
- Capell content language plan
- Capell documentation design system
- Capell and package ERD notes
- Related packages: Migration Assistant, Seo Suite, Site Discovery, Wordpress Importer.
- Focused tests:
vendor/bin/pest packages/url-manager/tests --configuration=phpunit.xml.