Surf7 Simple Catalog is a clean, focused catalog plugin for WordPress built by Surf7.net.
If you sell by enquiry, quotation or conversation rather than checkout — auto parts, machinery, furniture, jewellery, wholesale, custom manufacturing, made-to-order, property, vehicles, boats — this plugin is built for you. There is no cart, no checkout, no payment and no stock, by design.
scat_product — REST-enabled, revisions, featured image, gallery, custom REST endpoints, WP_Query friendly./brand/).{product_name}, {product_code}, {product_url}, {price}, {selected_options}, {visitor_message} and {site_name}. Optional enquiry log in its own table, with CSV export, BCC copies and an auto-reply to the visitor carrying a configurable Reply-To address.simple-catalog/ folder. Archive as grid, list or masonry; category, label and brand archives; product page with gallery, lightbox, breadcrumbs, tabs and related products; filters for category, label, availability, price range and sort order; classic pagination or an AJAX Load more button. Responsive and RTL-aware, and verified to render with full site chrome on block themes as well as classic ones.wp.media, quick edit, bulk actions (draft, publish, sold, available, featured, duplicate), CSV import and export, and a JSON full-site export/import for staging production deployments.wp-json/simple-catalog/v1/ — products, enquiry, taxonomy-index, nonce.wp simple-catalog activate|deactivate|flush|version|purge-enquiries|export|import|export-csv-products|import-csv-products|caps|regenerate-thumbs.map_meta_cap capabilities granted to administrators and editors, a nonce and a capability check on every write path, REST permission callbacks, a sanitise callback on every registered meta key, escaping at the point of output, and prepared statements on every custom-table query.surf7-simple-catalog text domain with a bundled .pot, an RTL stylesheet, and default button labels that re-translate when the site’s locale changes.The optional enquiry log stores the name, email address, phone number and message a visitor submits. It is off by default. IP addresses are never stored in the clear — only a salted SHA-256 hash, used for rate limiting. Retention is configurable (never, 90, 180 or 365 days) and enforced by a daily job.
The plugin registers with WordPress’s own privacy tools, so Tools Export Personal Data returns a visitor’s enquiries and Tools Erase Personal Data anonymises them — clearing the name, email, phone, message, originating page, browser and IP hash while leaving the date and product, which identify nobody. Both work whether or not logging is currently switched on, because turning it off never deletes what was already stored. Suggested policy wording is offered under Settings Privacy.
The plugin makes no outbound requests except the ones described under External services below, each of which you choose to enable. Nothing phones home, and no data is sent anywhere by default.
Out of the box this plugin contacts no external service. The following are used only after you deliberately switch them on, and each is listed with what is sent and when.
Google reCAPTCHA v3 — used only if you select it under Catalog Settings Spam and enter a site key and secret key.
https://www.google.com/recaptcha/api.js. Google receives the visitor’s IP address, browser details and the page they are on, as with any third-party script.https://www.google.com/recaptcha/api/siteverify to confirm the submission is not automated.Cloudflare Turnstile — used only if you select it under Catalog Settings Spam and enter a site key and secret key.
https://challenges.cloudflare.com/turnstile/v0/api.js. Cloudflare receives the visitor’s IP address, browser details and the page they are on.https://challenges.cloudflare.com/turnstile/v0/siteverify.Image sideloading during import — used only if you tick “Download remote images” on the Import screen. Your server then fetches the image URLs contained in the file you uploaded, so the destinations are whichever hosts those URLs point to. No third party is involved beyond the hosts you supplied.
JSON import from a URL — used only if you call the simple-catalog/v1/import-export/import/json REST endpoint with a url parameter, which requires an administrator or editor login. Your server downloads that address and imports it. No such request is made from the admin screens.
Two features render ordinary links to other websites. The plugin makes no request to any of them: nothing is contacted unless a visitor clicks, and when they do it is their own browser that navigates, exactly as with any link you place in a post. No data is transmitted by this plugin, and nothing is embedded, tracked or loaded from these hosts.
Enquiry channels and share buttons. If you switch on WhatsApp or Telegram enquiries, the button is a link to https://api.whatsapp.com/send or https://t.me/. If you switch on share buttons under Catalog Settings Display, each is a link to that network’s own share page — Facebook, X, WhatsApp, Telegram, Pinterest, LinkedIn, or a mailto: link. The product title and its URL travel in the link’s query string, which is what the network needs to prefill the share; both are already public.
Terms and privacy for the networks involved:
External shop buttons. Per-product links to marketplaces such as Shopee, Lazada or Amazon. Every destination is a URL you enter yourself on the product; the plugin ships no addresses of its own and contacts nothing.
If you select a CAPTCHA provider, tell your visitors: sending their IP address to Google or Cloudflare is a disclosure you are responsible for under GDPR and similar laws. The suggested privacy-policy text under Settings Privacy does not cover it, because whether it applies depends on a setting only you can see.