@extends('layouts.app') @section('content')

Analíticas de Visitas

Estadísticas de la página: /{{ $pageUrl }}

Última actualización {{ now()->format('d/m/Y H:i') }}
Total

{{ number_format($totalPageviews) }}

Pageviews

Únicos

{{ number_format($uniqueVisitors) }}

Visitantes

Hoy
@php $todayViews = \App\Models\AnalyticsVisit::where('page_url', $pageUrl)->whereDate('created_at', today())->count(); @endphp

{{ number_format($todayViews) }}

Visitas

Promedio
@php $avgPerVisitor = $uniqueVisitors > 0 ? round($totalPageviews / $uniqueVisitors, 1) : 0; @endphp

{{ $avgPerVisitor }}x

Por visitante

@if($dailyStats->isNotEmpty())
Tendencia de Visitas (Últimos 30 días)
Visitas Únicos
Resumen Estadístico
@php $totalLast30 = $dailyStats->sum('views'); $avgDaily = $dailyStats->avg('views'); $maxDay = $dailyStats->sortByDesc('views')->first(); $minDay = $dailyStats->sortBy('views')->where('views', '>', 0)->first(); @endphp
Total últimos 30 días

{{ number_format($totalLast30) }}

Promedio diario

{{ number_format($avgDaily, 1) }}

@if($maxDay)
Día más activo

{{ number_format($maxDay->views) }} visitas

{{ \Carbon\Carbon::parse($maxDay->date)->format('d/m/Y') }}
@endif @if($minDay)
Día menos activo

{{ number_format($minDay->views) }} visitas

{{ \Carbon\Carbon::parse($minDay->date)->format('d/m/Y') }}
@endif
Detalle Diario
@foreach($dailyStats->take(10) as $stat) @endforeach
Fecha Visitas Visitantes Únicos Promedio
{{ \Carbon\Carbon::parse($stat->date)->format('d/m/Y') }} {{ number_format($stat->views) }} @php $percentage = $maxDay ? ($stat->views / $maxDay->views) * 100 : 0; @endphp
{{ number_format($stat->unique_visitors) }} {{ $stat->unique_visitors > 0 ? number_format($stat->views / $stat->unique_visitors, 1) : 0 }}x
@endif @if($recentVisits->isNotEmpty())
Actividad Reciente
@foreach($recentVisits as $visit)
{{ $visit->ip_address }} {{ $visit->created_at->diffForHumans() }}
{{ Str::limit($visit->user_agent, 100) }} {{ $visit->created_at->format('d/m/Y H:i:s') }}
@endforeach
@endif @if($totalPageviews === 0) @endif
IPs Ignoradas
@if(session('success')) @endif @if($ignoredIps->isNotEmpty())
@foreach($ignoredIps as $ignoredIp) @endforeach
IP Address Descripción Agregada Acciones
{{ $ignoredIp->ip_address }} @if($ignoredIp->description) {{ $ignoredIp->description }} @else Sin descripción @endif {{ $ignoredIp->created_at->format('d/m/Y') }}
@csrf @method('DELETE')
@else

No hay IPs ignoradas aún

@endif
@endsection