Built for serious
digital publishing.
Everything a modern media operation actually needs editorial tools, audience growth, subscriptions, advertising, AI assistance, and SEO in one platform that doesn't make you choose.
01 Editorial
A newsroom built into the platform.
Ghost-style Post Editor
Full-width TipTap v3 editor. Everything an editorial team needs from draft to live without switching tabs or copying between tools.
Role-Based Access
Spatie Permissions powers Admin, Editor, and Author roles. Admins control settings and users; Editors manage all content; Authors own only what they write.
Drag-and-Drop Menu Builder
Build and reorder navigation at /admin/menus. Changes reflect immediately across all theme frontends.
Media Manager
Upload, browse, and insert images into any post. Powered by intervention/image. Tenant-scoped library at /admin/media.
Comment Moderation
Admin approval queue for reader comments. Authors get email alerts on new comments; commenters hear back when approved.
WordPress Import
Upload a WXR XML (up to 50 MB) or pull from any public WP REST API. Bulk inserts, in-memory maps, no per-item lookups.
02 Revenue
Six ways to make money
from your content.
Stripe Checkout Sessions with per-tenant keys stored in your settings never shared across publications. Billing Portal for self-service subscription management.
- Multiple subscription plan tiers
- Stripe Checkout hosted page
- Self-service Billing Portal
- Webhooks for cancel and downgrade events
- MRR stats in your admin dashboard
- Per-plan feature gating
Hard paywalls block all non-subscriber content. Metered paywalls allow a configurable number of free reads before the gate closes. Both modes via PaywallService.
- Hard paywall per post toggle
- Metered view-count paywall
- Content preview truncation
- ContentAccessLog tracking per reader
- Subscriber bypass
- Upgrade prompt with plan picker
Full ad management with scheduling, placement controls, and impression/click tracking. The <x-ad-slot> Blade component drops into any theme with one line.
- Image, script, and HTML ad types
- 7 placement positions available
- Scheduling with start and end dates
- Active/paused toggle
- Impression and click tracking
- Component: <x-ad-slot placement="...">
Build and send campaigns to your full subscriber list. Compose in WYSIWYG or raw HTML. Welcome emails go out automatically the moment someone subscribes.
- Campaign CRUD at /admin/newsletter
- WYSIWYG and HTML editor
- Send to all active subscribers
- Welcome email on subscribe
- Token-based unsubscribe
- Subscriber stats dashboard
Publish replica editions, premium digital issues, and downloadable archives. Free or paid access per edition, with featured placement on your publication homepage.
- Upload PDF or link-based editions
- Free or paid access rules per issue
- Featured placement support
- Integrates with subscription plans
- Downloadable archive management
- Editorial branding per issue
Live channels, scheduled coverage, and embedded broadcasts inside the publication experience. Elections, earnings calls, press conferences run it from the same admin.
- Provider and embed code management
- Live, scheduled, and ended states
- Featured placement on homepage
- Thumbnail and chat preferences
- Works with any embed source
- Admin toggle for instant go-live
03 SEO & Audience
Discoverability built into every page.
SEO Engine
- SeoService generates JSON-LD schema markup
- Open Graph and Twitter Card meta tags
- Canonical URLs per post
- Dynamic XML sitemap at /sitemap.xml
- robots.txt with tenant-aware rules
- AMP pages at /amp/{slug}
- Per-post meta title and description
- Live keyword density score in editor
- OG image field in SEO panel
Newsletter Engine
- Campaign creation with draft state
- WYSIWYG or raw HTML composition
- One-click send to all active subscribers
- Responsive HTML email templates
- Welcome email on new subscriber
- Token unsubscribe link in every email
- Subscriber stats strip in admin
Push Notifications
- Web Push API with VAPID keys
- Service worker at public/service-worker.js
- POST /push/subscribe saves subscription
- GET /push/vapid-key serves public key
- NewPostPublished notification class ready
- PushSubscription model per tenant
- Works in Chrome, Edge, Firefox
Analytics & Tracking
- Page analytics: views, visitors, scroll, duration
- Live visitor count with 30s polling
- Sparkline charts on admin dashboard
- Google Analytics 4 (GA4)
- Google Tag Manager (GTM)
- Facebook Pixel
- Twitter/X Pixel
- Hotjar
- Google Search Console meta tag
04 AI & Integrations
Write faster. Reach further.
AI Writing Assistant
OpenAI-powered slide-over embedded in the post editor. Trigger it from the toolbar no tab switching, no copy-pasting between tools.
✦ Generate title
Create a compelling headline from your topic or draft.
✦ Write intro
Draft the opening paragraph to hook readers immediately.
✦ Expand outline
Turn bullet points into full narrative paragraphs.
✦ Write full draft
Generate a complete article from a single prompt.
✦ Summarise
Create an SEO-ready meta description automatically.
✦ Suggest tags
Extract the right tags from your article content.
Social Login
Laravel Socialite handles OAuth sign-in. Readers authenticate with Google, Facebook, or GitHub no password required.
Text-to-Speech
Browser Web Speech API player on all 15 theme post pages. Play, pause, stop, variable speed (0.75×–2×), animated waveform. Toggle per tenant in Settings. ElevenLabs key ready for premium TTS.
05 Themes
15 themes. One consistent platform.
Every theme ships with home, post, category, search, and tag views. Shared partials handle ads, menus, the TTS player, and tracking codes so switching themes never breaks your monetisation.
blog
ClassicGeneral-purpose blog with sidebar
magazine
EditorialGrid layout with featured hero
corporate
BusinessClean B2B publication layout
newsletter
Email-firstStory-focused minimal layout
news
BreakingNews with standard pagination
minimal
ReadingDistraction-free article view
photography
VisualFull-bleed image-forward layout
tech
DevMonospace developer aesthetic
lifestyle
WarmCard grid editorial layout
docs
DocsSidebar-nav documentation site
apex
PremiumDark hero news layout
meridian
SerifBold editorial with wide type
pulse
LiveBreaking news ticker style
slate
MinimalCorporate clean layout
vanguard
BoldFull-width magazine imagery
Shared ad slots
The x-ad-slot component works in every theme. Switch themes and your ad placements carry over automatically.
Shared navigation
Menu builder output is shared across all themes. One config, consistent navigation everywhere.
Dark mode
Unified localStorage key with system preference fallback. Flash prevention via x-cloak in all 15 templates.
06 Headless API
Use Pressly as a headless CMS.
17+ REST endpoints under /api/v1/. All routes run through ResolveTenant middleware. Bearer token auth via Sanctum.
/api/v1/posts
/api/v1/posts
/api/v1/posts/{slug}
/api/v1/posts/{slug}
/api/v1/posts/{slug}
/api/v1/posts/{slug}/comments
/api/v1/posts/{slug}/comments
/api/v1/categories
/api/v1/categories/{slug}
/api/v1/tags
/api/v1/tags/{slug}
/api/v1/search?q=
/api/v1/auth/login
/api/v1/auth/register
/api/v1/auth/me
/api/v1/auth/logout
07 Mobile Apps
Native iOS & Android.
Powered by your API.
Every Pressly publication ships with a documented REST API that powers fully-native mobile apps. Subscribers get breaking news on their lock screen, e-paper editions in-app, and paywall-gated content enforced automatically — all managed from the same admin you already know.
Push notifications
Lock-screen breaking news and live coverage alerts via Web Push — no third-party service needed.
E-paper reader
Every edition delivered in-app with the full page-flip experience, optimised for touch.
Paywall enforcement
Metered and hard paywalls apply in-app automatically. Subscribers tap in; everyone else hits the gate.
17+ REST endpoints
Posts, categories, tags, search, comments, and auth — the full API your mobile team needs on day one.
VAPID Web Push
Service worker at public/service-worker.js. VAPID key served at /push/vapid-key. Works in Chrome, Edge and Firefox.
AI content on mobile
AI-generated headlines, summaries, and tags flow through to app feeds automatically.
API endpoints used by mobile apps
/api/v1/posts
/api/v1/posts/{slug}
/api/v1/search?q=
/api/v1/auth/login
/api/v1/auth/me
/push/subscribe
/push/vapid-key
/sitemap.xml
Bearer token authentication
POST /api/v1/auth/login returns a Sanctum personal access token. Pass it as Authorization: Bearer {"{token}"} on every authenticated request. Token lifetime configurable per tenant.
Complete list
Every feature, at a glance
Content & Editorial
- TipTap v3 WYSIWYG post editor
- Featured image with alt text and caption
- Category and tag assignment
- Scheduled publish with datetime picker
- Revision history with one-click restore
- Auto-save every 60 seconds
- Post status: draft, published, archived
- Post collaborators (co-authoring)
- Drag-and-drop menu builder
- WordPress WXR import (file and URL)
- Comment moderation queue
- Media library with image processing
Revenue & Monetisation
- Stripe Checkout subscriptions
- Stripe Billing Portal
- Stripe webhooks for cancellations
- Multiple subscription plan tiers
- Hard paywall per post
- Metered view-count paywall
- Content preview truncation
- Full ad CRUD with scheduling
- 7 ad placement positions
- Impression and click tracking
- E-paper edition management
- Live streaming channels
SEO & Discoverability
- JSON-LD schema markup per post
- Open Graph and Twitter Card tags
- XML sitemap at /sitemap.xml
- AMP pages at /amp/{slug}
- robots.txt with tenant rules
- Live keyword density score in editor
- Custom meta title and description
- OG image field in SEO sidebar
- Canonical URL management
- 301 redirect engine
- Google Search Console meta tag
- Post title HTML entity decoding
Audience & Growth
- Newsletter campaign system
- WYSIWYG and HTML campaign editor
- Welcome email on subscribe
- Token-based unsubscribe
- Web Push notifications (VAPID)
- Service worker push handler
- Google Analytics 4
- Google Tag Manager
- Facebook Pixel
- Twitter/X Pixel
- Hotjar session recording
- Page analytics with sparklines
AI & Integrations
- OpenAI writing assistant in editor
- AI title and intro generation
- AI full draft from a prompt
- AI SEO meta description
- AI tag suggestions
- Google OAuth (Socialite)
- Facebook OAuth (Socialite)
- GitHub OAuth (Socialite)
- Text-to-speech player (Web Speech API)
- ElevenLabs premium TTS field
- Per-tenant SMTP and Mailgun config
- Per-tenant Stripe keys
Platform & Developer
- Domain-based multitenancy
- ResolveTenant middleware on all routes
- Super admin platform console
- 17+ REST API endpoints
- Laravel Sanctum Bearer tokens
- Interactive API docs at /api/docs
- Role-based access (Spatie)
- Activity log per tenant
- 29 database migrations
- Spatie Tags support
- Dark mode with localStorage
- Flash prevention via x-cloak
Ready to start?
See every feature live
in the demo.
Login with admin@demo.com and password full admin access, no setup required.