Magento 2 Extension v0.2.0 Get the Extension

Advanced Reviews for Magento 2

Ayasoftware Advanced Reviews extends Magento's native product review system with richer review metadata, configurable catalog review display, image uploads, owner notifications, spam-protection integration points, and GraphQL exposure for advanced review data.

PropertyValue
Module nameAyasoftware_Advancedreviews
Package nameayasoftware/advancedreviews
Current version0.2.0
📝
Rich Review Metadata
Pros, cons, usage period, recommendation, and merchant responses on every review.
🖼️
Review Images
Customers can upload photos with their reviews, with configurable limits and file types.
Verified Purchase
Reviews are automatically matched against customer orders for the reviewed product.
📧
Owner Notifications
Email notifications to the store owner when a new review is posted.
🛡️
Spam Protection
Akismet, Cloudflare Turnstile, or Google reCAPTCHA on the review form.
🔌
GraphQL Support
Advanced review data exposed through Magento's review GraphQL types.
AI Review Summaries
Per-product review summaries generated by Claude, OpenAI, or Gemini and shown on the product page.
Trustpilot Sync
Import product reviews from Trustpilot via the Trustpilot API and a CLI command.

Requirements

  • Magento Open Source or Adobe Commerce with Magento_Review enabled.
  • Magento_ReviewGraphQl enabled when using GraphQL review fields.
  • Writable Magento media directory for review image uploads.
  • Valid external service credentials when enabling Akismet, Cloudflare Turnstile, or Google reCAPTCHA.

Installation

Via Composer (recommended)

Install via Composer after configuring your credentials. See your dashboard for your license key.

1
Add the repository to your project (one-time)
composer config repositories.ayasoftware composer https://www.ayasoftware.com/repo
2
Add your credentials to auth.json (one-time)
composer config --global http-basic.www.ayasoftware.com your@email.com YOUR_LICENSE_KEY

Your license key is available in the Ayasoftware dashboard.

3
Require the extension
composer require ayasoftware/advancedreviews

Manual installation

Alternatively, copy the module to:

app/code/Ayasoftware/Advancedreviews

Enable the module

Enable and install the module from the Magento root:

bin/magento module:enable Ayasoftware_Advancedreviews
bin/magento setup:upgrade
bin/magento cache:flushbash
ℹ️
In production mode, also run the standard Magento compile/static deploy steps required by your environment.

Admin Configuration

Open Magento Admin and go to:

Stores > Configuration > Ayasoftware > Advanced Reviews

About

FieldDescription
NameDisplays the extension name.
Version NumberDisplays the version from composer.json.
DocumentationLinks to the Advanced Reviews documentation URL.

General

FieldDefaultDescription
Display Review Count on Catalog PageYesShows or hides the numeric review count beside stars on catalog/category/search listing pages. Stars remain visible when this is disabled.
EnabledYesEnables Advanced Reviews data capture and display behavior.
Require Verified PurchaseNoReserved for enforcing review submission rules in a later phase.
Minimum Review Length20Minimum review detail length expected by the frontend experience.
Review Preview Word Limit24Number of words to show in catalog review previews. Set to 0 to hide preview text.
Star Rating RoundingNativeControls visual star rounding and optional SEO rating rounding.

Star rating rounding options:

ValueBehavior
NativeUses Magento's native rating percentage.
Round EverythingRounds visual stars and SEO rating value to whole-star percentages.
Round Visual Stars OnlyRounds displayed stars while keeping the exact SEO rating value.

Store Owner Notifications

FieldDefaultDescription
Send Emails ToEmptyRecipient email for new review notifications. If empty, the store general email may be used by the sender service.
Email SenderGeneral ContactMagento sender identity for notification emails.
New Review NotificationNoSends an email when a new review is posted.
New Review Notification TemplateAdvanced Reviews templateTemplate used for new review notifications.
New Comment NotificationNoReserved until review comments are implemented.
New Comment Notification TemplateAdvanced Reviews templateTemplate reserved for future comment notifications.

Media

FieldDefaultDescription
Allow Review Image UploadsYesAllows customers to upload images with reviews.
Maximum Images Per Review3Maximum number of images allowed per review. Allowed range is 1 to 10.
Maximum Image Size (KB)2048Maximum file size per uploaded image.
Allowed Image Extensionsjpg,jpeg,png,webp,gifComma-separated list of allowed image extensions.

Uploaded files are stored under Magento media at:

pub/media/ayasoftware/advancedreviews/<review_id>/

Mail After Purchase

FieldDefaultDescription
Mail After PurchaseNoEnables the Mail After Purchase configuration group.
Email SenderGeneral ContactMagento sender identity for review request emails.
Mail After Purchase TemplateAdvanced Reviews mail-after-purchase templateEmail template for review requests.
Mail After Purchase Threshold14Number of days to wait after purchase before the first review request.
Max Number of Emails3Maximum review request emails to send per order.
Mail Interval7Number of days between follow-up review request emails.
Sort OrderMost Expensive Product FirstProduct selection order for review requests.

When enabled, review request emails are sent automatically by the Magento cron job ayasoftware_advancedreviews_mail_after_purchase, which runs hourly. The email template includes the customer name, product name, product image, and a direct review link. For multi-product orders, products are selected in the configured sort order and follow-up emails respect the configured interval and maximum email count.

ℹ️
Automated delivery requires Magento cron to be running (bin/magento cron:run scheduled on your server).

Spam Protection

FieldDefaultDescription
Enable Spam ProtectionNoEnables spam protection on the product review form.
Spam Protection ProviderAkismetSelects Akismet, Cloudflare Turnstile, or Google reCAPTCHA.
Akismet API KeyEmptyAPI key used when Akismet is selected.
Akismet Site URLStore base URLOptional Akismet site URL override.
Cloudflare Turnstile Site KeyEmptySite key for Turnstile.
Cloudflare Turnstile Secret KeyEmptySecret key for Turnstile.
Cloudflare Turnstile ThemeAutoTurnstile widget theme.
Use Magento reCAPTCHA ConfigurationYesUses existing Magento reCAPTCHA Review configuration when available.
Google reCAPTCHA Site KeyEmptySite key used when not using Magento's reCAPTCHA config.
Google reCAPTCHA Secret KeyEmptySecret key used when not using Magento's reCAPTCHA config.
Google reCAPTCHA Minimum Score0.5Minimum score for score-based reCAPTCHA checks.
Action When Spam Is DetectedMark PendingDetermines whether suspected spam is rejected or saved as pending moderation.
Log Spam RejectionsYesLogs spam rejection events.
🛡️
The module adds CSP whitelist entries for Google reCAPTCHA, Google gstatic reCAPTCHA assets, and Cloudflare Turnstile.

AI Review Summaries

The AI Features configuration group generates per-product review summaries using an AI provider of your choice and displays them on the product page. Summaries are generated by the hourly cron job ayasoftware_advancedreviews_generate_ai_summaries and cached for the configured duration.

FieldDefaultDescription
Enable AI Review SummariesNoGenerates per-product summaries using an AI provider of your choice.
AI ProviderClaudeSelects Claude, OpenAI, or Gemini.
Claude API KeyEmptyAnthropic API key (console.anthropic.com). Shown when Claude is selected.
Claude Modelclaude-sonnet-4-6Claude model used for summaries.
OpenAI API KeyEmptyOpenAI API key (platform.openai.com). Shown when OpenAI is selected.
OpenAI Modelgpt-4o-miniOpenAI model used for summaries.
Gemini API KeyEmptyGoogle AI Studio API key (aistudio.google.com). Shown when Gemini is selected.
Gemini Modelgemini-2.0-flashGemini model used for summaries.
Minimum Reviews to Summarize3No summary is generated until at least this many approved reviews exist.
Maximum Reviews to Send50Caps how many review texts are sent per product (cost control).
Summary Cache Hours24Regenerates the summary after this many hours. 0 regenerates on every cron run.
ℹ️
Summary generation requires Magento cron to be running. API keys are stored obscured in Magento configuration.

Trustpilot Sync

The Third-Party Integrations configuration group imports product reviews from Trustpilot via the Trustpilot API.

FieldDefaultDescription
Trustpilot Sync EnabledNoEnables the Trustpilot review import.
Trustpilot API KeyEmptyTrustpilot API key, stored obscured.
Trustpilot Business Unit IDEmptyFound in your Trustpilot Business account settings.

Run the import from the Magento root:

bin/magento advancedreviews:sync:trustpilotbash

Frontend Features

Review Form Fields

Advanced Reviews adds these optional review fields to the frontend product review form:

  • Recommends product
  • Usage period
  • Pros
  • Cons
  • Review images, when image uploads are enabled
  • Spam protection widget, when configured and available

Catalog Review Summary

Catalog/category/search listings use the module's review summary renderer.

When Display Review Count on Catalog Page is set to No, catalog listings hide the numeric review count and review-count link while keeping the star rating display.

Review Preview on Catalog Pages

Category, search results, and advanced search pages display an excerpt of the most recent approved review beneath the star rating. The excerpt length is controlled by Review Preview Word Limit (set to 0 to disable). The preview is applied via a plugin on ReviewRenderer — no theme modifications are required.

Helpful Votes

Each review displays Helpful and Not Helpful vote buttons. Vote counts are stored per review and exposed via GraphQL (helpful_count, not_helpful_count).

Product Review List

The product review list can display advanced metadata such as:

  • Verified purchase status
  • Usage period
  • Recommendation value
  • Pros and cons
  • Merchant response
  • Review images

Admin Review Editing

The module extends the Magento admin review edit form with an Advanced Review fieldset. Admin users can view or edit advanced review metadata including:

  • Verified purchase status
  • Review source
  • Verified order ID and purchase date
  • Helpful and not-helpful counts
  • Uploaded images
  • Usage period
  • Recommendation value
  • Pros and cons
  • Merchant response, author, and response timestamp

Verified Purchase

When an advanced review is saved, the module attempts to match the review to an existing customer order using the customer ID, email, and product SKU. Confirmed reviews display a Verified Purchase badge on the storefront review list, and the exact variant (child SKU) the customer purchased is captured. Matching data is stored in ayasoftware_advanced_review.

Stored verified purchase fields include:

  • verified_purchase
  • purchased_sku
  • order_id
  • purchased_at
  • variant_summary

GraphQL

The module extends Magento review GraphQL types with advanced review metadata.

ProductReview Extension

type ProductReview {
  advanced_review: AdvancedProductReview
}graphql

AdvancedProductReview Fields

type AdvancedProductReview {
  verified_purchase: Boolean!
  purchased_sku: String
  usage_period: String
  recommends: Boolean
  pros: String
  cons: String
  source: String
  helpful_count: Int!
  not_helpful_count: Int!
  merchant_response: String
  merchant_response_author: String
  merchant_response_at: String
  images: [AdvancedProductReviewImage!]!
}graphql

CreateProductReviewInput Extension

input CreateProductReviewInput {
  advanced_review: AdvancedProductReviewInput
}

input AdvancedProductReviewInput {
  usage_period: String
  recommends: Boolean
  pros: String
  cons: String
}graphql

Example mutation fragment

mutation CreateReview($input: CreateProductReviewInput!) {
  createProductReview(input: $input) {
    review {
      nickname
      summary
      text
      advanced_review {
        verified_purchase
        usage_period
        recommends
        pros
        cons
      }
    }
  }
}graphql

Database Tables

ayasoftware_advanced_review

Stores advanced metadata for each Magento review. The primary key is review_id, with a cascade foreign key to Magento's review table.

Important columns:

  • verified_purchase
  • purchased_sku
  • order_id
  • purchased_at
  • usage_period
  • recommends
  • pros
  • cons
  • variant_summary
  • source
  • helpful_count
  • not_helpful_count
  • merchant_response
  • merchant_response_author
  • merchant_response_at

ayasoftware_advanced_review_media

Stores uploaded image metadata. The table has a cascade foreign key to Magento's review table.

Important columns:

  • media_id
  • review_id
  • file_path
  • file_name
  • mime_type
  • file_size
  • position
  • status

Cache and Deployment Notes

After changing configuration or templates, flush Magento cache:

bin/magento cache:flushbash

After installing or upgrading the module, run:

bin/magento setup:upgrade
bin/magento cache:flushbash
ℹ️
In production mode, run dependency injection compilation and static content deployment according to your deployment process.

Changelog

v0.2.0 July 15, 2026
  • FeatureVerified purchase detection — reviews are automatically linked to Magento orders (customer ID, email, product SKU) and confirmed reviews show a Verified Purchase badge with the purchased variant recorded.
  • FeatureExtended review fields — optional Pros & Cons, Recommends (yes/no), and Usage Period fields on the review form, each individually configurable.
  • FeatureReview image uploads — customers can attach up to 10 images per review (configurable formats and size limit) with a thumbnail gallery and full-size lightbox.
  • FeatureHelpful votes — Helpful / Not Helpful buttons on each review with counts exposed via GraphQL.
  • FeatureMerchant response — store administrators can post a public reply to any review from the admin review edit form.
  • FeatureReview preview on catalog pages — an excerpt of the most recent approved review on category, search, and advanced search pages with a configurable word limit.
  • FeatureSpam protection — Akismet, Cloudflare Turnstile, or Google reCAPTCHA v3 with configurable action (mark pending or reject) and rejection logging.
  • FeatureStore owner notifications — email to the store owner when a new review is submitted, with configurable sender, recipient, and template.
  • FeatureMail After Purchase — automated review request emails via hourly cron with configurable delay, interval, maximum email count, and multi-product sort order.
  • FeatureAI review summaries — new AI Features admin configuration group supporting Claude, OpenAI, and Gemini; per-product review summaries generated via hourly cron, cached, and displayed on the product page.
  • FeatureTrustpilot sync — new Third-Party Integrations group that imports reviews from Trustpilot via the Trustpilot API, with the advancedreviews:sync:trustpilot CLI command.
  • FeatureAdmin review management — extended review edit form with all advanced fields, read-only verified purchase details, vote counts, and an image gallery.
  • ImprovedStar rating rounding — three modes (Native, Round All, Round Visual Only) with separate visual and SEO rating values for structured data accuracy.
  • ImprovedGraphQL APIadvanced_review field on ProductReview (verified purchase, extended fields, votes, merchant response, images) and CreateProductReviewInput accepts advanced review input.

v0.1.0 July 14, 2026
  • FeatureInitial release.