Page Visits plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Page Visits

Community

A read-only Filament admin resource for jeffersongoncalves/laravel-page-visits — the headless core package that tracks page-view visits on your app's public routes (device, browser, geo, locale, referer, UTM). This package owns no models, migrations or tracking logic of its own: it is purely the presentation layer (a Resource, Pages, widgets) built on top of the core's PageVisit model.

Tags: Analytics Widget
Supported versions:
5.x 4.x 3.x
Jefferson Gonçalves avatar Author: Jefferson Gonçalves

Package health

Beta

Automated checks of this plugin's Composer package

100 / 100
Security 100
Maintenance 100
Ecosystem 100
15 checks
  • Passed: GitHub Actions pinned to SHA
  • Skipped: GitLab CI includes pinned to SHA
  • Passed: Open security advisories
  • Passed: Dependabot PR responsiveness — No open Dependabot PRs.
  • Skipped: Renovate MR responsiveness
  • Passed: Dependabot or Renovate configured
  • Passed: Dependency update cooldown configured
  • Passed: Provides a security policy
  • Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
  • Passed: Commit and release recency — Active: last commit 0 days ago; last release 0 days ago.
  • Passed: composer.lock not committed by library composer.lock is absent from the released dist archive.
  • Passed: Dist archive is lean
  • Passed: Current Laravel version supported — Package dependencies resolve together with current Laravel 13.0.
  • Passed: Current PHP version supported — Constraint ^8.2 supports current PHP 8.5.
  • Skipped: Current Symfony version supported
Third-party plugin. This is built by the community, not the Filament team. Filament does not review, endorse, or vet the security of plugins outside the filament/ namespace. Review the source and install at your own risk. Found malware or an unresolved security issue the author won't address? Report it .
Powered by Plumb Last scanned 14 hours ago

Documentation

Version:

Filament Page Visits

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads License

A read-only Filament admin resource for jeffersongoncalves/laravel-page-visits — the headless core package that tracks page-view visits on your app's public routes (device, browser, geo, locale, referer, UTM). This package owns no models, migrations or tracking logic of its own: it is purely the presentation layer (a Resource, Pages, widgets) built on top of the core's PageVisit model.

#Compatibility

filament-page-visits laravel-page-visits Filament
1.x ^1.0 v3
2.x ^1.0 v4
3.x ^1.0 v5

laravel-page-visits requires Laravel 12 or 13 (illuminate/contracts: ^12.0|^13.0) on every branch — see the note below if a given Filament major doesn't hold up against that floor in practice.

#Screenshots

Screenshot Light Dark
Page visit list page-visit-list page-visit-list
Page visit view page-visit-view page-visit-view
Metrics page metrics-page metrics-page

#What's included

  • PageVisitResource — a browsable, filterable list of tracked visits (date/time, path, method, status code, device, browser, OS, country, referer type, bot flag), with a detail view grouped into Request, Device, Location, Referer & UTM, Bot/Risk flags and Fingerprint sections. The resource is intentionally read-only (no create, edit or delete) — visits are an append-only audit log written by the core package.
  • A dedicated Metrics page with 14 toggleable widgets:
    • StatsOverview — total visits, visits today, bot %, top country.
    • SecurityOverview — VPN / Proxy / Tor / Datacenter %.
    • HourlyChart — visits per hour (last 24h).
    • TrafficTrendChart — visits per day (last 14 days).
    • LongTermTrendChart — visits per day (last 90 days), read from laravel-page-visits 1.1.0+'s page_visit_daily_stats aggregate table so it stays accurate even after raw page_visits rows are pruned by page-visits:aggregate-and-prune. Auto-hides itself on older laravel-page-visits installs that don't have that table yet.
    • DevicesChart, BrowsersChart, OperatingSystemsChart — device / browser / OS breakdown.
    • StatusCodesChart — 2xx/3xx/4xx/5xx breakdown.
    • RefererTypesChart — direct / search / social / unknown breakdown.
    • TopPages, TopReferrers, TopCountries, TopAsn — top-10 tables (ASN/ISP included).
  • pt_BR and en translations.

Publish config/filament-page-visits.php to change the metrics page slug or turn individual widgets off — useful on installs with a huge page_visits table where a given widget's query is too costly to run on every load:

php artisan vendor:publish --tag="filament-page-visits-config"
return [
    'metrics_page' => [
        'slug' => 'page-visits-metrics',
        'widgets' => [
            'stats_overview' => true,
            // ...
            'top_asn' => false, // turn off any widget you don't need
        ],
    ],
];

Table name, tracked fields, excluded paths and retention are configured separately, on laravel-page-visits' own config/page-visits.php (see that package's README).

#Installation

You can install the package via composer:

composer require jeffersongoncalves/filament-page-visits:"^3.0"

This pulls in jeffersongoncalves/laravel-page-visits (^1.0) as a dependency. Publish and run its migration per that package's own installation instructions, then register the plugin in your PanelProvider:

use JeffersonGoncalves\Filament\PageVisits\FilamentPageVisitsPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentPageVisitsPlugin::make(),
        ]);
}

#Testing

composer test        # Pest
composer analyse      # PHPStan (Larastan)
composer format        # Pint

#Changelog

Please see CHANGELOG for more information on what has changed recently.

#Contributing

Please see CONTRIBUTING for details.

#Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

#Credits

#License

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

The author

Jefferson Gonçalves avatar Author: Jefferson Gonçalves

I'm a Full Stack PHP Developer from Assis, SP, Brazil with over 18 years of hands-on experience building robust platforms, managing server infrastructures, and crafting scalable solutions for businesses of all sizes.

My passion lives in the open source world — I actively maintain 20+ Filament plugins and a growing collection of Laravel packages used by thousands of developers worldwide. I believe great software should be accessible to everyone.

Plugins
32
Stars
190

From the same author