Refine SEO, uploads, and deploy handling

This commit is contained in:
2026-05-02 10:48:08 +02:00
parent b6be6ed2ac
commit a9dfa6ea11
97 changed files with 373 additions and 327 deletions

View File

@@ -2,15 +2,9 @@
<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}">
<head>
<title>{{ $page_title ?? 'Skinbase' }}</title>
@include('partials.seo.head', ['seo' => $seo ?? null])
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="{{ $page_meta_description ?? '' }}">
<meta name="keywords" content="{{ $page_meta_keywords ?? '' }}">
@isset($page_canonical)
<link rel="canonical" href="{{ $page_canonical }}" />
@endisset
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css" />
<link rel="shortcut icon" href="/favicon.ico">

View File

@@ -4,8 +4,8 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Laravel') }}</title>
@php($page_robots = $page_robots ?? 'noindex,nofollow')
@include('partials.seo.head', ['seo' => $seo ?? null])
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.bunny.net">

View File

@@ -4,8 +4,8 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Laravel') }}</title>
@php($page_robots = $page_robots ?? 'noindex,nofollow')
@include('partials.seo.head', ['seo' => $seo ?? null])
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.bunny.net">

View File

@@ -36,16 +36,7 @@
@yield('sidebar')
</aside>
</div>
@else
<section class="min-w-0">
@yield('content')
</section>
@endif
</div>
</main>
@include('layouts.nova.footer')
@include('partials.seo.head', ['seo' => $seo ?? null])
@stack('toolbar')
@stack('scripts')

View File

@@ -3,7 +3,8 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>@yield('title', 'Skinbase')</title>
@php($page_robots = $page_robots ?? 'noindex,nofollow')
@include('partials.seo.head', ['seo' => $seo ?? null])
</head>
<body>
@yield('content')

View File

@@ -6,7 +6,21 @@
$deferFontAwesome = request()->routeIs('index');
$deferWebManifest = request()->routeIs('index');
$isInertiaPage = isset($page) && is_array($page);
$shouldRenderBladeSeo = ($useUnifiedSeo ?? false) && (($renderBladeSeo ?? false) || ! $isInertiaPage);
$isAuthSeoRoute = request()->routeIs([
'login',
'register',
'register.notice',
'password.request',
'password.reset',
'password.confirm',
'verification.notice',
'registration.verify',
'setup.email.create',
'setup.password.create',
'setup.username.create',
]);
$page_robots = $page_robots ?? ($isAuthSeoRoute ? 'noindex,nofollow' : null);
$shouldRenderBladeSeo = ($useUnifiedSeo ?? ! $isInertiaPage) && (($renderBladeSeo ?? true) || ! $isInertiaPage);
$novaCssEntries = [
'resources/css/app.css',
'resources/css/nova-grid.css',

View File

@@ -6,6 +6,10 @@
@php
$skinbaseSessionSkipped = request()->attributes->get('skinbase.session_skipped') === true;
$skinbaseCanUseSession = request()->hasSession() && ! $skinbaseSessionSkipped;
$page_title = $page_title ?? 'Story Editor';
$page_meta_description = $page_meta_description ?? 'Create and edit stories on Skinbase.';
$page_canonical = $page_canonical ?? url()->current();
$page_robots = $page_robots ?? 'noindex,nofollow';
@endphp
<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}">
@@ -16,7 +20,7 @@
<meta name="csrf-token" content="{{ csrf_token() }}">
@endif
<title>{{ $page_title ?? 'Story Editor' }} Skinbase</title>
@include('partials.seo.head', ['seo' => $seo ?? null])
<link rel="icon" type="image/png" href="/favicon/favicon-96x96.png" sizes="96x96" />
<link rel="icon" type="image/svg+xml" href="/favicon/favicon.svg" />