Findalo

Description

Findalo connects your WooCommerce store to the findalo.io search engine: indexes the catalog, publishes it to the search engine and embeds the widget on the storefront by hooking into the theme’s existing search bar.

  • Instant search with filters and facets.
  • Multilingual catalog (WPML and Polylang supported out of the box).
  • No theme changes required — the widget hijacks the existing search input.
  • Push sync: changes in your shop reach findalo.io within seconds.
  • Failover between primary and fallback origin if findalo.io is unreachable.

A Findalo account is required. The plugin is free; the search service is provided by Findalo under its own terms.

External services

This plugin is the connector between your store and the Findalo search service, a hosted (SaaS) search engine. Nothing is sent and no external script is loaded until an administrator connects the store to a Findalo account (setup wizard or WooCommerce Findalo). Once connected, the plugin talks to the following hosts, all operated by Findalo:

  • api.findalo.io / findalo.io — the Findalo API. The plugin sends your product catalog (names, descriptions, prices, stock, categories, attributes, images, URLs) every time it changes, and answers the service’s requests for: the catalog feed, the plugin/sync status, the connection handshake and verification, recent orders (order id, product ids, quantities, dates — used for “best sellers” and “frequently bought together”), the order status lookup used by the shopping assistant (order id or reference, billing email, order date, status and tracking, only when a shopper asks about their own order), and the text of your public CMS pages (used as the assistant’s knowledge base).
  • widget.findalo.io — serves the search widget script, loaded on the storefront only when the store is connected and the widget is enabled. From the shopper’s browser the widget sends search queries, result clicks, add-to-cart events and cart context (cart total and product/category ids of the current page) to the Findalo API so it can rank results and attribute sales. On the “thank you” page the plugin pushes the purchase (order id, total, currency and line items — no personal data) to the widget so a sale that started from a search is credited.
  • panel.findalo.io — the Findalo panel, opened by the administrator to authorize the connection and manage the search engine.
  • buscador.findalo.io — a fallback origin for the widget and API, used automatically if the primary hosts are unreachable.

The plugin does not send WordPress user accounts, passwords, customer addresses or payment data. Personal data leaves the store only in the order-status lookup described above (the billing email a shopper types to identify their own order) and is not stored by Findalo beyond answering that request.

Terms of service: https://findalo.io/terminos
Privacy policy: https://findalo.io/privacidad

Screenshots

Installation

  1. Upload the ZIP via Plugins Add New Upload, or copy the findalo/ folder into wp-content/plugins/ via SFTP.
  2. Activate the plugin in the Plugins list. A short setup wizard opens automatically.
  3. The wizard walks you through three steps:
    • Connect — authorize the store from your Findalo panel with one click, or paste the tenant slug and feed token manually.
    • Widget — enable the widget (the trigger selector is managed from your Findalo panel).
    • Finish — your catalog is published to findalo.io.
  4. You can re-run the wizard anytime from WooCommerce Findalo, and disconnect from the Advanced tab.

FAQ

Do I need a Findalo account?

Yes. The plugin connects your store to the Findalo search service; without an account (and without connecting the store) it does nothing and sends nothing.

Does it work with WPML or Polylang?

Yes. The catalog is built once per declared language and the widget surfaces the correct strings based on the storefront locale.

Does it modify my theme files?

No. The widget binds to the existing search input via CSS selectors. You can change the selectors from your Findalo panel if your theme uses a different markup.

What happens if findalo.io is unreachable?

The bootstrap loader falls back to an independent origin within 1.5 seconds. Shoppers do not see an error.

What data leaves my store?

See the “External services” section above. In short: your product catalog, anonymous search and click events from the widget, order lines (ids, quantities, dates) and, only when a shopper asks the assistant about their own order, the order details they identify with their billing email. Nothing is sent until you connect the store.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Findalo” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Findalo” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.4.0

  • Security: the add-to-cart endpoint (/wp-json/findalo/v1/addtocart) now requires the standard REST nonce (X-WP-Nonce). The widget obtains it from the private navigation context (never from cacheable HTML) and sends it with every add; requests without it are refused.
  • Change: all admin and storefront JavaScript is enqueued through the WordPress API (admin_enqueue_scripts, wp_enqueue_scripts, wp_add_inline_script); no inline <script> tags are printed by the plugin.
  • Change: every setting has its own sanitizer (origin URLs must be absolute http(s) URLs, the widget switch is strictly on/off, tenant and token are restricted to their alphabets), and the General and Advanced tabs save through separate option groups — saving one no longer resets the other.
  • Change: admin notices only appear on the Dashboard, the Plugins list and the WooCommerce screens, and every one of them can be dismissed.
  • Change: the sales-data export is a plain form (no JavaScript).
  • Removed: load_plugin_textdomain() — WordPress.org serves the translations.

1.3.9

  • Preparation for the WordPress.org directory: license changed to GPLv2 or later, “External services” and privacy-policy text, escaping and sanitization fixes reported by Plugin Check, the plugin no longer ships its own updater: every install, including those downloaded from the Findalo panel, now receives updates from WordPress.org, cURL push replaced by the WordPress HTTP API, the setup-wizard logo is now bundled with the plugin.
  • New: navigation context (window.FINDALO_CTX) for the widget — page type, ids, locale and currency in the page; cart and customer context served privately via ?wc-ajax=findalo_context, never in cacheable HTML.

1.3.8

  • Change: official Findalo logo in the setup-wizard header.

1.3.7

  • Change: purchase contract v2 — the plugin pushes the full order (order id, total, currency and line items) to window.findaloQ on the “thank you” page; attribution, de-duplication and sending are handled by the widget.

1.3.6

  • Fix: add-to-cart from the widget could still fail with a generic error on stores where a third-party plugin’s add-to-cart hook throws before WooCommerce records the item (observed with Facebook for WooCommerce on the second item, in a REST context) — the earlier recovery only helped when the item had already been added. The widget now retries the add with that hook chain temporarily neutralized so a broken third-party plugin can no longer cost you the sale. The normal add path is unchanged. If this triggers, check/update the offending plugin, as it also breaks add-to-cart on your normal storefront.

1.3.5

  • Fix: add-to-cart from the widget could still fail on stores where a third-party plugin hooks WooCommerce’s add-to-cart action and errors (observed with Facebook for WooCommerce throwing on the second item). WooCommerce adds the item before firing that hook, so the widget now recovers the item and saves the cart even when such a hook fails — the sale is no longer lost. If this happens, check/update the offending plugin, as it can also affect your normal storefront.

1.3.4

  • Fix: add-to-cart from the widget could fail with a generic error on multilingual stores (WPML / WooCommerce Multilingual) when the cart already had items — the item was actually added but a totals-recalculation error rolled the response back. The cart total is now computed defensively so the item is never lost, and error responses carry a diagnostic detail.

1.3.3

  • New: “Sales data” tab — export your sales history as a CSV (order id, product id, quantity, date) and import it in your Findalo panel to seed “Best sellers” and “Frequently bought together” with real data from day one. Confirmed orders only; no personal data is included.

1.3.2

  • Fix: on multilingual stores (WPML / Polylang) each product was indexed once per language, so results showed every product twice with translations mixed together. Each translation group is now collapsed to a single multilingual entry keyed to the store’s default language. Single-language stores are unaffected.

1.2.5

  • Fix: size/color filters no longer match products whose variation is out of stock. Variation attribute values are now excluded from the search facets when every variation carrying that value is out of stock — matching the widget, which already hides sold-out options under the product card. Stores that do not track per-variation stock are unaffected.

1.2.2

  • Change: the trigger selector is now managed from your Findalo panel — removed the field from the module so it can be tuned per-store without a plugin update.

1.2.1

  • Change: recommendations are now managed entirely from the Findalo panel — removed the in-module recommendation toggles and the auto-mounted storefront slots.

1.2.0

  • New: one-click “Connect with Findalo” button (authorize from your panel, no copy-paste) with a manual-connect fallback.
  • New: “Verify connection” button that confirms Findalo is receiving your catalog.
  • New: “Widget texts” tab — customize the ~50 widget UI strings per language; shipped translations for ES/EN/FR/IT/PT/DE/NL.
  • New: purchase attribution so sales that started from a search are credited.
  • New: add-to-cart, shopper-prices and orders endpoints powering the widget cart and recommendations.
  • New: EAN / UPC / ISBN / MPN feed fields (native WC GTIN + common plugin meta).
  • Improved: SEO meta now falls back across Yoast, Rank Math, SEOPress and AIOSEO.
  • Reaches feature parity with the PrestaShop module.

1.1.0

  • New: guided setup wizard on first activation (connect widget publish).
  • New: store-wide admin notices — not configured, last push failed, update available.
  • New: version-migration framework so upgrades reconcile safely without re-activation.
  • New: “Disconnect” action and a recent-sync-activity log on the Status tab.
  • Fix: plugin version was reported inconsistently (header vs. internal constant).

1.0.0

  • Initial release: catalog sync (status, feed, push) and storefront widget loader.