DG6 — Multilingual pSEO Publishing
A Laravel publishing application for my programmatic SEO projects. DG6 turns generated content into multilingual websites, with separate domains, themes and publishing schedules, all running from one codebase.

About DG6 — Multilingual pSEO Publishing
I built DG6 as the publishing application behind my programmatic SEO projects. DG6 Swarm handled content and image generation; DG6 brought those results into websites with their own domains, layouts, languages and publication schedules.
The idea was to maintain one application while giving each website its own content and presentation.
One codebase, multiple websites
DG6 identifies the website from the incoming domain and loads its homepage, articles, topic pages, media and selected theme.
The application includes eleven Blade templates. Each website can use a different template, logo and favicon while sharing the same publishing code. Content is associated with its website, and cached results use site-specific prefixes.
Publishing in different languages
Translations cover homepage copy, article titles, descriptions, bodies and tags. Articles and tags also support localized slugs.
Each website’s main language uses URLs without a language prefix. Other versions use paths such as /de/, with language availability following the content that has been published.
Articles have separate publication schedules for each language. That allows the original and its translations to go live independently.
From generated content to published pages
I built import commands for SQLite archives, MongoDB and PostgreSQL so content from the generation pipeline could move into the publishing database.
Laravel’s scheduler publishes due content and rebuilds sitemaps. Each website has its own robots file and sitemap output, alongside page metadata and canonical links.
Images, logos and favicons are managed through Spatie Media Library, with image conversions, Backblaze B2 storage and CDN URL support.
The repository also includes queued RunPod generation jobs for homepage, tag and game text.
My work
I handled the Laravel application, domain routing, multilingual content models, Blade templates, imports, publishing schedules and media integration.
Content management runs through imports and Artisan commands. The public interface uses Tailwind CSS and Alpine.js.
I also added tests around domain resolution, translated routes, language links, pagination, publishing, caching and CDN URLs. Those details matter when the same application needs to serve the right content for several domains and languages.

















