This commit is contained in:
Doar Mihai
2026-04-04 02:14:57 +03:00
parent 31e666ef33
commit 3a687b0a7f
11 changed files with 686 additions and 8 deletions
+30 -2
View File
@@ -1,7 +1,35 @@
@extends('layouts.app')
@section('title', 'JobifyGarden - Find Your Dream Job')
@section('description', 'Discover thousands of job opportunities from multiple sources. Browse remote jobs, full-time positions, and more.')
@section('title', 'JobifyGarden - Find Your Dream Job | ' . number_format($stats['active_jobs'] ?? 0) . '+ Jobs')
@section('description', 'Discover thousands of job opportunities from multiple sources. Browse remote jobs, full-time positions, and more. Your next career starts here.')
@section('canonical', route('home'))
@push('structured_data')
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "JobifyGarden",
"url": "{{ route('home') }}",
"potentialAction": {
"@type": "SearchAction",
"target": "{{ route('jobs.index') }}?keywords={search_term_string}",
"query-input": "required name=search_term_string"
}
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "JobifyGarden",
"url": "{{ url('/') }}",
"logo": "{{ asset('images/logo.png') }}",
"description": "Job aggregator platform helping job seekers find opportunities from multiple sources"
}
</script>
@endpush
@section('main-class', '')
+22 -1
View File
@@ -1,7 +1,28 @@
@extends('layouts.app')
@section('title', $category->name . ' Jobs - JobifyGarden')
@section('description', 'Browse ' . $category->name . ' job opportunities. ' . ($category->description ?? ''))
@section('description', 'Browse ' . $jobs->total() . ' ' . $category->name . ' job opportunities. ' . ($category->description ?? 'Find your next career in ' . $category->name . '.'))
@section('canonical', route('jobs.category', $category->slug))
@push('structured_data')
<script type="application/ld+json">
{!! json_encode(app(\App\Services\SeoService::class)->generateBreadcrumbStructuredData([
['name' => 'Home', 'url' => route('home')],
['name' => 'Jobs', 'url' => route('jobs.index')],
['name' => $category->name, 'url' => route('jobs.category', $category->slug)]
]), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) !!}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "CollectionPage",
"name": "{{ $category->name }} Jobs",
"description": "{{ 'Browse ' . $jobs->total() . ' ' . $category->name . ' job opportunities' }}",
"url": "{{ route('jobs.category', $category->slug) }}"
}
</script>
@endpush
@section('content')
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
+22 -2
View File
@@ -1,7 +1,27 @@
@extends('layouts.app')
@section('title', 'Browse Jobs - JobifyGarden')
@section('description', 'Browse thousands of job opportunities. Filter by location, job type, experience level, and more.')
@section('title', 'Browse Jobs - JobifyGarden | ' . number_format($jobs->total()) . ' Opportunities')
@section('description', 'Browse ' . number_format($jobs->total()) . ' job opportunities. Filter by location, job type, experience level, and more to find your perfect role.')
@section('canonical', route('jobs.index'))
@push('structured_data')
<script type="application/ld+json">
{!! json_encode(app(\App\Services\SeoService::class)->generateBreadcrumbStructuredData([
['name' => 'Home', 'url' => route('home')],
['name' => 'Jobs', 'url' => route('jobs.index')]
]), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) !!}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "CollectionPage",
"name": "Browse Jobs",
"description": "Browse thousands of job opportunities from multiple sources",
"url": "{{ route('jobs.index') }}"
}
</script>
@endpush
@section('content')
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
+23 -2
View File
@@ -1,7 +1,28 @@
@extends('layouts.app')
@section('title', 'Remote Jobs - JobifyGarden')
@section('description', 'Discover remote job opportunities from companies worldwide. Work from anywhere.')
@section('title', 'Remote Jobs - JobifyGarden | ' . number_format($jobs->total()) . ' Work From Home Opportunities')
@section('description', 'Discover ' . number_format($jobs->total()) . ' remote job opportunities from companies worldwide. Work from anywhere, find flexible positions.')
@section('canonical', route('jobs.remote'))
@push('structured_data')
<script type="application/ld+json">
{!! json_encode(app(\App\Services\SeoService::class)->generateBreadcrumbStructuredData([
['name' => 'Home', 'url' => route('home')],
['name' => 'Jobs', 'url' => route('jobs.index')],
['name' => 'Remote Jobs', 'url' => route('jobs.remote')]
]), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) !!}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "CollectionPage",
"name": "Remote Jobs",
"description": "Work from anywhere remote job opportunities",
"url": "{{ route('jobs.remote') }}"
}
</script>
@endpush
@section('content')
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
+18
View File
@@ -2,6 +2,24 @@
@section('title', $job->title . ' at ' . $job->company . ' - JobifyGarden')
@section('description', Str::limit(strip_tags($job->description), 155))
@section('canonical', route('jobs.show', $job->id))
@push('structured_data')
<script type="application/ld+json">
{!! json_encode(app(\App\Services\SeoService::class)->generateJobStructuredData($job), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) !!}
</script>
<script type="application/ld+json">
{!! json_encode(app(\App\Services\SeoService::class)->generateBreadcrumbStructuredData([
['name' => 'Home', 'url' => route('home')],
['name' => 'Jobs', 'url' => route('jobs.index')],
@if($job->category)
['name' => $job->category->name, 'url' => route('jobs.category', $job->category->slug)],
@endif
['name' => $job->title, 'url' => route('jobs.show', $job->id)]
]), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) !!}
</script>
@endpush
@section('content')
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
+21
View File
@@ -7,6 +7,27 @@
<title>@yield('title', 'JobifyGarden - Find Your Dream Job')</title>
<meta name="description" content="@yield('description', 'Discover thousands of job opportunities from multiple sources. Find remote jobs, full-time positions, and more.')">
<meta name="keywords" content="@yield('keywords', 'jobs, careers, employment, job search, remote jobs')">
<!-- Canonical URL -->
<link rel="canonical" href="@yield('canonical', url()->current())">
<!-- Open Graph Meta Tags -->
<meta property="og:title" content="@yield('og_title', '@yield('title', 'JobifyGarden - Find Your Dream Job')')">
<meta property="og:description" content="@yield('og_description', '@yield('description', 'Discover thousands of job opportunities from multiple sources.')')">
<meta property="og:url" content="@yield('og_url', url()->current())">
<meta property="og:type" content="@yield('og_type', 'website')">
<meta property="og:image" content="@yield('og_image', asset('images/og-default.jpg'))">
<meta property="og:site_name" content="JobifyGarden">
<!-- Twitter Card Meta Tags -->
<meta name="twitter:card" content="@yield('twitter_card', 'summary_large_image')">
<meta name="twitter:title" content="@yield('twitter_title', '@yield('title', 'JobifyGarden')')">
<meta name="twitter:description" content="@yield('twitter_description', '@yield('description', 'Find your dream job')')">
<meta name="twitter:image" content="@yield('twitter_image', asset('images/twitter-card-default.jpg'))">
<!-- Structured Data (JSON-LD) -->
@stack('structured_data')
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.bunny.net">