gurtok/seo-bundle
gurtok/seo-bundle is a Laravel/PHP package for adding SEO metadata to applications. It offers helpers for meta tags, titles, descriptions, canonical links, Open Graph tags, and sitemap support to streamline basic on-page SEO setup.
og:* and twitter:* fallbacks (title, description, URL, image) mean every page ships shareable previews by default — directly supporting decisions about organic reach, referral traffic, and campaign link performance without per-page metadata work.ImageUrlResolver resolving relative paths like /images/logo.jpg to absolute URLs supports decisions about CDN-hosted or subdirectory-deployed assets — social crawlers require absolute URLs, and this closes that gap without app-level changes.ImageUrlResolverInterface gives us a customization seam (e.g., tenant-specific asset domains, signed URLs, S3/CloudFront rewriting) — useful when evaluating multi-tenant or white-label architectures.Adopt when:
title/description and want social tags to inherit sensibly rather than be repeated.Look elsewhere when:
For executives: SeoBundle v2.2.0 closes two high-friction gaps — broken social previews from relative images, and missing metadata when pages only define a canonical title/description. The result is reliable link previews across social platforms with zero extra work from content or engineering teams. It is fully backward-compatible, so there is no migration cost or delivery risk; upgrading is a single composer update.
For engineering: The release adds an ImageUrlResolver service (with a swappable ImageUrlResolverInterface) that converts relative image paths to absolute URLs, plus sensible fallbacks: og:url → canonical URL, and og:title/og:description/twitter:title/twitter:description → the page's title/description. SeoManager now accepts an optional resolver via constructor injection, so existing behavior is preserved and customization is opt-in. No removals, no deprecations, full BC. Action: upgrade and, if we need tenant- or CDN-specific asset domains, bind a custom ImageUrlResolverInterface implementation.
Recommendation: Upgrade now (low risk, immediate quality gain) and add a ticket to evaluate a custom ImageUrlResolverInterface if/when we introduce multi-tenant asset domains.
How can I help you explore Laravel packages today?