Site Audit Report

{{ $summary['domain_info']['name'] ?? 'Website' }}
Generated on {{ $generatedAt }} | {{ $summary['crawl_status']['pages_crawled'] ?? 0 }} pages analyzed
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.

@foreach($brokenLinks as $link) @endforeach
Broken URL Status Found On Page Link Text
{{ $link['link_to'] ?? $link['url'] ?? '-' }} {{ $link['status_code'] ?? 'Error' }} {{ $link['link_from'] ?? $link['page_from'] ?? '-' }} {{ \Illuminate\Support\Str::limit($link['anchor'] ?? '-', 30) }}
@endif @if(count($pagesWithIssues) > 0)
Pages with Issues ({{ count($pagesWithIssues) }} pages)

These pages have one or more SEO issues that should be addressed.

@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 @endforeach
Page URL Status Issues Found
{{ $page['url'] ?? '-' }} {{ $statusCode }} @foreach($page['issues_list'] ?? [] as $issue) {{ $issue }} @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.

@foreach($missingTitles as $page) @endforeach
Page URL Status Word Count
{{ $page['url'] ?? '-' }} {{ $page['status_code'] ?? 200 }} {{ $page['meta']['content']['plain_text_word_count'] ?? '-' }}
@endif @if(count($missingDescriptions) > 0)
Pages Missing Meta Descriptions ({{ count($missingDescriptions) }} pages)

Meta descriptions help improve click-through rates from search results.

@foreach($missingDescriptions as $page) @endforeach
Page URL Current Title Status
{{ $page['url'] ?? '-' }} {{ \Illuminate\Support\Str::limit($page['meta']['title'] ?? 'No title', 50) }} {{ $page['status_code'] ?? 200 }}
@endif @if(count($brokenResources) > 0)
Broken Resources ({{ count($brokenResources) }} resources)

Images, scripts, or stylesheets that failed to load.

@foreach($brokenResources as $resource) @endforeach
Resource URL Type Status Found On
{{ $resource['url'] ?? '-' }} {{ ucfirst($resource['resource_type'] ?? 'unknown') }} {{ $resource['status_code'] ?? 'Error' }} {{ \Illuminate\Support\Str::limit($resource['page_url'] ?? '-', 40) }}
@endif @if(count($duplicateTags) > 0)
Duplicate Tags Found

Pages sharing the same title or description. Each page should have unique meta tags.

@foreach($duplicateTags as $tag) @endforeach
Duplicate Value Type Pages Affected
{{ \Illuminate\Support\Str::limit($tag['duplicate_value'] ?? $tag['title'] ?? $tag['description'] ?? '-', 60) }} {{ ucfirst($tag['type'] ?? 'Tag') }} {{ $tag['pages_count'] ?? count($tag['pages'] ?? []) }} pages
@endif
All Crawled Pages (Top {{ count($pages) }})
@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 @endforeach
URL Status Title Issues Load Time
{{ $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' : '-' }}
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