{{-- ══ Livewire loading overlay ══ --}}
{{-- ══ FILTER CARD ══ --}}
{{-- ══ SUMMARY STAT CARDS ══ --}}
@if(!empty($summaryStats))
@php
$total = ($summaryStats['focus_ranked'] ?? 0) + ($summaryStats['focus_not_ranked'] ?? 0);
$rankedPct = $total > 0 ? round(($summaryStats['focus_ranked'] / $total) * 100, 1) : 0;
@endphp
@endif
{{-- ══ TABLE ══ --}}
{{-- ══ PAGINATION ══ --}}
{{-- Exports are plain GET — cannot go through Livewire --}}
{{ number_format($summaryStats['total_urls']) }}
Total URLs
in date range
{{ number_format($summaryStats['focus_ranked']) }}
Focus Ranked
impressions > 0
{{ number_format($summaryStats['focus_not_ranked']) }}
Not Ranked
no GSC data
{{ number_format($summaryStats['other_kw_total']) }}
Total GSC Rows
all queries
{{ $rankedPct }}%
Ranked Rate
focus keywords
| # | Date | Author | Article | Keywords | Focus Keyword | Ranking Keywords |
|---|---|---|---|---|---|---|
| {{ $crypto_news->firstItem() + $i }} | {{-- DATE — pre-resolved in component as published_label --}}{{ $news['published_label'] ?? '—' }} | {{-- AUTHOR --}}{{-- ARTICLE --}} |
{{ Str::limit($news['title'], 65) }}
{{ Str::limit($news['page_url'], 55) }}
|
{{-- TOTAL KEYWORDS --}}
@if(($news['gsc_total_records'] ?? 0) > 0)
{{ number_format($news['gsc_total_records']) }}
@else
No Data
|
{{-- FOCUS KEYWORD --}}
@if($focus['has_data'] && $focus['impressions'] > 0)
{{ $focus['query'] }}
{{ number_format($focus['clicks']) }}
Clicks
{{ number_format($focus['impressions']) }}
Impr.
{{ $focus['ctr'] }}%
CTR
{{ $focus['position'] }}
Pos.
{{ $focus['ranked_days'] ?? 0 }}d
Days
{{ Str::limit($focus['query'] ?? '—', 32) }}
Not ranking in GSC
|
{{-- RANKING KEYWORDS --}}
@if($ranking->isNotEmpty())
@php
$totalClicks = $ranking->sum('clicks');
$totalImpr = $ranking->sum('impression');
$kwCount = $ranking->count();
$avgCtr = $kwCount > 0
? number_format($ranking->avg('ctr'), 2)
: '0.00';
@endphp
{{ $kwCount }} KW
{{ number_format($totalClicks) }}
Clicks
{{ number_format($totalImpr) }}
Impr.
{{ $avgCtr }}%
Avg CTR
@foreach($ranking as $kw)
@php
$badge = $kw['position_badge'] ?? ['label'=>'—','color'=>'#888','bg'=>'#f5f5f5'];
@endphp
@else
{{ $kw['query'] }}
{{ number_format($kw['clicks']) }}
{{ number_format($kw['impression']) }} impr.
{{ $kw['ctr'] }}% CTR
{{ $badge['label'] }}
@if(!empty($kw['ranked_days']))
{{ $kw['ranked_days'] }}d ranked
@endif
@if(!empty($kw['keyword_type']))
{{ $kw['keyword_type'] }}
@endif
No Ranking Keywords
Not ranked in GSC
|
|
No data found for the selected filters. |
||||||
{{ $crypto_news->appends(request()->query())->links() }}
{{-- ══ QUERY DETAIL MODAL ══ --}}