index/ref/poolypress.md

7.7 KiB

PoolyPress is an open-source content platform for makers, small companies, and developers who need media management, publishing, i18n, and e-commerce — without the plugin sprawl of a traditional CMS.

It grew from 20 years of building on Joomla, Drupal, WordPress, Jekyll, Hugo, and Astro. The result is a single, self-contained Node.js stack with minimal dependencies that runs comfortably on a €5/month VPS.

First release is planned for May - 2026

Core Capabilities

📸 Media Management & Delivery

Upload-to-publish pipeline with automatic format conversion, responsive sizing, and video transcoding.

  • Media Processing: Images are converted to WebP/AVIF on ingest. Video is transcoded for adaptive bitrate playback. No external CDN or image service required.
  • Galleries & Versioning: Manage multiple image versions, navigate via filmstrip, and reorder assets with drag-and-drop.
  • Virtual File System (VFS): An abstraction layer over local and remote storage with configurable mounts, per-user directories, ACL-controlled access, and path-traversal protection.

📱 Mobile & PWA

The frontend is a full Progressive Web App — installable, offline-capable, and shareable.

  • Installable PWA: Add to home screen with service-worker precaching for instant load on subsequent visits.
  • Share Target API: Share content from any mobile app directly into PoolyPress for quick posting.
  • Global Drag-and-Drop: Drop files or URLs anywhere on the page to start a new upload or post.

✍️ Content & Publishing

Widget-based pages with rich export options and aggregated feeds.

  • Block Editor: Build pages from composable widgets — markdown blocks, galleries, video banners, carousels, tabs, and custom embed types — using an MDX-powered editor.
  • Export Formats: Pages export to standalone HTML, PDF, Markdown, JSON, or email-ready HTML.
  • Discovery Feeds: Aggregated home feeds with full-text search, tag/category filtering, and configurable sort orders.

🌍 Internationalization

Widget-level translations, not page duplication. Update one paragraph without touching the rest of the layout.

  • AI & DeepL Batch Translation: Translate content in bulk using DeepL or LLM-powered pipelines. Markdown formatting, links, and structure are preserved.
  • Per-Widget Granularity: Every widget, title, and description is independently translatable. No duplicate pages, no sync headaches.
  • Locale-Aware SEO: Automatic hreflang tags, per-language sitemaps, and translated meta descriptions.

🔍 SEO, Discoverability & AI-Readiness

Traditional SEO gets your pages indexed. But search is changing: Gartner forecasts a 25% drop in traditional search volume by 2026 as users shift to AI assistants for direct answers. PoolyPress addresses both worlds.

Classic SEO — Built In

  • Structured Data: Open Graph, Twitter Cards, and JSON-LD schemas (Article, Product, FAQPage, BreadcrumbList) are injected server-side. Link previews work correctly on every platform.
  • Performance: Hydration data is pre-fetched, images are responsively served, and route-level code splitting keeps initial payloads small.
  • Syndication: Built-in RSS/Atom feeds and auto-generated Google Merchant XML product feeds.
  • Locale-Aware: Automatic hreflang tags, per-language sitemaps, and translated meta descriptions.

Bot & Crawler Detection

The server identifies crawlers at the request level using two-tier User-Agent detection:

  • AI Agents: GPTBot, ChatGPT-User, ClaudeBot, Google-Extended, Gemini-Deep-Research, PerplexityBot, Applebot-Extended, DuckAssistBot, MistralAI-User, and others — each recognized individually so the server can tailor the response format.
  • Traditional Crawlers: All remaining bots (Googlebot, Bingbot, etc.) are caught via the battle-tested isbot library.

When a bot is detected, the server renders full static HTML with JSON-LD, Open Graph tags, and pre-rendered widget content — no JavaScript required. AI agents receive clean Markdown with frontmatter metadata instead. Human visitors get the standard SPA experience. Same URL, three response paths.

Answer Engine Optimization (AEO)

AI-driven search engines (Google AI Overviews, ChatGPT, Perplexity, Bing Copilot) increasingly serve direct answers instead of link lists. To be cited by these systems, content needs to be structured for extraction, not just ranking.

  • Multi-Format Delivery: Every page is available as HTML, Markdown, JSON, or plain text via URL suffix — AI agents can retrieve content in their preferred format without scraping.
  • LLM Endpoints: Machine-readable indexes (llms.txt, sitemap-based manifests) let AI systems discover and ingest your content programmatically.
  • Semantic Structure: Widget-based layouts produce clean heading hierarchies, Q&A blocks, and structured specs tables that map directly to the entity-type extraction LLMs perform.

WebMCP — The Agentic Web

Google and Microsoft are incubating WebMCP at the W3C — a browser-native standard that lets AI agents call website functions directly via navigator.modelContext, rather than scraping HTML or interpreting screenshots. Chrome 146 Canary shipped an early preview in February 2026.

Why it matters for content publishers: as AI agents start transacting with websites on behalf of users, the sites that expose structured tool contracts will be reachable. Sites that don't become invisible to the agentic web.

PoolyPress is built for this shift. Its existing MCP server already exposes 17 tools over JSON-RPC 2.0 for content authoring. The same architecture — structured tool definitions, typed inputs, programmatic responses — aligns directly with WebMCP's declarative and imperative APIs. When browsers ship WebMCP support, surfacing PoolyPress capabilities to client-side AI agents is a configuration step, not a rewrite.

🛒 E-Commerce (Optional Module)

Any page or post can be turned into a product by tagging it with a price — no separate product database needed. This covers physical goods with cart, checkout, shipping, and returns, but also digital products: tag a VFS file or folder with a price, and the platform's ACL system handles access control automatically. Buyers get a scoped VFS grant; non-buyers see the listing but can't download. The same granular permissions that protect internal documents also gate paid content.

All pages marked as a product are automatically included in a Google Merchant XML feed — with pricing, availability, images, and descriptions pulled directly from the page's metadata. No manual feed management, no third-party plugin.

🤖 AI-Powered Authoring

AI tools are built into the editor, not bolted on.

  • Chat Panel: An in-editor AI assistant that can search your site's own content, draft text, insert widgets, and cross-link existing pages.
  • Inline Tools: Rewrite, expand, summarize, or translate selected text without leaving the editor.
  • Layout Generation: Describe a page layout in plain language and the AI generates the widget structure, pre-filled with your page's template variables.

🛡️ Security

Layered security applied consistently across all endpoints.

  • Auth & Access Control: JWT authentication, declarative route-level access (@Public, @Admin), and role-based admin privileges.
  • Auto-Ban & Rate Limiting: In-memory violation tracking with configurable thresholds. Offending IPs, user IDs, or tokens are banned automatically.
  • Transport Hardening: Strict CSP, CORS, and secure headers to mitigate XSS, clickjacking, and CSRF.
  • Observability: Real-time request logging, background geo-lookups, and SSE-based live monitoring.