wearepixel/laravel-google-shopping-feed

Laravel Google Shopping Feed

Maintainers

Package info

github.com/wearepixel/laravel-google-shopping-feed

pkg:composer/wearepixel/laravel-google-shopping-feed

Statistics

Installs: 25 267

Dependents: 0

Suggesters: 0

Stars: 6

Open Issues: 2

5.1.1 2026-04-10 22:32 UTC

This package is auto-updated.

Last update: 2026-04-10 22:33:18 UTC


README

Laravel Google Shopping Feed

Latest Version on Packagist Tests PHP Version Total Downloads License

A simple package to easily create an XML feed for Google Merchant Center to parse and retrieve your products.

We recommend adding this to an API controller and generating it on the fly so your feed is always up to date.

Requirements

  • PHP 8.4+
  • Laravel 10, 11, or 12

Installation

composer require wearepixel/laravel-google-shopping-feed

Usage

use Wearepixel\LaravelGoogleShoppingFeed\LaravelGoogleShoppingFeed;

$feed = LaravelGoogleShoppingFeed::init(
    title: 'My Store',
    description: 'My store product feed',
    link: 'https://mystore.com',
);

$feed->addItem([
    'id'           => 'item_001',
    'title'        => 'Blue Nikes',
    'link'         => 'https://mystore.com/products/blue-nikes',
    'g:price'      => '29.99 AUD',
    'g:image_link' => 'https://mystore.com/images/blue-nikes-001.jpg',
]);

return $feed->generate();

Required item fields

Field Description
id Unique product identifier
title Product name
link URL to the product page
g:price Price including currency code (e.g. 29.99 AUD)
g:image_link URL to the main product image

Any additional fields supported by the Google Product Data Specification can be passed alongside the required fields.

Methods

LaravelGoogleShoppingFeed::init(string $title, string $description, string $link): static

Creates a new feed instance with channel metadata.

$feed->addItem(array $item): void

Adds a product to the feed. Throws MissingRequiredFieldException if any required field is absent.

$feed->toXml(): string

Returns the feed as an XML string.

$feed->generate(): Response

Returns an HTTP response with the XML content and application/rss+xml content type. Suitable for returning directly from a controller.

Testing

composer test

License

MIT