Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Static Site Bundle Laravel Package

bakslash/static-site-bundle

A Symfony bundle for exporting your application as a static site. It crawls configured routes or uses a URL list, saves rendered HTML to disk, and helps automate static builds for fast, low-cost hosting.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Evaluating a “static export” mode for an existing Laravel application as a low-effort way to serve marketing pages, docs, blogs, help centers, or SEO-critical content from CDN/S3 without introducing a separate CMS or standalone static site generator.
  • Build vs. buy: compare this package (reuses Laravel controllers, routing, middleware, Blade views) against adopting a separate SSG (Jigsaw, Hugo, Next.js) or hosted static hosting service. This package lowers migration cost when the app is already Laravel.
  • Roadmap: add a “publish static snapshot” feature, support preview deployments, or offer a cost-sensitive “static site” tier.
  • Use cases: product documentation, landing pages, blog archives, legal pages, event microsites, or any route set that can be parameterized and rendered at build time.
  • Operational decisions: choose local directory output vs. Flysystem targets (S3, FTP) for deployment pipelines; decide whether to enable clean_urls for zero-rewrite static hosting; decide whether to invest in custom ParamsProviderInterface services for large parameter matrices.
  • Risk/readiness: v0.1.0 is an initial release; consider piloting on non-critical pages while tracking maturity, API stability, and community adoption.

When to Consider This Package

  • You have a Laravel app with controllers/routes that can be rendered without user-specific state and want to pre-render them into static HTML.
  • You need parameterized routes generated from a service or inline list (e.g., product pages, docs versions, localized pages).
  • You want to deploy to S3, FTP, or any Flysystem target without writing custom upload code.
  • You need clean URLs without server rewrite rules (clean_urls writes <path>/index.html).
  • You need redirect handling via static meta-refresh stubs.
  • You want event hooks (PageRenderedEvent, PageDumpedEvent, PageFailedEvent) for build observability or post-processing.
  • You can meet PHP 8.3 and Symfony 7.4/8.x requirements.
  • Look elsewhere if: you need incremental or dynamic regeneration, client-side routing, complex auth/personalization, a non-Laravel stack, a mature ecosystem with themes/plugins, or stable APIs (v0.1.0 is early). Also consider alternatives if your routes depend heavily on runtime session state or perform database writes during render.

How to Pitch It (Stakeholders)

  • Executives: This package lets us turn existing Laravel pages into static HTML served from cheap, fast, scalable hosting (S3/CDN), reducing infrastructure cost and improving page load and SEO. It reuses our current codebase and team skills, avoiding a new CMS or static site generator. Risk is low for a pilot because it is an additive build tool; however v0.1.0 is early, so start with a limited pilot (e.g., docs or marketing pages) and measure build reliability and deployment workflow before committing to broader rollout.
  • Engineering: We can annotate controllers with #[Prerender], provide parameter sets via a service or inline list, and run static-site:generate to produce a static tree. Output goes local or to Flysystem (S3/FTP) with no extra code. clean_urls and base_uri handle hosting paths. Events let us hook logging, cache busting, or post-processing. Services are replaceable via service IDs for custom rendering/dumping. Constraints: PHP 8.3, Symfony 7.4/8.x. Recommend a proof-of-concept on a small route set, with tests for non-2xx failure behavior and redirect stubs, and a plan for incremental builds if needed.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
laravel2580/idehelpers
delatbabel/viewpages
anavel/gettext
muhamadrezaar/highcharts
delatbabel/keylists
frankkessler/salesforce-laravel-oauth2-rest
anavel/foundation
wdmtech/enviricons
eii/laravel-captcha
muka/shape-reader
tdt/json
refinery29/php-cs-fixer-config
hotmeteor/eco-env
mvaliolahi/hydrate
wearede/tbcpay-php
parsnick/steak
thibaud-dauce/mattermost-php
multilinguals/apollo-client
antaresbr/collection
kr0lik/phpstan-rules