Datafeed importer
- Reads CSV, TSV, pipe- and semicolon-delimited files and XML (RSS items, Atom entries, product records, Google Shopping namespaces), plain or gzip/zip compressed, from a URL or a local file.
- Network presets for CJ, Awin, Impact, Rakuten Advertising, AvantLink and Google Shopping format, plus auto-detection of common column names and a custom column mapping for anything else.
- Keyword filters keep only the products you want from huge catalogs.
- Link templates wrap plain product URLs in your network deep link (
{url},{raw_url},{sku}). - Upserts by SKU, removes products that left the feed, records last run, counts and errors.
- Run from Admin → Product feeds or by cron:
php app/cli.php feeds:run.

Admin → Product feeds in the demo site.
Price comparison on every page
Each page (a product, a cost guide, a part number) declares what it should match: part numbers (MPN), UPC/GTIN or keywords, with exclusions. The kit renders a “Where to buy” table (image, product, store, price with sale strike-through, stock status, “prices as of” date) sorted by availability and price. When no feed product matches, it falls back to search buttons for stores you choose (with your Amazon tag added automatically).

A “Where to buy” table on a product page, built from two sample feeds.
Search landing pages
Turn what shoppers search for into real, indexable pages (“Brewcraft”, “espresso machines”, “Zephyra air fryers”) built entirely from your feeds. Pick searches in Admin → Search pages from three suggestion lists (what your visitors searched, the brands in your feeds, brand + product-type combinations) and create them in one click.
- Clean URLs like
/shop/zephyra-air-fryers, their own title and meta description, and a heading you can edit. - An intro written from live data (how many products, which stores, price range, typical price, biggest markdown), plus your own intro and buying guide if you want them.
- A price-comparison grid: the same product from several stores grouped into one card by UPC or part number, lowest price first.
- FAQ, ItemList and breadcrumb structured data; added to the sitemap, a Shop menu, a “Popular” row in the footer, related pages, and the product reviews they relate to.
- Guardrails against thin and duplicate pages: a page is shown to Google only with enough products (6 by default), “espresso machine” and “best espresso machines” can’t become two pages, and a page that mostly repeats another is folded into it automatically. Plain site-search results stay hidden from Google.

A search page built from three sample store feeds (demo data).
Click tracking
All outbound product clicks go through /go/p/{id} (or /go/s/{store} for searches), are counted, and are marked rel="sponsored nofollow".
Content and CMS
Collections for products, info/cost guides, recipes and documents; guides, best-of lists, comparisons, finders (quizzes) and tool pages; a Markdown editor with SEO checks; a media library that converts photos to WebP.
Lead generation
Configurable lead forms per site (custom fields and consent text), spam protection, CSV export and email alerts: perfect for quote and service niches.
SEO and speed
Structured data, XML sitemaps, canonical URLs, redirects, automatic noindex for thin pages, and a page cache. Sites built on the kit score 95-100 on Lighthouse for performance, accessibility, best practices and SEO.
Hosting
PHP 8 with SQLite (zero setup) or MySQL. Runs on shared hosting, a VPS or locally on a Mac with the one-click preview app.