URL Manager
Package docs status
Section titled “Package docs status”This page is generated from public package documentation in capell-4/packages and the package manifest checked into the source repository.
| 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 | ^4.0 |
| Source repository | capell-app/packages |
| Source path | packages/url-manager |
| Docs source | packages/url-manager/docs |
| Manifest | capell.json |
Capell URL Manager owns managed redirect rules and 404 opportunity tracking.
The package is intentionally action-driven:
RedirectRulestores normalized source and target URLs, match type, status code, active state, hit count, and last hit timestamp.RedirectHitstores per-hit evidence without storing raw IP addresses or user agents.NotFoundOpportunitystores repeated 404 paths and a suggested target URL when one can be inferred.ConvertNotFoundOpportunityToRedirectActioncreates a redirect from a reviewed 404 opportunity and marks it converted.RecordChangedUrlRedirectActionaccepts previous/current page paths and creates an exact redirect only when the normalized URL changed.- Import/export actions use CSV-compatible rows for admin import/export workflows.
RedirectRulesPageandNotFoundOpportunitiesPageexpose package-owned admin tables. The 404 table callsConvertNotFoundOpportunityToRedirectActionfor conversions.
Integration points
Section titled “Integration points”- Frontend/Core request resolution can use
UrlManagerRedirectResolver, which decorates Core’s existingRedirectResolverbinding and falls back to URL Manager rules when CorePageUrlredirects do not resolve. - Core
PageUrlChangedevents are handled byRecordRedirectForChangedPageUrl, which writes the previous URL into URL Manager when the normalized source and target differ. - Public 404 handling should call
RecordNotFoundOpportunityActionwith the normalized path, site ID, language ID, and lightweight context. Do not render any URL Manager metadata into public HTML. - Review/admin flows should call
ConvertNotFoundOpportunityToRedirectActionafter an editor chooses a target URL. - SEO Suite broken URL surfaces can read URL Manager data by using
NotFoundOpportunityfor 404 candidates andExportRedirectRulesActionfor redirect coverage. Existing SEO SuiteBrokenLinkrows can be imported by callingImportSeoSuiteBrokenLinksAction, thenBuildNotFoundRedirectSuggestionsAction.