A professional Google Reviews widget for Botble CMS that displays Google Business reviews with a beautiful carousel interface. Designed to match modern review widget designs with responsive layouts and extensive customization options.
- Botble core 7.5.0 or higher.
- PHP 8.2 or higher.
Go to the Admin Panel and click on the Plugins tab. Click on the "Add new" button, find the FOB Google Reviews plugin and click on the "Install" button.
- Download the plugin from the Botble Marketplace.
- Extract the downloaded file and upload the extracted folder to the
platform/pluginsdirectory. - Go to Admin > Plugins and click on the Activate button.
- Beautiful Design: Professional widget matching modern Google Reviews design
- Responsive Carousel: Auto-playing carousel with touch/swipe support
- Mobile Responsive: Adapts from 1 to 4 columns based on screen size
- Highly Configurable: Extensive settings for customization
- Smart Caching: Reduces API calls with configurable cache duration
- Per-Product Settings: Override place ID per product
- Multi-language: Supports 42 languages
- Accessible: ARIA labels and keyboard navigation support
- Theme Independent: Works with all Botble themes
- Multiple Display Types: Choose between Carousel, Grid, or List layouts
- Dual Source Mode: Use Google API or manual database reviews
The plugin supports two modes for displaying reviews:
- Reviews stored in database
- Full control over review content
- No API costs
- No external dependencies
- Easy to manage via admin panel or seeder
Use Case: When you want complete control over reviews, don't have Google API access, or want to curate specific reviews.
Setup:
- Go to Settings > Google Reviews
- Select "Manual (Database)" as Review Source
- Add reviews manually or run seeder
- Fetches real reviews from Google My Business
- Automatic updates
- Shows authentic customer reviews
- Requires Google Places API key
Use Case: When you want to display real Google reviews automatically.
Setup:
- Get Google API Key (see below)
- Go to Settings > Google Reviews
- Select "Google API" as Review Source
- Enter API Key and Place ID
- Go to Google Cloud Console
- Create a new project or select existing one
- Enable Google Places API
- Create an API key from Credentials section
- (Optional) Restrict the API key to Places API only
Method 1: Using Place ID Finder
- Visit Google Place ID Finder
- Search for your business
- Copy the Place ID
Method 2: Using Google Maps
- Open Google Maps
- Search for your business
- The Place ID is in the URL after
!1sor use the Share button
Navigate to Settings > Google Reviews to configure:
Review Source
- Choose between Manual (Database) or Google API mode
API Settings (API Mode only)
- Google API Key: Your Google Places API key
- Default Place ID: Your Google Business place ID
- Business Name: Override business name (optional)
Display Settings
- Display Type: Choose Carousel, Grid, or List
- Maximum Reviews: How many reviews to show (1-20)
- Minimum Rating: Filter reviews by minimum stars (0-5)
Carousel Settings (Carousel Mode only)
- Enable Autoplay: Auto-advance carousel
- Autoplay Speed: Time between slides (1000-30000ms)
Grid Settings (Grid Mode only)
- Reviews Per Row: Number of reviews per row (1-4)
Visibility
- Show on Product Pages: Display on product detail pages
- Show "View All Reviews" Button: Link to Google reviews page
Performance
- Auto Refresh Reviews: Automatically refresh cached data
- Cache Duration: How long to cache reviews (5-1440 minutes)
Appearance
- Widget Title: Custom title for the widget
- Show Ratings Summary: Display overall rating and count
- Show Author Avatar: Display reviewer's profile picture
- Show Author Name: Display reviewer's name
- Show Review Date: Display when review was posted
- Show Star Ratings: Display star ratings
- Review Text Length: Maximum characters to display
- Show "Read More" Link: Display link for truncated reviews
- Edit any product
- Scroll to Google Reviews metabox
- Enable Google Reviews for this product
- (Optional) Add custom Place ID to show different location reviews
You can place the Google Reviews widget anywhere on your site using the shortcode.
In Page Content (Visual Editor):
- Edit any page
- Click the Shortcode button in the editor
- Select Google Reviews from the list
- (Optional) Add custom title
- Insert the shortcode
Manual Shortcode:
[google-reviews][/google-reviews]
In Blade Templates:
{!! Shortcode::compile('[google-reviews][/google-reviews]') !!}In PHP Code:
echo do_shortcode('[google-reviews][/google-reviews]');When using Manual mode, reviews are stored in the google_reviews_data table.
- Go to Google Reviews > Reviews in the admin menu
- Click "Create Review" to add new reviews
- Fill in review details (author name, rating, text, etc.)
- Set display order (lower numbers appear first)
- Save the review
Run the seeder to create sample reviews:
php artisan db:seed --class="FriendsOfBotble\\GoogleReviews\\Database\\Seeders\\GoogleReviewsSeeder"php artisan tinkerFriendsOfBotble\GoogleReviews\Models\GoogleReviewData::create([
'author_name' => 'Jane Smith',
'rating' => 5,
'text' => 'Excellent service and quality!',
'review_date' => now()->subWeeks(2),
'is_active' => true,
'order' => 1
]);- Google logo
- Business name
- Overall rating with stars
- Total review count
- "Powered by Google" attribution
- Reviewer avatar (or initial bubble if no photo)
- Reviewer name
- Star rating
- Relative time ("2 weeks ago")
- Review text with "Read more" for long reviews
- Previous/Next buttons
- Dot indicators
- Touch/swipe support on mobile
- Keyboard navigation
- Auto-play with pause on hover
- Mobile (< 768px): 1 card
- Tablet (768px - 1023px): 2 cards
- Desktop (1024px - 1279px): 3 cards
- Large Desktop (≥ 1280px): 4 cards
Professional Google Reviews carousel widget displaying customer reviews with ratings, avatars, and responsive design
Comprehensive settings page with collapsible sections for Review Source, Display Type, and extensive customization options
The plugin uses webpack to compile SCSS and JavaScript files.
# Development build
npm run dev
# Production build
npm run prod
# Watch for changes
npm run watch
# Build specific plugin
npm run dev -- --mix-config=platform/plugins/fob-google-reviews/webpack.mix.jsplatform/plugins/fob-google-reviews/
├── webpack.mix.js # Webpack configuration
├── resources/
│ ├── sass/
│ │ └── google-reviews.scss # Source SCSS file
│ └── js/
│ └── google-reviews.js # Source JavaScript file
└── public/ # Compiled assets (production)
├── css/
│ └── google-reviews.css
└── js/
└── google-reviews.js
Google Places API has usage limits:
- Free Tier:
- $200 monthly credit (~40,000 requests)
- Basic Data: $17 per 1,000 requests
- Contact Data: $3 per 1,000 requests
Optimization Tips:
- Increase cache duration (default: 60 minutes)
- Set appropriate max reviews limit
- Use per-product place IDs only when needed
Check:
- API key is valid and Places API is enabled
- Place ID is correct
- Cache duration - try clearing cache
- Browser console for errors
Clear Cache:
php artisan cache:clearCheck:
- Assets are published:
php artisan vendor:publish --tag=cms-public --force - CSS file exists at:
public/vendor/core/plugins/fob-google-reviews/css/google-reviews.css - No theme CSS conflicts
Check:
- JavaScript file loaded correctly
- Browser console for errors
- Clear browser cache
- API keys stored securely in database
- XSS protection on review text
- CSRF protection on all forms
- Sanitized user inputs
- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- Mobile browsers (iOS Safari, Chrome)
Please see CONTRIBUTING for details.
If you discover a bug in this plugin, please create an issue.
If you discover any security related issues, please email friendsofbotble@gmail.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.