Skip to content

Configuration and Feed File Naming Conventions

lat9 edited this page Feb 27, 2024 · 4 revisions

Configuration Settings

Google Product Search Feeder II provides the following Zen Cart configuration settings:

Title Description Attribute
Version Displays the plugin's current version.
Enable? Indicates whether (true) or not (false, the default), the feed-generation is enabled.
Security Key A random set of characters to limit feed-generation to authorized processes only. Default, an empty string.
Max Execution Time Identifies the maximum execution time, in seconds, for the feed's generation. Leave this field blank (the default) to use your site's default.
Memory Limit Identifies the memory limit for the feed's generation. Leave this field blank (the default) to use your site's default or enter the memory_limit value in the format nnnM (e.g. 500M).
Maximum Products in Feed If your site is running out of memory when the feed's generated, identify the maximum number of products to include in any partial feed. The default value (0) indicates that all products are to be included. See Feed-File Naming Conventions, below, for additional details.
Starting Offset for Partial Feed If you've set the Maximum Products in Feed to a value other than '0', identify the starting offset for the feed's generation; default 0. See Feed-File Naming Conventions, below, for additional details.
Store Description A short description of your site. description
Output Directory Identifies the file-system directory into which the feed's output file is created, default feed/google, which must exist in the root of your site's file-system. See Feed-File Naming Conventions, below, for additional details.
Feed File Prefix Identifies the first characters of any generated feed file, default domain. See Feed-File Naming Conventions, below, for additional details.
Compress Feed File? Indicate whether (true) or not (false, the default) the output feed-file should be gzip compressed as a final step in the feed's generation. Requires the PHP gzip extension to be installed.
Feed Currency Choose, using the drop-down provided, the default currency to be used for the feed. Default: USD. Used for any prices associated with the feed, e.g. g:price. Multiple
Default Feed Language ID Choose, using the drop-down provided, the default language to be used for the feed. Default: 1. This value also provides an element of the generated feed-file's name. Removed in v1.0.1; using, instead, the site's DEFAULT_LANGUAGE as the (erm) default. See Feed-File Naming Conventions, below, for additional details.
Skip Duplicate Titles? Indicate whether (true, the default) or not (false) duplicate feed product titles, e.g. product_name values) should be skipped when generating the feed. Note that duplicate titles can result in you feed being rejected by Google.
Enable Advanced XML Sanitization? If weird characters are causing your feed to not validate and you have already ensured your Zen Cart has been properly updated to use the UTF-8 charset, try enabling this option. If this option is already enabled, try disabling it. Default: false.
Specific Categories List If the feed should contain only products from certain categories, set this value to be a comma-separated list of master_categories_id values for which products should be included. Default: An empty string, i.e. no specific categories.
Excluded Categories List If the feed should not include products from some categories, set this value to be a comma-separated list of master_categories_id values for which products should be excluded. Default: An empty string, i.e. no exclusions.
Specific Manufacturers List If the feed should contain only products from certain manufacturers, set this value to be a comma-separated list of manufacturers_id values for which products should be included. Default: An empty string, i.e. no specific manufacturers.
Excluded Manufacturers List If the feed should not include products from some manufacturers, set the value to be a comma-separated list of manufacturers_id values for which products should be excluded. Default: An empty string, i.e. no exclusions.
Expiration Base Date Indicates the 'base' date to use when determining a product's expiration date. Choose now to use the current date/time or choose product to use the most recent date of a product's date_added, last_modified or date_available dates. This setting works in conjunction with the Expiration Date Adjust value, see below. g:expiration_date
Expiration Date Adjust Indicates whether the g:expiration_date product attribute should be included in the generated feed and, if so, how many days to add to the Expiration Base Date value for the product. Set this value to an empty string (or 0, the default) to exclude the attribute from the feed or enter the number of days (at most 29) to be added to the Expiration Base Date for the feed's attribute. g:expiration_date
ID Source Identify the default product field to use as a product's id in the feed. Choose 'id' (the default) to use a product's products_id or 'model' to use a product's products_model. Note that this value can be overridden on a product-by-product basis by a feed extension. g:id
Using Minimum Order Quantity? If your site has products with a Product Qty Minimum other than 1, should a product's minimum order-quantity be considered when determining if a product is out-of-stock? Default: false. g:availability
Include Out of Stock? Should out-of-stock products be included in the feed? If set to false, the default, then only products with a products_quantity greater than 0 are included in the feed.
Default Product Condition Choose all products' default condition, either new (the default), used or refurbished. This value can be overridden on a product-by-product basis by either a product-specific attribute with an option name of Condition (case-insensitive) or by a feed-extension. g:condition
Product Type Indicate what information to use when creating a product's product_type attribute in the feed. Choose default if all products' use the same type and the Default Product Type is used. Otherwise, a product's 'type' will be dependent on the names in its category-chain (based on its master_categories_id).

If the names in a product's category chain are Top :: Middle :: Bottom, then the product_type attribute will be "Top", "Bottom" or "Top, Middle, Bottom" for a setting of top, bottom or full, respectively.
g:product_type
Default Product Type If you have set Product Type to default, identify the default product type to be applied to all products. g:product_type
Include Product Weight Set to true (the default) or false to indicate whether each product's weight is included in the generated feed. g:product_weight, g:shipping::g:shipping_weight
Weight Units Choose a product's weight unit, either lb (the default) or kg to be appended to a product's weight when the weight is included in the feed. g:product_weight, g:shipping::g:shipping_weight
Use Meta Title? Use a product's meta_tags_products_description::metatags_title value (if not empty) as a product's title in the feed. Set to either true or false (the default). g:title
Use cPath in URL? Indicate whether (true) or not (false, the default) to include each product's cPath parameter in the product's link in the feed. g:link
Convert Ampersands in Feed Links? Indicates whether (true) or not (false, the default) ampersands in any feed-related links should be converted to %26. If set to false, ampersands remain in the links. The Google documentation and the Merchant Center disagree on whether/not the conversion is needed.
Google Product Category Default Identifies, if not empty (the default), a default product category to assign for each product. The value can be overridden by either a product-specific attribute with an option name of Google Product Category (case-insensitive) or by a feed-extension. g:google_product_category
Display tax? This setting controls whether (true) or not (false, the default) taxes associated with a product and its shipping are to be included in the feed. If this setting is false, additional configuration settings identified by dt are ignored.
Tax Countrydt The 2-character ISO code, e.g. the default US, in which products are taxed. g:tax::g:country
Tax Regiondt The geographic region to which a tax rate applies. In the US, the two-letter state abbreviation, ZIP code, or ZIP code range using * wildcard, e.g. CA, 946*. g:tax::g:region
Tax on Shipping Indicate whether (y) or not (n, the default) you site charges tax on shipping. g:tax::g:tax_ship
Select Shipping Method Choose the shipping method to use for products in the feed, one of none (the default), flat rate, per item, per weight unit, table or zones. Your choice indicates which built-in shipping method's calculations will be used to determine the product's shipping rate, which can be overridden on a product-by-product basis by a feed extension. Additional configuration values identified by ssm are ignored if this value is set to none. g:shipping
Shipping Zone IDssm Enter the zone id to use if the selected shipping method is zones or if you have an extension that supplies zone-based shipping rates.
Shipping Countryssm Select the destination country for the feed's shipping rates from the drop-down. Default: 223 (USA). g:shipping::g:country
Shipping Regionssm The geographic region to which a shipping rate applies. In the US, the two-letter state abbreviation, ZIP code, or ZIP code range using * wildcard, e.g. CA, 946*. g:shipping::g:region
Shipping Servicessm Enter the shipping service, e.g. Ground with which the products ship. g:shipping::g:service
Shipping Label Sourcessm Choose whether a product's master_categories_id (categories) or products_id (products) is to be used for the feed's shipping label. g:shipping::g:shipping_label
Alternate Image URL Add an alternate URL if your images are hosted offsite (e.g. https://www.domain.com/images/). Your defined image will be appended to the end of this URL, so don't forget the trailing slash! g:image_link, g:additional_image_link
Use Image Handler? Choose true if Image Handler is installed on your site and you want to use resized images for the products' feed. Choose false (the default) otherwise. Note: Setting this to true will affect the feed's performance and might cause timeouts if the products' large images aren't already generated! g:image_link, g:additional_image_link
Include additional images in the feed? Identify whether (true) or not (false, the default) products' additional images should be included in the feed. Note: Setting this to true will affect the feed's performance and might cause timeouts. g:additional_image_link
Debug If set to true, the feed generation will include an output identifying products not included in the feed due to errors. Default: false.
Debug: Maximum Skipped Products If Debug is set to true, how many skipped products should trigger the feed to quit? If you have a large number of skipped products and a large number of products on the site, setting this to a large number could result in an out-of-memory condition! Default: 1000.

Feed-File Naming Conventions

Five of Google Product Search Feeder II's configuration settings have a play in the naming of any feed-output file generated:

Configuration Title Output File "Role"
Output Directory Identifies the feed's output directory, present at the root of your site's file-system.
Output File Name Identifies the leading portion of a feed output file.
Default Feed Language ID This value, which can be overridden by the language_id parameter in a cron job, identifies the "ID" of the language to be used for the feed. The feed's generation looks up the 2-character code associated with the language, e.g. en for English and uses this as the second portion of the feed file's name. Processing modified in v1.0.1; see below.
Maximum Products in Feed This value, which can be overridden by the limit parameter in a cron job, identifies the maximum number of products in a feed output file.
Starting Offset for Partial Feed This value, which can be overridden by the offset parameter in a cron job, identifies the starting point for a partial feed.

For the examples that follow

  • The site's DIR_FS_CATALOG is /home/mysite/public_html/.
  • The site's HTTPS_SERVER is https://mysite.com.
  • The site's DIR_WS_CATALOG is /.
  • The Output Directory is feed/google.
  • The Output File Name is domain.
  • The default-language specification for the feed changed in v1.0.1 (as did the override-parameter in any cron job); in both cases the site also has a French (fr) language package:
    • For v1.0.0, the Default Feed Language ID refers to English (en), which can be overridden by the language_id parameter in a cron job. The feed's generation looks up the 2-character code associated with the language-id, e.g. en for English.
    • For v1.0.1 and later, the site's DEFAULT_LANGUAGE is English (en), which can be overridden by the language parameter in a cron job.

A feed file that contains all products in English will reside in the file system at /home/mysite/public_html/feed/google/domain_products_en.xml. The all-product feed file for French will reside at /home/mysite/public_html/feed/google/domain_products_fr.xml.

When partial feed files are generated, the file names include the maximum products in the feed and, if the starting-offset is not 0, the starting offset. If a feed is requested for the first 1000 products, the English language feed file is /home/mysite/public_html/feed/google/domain_products_en_1000.xml. If a feed is requested for the next 500 products, starting at offset 1000, the feed file is /home/mysite/public_html/feed/google/domain_products_en_500_1000.xml.

Clone this wiki locally