PHPackages                             hszope/laravel-aigeo - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. hszope/laravel-aigeo

ActiveLibrary[API Development](/categories/api)

hszope/laravel-aigeo
====================

Generative Engine Optimization (GEO) for Laravel — get your products surfaced inside AI-generated answers from ChatGPT, Gemini, Perplexity and more.

v1.0.0(1mo ago)57552—8.3%4[1 PRs](https://github.com/GitHiteshZope/aigeo/pulls)MITPHPPHP ^8.2

Since Apr 14Pushed 1mo agoCompare

[ Source](https://github.com/GitHiteshZope/aigeo)[ Packagist](https://packagist.org/packages/hszope/laravel-aigeo)[ RSS](/packages/hszope-laravel-aigeo/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (8)Versions (2)Used By (0)

laravel-aigeo
=============

[](#laravel-aigeo)

> Generative Engine Optimization (GEO) for Laravel. Get your products surfaced inside AI-generated answers from ChatGPT, Gemini, Perplexity, Claude, and Bing AI.

Why GEO matters in 2026
-----------------------

[](#why-geo-matters-in-2026)

Search is shifting from a list of blue links to direct, generated answers. AI answer engines (ChatGPT, Google Overviews, Perplexity) are becoming the primary discovery tool for users. If your content isn't optimized for these engines, you don't exist in the AI-first world.

Features
--------

[](#features)

1. **llms.txt Generation**: Automatically creates and serves `llms.txt` to guide AI crawlers.
2. **Rich JSON-LD Schema**: Injects semantic metadata into your pages to help LLMs understand your products perfectly.
3. **GEO Scoring**: Audit your products with a 0-100 score based on AI-critical signals.
4. **Citation Enrichment**: Automatically adds stat-rich, citation-worthy data.
5. **AI Product Feed**: Serves a specialized JSON feed designed specifically for LLM indexing.
6. **Visual Dashboard**: A beautiful, premium interface to manage and audit your GEO performance.
7. **Blade Components**: Simple tools to integrate GEO features into your existing views.

Dashboard Preview
-----------------

[](#dashboard-preview)

[![Overview](art/overview.png)](art/overview.png)

 [![](art/models.png)](art/models.png) [![](art/schema.png)](art/schema.png)

 [![](art/llms.png)](art/llms.png) [![](art/feed.png)](art/feed.png)

 [![](art/settings.png)](art/settings.png)

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel 10, 11, or 12

Installation
------------

[](#installation)

```
composer require hszope/laravel-aigeo
```

Publish the config, migrations, and assets:

```
php artisan vendor:publish --tag="laravel-aigeo-config"
php artisan vendor:publish --tag="laravel-aigeo-migrations"
php artisan migrate
```

Quick Start
-----------

[](#quick-start)

### 1. Add the Trait

[](#1-add-the-trait)

Add the `HasGeoProfile` trait to any Model you want surfaced to AI (e.g. `Product`, `Article`, `User`).

```
use Hszope\LaravelAigeo\Traits\HasGeoProfile;

class Product extends Model
{
    use HasGeoProfile;

    // Map your database fields to the AI schema
    public function geoProfile(): array
    {
        return [
            'name'         => $this->name,
            'description'  => $this->description,
            'price'        => $this->price,
            'sku'          => $this->sku,
            'image'        => $this->image_url,
            'url'          => url("/products/{$this->id}"),
            'rating'       => $this->average_rating ?? null,
            'review_count' => $this->review_count ?? null,
            'currency'     => 'USD',
            'in_stock'     => true,
            'attributes'   => [
                'Brand' => $this->brand->name,
            ],
        ];
    }
}
```

### 2. Inject the AI Schema

[](#2-inject-the-ai-schema)

Add the `` component to your layout's ``. This will automatically inject highly optimized JSON-LD scripts on your product pages.

```

```

### 3. Setup Scheduled AI Feeds

[](#3-setup-scheduled-ai-feeds)

To keep your `llms.txt` and `ai-product-feed.json` updated automatically for AI crawlers, add the following commands to your Laravel schedule (usually in `routes/console.php` or `app/Console/Kernel.php`):

```
use Illuminate\Support\Facades\Schedule;

Schedule::command('geo:llms-txt')->daily();
Schedule::command('geo:feed')->daily();
```

Securing the Dashboard
----------------------

[](#securing-the-dashboard)

The package comes with a built-in dashboard accessible at `/geo`. **By default, you should protect this route using Laravel middleware.**

Open `config/geo.php` and configure your middleware and models:

```
'dashboard' => [
    'enabled'    => true,
    'path'       => '/geo',
    'middleware' => ['web', 'auth'], // Add 'auth' or your custom admin middleware here

    // Which models should show up in your Audit page?
    'models' => [
        ['model' => \App\Models\Product::class, 'label' => 'Products'],
        ['model' => \App\Models\Article::class, 'label' => 'Articles'],
    ],
],
```

Testing
-------

[](#testing)

```
composer test
```

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance89

Actively maintained with recent releases

Popularity32

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

56d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9dfbc7929dbeffb49e1b59ff584806a33f3ea8a0730c3a97731422caedce8c09?d=identicon)[HiteshZope](/maintainers/HiteshZope)

---

Tags

laravelschemaaiJSON-LDecommercegeoseoGeminillmChatGptperplexity

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/hszope-laravel-aigeo/health.svg)

```
[![Health](https://phpackages.com/badges/hszope-laravel-aigeo/health.svg)](https://phpackages.com/packages/hszope-laravel-aigeo)
```

###  Alternatives

[larastan/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

6.4k51.0M7.4k](/packages/larastan-larastan)[spatie/laravel-responsecache

Speed up a Laravel application by caching the entire response

2.8k8.7M64](/packages/spatie-laravel-responsecache)[psalm/plugin-laravel

Psalm plugin for Laravel

3325.1M337](/packages/psalm-plugin-laravel)[spatie/laravel-health

Monitor the health of a Laravel application

88011.3M149](/packages/spatie-laravel-health)[laravel/ai

The official AI SDK for Laravel.

9782.1M153](/packages/laravel-ai)[defstudio/telegraph

A laravel facade to interact with Telegram Bots

815320.5k3](/packages/defstudio-telegraph)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
