Google Base updates their guidelines faster than Interspire updates its Shopping Cart.
Upon launching the new MakeUpMania.com website, I discovered that the XML feed that Interspire generates for Google Base is not properly structured. There were many hits and misses before making the modifications necessary to get the feed approved.
Fixing the generated feed
Below are fixes to three issues that kept throwing errors on the Google Base side.
On months with more than 30 days, it causes an error.
Google requires the <g:expiration_date>
field to be fewer than 30 days in the future. Interspire’s PHP code generates a date one month in the future. Months can be longer than 30 days, thus a problem occurs.
The fix:
In /store-root/admin/includes/classes/class.froogle.php, around line 87, find:
$expirationDate = isc_date("Y-m-d", strtotime('+1 month'));
Replace with:
$expirationDate = isc_date("Y-m-d", strtotime('+29 days'));
Google only accepts unique products with descriptions.
Interspire’s Google Base feed creates duplicates of the same product. Also, it exports all products, not just products with descriptions. Google requires product descriptions, and will disapprove a feed because of this.
The fix:
In /store-root/admin/includes/classes/class.froogle.php, around line 72, find:
WHERE p.prodvisible=1
Add below it:
AND p.proddesc != '' GROUP BY p.productid
This will only retrieve products with a description and will not show the same product twice.
That should do it.
Let me know if you are still encountering issues with your Interspire feed.
Related posts: