- What is saasykit/laravel-open-graphy and what does it do?
- Laravel Open Graphy is a Laravel package that generates Open Graph (social card) images for your links. It renders images from templates with your own text, fonts, and branding, so shared URLs display a polished card on platforms like X, Facebook, LinkedIn, and Slack. It is installed as a normal Composer package and integrates through Laravel's service provider conventions.
- How do I install laravel-open-graphy with Composer?
- Install it with composer require saasykit/laravel-open-graphy and let Laravel's package auto-discovery register the service provider. Check the README for any publishable config or asset tags you need to run, since template and font paths are typically configurable. After publishing, set your branding options and point your og:image meta tag at the package's generation route.
- Can I customize fonts, colors, and branding on the generated social cards?
- Yes. The package is built around templates with configurable text, fonts, and branding, so you can match your application's visual identity. You supply the font files and template assets yourself, which means custom typefaces and logo placement are part of your configuration rather than hardcoded. Keep custom fonts in your own storage path and reference them from the package config.
- How do I create my own Open Graph image template?
- Templates are the rendering layer of the package, so you add a new template asset and reference it when generating an image. Start from an existing template to learn the expected dimensions and placeholder conventions, then adapt the layout for your brand. Keep the standard 1200x630 aspect ratio unless a specific platform requires something different.
- Does laravel-open-graphy support Laravel 13?
- Release 1.3.0 adds Laravel 13 support, and the release note describes it as the only change in that version. That suggests a framework constraint widening rather than an API change, so upgrading should be low risk. Confirm in the package composer.json whether Laravel 13 was added alongside older majors or replaced them, because that determines whether you can still run Laravel 11 or 12.
- What Laravel and PHP versions does this package require?
- The exact minimum Laravel and PHP versions are declared in the package's composer.json, and the available release notes only state that Laravel 13 support was added in 1.3.0. Before planning an upgrade, read that constraint block directly rather than relying on the changelog. This matters most if you are still on an older Laravel major and want to know whether the latest release remains installable for you.
- How do I test Open Graph image generation in my Laravel test suite?
- Write a feature test that calls the route or method that produces the card and assert the response status plus the image content type. If the package writes to disk, use Laravel's Storage fake so tests do not leave artifacts behind. Because rendering is CPU-bound and font-dependent, also include one test that asserts a non-empty image body so a broken font path fails loudly.
- Will generating social card images slow down my Laravel app in production?
- Image rendering is CPU and memory intensive compared with normal HTML responses, so avoid generating a card on every page view or every crawler hit. Generate once and cache the output on disk or object storage, then serve the cached file or a CDN URL from your og:image tag. If you generate on demand, consider a queue and a deterministic cache key based on the content being rendered.
- What are the alternatives to laravel-open-graphy for OG image generation?
- The two broad camps are PHP-native rendering with GD or Imagick, which is fast and dependency-light, and headless-browser screenshot approaches such as Browsershot, which give you full HTML and CSS fidelity at the cost of running Chromium. Other Laravel packages wrap one of these approaches. Choose based on whether you need pixel-perfect HTML templates or predictable low resource usage in your hosting environment.
- Is laravel-open-graphy actively maintained and does it follow semantic versioning?
- Version 1.3.0 is a minor release whose stated change is Laravel 13 support, which is consistent with additive, semver-friendly versioning. However, the release notes do not publish an end-of-life or per-major support policy, so you cannot yet assume older Laravel versions stay supported indefinitely. Review the release cadence and open issues over the last year before committing to it for a long-lived application.