Merge pull request 'Added SEO Basics' (#3) from seo-basics into main
Reviewed-on: #3 Reviewed-by: Fiona Lena Urban <fiona@webfussel.de>
This commit is contained in:
commit
bb346773bd
9 changed files with 337 additions and 9 deletions
|
@ -1,6 +1,7 @@
|
|||
:root {
|
||||
--padding-default: 1rem;
|
||||
--padding-small: 0.5rem;
|
||||
--padding-large: 2rem;
|
||||
--radius-default: 3px;
|
||||
--transition-default: 150ms;
|
||||
|
||||
|
@ -206,7 +207,3 @@ dialog {
|
|||
background: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
}
|
||||
|
||||
.Legal {
|
||||
padding: var(--padding-default);
|
||||
}
|
|
@ -53,6 +53,10 @@
|
|||
height: 100%;
|
||||
}
|
||||
|
||||
.content-text {
|
||||
padding: var(--padding-large) var(--padding-default) var(--padding-default);
|
||||
}
|
||||
|
||||
.info-text {
|
||||
padding: 0 var(--padding-default);
|
||||
text-align: center;
|
||||
|
@ -61,3 +65,7 @@
|
|||
transform: translateY(-50%);
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.Legal {
|
||||
padding: var(--padding-large) var(--padding-default);
|
||||
}
|
|
@ -1,6 +1,8 @@
|
|||
<template>
|
||||
<div class="Header">
|
||||
<NuxtLink class="header-text" to="/">
|
||||
<img class="logo" src="/img/propapier.svg" alt="ProPapier logo" />
|
||||
</NuxtLink>
|
||||
<div>
|
||||
<header class="roboto-condensed">
|
||||
<NuxtLink class="header-text" to="/">
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<template>
|
||||
<div>
|
||||
<section class="Legal flex-col gap-default content full">
|
||||
<h1>Impressum</h1>
|
||||
<div>
|
||||
<p>
|
||||
Fiona Lena Urban<br/>
|
||||
|
|
|
@ -18,6 +18,9 @@
|
|||
</div>
|
||||
</Teleport>
|
||||
<section class="content flex-col">
|
||||
<div class="content-text">
|
||||
<h1>Mit ProPapier Preise vergleichen und sparen</h1>
|
||||
</div>
|
||||
<aside class="filter-bar">
|
||||
<button v-for="(button, index) in filterButtons" @click="() => sort(index)" :class="{ 'active': button.active }">
|
||||
{{ button.label }}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<template>
|
||||
<section class="Legal flex-col gap-default content full">
|
||||
<h3>
|
||||
<h1>
|
||||
Datenschutzerklärung
|
||||
</h3>
|
||||
</h1>
|
||||
<p>
|
||||
Wir senden keinerlei Daten an Drittanbieter.
|
||||
</p>
|
||||
|
|
|
@ -36,7 +36,7 @@ export default defineNuxtConfig({
|
|||
'/privacy': { prerender: true },
|
||||
},
|
||||
|
||||
modules: ['@nuxt/icon', '@vueuse/nuxt', '@nuxtjs/device', '@nuxt/fonts'],
|
||||
modules: ['@nuxt/icon', '@vueuse/nuxt', '@nuxtjs/device', '@nuxt/fonts', 'nuxt-seo-utils'],
|
||||
|
||||
css : [
|
||||
'./app/assets/styles/general.css',
|
||||
|
@ -49,5 +49,37 @@ export default defineNuxtConfig({
|
|||
'./app/assets/styles/form/search.css',
|
||||
'./app/assets/styles/toolbar.css',
|
||||
'./app/assets/styles/page.css',
|
||||
]
|
||||
],
|
||||
|
||||
site: {
|
||||
url: 'https://pro-papier.de',
|
||||
name: 'ProPapier',
|
||||
},
|
||||
|
||||
seo: {
|
||||
meta: {
|
||||
title: 'ProPapier',
|
||||
description: '"Bezahlt du zuviel fürs Papier? Vergleiche schnell und unkompliziert die Preise für Toiletten-, Küchen- und andere Papier hier."',
|
||||
themeColor: [
|
||||
{ content: '#18181b', media: '(prefers-color-scheme: dark)' },
|
||||
{ content: 'white', media: '(prefers-color-scheme: light)' },
|
||||
],
|
||||
twitterCreator: '@webfussel',
|
||||
twitterSite: '@propapier',
|
||||
author: 'webfussel',
|
||||
colorScheme: 'dark light',
|
||||
applicationName: 'ProPapier',
|
||||
|
||||
// Nuxt SEO Utils already sets the below tags for you
|
||||
ogSiteName: 'Propapier',
|
||||
ogLocale: 'de_DE',
|
||||
ogType: 'website',
|
||||
ogUrl: 'https://pro-papier.de',
|
||||
ogTitle: 'ProPapier',
|
||||
|
||||
// Other Nuxt SEO modules handles these
|
||||
ogImage: 'https://example.com/my-og-image.png',
|
||||
robots: 'index, follow',
|
||||
}
|
||||
},
|
||||
})
|
284
package-lock.json
generated
284
package-lock.json
generated
|
@ -14,6 +14,7 @@
|
|||
"@nuxtjs/device": "^3.2.4",
|
||||
"@vueuse/nuxt": "^13.1.0",
|
||||
"nuxt": "^3.16.2",
|
||||
"nuxt-seo-utils": "^7.0.11",
|
||||
"vue": "latest",
|
||||
"vue-router": "latest"
|
||||
}
|
||||
|
@ -4173,6 +4174,24 @@
|
|||
"url": "https://opencollective.com/typescript-eslint"
|
||||
}
|
||||
},
|
||||
"node_modules/@unhead/addons": {
|
||||
"version": "2.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@unhead/addons/-/addons-2.0.8.tgz",
|
||||
"integrity": "sha512-FnFBo10ot3flopxgZYUjnJ+r4voZ7/wiPaOod5evShy/3NtC4aIZdma4JLcpt+HtBs9l4zH4SVneYWFrTRXVtg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@rollup/pluginutils": "^5.1.4",
|
||||
"estree-walker": "^3.0.3",
|
||||
"magic-string": "^0.30.17",
|
||||
"mlly": "^1.7.4",
|
||||
"ufo": "^1.6.1",
|
||||
"unplugin": "^2.3.2",
|
||||
"unplugin-ast": "^0.14.6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/harlan-zw"
|
||||
}
|
||||
},
|
||||
"node_modules/@unhead/vue": {
|
||||
"version": "2.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-2.0.8.tgz",
|
||||
|
@ -7623,6 +7642,18 @@
|
|||
"integrity": "sha512-K6acvFaelNxx8wc2VjbIzXKDVB0Khs0QT35U6NkGfTdCmjLNcO2945m7RFNR9/RPVFm48hq7QPzK8uGH18HCGw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/image-size": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.2.tgz",
|
||||
"integrity": "sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==",
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"image-size": "bin/image-size.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.x"
|
||||
}
|
||||
},
|
||||
"node_modules/impound": {
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/impound/-/impound-0.2.2.tgz",
|
||||
|
@ -9130,6 +9161,211 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"node_modules/nuxt-seo-utils": {
|
||||
"version": "7.0.11",
|
||||
"resolved": "https://registry.npmjs.org/nuxt-seo-utils/-/nuxt-seo-utils-7.0.11.tgz",
|
||||
"integrity": "sha512-uqk9vcsbwRCoaV/fnBr9x26rQ2kA6xI08VIWLluqRvgBsexExu0ADTP1kQ/mNGePCf9GNQKQo/8fksg9dKGAAA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@nuxt/kit": "^3.17.1",
|
||||
"@unhead/addons": "^2.0.8",
|
||||
"defu": "^6.1.4",
|
||||
"escape-string-regexp": "^5.0.0",
|
||||
"fast-glob": "^3.3.3",
|
||||
"image-size": "^2.0.2",
|
||||
"nuxt-site-config": "^3.1.9",
|
||||
"pathe": "^2.0.3",
|
||||
"pkg-types": "^2.1.0",
|
||||
"scule": "^1.3.0",
|
||||
"semver": "^7.7.1",
|
||||
"ufo": "^1.6.1"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/harlan-zw"
|
||||
}
|
||||
},
|
||||
"node_modules/nuxt-seo-utils/node_modules/@nuxt/kit": {
|
||||
"version": "3.17.2",
|
||||
"resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.17.2.tgz",
|
||||
"integrity": "sha512-Mz2Ni8iUwty5LBs3LepUL43rI2xXbuAz3Cqq37L9frOD2QI2tQUtasYaSoKk6U7nvYzuW2z/2b3YOLkMNi/k2w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"c12": "^3.0.3",
|
||||
"consola": "^3.4.2",
|
||||
"defu": "^6.1.4",
|
||||
"destr": "^2.0.5",
|
||||
"errx": "^0.1.0",
|
||||
"exsolve": "^1.0.5",
|
||||
"ignore": "^7.0.4",
|
||||
"jiti": "^2.4.2",
|
||||
"klona": "^2.0.6",
|
||||
"knitwork": "^1.2.0",
|
||||
"mlly": "^1.7.4",
|
||||
"ohash": "^2.0.11",
|
||||
"pathe": "^2.0.3",
|
||||
"pkg-types": "^2.1.0",
|
||||
"scule": "^1.3.0",
|
||||
"semver": "^7.7.1",
|
||||
"std-env": "^3.9.0",
|
||||
"tinyglobby": "^0.2.13",
|
||||
"ufo": "^1.6.1",
|
||||
"unctx": "^2.4.1",
|
||||
"unimport": "^5.0.1",
|
||||
"untyped": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/nuxt-seo-utils/node_modules/confbox": {
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
|
||||
"integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/nuxt-seo-utils/node_modules/local-pkg": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz",
|
||||
"integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"mlly": "^1.7.4",
|
||||
"pkg-types": "^2.0.1",
|
||||
"quansync": "^0.2.8"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/antfu"
|
||||
}
|
||||
},
|
||||
"node_modules/nuxt-seo-utils/node_modules/ohash": {
|
||||
"version": "2.0.11",
|
||||
"resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz",
|
||||
"integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/nuxt-seo-utils/node_modules/pkg-types": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.1.0.tgz",
|
||||
"integrity": "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"confbox": "^0.2.1",
|
||||
"exsolve": "^1.0.1",
|
||||
"pathe": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/nuxt-seo-utils/node_modules/tinyglobby": {
|
||||
"version": "0.2.13",
|
||||
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz",
|
||||
"integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"fdir": "^6.4.4",
|
||||
"picomatch": "^4.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/SuperchupuDev"
|
||||
}
|
||||
},
|
||||
"node_modules/nuxt-seo-utils/node_modules/unimport": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/unimport/-/unimport-5.0.1.tgz",
|
||||
"integrity": "sha512-1YWzPj6wYhtwHE+9LxRlyqP4DiRrhGfJxdtH475im8ktyZXO3jHj/3PZ97zDdvkYoovFdi0K4SKl3a7l92v3sQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"acorn": "^8.14.1",
|
||||
"escape-string-regexp": "^5.0.0",
|
||||
"estree-walker": "^3.0.3",
|
||||
"local-pkg": "^1.1.1",
|
||||
"magic-string": "^0.30.17",
|
||||
"mlly": "^1.7.4",
|
||||
"pathe": "^2.0.3",
|
||||
"picomatch": "^4.0.2",
|
||||
"pkg-types": "^2.1.0",
|
||||
"scule": "^1.3.0",
|
||||
"strip-literal": "^3.0.0",
|
||||
"tinyglobby": "^0.2.13",
|
||||
"unplugin": "^2.3.2",
|
||||
"unplugin-utils": "^0.2.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/nuxt-site-config": {
|
||||
"version": "3.1.9",
|
||||
"resolved": "https://registry.npmjs.org/nuxt-site-config/-/nuxt-site-config-3.1.9.tgz",
|
||||
"integrity": "sha512-YB69GX0st8drv1d5xypweseiEWeR22tfGdyVH3U4R+mpUSz8paBx48ArKC6MgV22DKItoQm51LVoapF5pl5bEQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@nuxt/kit": "^3.16.2",
|
||||
"nuxt-site-config-kit": "3.1.9",
|
||||
"pathe": "^2.0.3",
|
||||
"pkg-types": "^2.1.0",
|
||||
"sirv": "^3.0.1",
|
||||
"site-config-stack": "3.1.9",
|
||||
"ufo": "^1.5.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/harlan-zw"
|
||||
}
|
||||
},
|
||||
"node_modules/nuxt-site-config-kit": {
|
||||
"version": "3.1.9",
|
||||
"resolved": "https://registry.npmjs.org/nuxt-site-config-kit/-/nuxt-site-config-kit-3.1.9.tgz",
|
||||
"integrity": "sha512-bcmpajYJgkNzA0jTq6CmmhKF2wHZUUKeVx/CIGI8lwWuAD81EBUZN0T4iKvVDo54g9UBrUUl8/5GhD65YBBG0A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@nuxt/kit": "^3.16.2",
|
||||
"pkg-types": "^2.1.0",
|
||||
"site-config-stack": "3.1.9",
|
||||
"std-env": "^3.9.0",
|
||||
"ufo": "^1.5.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/harlan-zw"
|
||||
}
|
||||
},
|
||||
"node_modules/nuxt-site-config-kit/node_modules/confbox": {
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
|
||||
"integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/nuxt-site-config-kit/node_modules/pkg-types": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.1.0.tgz",
|
||||
"integrity": "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"confbox": "^0.2.1",
|
||||
"exsolve": "^1.0.1",
|
||||
"pathe": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/nuxt-site-config/node_modules/confbox": {
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
|
||||
"integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/nuxt-site-config/node_modules/pkg-types": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.1.0.tgz",
|
||||
"integrity": "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"confbox": "^0.2.1",
|
||||
"exsolve": "^1.0.1",
|
||||
"pathe": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/nuxt/node_modules/confbox": {
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
|
||||
|
@ -10978,6 +11214,21 @@
|
|||
"integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/site-config-stack": {
|
||||
"version": "3.1.9",
|
||||
"resolved": "https://registry.npmjs.org/site-config-stack/-/site-config-stack-3.1.9.tgz",
|
||||
"integrity": "sha512-ed53+wLi+36SGqidU+YUpl7f1OHClPLmvUJ/aYZny1dCBnXvOsuFottrMkXDIK2N5UaMED9mz8KrRZTk94ARCg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ufo": "^1.5.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/harlan-zw"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": "^3"
|
||||
}
|
||||
},
|
||||
"node_modules/slash": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
|
||||
|
@ -11859,6 +12110,39 @@
|
|||
"node": ">=18.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/unplugin-ast": {
|
||||
"version": "0.14.6",
|
||||
"resolved": "https://registry.npmjs.org/unplugin-ast/-/unplugin-ast-0.14.6.tgz",
|
||||
"integrity": "sha512-HdntpxAN8fWyJ28n8iRkRrez9UrxTPda27XzdEkI8tz0Cn0+fLrnN+8qHqHlzRWXxSPVP7M9eEJ5MeMwbbhy4g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/generator": "^7.27.0",
|
||||
"ast-kit": "^1.4.2",
|
||||
"magic-string-ast": "^0.9.1",
|
||||
"unplugin": "^2.3.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.12.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sxzz"
|
||||
}
|
||||
},
|
||||
"node_modules/unplugin-ast/node_modules/magic-string-ast": {
|
||||
"version": "0.9.1",
|
||||
"resolved": "https://registry.npmjs.org/magic-string-ast/-/magic-string-ast-0.9.1.tgz",
|
||||
"integrity": "sha512-18dv2ZlSSgJ/jDWlZGKfnDJx56ilNlYq9F7NnwuWTErsmYmqJ2TWE4l1o2zlUHBYUGBy3tIhPCC1gxq8M5HkMA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"magic-string": "^0.30.17"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.18.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sxzz"
|
||||
}
|
||||
},
|
||||
"node_modules/unplugin-utils": {
|
||||
"version": "0.2.4",
|
||||
"resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.2.4.tgz",
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
"@nuxtjs/device": "^3.2.4",
|
||||
"@vueuse/nuxt": "^13.1.0",
|
||||
"nuxt": "^3.16.2",
|
||||
"nuxt-seo-utils": "^7.0.11",
|
||||
"vue": "latest",
|
||||
"vue-router": "latest"
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue