=== Fy2Press Catalog for Shopify ===
Contributors: pagup
Tags: shopify, product catalog, ecommerce, storefront, seo
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 1.0.0
License: GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Display your Shopify products on WordPress with catalog pages, blocks and SEO controls. Keep checkout on Shopify. No WooCommerce required.

== Description ==

**Your Shopify products, in the WordPress content your visitors already read.**

Fy2Press brings your Shopify catalog into WordPress product pages, collections and buying guides. Keep product management and checkout in Shopify, without installing WooCommerce.

= What you can do with FREE =

* Publish products, collections and tags as WordPress catalog content.
* Place catalog components with 17 Gutenberg blocks and 27 shortcodes.
* Customize one product design and one collection design with the included Design controls.
* Help visitors browse with search, filters, sorting and pagination.
* Display cart components in WordPress and continue to Shopify for payment.
* Choose catalog indexing settings and a preferred product URL on WordPress or Shopify, with structured product information from the available data.

FREE works without a paid Fy2Press license. You need an existing Shopify store, its subscription and a WordPress site. **Synchronization is manual:** run it when you want to refresh saved catalog records. Cached prices or availability may be outdated. SEO controls do not guarantee indexing, rankings or rich results.

= Is this the right approach for you? =

Use Fy2Press when you want a WordPress catalog alongside articles, guides and business pages. If you only need a purchase button for one product, a simple embedded Shopify option may be enough. Fy2Press does not replace Shopify or migrate your orders into WordPress.

= About PRO =

PRO is a separate paid edition. Schedule catalog updates hourly, twice daily or daily through WordPress cron with an active license. Build pages with native Elementor and WPBakery components, use multiple templates, and adapt presentation with device-specific settings and custom CSS. WordPress must execute scheduled events; scheduling is not a real-time webhook service. This download contains FREE only.

[Compare PRO features and prices](https://fy2press.com/product/#pricing) or [ask a question](https://fy2press.com/support/).

= Plan your WordPress and Shopify project =

Agencies and developers can use the [public Fy2Press reference](https://github.com/GautierDorval/fy2press) to plan a catalog, check SEO decisions and adapt reusable client handover templates. Available in English and Canadian French.

* [Choose which URLs should appear in search](https://github.com/GautierDorval/fy2press/blob/main/docs/seo-decision-matrix.md).
* [Understand how catalog data, prices and caches are refreshed](https://github.com/GautierDorval/fy2press/blob/main/docs/data-ownership-and-freshness.md).
* [Build pages with blocks and shortcodes](https://github.com/GautierDorval/fy2press/blob/main/developer/README.md).

This GitHub repository contains documentation. Install the plugin from this WordPress.org page.

= Start with one useful page =

Install Fy2Press, connect the store using a public Storefront API token, discover the catalog and start manual synchronization. New product pages are published directly: prepare their visibility first. Then check a product and use the included tools to present it in WordPress.

[Installation guide](https://fy2press.com/docs/installation/) | [Connect Shopify](https://fy2press.com/docs/connect-shopify/) | [Support](https://fy2press.com/support/)

Fy2Press support is provided by PAGUP through [the support channel](https://fy2press.com/support/) and support@better-robots.com. Send product questions and bugs there; use the public repository for documentation corrections. For a confidential security report, include the affected version and a general description without posting exploit instructions or secrets publicly.

Made by [Pagup](https://pagup.com/). Fy2Press is independent and is not affiliated with, endorsed by or sponsored by Shopify or WordPress.

== Installation ==

1. In WordPress, open **Plugins > Add New Plugin**, search for **Fy2Press**, then install and activate **Fy2Press Catalog for Shopify** by Pagup. Alternatively, upload the ZIP from this page.
2. Open Fy2Press and enter the store subdomain and **public Storefront API token**. Do not use an Admin API token or a private Storefront token.
3. Select **Test Connection**. Confirm the intended store, then save.
4. Open **Products**, discover the catalog and review the result before synchronization. Prepare visibility first: new product pages are published directly.
5. Open **Design** to adjust the included presentation. Use **Add to my pages** or **Help** for actual block and shortcode examples.
6. Check a product page, its variants and the Shopify path before sharing the catalog.

Use a staging site when changing an existing catalog. Follow the [setup guides](https://fy2press.com/docs/) for current steps and troubleshooting.

== Frequently Asked Questions ==

= Is Fy2Press free? =

Yes. FREE is available without a paid Fy2Press license, including when optional Freemius usage opt-in is skipped. Shopify and WordPress hosting are separate services.

= Do I need WooCommerce or a developer? =

WooCommerce is not required. Use the included blocks and Design controls for a basic catalog without writing code. The Shopify connection must still be configured, and theme-specific adjustments may need technical help.

= Has Fy2Press been tested with Shopify? =

Yes. Fy2Press has been tested with a real Shopify store. The guides explain the configuration and settings to adapt to your WordPress site and catalog.

= Is synchronization automatic? =

In FREE, you start synchronization manually. PRO adds scheduled synchronization at the intervals described above. Stored catalog records, component requests and page caches have separate refresh paths. After editing Shopify data, synchronize the saved records and refresh the relevant page cache when needed. [Understand how the data is refreshed](https://github.com/GautierDorval/fy2press/blob/main/docs/data-ownership-and-freshness.md).

= Can synchronization overwrite my changes? =

Shopify remains the source of synchronized fields, and later synchronization can reapply titles and slugs. Existing WordPress post content is preserved by the documented behavior, but check that your template displays it. New product pages are published directly rather than saved automatically as drafts.

= What do the SEO controls do? =

Choose indexing settings for products, collections and tags and a preferred product URL on WordPress or Shopify. Structured data describes available product information. These are publishing controls, not guarantees of rankings, traffic or rich results. Use the [SEO decision matrix](https://github.com/GautierDorval/fy2press/blob/main/docs/seo-decision-matrix.md) to choose the right approach for each page.

= Can I use Elementor or WPBakery? =

FREE provides WordPress blocks and shortcodes. Native Elementor and WPBakery components belong to the separate paid PRO edition. The builders themselves are separate products. Check your specific theme and layout.

= What happens if my PRO license is no longer active? =

Scheduled synchronization returns to manual and FREE features remain available. Check the documentation first if your pages use premium templates or builders.

= Is there a catalog-size limit? =

No universal capacity is guaranteed. Hosting memory and cache limits can constrain large catalogs. Test a representative catalog on staging before a large rollout; incomplete discovery does not replace the last accepted snapshot.

= Does the plugin use cookies or external services? =

Yes. Cart cookies and the Shopify and Freemius services are described below. Include the relevant information in your privacy notice. Behind a proxy or CDN, list trusted addresses with the `shopipress_rate_limit_trusted_proxies` filter; only they may supply `CF-Connecting-IP` or `X-Real-IP`.

= What happens when I delete the plugin? =

With **Delete Settings on Uninstall** enabled, administrator deactivation and deletion remove settings and caches, not synchronized content. The documented WP-CLI command is `wp plugin uninstall fy2press --deactivate --user=<administrator>`.

= Where are the build instructions? =

Source code and build tools remain in the plugin download. Developers can read [BUILDING.md](https://plugins.svn.wordpress.org/fy2press/trunk/BUILDING.md).

== External services ==

After configuration, Fy2Press sends HTTPS catalog/cart requests to the store's `*.myshopify.com` Storefront API with its public Storefront API token, product/variant IDs, quantities and storefront context. Shopify handles checkout.

Product images keep the URLs returned by Shopify; visitors' browsers load them from those locations on catalog pages.

Standard cart buttons collect no buyer email or phone; an integration may supply them to the cart-creation endpoint, and Fy2Press forwards them to Shopify as buyer identity only, never as telemetry or browser storage.

Cookies: `fy2press_cart_` encrypts cart references (HttpOnly); script-readable `fy2press_has_cart_` holds `1` to skip idle requests, with no ID, secret or authority. Both last seven days (SameSite=Lax, Secure on HTTPS). Shopify stores carts. Legacy `shopipress_cart_id` localStorage is migrated and removed. Checkout URLs require a checkout request. Prices use the primary Shopify market and returned currency.

Cart and design assets load with rendered Fy2Press content, including blocks and templates. The `shopipress_global_cart` filter enables site-wide cart access and assets.

Shopify handles this data under its [Terms of Service](https://www.shopify.com/legal/terms) and [Privacy Policy](https://www.shopify.com/legal/privacy). Fy2Press does not send usage telemetry or licensing requests to Pagup.

The Freemius WordPress SDK provides optional usage opt-in and PRO licensing, trials, secure downloads and updates. Opt-in or commercial flows send the site URL, WordPress/PHP/plugin versions, administrator account information and necessary licence/diagnostic data. The FREE functionality remains available when opt-in is skipped. See Freemius [Terms](https://freemius.com/terms/) and [Privacy Policy](https://freemius.com/privacy/).

Links to documentation and support at `https://fy2press.com` are ordinary external navigations initiated by the administrator. Fy2Press does not fetch documentation, fonts, scripts or styles there, or ping links. See [privacy](https://fy2press.com/privacy/) and [security](https://fy2press.com/security/).

== Screenshots ==

1. Browse a WordPress catalog page with search, collection filter and sorting. Fictional Morrowfield demo products; no live Shopify sync shown.
2. Select a product variant in your WordPress theme. Fictional demo product; checkout is not shown.
3. Show catalog products inside a WordPress buying guide. Fictional demo data.
4. Adjust the catalog design with the FREE Design controls and live preview.
5. Add catalog components with the block editor or shortcodes.
6. Choose the main product page and which catalog pages may be indexed. No ranking is claimed.

== Changelog ==

= 1.0.0 =
* Connect a Shopify store with a public Storefront token and manually synchronize products, collections and tags. Catalog discovery resumes in batches; interrupted writes do not resume automatically.
* Publish using 17 blocks, 27 shortcodes, included designs and catalog SEO controls.
* Present the cart in WordPress with Shopify cart services and checkout; administration available in nine locales.
