Total Pages
{{ $summary['crawl_status']['pages_crawled'] ?? 0 }}
With Issues
{{ $pagesWithIssuesCount }}
Healthy
{{ $healthyPages }}
Internal Links
{{ $summary['page_metrics']['links_internal'] ?? 0 }}
External Links
{{ $summary['page_metrics']['links_external'] ?? 0 }}
Broken Links
{{ $summary['page_metrics']['broken_links'] ?? 0 }}
Issues Overview
Critical Issues ({{ count($criticalIssues) }})
@if(count($criticalIssues) > 0)
@foreach($criticalIssues as $issue)
{{ $issue['label'] }}
{{ $issue['count'] }}
@endforeach
@else
No critical issues found
@endif
Warnings ({{ count($warningIssues) }})
@if(count($warningIssues) > 0)
@foreach($warningIssues as $issue)
{{ $issue['label'] }}
{{ $issue['count'] }}
@endforeach
@else
No warnings found
@endif
Passed Checks
@if(($summary['page_metrics']['broken_links'] ?? 0) == 0)
✓ No Broken Links
@endif
@if(($summary['page_metrics']['duplicate_title'] ?? 0) == 0)
✓ No Duplicate Titles
@endif
@if(($summary['page_metrics']['duplicate_description'] ?? 0) == 0)
✓ No Duplicate Descriptions
@endif
@if(count($brokenLinks) > 0)
Broken Links ({{ count($brokenLinks) }} found)
These links return error status codes and should be fixed or removed.
| Broken URL |
Status |
Found On Page |
Link Text |
@foreach($brokenLinks as $link)
| {{ $link['link_to'] ?? $link['url'] ?? '-' }} |
{{ $link['status_code'] ?? 'Error' }}
|
{{ $link['link_from'] ?? $link['page_from'] ?? '-' }} |
{{ \Illuminate\Support\Str::limit($link['anchor'] ?? '-', 30) }} |
@endforeach
@endif
@if(count($pagesWithIssues) > 0)
Pages with Issues ({{ count($pagesWithIssues) }} pages)
These pages have one or more SEO issues that should be addressed.
| Page URL |
Status |
Issues Found |
@foreach($pagesWithIssues as $page)
@php
$statusCode = $page['status_code'] ?? 200;
$statusClass = 'success';
if ($statusCode >= 300 && $statusCode < 400) $statusClass = 'warning';
if ($statusCode >= 400) $statusClass = 'error';
@endphp
| {{ $page['url'] ?? '-' }} |
{{ $statusCode }}
|
@foreach($page['issues_list'] ?? [] as $issue)
{{ $issue }}
@endforeach
|
@endforeach
@endif
@if(count($missingTitles) > 0)
Pages Missing Title Tags ({{ count($missingTitles) }} pages)
Title tags are crucial for SEO. Add unique, descriptive titles to these pages.
| Page URL |
Status |
Word Count |
@foreach($missingTitles as $page)
| {{ $page['url'] ?? '-' }} |
{{ $page['status_code'] ?? 200 }}
|
{{ $page['meta']['content']['plain_text_word_count'] ?? '-' }} |
@endforeach
@endif
@if(count($missingDescriptions) > 0)
Pages Missing Meta Descriptions ({{ count($missingDescriptions) }} pages)
Meta descriptions help improve click-through rates from search results.
| Page URL |
Current Title |
Status |
@foreach($missingDescriptions as $page)
| {{ $page['url'] ?? '-' }} |
{{ \Illuminate\Support\Str::limit($page['meta']['title'] ?? 'No title', 50) }} |
{{ $page['status_code'] ?? 200 }}
|
@endforeach
@endif
@if(count($brokenResources) > 0)
Broken Resources ({{ count($brokenResources) }} resources)
Images, scripts, or stylesheets that failed to load.
| Resource URL |
Type |
Status |
Found On |
@foreach($brokenResources as $resource)
| {{ $resource['url'] ?? '-' }} |
{{ ucfirst($resource['resource_type'] ?? 'unknown') }} |
{{ $resource['status_code'] ?? 'Error' }}
|
{{ \Illuminate\Support\Str::limit($resource['page_url'] ?? '-', 40) }} |
@endforeach
@endif
@if(count($duplicateTags) > 0)
Duplicate Tags Found
Pages sharing the same title or description. Each page should have unique meta tags.
| Duplicate Value |
Type |
Pages Affected |
@foreach($duplicateTags as $tag)
| {{ \Illuminate\Support\Str::limit($tag['duplicate_value'] ?? $tag['title'] ?? $tag['description'] ?? '-', 60) }} |
{{ ucfirst($tag['type'] ?? 'Tag') }} |
{{ $tag['pages_count'] ?? count($tag['pages'] ?? []) }} pages |
@endforeach
@endif
All Crawled Pages (Top {{ count($pages) }})
| URL |
Status |
Title |
Issues |
Load Time |
@foreach($pages as $page)
@php
$statusCode = $page['status_code'] ?? 200;
$issueCount = 0;
if ($statusCode >= 400) $issueCount++;
if (empty($page['meta']['title'] ?? '')) $issueCount++;
if (empty($page['meta']['description'] ?? '')) $issueCount++;
$statusClass = 'success';
if ($statusCode >= 300 && $statusCode < 400) $statusClass = 'warning';
if ($statusCode >= 400) $statusClass = 'error';
@endphp
| {{ $page['url'] ?? '-' }} |
{{ $statusCode }}
|
{{ \Illuminate\Support\Str::limit($page['meta']['title'] ?? '-', 40) }} |
@if($issueCount > 0)
{{ $issueCount }} issue{{ $issueCount > 1 ? 's' : '' }}
@else
OK
@endif
|
{{ isset($page['page_timing']['time_to_interactive']) ? round($page['page_timing']['time_to_interactive'], 2) . 's' : '-' }} |
@endforeach
Recommendations
@if(($summary['page_metrics']['broken_links'] ?? 0) > 0)
- Fix Broken Links: {{ $summary['page_metrics']['broken_links'] }} broken links were found. Update or remove these links to improve user experience and SEO.
@endif
@if(count($missingTitles) > 0)
- Add Missing Titles: {{ count($missingTitles) }} pages are missing title tags. Add unique, descriptive titles (50-60 characters) to each page.
@endif
@if(count($missingDescriptions) > 0)
- Add Meta Descriptions: {{ count($missingDescriptions) }} pages are missing meta descriptions. Add compelling descriptions (150-160 characters) to improve CTR.
@endif
@if(($summary['page_metrics']['duplicate_title'] ?? 0) > 0)
- Fix Duplicate Titles: {{ $summary['page_metrics']['duplicate_title'] }} pages have duplicate titles. Each page should have a unique title.
@endif
@if(count($brokenResources) > 0)
- Fix Broken Resources: {{ count($brokenResources) }} resources failed to load. Fix or remove these to improve page performance.
@endif
@if(($summary['page_metrics']['broken_links'] ?? 0) == 0 && count($missingTitles) == 0 && count($missingDescriptions) == 0)
- Great job! Your site has good technical SEO health. Continue monitoring for new issues.
@endif