• Blog
  • Guides
  • XML Product Feed for Site Search: What It Is and How to Set It Up

XML Product Feed for Site Search: What It Is and How to Set It Up

XML Product Feed for Site Search: What It Is and How to Set It Up

When you connect an external search service to your store, the first thing they ask is: "provide your product feed URL." If you've never dealt with this before, it sounds technical. In reality, an XML feed is just a file with a list of all your products in a structured format. The search service reads this file, learns what's in your catalog, and starts searching through it. Here's what should be in a feed, where to get one, and how to check that it's working.

What Is an XML Feed and Why Do You Need One

An XML feed is a file containing information about every product in your store in a structured format. Name, price, availability, product page link, image, category — all collected in one file that updates automatically.

Why a search service needs it: it doesn't have direct access to your store's database. The feed is a bridge between your catalog and the search index. The service reads the feed, builds its own index, and searches through that. Think of it like a menu in a restaurant — without it, the waiter doesn't know what's in the kitchen and can't suggest anything to the guest.

An important point: an XML feed isn't something specific to site search. The same or a similar file is used for Google Shopping, Amazon Marketplace, comparison shopping engines, and advertising platforms. If you already have a feed set up for ads or a marketplace, it's either ready for search or needs minimal adjustments.

What Fields Should Be in the Feed

Field names vary depending on the feed format, but the concept is the same. Here's what search needs:

  • Identifier (id) — unique product code. Needed so the service knows which product was updated and which is new.
  • Title (name / title) — the main field search operates on. Should be human-readable: "Black Office Chair Ergonomic" not "SKU-4421-B".
  • Price (price) — displayed in search results.
  • Product page link (url / link) — where the customer goes after clicking. Full URL with https://.
  • Image (picture / image_link) — product image in search results. Also a full URL.
  • Availability (available / availability) — in stock or not. Without this field, most search services assume the product is unavailable — and won't show it to customers. Even if the product is actually in stock.
  • Description (description) (recommended) — search indexes this too. A customer searching "laptop 16gb ram" will find the product even if that's not in the title.
  • Brand (vendor / brand) (recommended) — as a separate field. Makes brand matching and synonym handling easier.
  • Category (category_id / product_type) (recommended) — enables proper ranking and filtering of results.

Minimum to launch: identifier + title + price + link + image + availability. Add description and brand — it gets significantly better.

For detailed field specifications, see the documentation: Spefix format (recommended) and Google Merchant format.

Where to Get a Feed

On most platforms, a feed either already exists or can be generated in minutes:

  • Shopify — built-in product feed generation. Go to Settings → Sales channels → Google → Product feed. Alternatively, apps like "Google Shopping Feed" or "DataFeedWatch" offer more control over field mapping.
  • WooCommerce — plugin "Product Feed PRO" or the free "WooCommerce Product Feed." After activation, the feed is available at a dedicated URL in the plugin settings.
  • OpenCart — no built-in feed, you need a module ("Product Feed" or "Google Merchant Feed" from the OpenCart marketplace). After installation, the feed is available at a separate URL.
  • Custom CMS — the feed needs to be generated programmatically. If your developer has already done a Google Shopping integration, they can build a feed in 2–4 hours.

The key requirement for any feed — it must update automatically, not be a static file. If the feed doesn't update, search will gradually show outdated prices and products that are no longer available.

How to Check That Your Feed Works

Five checks before handing the URL to a search service:

  1. Open the feed in your browser. Paste the URL into the address bar. If you see XML code with products — the file exists and is accessible. If you see an error or blank page — the feed isn't configured or is blocked.
  2. Check the product count. Each product is wrapped in an <offer> or <item> tag. The count should roughly match your active catalog products. A difference of more than 10% means some products aren't making it into the feed.
  3. Check required fields. Find the first product in the feed — does it have an identifier, title, link, price, availability? If anything is missing, the feed needs adjustment.
  4. Check availability. Find a product you know is out of stock. The availability field should show "out of stock" or false. If all products are marked as available, search will display items that can't be purchased.
  5. Check product URLs. Open links for a few products from the feed. They should lead to real pages. If they lead to 404 errors, there's a URL generation problem in the feed.

The most common hidden error: the feed shows products as "in stock" that are actually unavailable. A customer finds the product through search, clicks through — and sees "out of stock." This destroys trust and increases bounce rate.

Common Feed Mistakes

The feed doesn't update automatically. Search shows old prices or products that no longer exist. Cause: the feed was created once as a static file. Fix: set up dynamic generation — the feed should update on every request or on a schedule. A static feed is a ticking time bomb for search.

Titles are SKUs instead of human names. Search suggestions look like "SKU-4421-B" instead of "Black Office Chair Ergonomic." Cause: the title field is pulling from the internal inventory name. Fix: check which database field maps to the title in your feed.

Images don't load. Empty squares instead of product images. Cause: image links are relative (/images/product.jpg) instead of absolute (https://yourdomain.com/images/product.jpg). Fix: configure full URLs.

Special characters display incorrectly. Product names with accents, umlauts, or non-Latin characters appear as &#1085;&#1086;&#1091; or garbled text. Cause: wrong encoding or HTML entities instead of UTF-8. Fix: make sure the feed starts with <?xml version="1.0" encoding="UTF-8"?> and is generated in UTF-8.

Not all categories are in the feed. Search finds products from some categories and completely misses others. Cause: not all categories are selected in the export settings, or some are hidden. Fix: check your export configuration — all active categories should be included.

How Often Should the Feed Update

Update frequency determines how current your search data is:

  • Daily (once per day). Minimally acceptable for stores with stable inventory. A price change in the morning shows up in search the next day.
  • Hourly. Needed if prices or availability change frequently — electronics stores with currency-linked pricing, or stores with limited stock.
  • Real-time (via API). For large catalogs with highly dynamic pricing. Requires technical integration but provides maximum accuracy.

With Spefix, sync frequency depends on your plan — the free tier updates once daily, paid plans update much more frequently. For stores where real-time accuracy is critical, there's API integration.


Next time someone asks you to "provide your product feed URL" — you'll know what it is, where to get it, and how to verify it works. A properly configured feed is the foundation. Everything else — smart search, analytics, synonyms — is built on top of it.

Connect your feed to Spefix and see how your catalog looks in search — free for 14 days → spefix.com

Share:

Do you want this result?

14 days free. Integration in 15 minutes.