

A product card in a post. Price, discount, sale label and every store button in one block.
Kukuriya is a WordPress plugin that bundles product links from multiple affiliate service providers (ASPs) into a single “product” and manages them in one place. It is fully integrated with the Block Editor, covering everything from product search to card rendering, comparison tables, and automatic price updates.
It is aimed at people migrating from Pochipp, affiliate marketers struggling with the Amazon API entry barrier, and anyone who wants to manage multiple ASPs across one site.
@wordpress/scriptsamzn.to / amzn.asia) are expanded automatically. Also useful as a rescue path for products that do not appear in search resultspochipps). Amazon ASIN / Rakuten item code / Yahoo seller_id + itemcode are mapped automatically. The last step rewrites the cards inside your posts and cannot be undone, so take a full site backup before you run itkukuriya). Translation contributions via translate.wordpress.org are welcomeThis plugin talks to the shopping services whose connectors you turn on, using API keys that you supply. Nothing is sent anywhere until you enter credentials and enable a connector, and no data is ever sent to the plugin author.
This plugin connects to Amazon’s product API to search Amazon’s catalogue and to obtain a product’s title, image, price and availability. It is needed to show the product cards you place in your posts and to keep their prices current. It is used only if you turn on the Amazon connector and enter your own credentials.
It sends your Client ID and Client Secret to obtain an access token (api.amazon.com, api.amazon.co.jp or api.amazon.co.uk, depending on the marketplace you choose), and then, on each product search, scheduled price refresh and card render that misses the cache, it sends the search keyword or product ASIN together with that token and your Associates tag. The scheduled refresh runs every 6 hours for products you have registered. If you paste a SiteStripe short URL (amzn.to or amzn.asia) into the editor, your site also makes one request to that address to find out which product it points to.
This service is provided by “Amazon.com, Inc.”: terms of use, privacy policy.
This plugin connects to the Rakuten Ichiba Item Search API at openapi.rakuten.co.jp to search Rakuten Ichiba and to obtain a product’s title, image, price and availability. It is needed to show the product cards you place in your posts and to keep their prices current. It is used only if you turn on the Rakuten connector and enter your own Application ID and Affiliate ID.
It sends your Application ID and Affiliate ID together with the search keyword or item code, on each product search, scheduled price refresh and card render that misses the cache. The scheduled refresh runs every 6 hours for products you have registered.
This service is provided by “Rakuten Group, Inc.”: terms of use, privacy policy.
This plugin connects to the Yahoo! Shopping Web Service at shopping.yahooapis.jp to search Yahoo! Shopping and to obtain a product’s title, image, price and availability. It is needed to show the product cards you place in your posts and to keep their prices current. It is used only if you turn on the Yahoo connector and enter your own Client ID.
It sends your Client ID together with the search keyword or item code, on each product search, scheduled price refresh and card render that misses the cache. The scheduled refresh runs every 6 hours for products you have registered.
This service is provided by “LY Corporation”: terms of use, privacy policy, developer guidelines.
When you register a Rakuten Web Service application as an “API / backend service”, Rakuten asks you to list the IP addresses allowed to call the API. WordPress calls the API from your server, so the address to register is your server’s outbound IP – which is not the address you get by looking up your own domain, and is different again when a CDN sits in front of your site. To save you having to find it by hand, the Rakuten connector settings offer a button that looks it up.
It sends nothing but the request itself to api.ipify.org, which replies with the IP address your server appeared to come from. No credentials, no site data and no personal data are included. The request happens only when you press that button, and the answer is cached for a day. If you never press it, this service is never contacted.
This service is provided by “ipify”: terms of use and privacy policy.
The optional “generate a product description” button sends a prompt to an API endpoint that you enter in the settings. The plugin does not pick a provider for you and ships no endpoint, no key and no default address of its own. If you leave the setting empty, nothing is ever sent and the button does nothing.
It sends, only when you press that button, a prompt containing the product’s title, price and categories, plus the API key you entered, to the endpoint you entered.
This service is provided by whichever company you configure. Its terms of use and privacy policy are that company’s own. Please read them before entering an endpoint and a key.
If you turn on click measurement under “Measurement”, clicks on purchase buttons are reported to the analytics service whose tag is already installed on your site by you or your theme. This plugin bundles no analytics tag and adds none; your server sends nothing. The reader’s browser reports the click through that existing tag.
It sends, on a click — the product ID, the product name (first 60 characters), which store was clicked, whether the link went to a product page or to search results, and which card in the article it was. The affiliate URL, IP addresses, user agents and post content are never included.
This service is provided by whichever analytics company you already use. Its terms of use and privacy policy are that company’s own.
Moshimo hands out each ad as a pair: a link that counts clicks, and a 1×1 image that counts how often the ad was shown. If you enter a Moshimo partnership ID (a_id) and choose Moshimo as the route for a store, this plugin outputs both, so that your Moshimo dashboard reports impressions and a click-through rate. Payouts and clicks are counted by the link itself and do not depend on the image.
Your visitor’s browser loads this image from i.moshimo.com when the page is shown – not only when a link is clicked. Moshimo therefore sees that request: the visitor’s IP address, browser user agent, the page they were on, and any cookies Moshimo has already set in that browser. Your server sends nothing, and the plugin adds nothing of its own to the request; the address carries only the Moshimo IDs for that advertiser. The image is output next to each purchase button, each inline product link and each comparison-table button – once per placement, the same way the Moshimo ad code does it.
If you do not enter a Moshimo a_id, or do not route a store through Moshimo, this image is never output and the address is never contacted.
This service is provided by “Moshimo Co.,Ltd.”: terms of use, privacy policy.
A8.net, afb, ValueCommerce and Mercari are supported by building the correct affiliate URL on your own server, from the IDs you enter. The plugin makes no request to any of them, and sends them no data. Their addresses appear in the source code only as the destination your visitors’ own browsers go to when they click a link.
Moshimo Affiliate works the same way for the link itself; the only address contacted is the impression pixel described above.
The admin screens and editor blocks are written in TypeScript and SCSS and compiled with @wordpress/scripts (webpack). The uncompiled sources are included in this plugin under assets/src/, next to the compiled output in build/, together with package.json, webpack.config.js and tsconfig.json.
To reproduce the compiled files, with Node.js 20 or later:
npm install
npm run build
No third-party JavaScript libraries are bundled. Everything the scripts use at runtime (@wordpress/element, @wordpress/components, and so on) is provided by WordPress itself.
Kukuriya stores the following anonymized data for click tracking (in the wp_bcore_clicks table):
sessionStorage (optional)Raw IPs, raw User-Agents, and full URLs are never stored. No cookies are used. Rows are deleted after 90 days. Recording can be switched off under “Measurement”.
By default, external communication happens only with the ASPs you configured, using your own API keys. No data is sent to the plugin developer (Pifto Works) unless you explicitly enable it.
If you enable the automatic product description feature, prompts containing product information (title / price / categories, etc.) are sent to the external generation API endpoint you configured. You choose and configure both the destination endpoint and the API key.
If you enable the opt-in click measurement feature (Kukuriya > Measurement, disabled by default), purchase button clicks are reported to the analytics service whose tag is installed on your site. What is sent: the product ID stored on your site, the product name (truncated to 60 characters), which store button was clicked, whether it linked to a product page or to search results, and which card in the article it was. What is never sent: the affiliate URL itself, IP addresses, user agents, product descriptions, post content, or any user-entered free text. Nothing is transmitted from your server; the reader’s browser reports the click through the analytics tag that is already loaded on the page. Turning the setting off stops the transmission immediately.