Skip to main content
Google Reviews Snippet — A made-to-order Odoo Website module that fetches your Google location reviews, stores them in native — 1/1Illustrative preview

A made-to-order Odoo Website module that fetches your Google location reviews,

stores them in native Odoo models, and renders them as moderated, cacheable QWeb snippets you drop onto any page.

ECOSIRE scopes, builds, installs, and supports it.

What is Google Reviews Snippet?

A made-to-order Odoo Website module that fetches your Google location reviews, stores them in native Odoo models, and renders them as moderated, cacheable QWeb snippets you drop onto any page. ECOSIRE scopes, builds, installs, and supports it. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

New `website.google.review` model storing author, rating, text, review time, language, source id, and moderation state, linked to `res.company`/website for multi-location setups
Server-side `ir.cron` job that fetches reviews on a configurable cadence, with the API key stored in `ir.config_parameter` and never exposed to the browser
Idempotent upsert keyed on the external review id so re-runs never create duplicates and edited reviews update in place
Computed `@api.depends` aggregate rating and review count on each location record, recalculated on every sync
Draggable QWeb website snippets: star-rating badge, review carousel, masonry wall, and single-review pull-quote
Server-side rendered (SSR) markup so reviews are fully crawlable by search and AI bots — no client-only iframe
Back-office moderation views (list/form) to hide spam, off-topic, or low-star reviews before they publish
`ir.model.access.csv` plus record rules restricting public read to published rows and moderation to Website editors
Optional JSON-LD `AggregateRating` and `Review` structured data for rich-result eligibility
Odoo website cache integration and minimum-rating / max-count filters so snippets stay fast and on-message
OWL client widget for optional lazy-load 'show more reviews' without a full page reload
Per-website and per-company scoping so each brand or location shows only its own reviews
Configurable date, language, and star-threshold filters exposed as snippet options in the website editor
Manifest-declared assets bundled through `web.assets_frontend`, CSP-friendly with no third-party embed

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Social proof sells, but on a standard Odoo Website the reviews you have earned live somewhere else entirely — on your public map listing — while your product, service, and landing pages sit silent. Teams paste a third-party iframe or a manual screenshot, and it ages instantly: new reviews never appear, star ratings drift out of date, and the embedded widget breaks your Content Security Policy, tanks your PageSpeed score, and can never be filtered, translated, or styled to match your theme. Odoo core has no concept of an external review at all, and the website builder gives you a text block, not a live, moderated feed tied to your actual place ID.

We build a dedicated Website module that closes that gap end to end. A new models.Model (for example website.google.review) stores each fetched review — author, rating, text, review timestamp, language, and a moderation state — with a res.company/website link so multi-website and multi-location setups stay clean. A scheduled ir.cron job calls the reviews data source server-side (your API key held in ir.config_parameter, never shipped to the browser), upserts new entries idempotently on the external review id, and recomputes an aggregate @api.depends rating and review count on the location record. Because the data lands in real Odoo models, you get a back-office list/form view to hide spam or off-topic entries, a moderation record rule so only Website editors touch it, and ir.model.access.csv locking public read to published rows only. The front end is a set of draggable QWeb website snippets — a star-rating badge, a carousel, a masonry wall, and a single-review pull-quote — rendered server-side (SSR) so they are fully crawlable, cached via Odoo's website cache, and inherit your theme's fonts and colors instead of a foreign iframe. Optional JSON-LD AggregateRating/Review structured data can be emitted for rich-result eligibility, and an OWL-based client widget can lazy-load additional reviews without a page reload.

Delivery is build-to-order: nothing is downloaded today. After a short scoping call we confirm exactly which locations, snippet styles, moderation rules, languages, and Odoo edition (Community or Enterprise) you need, then build against your target version — we support Odoo 17.0, 18.0, and 19.0. You receive the module on a staging database first for UAT, then we install it on production, wire the cron cadence and API credentials, and hand over the git repository. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); additional locations, multi-website/multi-company rendering, extra snippet designs, review-response sync, and deeper localization increase the quoted scope. You get a fixed quote after the scoping call — never a surprise invoice.

What you get

  • Installable module source code targeting your confirmed Odoo version (17.0, 18.0, or 19.0)
  • Installation and configuration on your environment: API credentials, cron cadence, location mapping, and snippet placement
  • Technical documentation covering models, cron, security rules, and configuration parameters
  • End-user guide plus a live training session for your website and moderation team
  • UAT on a staging database with a documented rollback plan before production go-live
  • Post-go-live support window for defect fixes and configuration adjustments
  • Git repository handover with full commit history and version tags
  • Odoo edition compatibility notes (Community vs Enterprise) and upgrade guidance

Who this is for

Marketing / Website Manager

Owns conversion on the Odoo Website and wants earned star ratings visible on landing and product pages without pasting brittle third-party widgets that break the theme and PageSpeed.

Multi-Location Business Owner

Runs several branches or brands and needs each website or company record to display only its own location's reviews, moderated centrally from the Odoo back office.

In-House Odoo Administrator

Maintains the Odoo instance and needs a clean, upgrade-safe module with proper access rules, a server-side cron, and a git repo — not a copy-pasted script that fails on the next version bump.

SEO / Growth Specialist

Wants crawlable, server-rendered review content and valid JSON-LD structured data to support rich results, instead of client-only embeds that search engines and AI crawlers can't read.

How Google Reviews Snippet Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Data freshnessScheduled cron auto-syncs new reviewsDepends on what you buildOften manual refresh or fixed cacheNo review concept at all
Rendering & SEOServer-side QWeb + optional JSON-LDWhatever you codeFrequently client-side iframeNot applicable
ModerationBack-office model + record rulesBuild it yourselfLimited or noneNone
Multi-location / multi-websitePer-company/website scoping built inExtra dev effortRarely supported cleanlyNone
Theme & performanceNative snippets, website cache, CSP-safeVaries by skillIframe can hurt PageSpeed/CSPNone
Odoo version supportBuilt & tested for 17/18/19You maintain each bumpMay lag new releasesShips with core
OwnershipFull source + git repo handoverYou own itVendor-locked binaryOdoo core
Support & deliveryScoped build, UAT, training, support windowYour team's timeTicket queue, no customizationNo feature to support

Frequently Asked Questions about Google Reviews Snippet

How long does delivery take?

This is a build-to-order module, not an instant download. Typical delivery is one working week from confirmed scope, following a short scoping call. We build against your target Odoo version, deliver to a staging database for UAT, then install on production.

How does pricing and scoping work?

Pricing starts from $999 as an indicative single-company base scope. After a 15-45 minute scoping call we confirm locations, snippet styles, languages, and moderation rules, then send a fixed written quote. Drivers like extra locations, multi-website rendering, or review-response sync increase the quoted scope.

What ongoing support and updates are included?

Every build includes a post-go-live support window for defect fixes and configuration adjustments. Because you receive the full git repository and technical docs, your team can maintain it independently, and we offer paid support or version-upgrade engagements beyond the initial window.

Which Odoo versions and editions do you support?

We build for Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise. During scoping we confirm your edition and version so the module is built and tested against your exact target rather than assuming defaults.

Will the reviews be good for SEO, or just a client-side widget?

The snippets render server-side via QWeb, so the review content is present in the HTML for search and AI crawlers. We can also emit JSON-LD AggregateRating and Review structured data for rich-result eligibility — something a client-only embed cannot provide.

Can we moderate which reviews appear?

Yes. Reviews land in a real Odoo model with a moderation state, so your team can hide spam, off-topic, or low-star entries from the back office. Access rules limit public display to published rows and restrict moderation to authorized Website editors.

Do we need to expose an API key on our website?

No. Fetching runs server-side inside a scheduled ir.cron job, and the API key is stored in ir.config_parameter — it is never sent to the browser or embedded in front-end assets.

Request a quote

Google Reviews Snippet

A made-to-order Odoo Website module that fetches your Google location reviews, stores them in native Odoo models, and renders them as moderated, cacheable QWeb snippets you drop onto any page. ECOSIRE scopes, builds, installs, and supports it.

  • New `website.google.review` model storing author, rating, text, review time, language, source id, and moderation state, linked to `res.company`/website for multi-location setups
  • Server-side `ir.cron` job that fetches reviews on a configurable cadence, with the API key stored in `ir.config_parameter` and never exposed to the browser
  • Idempotent upsert keyed on the external review id so re-runs never create duplicates and edited reviews update in place
  • Computed `@api.depends` aggregate rating and review count on each location record, recalculated on every sync

Request a Quotation

Tell us about your Google Reviews Snippet requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.