Citelayer® Product Feed for AI Agents — Expose Your WooCommerce Catalog to AI Shopping Systems
On This Page
What the Product Feed Does
AI-powered shopping tools — agents that help users find and buy products by understanding their needs and searching available catalogs — need machine-readable product data. Showing them your WooCommerce storefront the way a human would browse it is inefficient. They need structured data: product names, prices, availability, images, descriptions, and identifiers in a predictable format.
Citelayer®’s Product Feed exports your WooCommerce catalog as a structured XML document following the OpenAI Agentic Commerce protocol. Once enabled, AI shopping agents can discover your catalog at a standard URL, parse every product’s attributes, and incorporate your inventory into their recommendations.
This feature requires WooCommerce to be active. It is not available on sites without WooCommerce.
The Feed URL
Your product feed is available at:
https://yoursite.com/product-feed.xml
Citelayer® registers this URL via a WordPress rewrite rule. No separate page or post is needed. The URL returns the XML feed directly.
The feed includes an X-Robots-Tag: noindex response header. This prevents standard search engines from indexing the XML endpoint in web search results — the feed is intended for AI agent consumption, not for appearing in Google.
Enabling the Feed
The product feed is disabled by default. To enable it:
- Go to Citelayer® → Settings in your WordPress admin.
- Find the Product Feed section.
- Toggle the feed on (the underlying option is
citelayer_enable_product_feed). - Save settings.
Visit https://yoursite.com/product-feed.xml to verify the feed is live.
What the Feed Contains
Feed Metadata
The root element includes metadata about the feed itself: the shop name, the site URL, a generation timestamp, and the plugin generator identifier. This gives consuming agents context about the data source.
Per-Product Data
Each product entry in the feed includes:
Identification and content:
- Product ID and title
- Full description (from the WooCommerce long description field)
- Permalink (the canonical product URL)
Pricing:
- Regular price (with currency code)
- Sale price, when applicable
Visual:
- Featured product image URL
- Up to five gallery image URLs (from the product’s image gallery)
Inventory:
- Availability status (in stock, out of stock, on backorder)
- Stock quantity, when managed
Identifiers:
- SKU
- GTIN/EAN — Citelayer® checks a range of common meta field names used by popular product feed plugins and WooCommerce extensions. If your products have GTIN or EAN codes stored in any of the recognized meta keys, they’re automatically included without additional configuration.
Categorization:
- Full category path, including parent categories (e.g., “Clothing > Tops > T-Shirts”)
Logistics:
- Product weight
Variable Products
Variable products — WooCommerce products with multiple variations (size, color, etc.) — are handled properly. Each variation appears as a child element under the parent product, with its own:
- Variation-specific attributes (e.g., Size: Large, Color: Blue)
- Variation price
- Variation image (if different from the parent)
- Variation availability and stock status
- Variation SKU and GTIN where available
This ensures an AI shopping agent understands not just that you sell a particular t-shirt, but which sizes and colors are available and at what price.
Seller Information
The feed includes a seller block with your shop name, site URL, privacy policy URL, and terms and conditions URL. These are pulled from your WordPress and WooCommerce settings. Ensure your privacy policy and terms pages are configured in Settings → Privacy and WooCommerce → Settings → Advanced → Page setup for complete seller information.
Cache and Performance
Generating a product feed for large catalogs is CPU-intensive. Citelayer® caches the generated XML for 24 hours by default. Subsequent requests within that window are served from cache instantly.
If you need a shorter or longer cache window, use the citelayer_product_feed_cache_hours filter:
// Regenerate the feed every 6 hours instead of 24
add_filter( 'citelayer_product_feed_cache_hours', function( $hours ) {
return 6;
} );
The cache is automatically invalidated when products are created, updated, or deleted — so a product price change will be reflected in the feed within a few minutes without waiting for the full cache window to expire.
A WP-Cron job handles scheduled regeneration on a configurable interval, ensuring the feed stays reasonably fresh even without product changes triggering manual invalidation.
Catalog Size Limit
By default, the feed includes a maximum of 1,000 products. On stores with larger catalogs, this is a practical limit to keep XML file sizes manageable for consuming agents.
To adjust the limit:
// Include up to 2,500 products in the feed
add_filter( 'citelayer_product_feed_max_items', function( $max ) {
return 2500;
} );
Be aware that very large feeds increase server memory usage during generation. Test with higher limits on a staging environment before applying to production.
Combining the Product Feed with Other Protocols
The Product Feed works best as part of a complete AI visibility setup:
- Markdown for products — Gives AI systems reading individual product URLs structured Markdown content. Requires the WooCommerce Addon.
- llms.txt — Tells AI systems what your site offers and where to find things, including pointing to the product feed URL.
- Bot Analytics — Shows you whether AI agents are actually fetching your feed and visiting your product pages.
- AI Readiness Scanner — Includes dedicated product checks that evaluate your feed status, product content quality, image alt text, and stock status accuracy.
For the full scanner breakdown, see Citelayer® AI Readiness Scanner — Check Your AI Visibility Score.