Skip to main content
📝 Aplicaciones Laravel

Cómo Mostrar Reseñas de Google Business Profile en Laravel Usando la API de Google

Muestra reseñas de Google Business Profile en tu sitio Laravel usando la API de Google. Integración completa con caché, manejo de errores y opciones de visualización.

7 min

Tiempo de lectura

1,263

Palabras

Aug 30, 2025

Publicado

Engr Mejba Ahmed

Escrito por

Engr Mejba Ahmed

Compartir Artículo

Cómo Mostrar Reseñas de Google Business Profile en Laravel Usando la API de Google

Introducción

Cuando diriges un negocio, la confianza lo es todo. ¿Y qué mejor manera de generar confianza que mostrando tus reseñas verificadas de Google directamente en tu sitio web?

Piénsalo: los visitantes ya buscan tu empresa en Google antes de hacer negocios contigo. Al mostrar reseñas reales de clientes de tu Perfil de Negocio de Google directamente en tu sitio web construido con Laravel, aumentas instantáneamente la credibilidad, las conversiones y los rankings SEO.

Pero aquí está el desafío: Google ya no ofrece un widget simple de copiar y pegar. Para hacerlo correctamente — y de forma segura — necesitarás usar la Google Places API. No te preocupes. En esta guía, te guiaré a través de todo: desde obtener tu clave API hasta buscar y mostrar reseñas dinámicamente en Laravel.

Al final de este tutorial, tendrás una solución completamente funcional que hace que tu sitio web se vea profesional, confiable y optimizado para conversiones.


¿Por qué Mostrar Reseñas de Google en tu Sitio Laravel?

Antes de sumergirnos en el código, entendamos por qué esto importa:

  • Confianza a primera vista – Los clientes potenciales no se fían solo de tu palabra. Quieren pruebas. Las reseñas de Google proporcionan exactamente eso.
  • Ventaja SEO – Google valora cuando los negocios integran su ecosistema. Incrustar reseñas puede impactar positivamente la relevancia y autoridad de tu sitio.
  • Impulso de conversión – La prueba social es uno de los impulsores de conversión más poderosos. Una insignia de 5 estrellas con testimonios verificados puede inclinar las decisiones de compra a tu favor.
  • Consistencia – En lugar de copiar reseñas manualmente, esta integración mantiene tu sitio web actualizado automáticamente.

Paso 1: Configurar un Proyecto en Google Cloud

Para usar la Google Places API, primero necesitas crear un proyecto en Google Cloud:

  1. Ve a la Google Cloud Console.
  2. Crea un nuevo proyecto y dale un nombre significativo (ej. "Integración Laravel Reviews").
  3. Habilita la Places API desde la biblioteca de APIs.
  4. Genera una clave API.

Consejo Pro: Crea una clave de servidor separada (no una clave de navegador), ya que Laravel realizará solicitudes del lado del servidor.


Paso 2: Encontrar tu Google Place ID

Cada perfil de negocio está vinculado a un Place ID único. Lo necesitarás para obtener reseñas.

  1. Ve al Google Place ID Finder.
  2. Busca el nombre de tu negocio (ej. Ramlit Limited).
  3. Copia el place_id.

Guárdalo bien — lo necesitarás en .env.


Paso 3: Almacenar Claves de Forma Segura en Laravel

Abre tu archivo .env y agrega:

GOOGLE_PLACES_API_KEY=your_api_key_here
GOOGLE_PLACE_ID=your_place_id_here
GOOGLE_REVIEWS_CACHE_HOURS=12

Esto asegura que las credenciales sensibles no estén hardcodeadas.


Paso 4: Crear un Servicio GooglePlaces en Laravel

En app/Services/GooglePlaces.php:

<?php

namespace App\Services;

use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Http;

class GooglePlaces
{
    public function details(): array
    {
        $ttlHours = (int) config('services.google_places.cache_h', 12);

        return Cache::remember('google.place.details', now()->addHours($ttlHours), function () {
            $resp = Http::get('https://maps.googleapis.com/maps/api/place/details/json', [
                'place_id' => config('services.google_places.place_id'),
                'fields'   => 'name,rating,user_ratings_total,reviews',
                'key'      => config('services.google_places.api_key'),
            ])->json();

            if (($resp['status'] ?? '') !== 'OK') {
                return ['name' => null, 'rating' => null, 'total' => 0, 'reviews' => []];
            }

            $r = $resp['result'];

            return [
                'name'   => $r['name'] ?? 'Google Reviews',
                'rating' => $r['rating'] ?? null,
                'total'  => $r['user_ratings_total'] ?? 0,
                'reviews'=> collect($r['reviews'] ?? [])->map(fn ($rev) => [
                    'author'  => $rev['author_name'] ?? 'Google user',
                    'profile' => $rev['author_url'] ?? null,
                    'rating'  => $rev['rating'] ?? null,
                    'text'    => $rev['text'] ?? '',
                    'time'    => $rev['relative_time_description'] ?? '',
                ])->toArray(),
            ];
        });
    }
}

✔ Este servicio obtiene tus reseñas, las formatea ordenadamente y las almacena en caché para rendimiento.


Paso 5: Actualizar el Controller

En tu PageController.php:

use App\Services\GooglePlaces;

public function index(Request $request, GooglePlaces $places)
{
    $reviews = $places->details();

    $placeId = config('services.google_places.place_id');
    $googleReviewsUrl = 'https://www.google.com/maps/place/?q=place_id:' . $placeId;
    $googleWriteUrl   = 'https://search.google.com/local/writereview?placeid=' . $placeId;

    return view('ramlit-limited.pages.index', [
        'reviews' => $reviews,
        'googleReviewsUrl' => $googleReviewsUrl,
        'googleWriteUrl'   => $googleWriteUrl,
    ]);
}

Paso 6: Plantilla Blade para Reseñas

Ahora, hagamos que se vea bien.

<section class="google-reviews">
    <div class="container">
        <div class="section-title">
            <h5>Lo Que Dicen los Clientes</h5>
            <h2>Confianza Mundial — Reseñas Verificadas de Google</h2>
            <p>⭐ {{ $reviews['rating'] }} ({{ $reviews['total'] }} Reseñas de Google)</p>
        </div>

        <div class="reviews-carousel swiper-container">
            <div class="swiper-wrapper">
                @foreach($reviews['reviews'] as $review)
                    <div class="swiper-slide">
                        <div class="testimonial-card">
                            <h3>{{ $review['author'] }}</h3>
                            <span>{{ $review['time'] }}</span>
                            <div class="rating-box">
                                @for($i = 0; $i < $review['rating']; $i++)
                                    <i class="fa fa-star"></i>
                                @endfor
                            </div>
                            <p>{{ $review['text'] }}</p>
                        </div>
                    </div>
                @endforeach
            </div>
        </div>

        <div class="review-actions">
            <a href="{{ $googleReviewsUrl }}" class="btn btn-primary" target="_blank">Ver Todas las Reseñas de Google</a>
            <a href="{{ $googleWriteUrl }}" class="btn btn-secondary" target="_blank">Escribir una Reseña</a>
        </div>
    </div>
</section>

✅ Completamente dinámico. ✅ Estilizado para combinar con tu tema. ✅ Confiable.


Limpiar Caché y Probar

php artisan config:clear
php artisan cache:clear
php artisan view:clear

Recarga tu página principal. Deberías ver tus reseñas verificadas de Google bellamente mostradas.


Consejos Extra para Producción

  • Limitar el uso de la API – Google Places API es de pago después de un nivel gratuito. Usa caché (Cache::remember) sabiamente.
  • Asegurar claves API – Siempre restringe tu clave API a direcciones IP.
  • Fallbacks – Si la API falla, muestra un mensaje predeterminado en lugar de romper el diseño.
  • Estilo – Combina con la identidad de tu marca (colores, fuentes, animaciones).

Puntos Clave / Resumen Rápido

  • Reseñas de Google = confianza + impulso SEO
  • Usa una Clave de Servidor para Laravel (no clave de navegador)
  • Obtén tu Place ID desde el Place Finder de Google
  • Almacena credenciales en .env de forma segura
  • Almacena respuestas en caché para ahorrar llamadas a la API
  • Agrega botones de "Ver Todas las Reseñas" y "Escribir una Reseña" para UX y confianza

Llamada a la Acción (CTA)

¿Listo para ganar más clientes? Comienza a integrar tus reseñas del Perfil de Negocio de Google en tu sitio Laravel hoy. Es una de las mejoras más fáciles y poderosas que puedes hacer para la credibilidad y las conversiones.


Sección de Preguntas Frecuentes

P: ¿Es gratuita la Google Places API? R: Google ofrece un nivel gratuito con $200 en créditos mensuales. La mayoría de los sitios pequeños encajan cómodamente dentro de esto.

P: ¿Puedo filtrar reseñas (ej. solo 5 estrellas)? R: Sí. Puedes filtrar reseñas dentro del servicio antes de enviarlas a tu vista.

P: ¿Necesito una cuenta de facturación de Google Maps? R: Sí, debes habilitar la facturación para usar la Places API — incluso si permaneces bajo la cuota gratuita.

P: ¿Pueden las reseñas actualizarse automáticamente? R: Sí. Con caché, puedes refrescar las reseñas cada pocas horas sin alcanzar los límites de la API.


Publicidad
Coffee cup

¿Te gustó este artículo?

Tu apoyo me ayuda a crear más contenido técnico detallado, herramientas de código abierto y recursos gratuitos para la comunidad de desarrolladores.

Temas Relacionados

Engr Mejba Ahmed

Sobre el Autor

Engr Mejba Ahmed

Engr. Mejba Ahmed builds AI-powered applications and secure cloud systems for businesses worldwide. With 10+ years shipping production software in Laravel, Python, and AWS, he's helped companies automate workflows, reduce infrastructure costs, and scale without security headaches. He writes about practical AI integration, cloud architecture, and developer productivity.

Discussion

Comments

0

No comments yet

Be the first to share your thoughts

Leave a Comment

Your email won't be published

10  +  4  =  ?

Seguir Aprendiendo

Artículos Relacionados

Ver Todos

Comments

Leave a Comment

Comments are moderated before appearing.

Learning Resources

Expand Your Knowledge

Accelerate your growth with structured courses, verified certificates, interactive flashcards, and production-ready AI agent skills.

Sample Certificate of Completion

Sample certificate — complete any course to earn yours

Engr Mejba Ahmed

Engr Mejba Ahmed

Claude Code Expert · Online

👋

Hey there!

Quick Actions

WhatsApp Instant reply

Chat on WhatsApp

+880 1723 741224 · Instant reply

Popular Questions

Engr Mejba Ahmed is connected
Engr Mejba Ahmed is typing...
Engr Mejba Ahmed avatar

✉ Want me to follow up? Drop your email

Engr Mejba Ahmed avatar

📞 Connect Directly

Choose how you'd like to reach me

WhatsApp

+880 1723 741224

Email

[email protected]

✓ Details sent! I'll get back to you shortly.

Powered by OpenAI

335+

Blog Posts

25

AI Courses

63

Projects

Services & Expertise

Pricing & Process

Learning & Resources

Connect & Support