Archived
Antwortzeit: "spätestens am nächsten Werktag" statt 24 Stunden
index.html (Meta-Beschreibung), Standard-Beschreibung im Meta-Hook, Startseiten-Meta, Kontaktseite (Meta, Einleitung) und Erfolgsmeldung des Formulars versprechen jetzt nur noch eine Antwort spätestens am nächsten Werktag. Weitere 24-Stunden-Versprechen gibt es im Quelltext nicht. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b897ae834f
commit
f337102c7a
5 files changed
+55
-6
No files matched your search
+1
-1
@@ -28,7 +28,7 @@
|
|||||||
<title>WEBklar – Webagentur für KMU | Digitalisierung & Automatisierung</title>
|
<title>WEBklar – Webagentur für KMU | Digitalisierung & Automatisierung</title>
|
||||||
<meta
|
<meta
|
||||||
name="description"
|
name="description"
|
||||||
content="WEBklar digitalisiert KMU: Website, Prozesse und Systeme aus einer Hand. Kostenlose Potenzialanalyse – Antwort innerhalb von 24 Stunden."
|
content="WEBklar digitalisiert KMU: Website, Prozesse und Systeme aus einer Hand. Kostenlose Potenzialanalyse – Antwort spätestens am nächsten Werktag."
|
||||||
/>
|
/>
|
||||||
<meta name="author" content="WEBklar" />
|
<meta name="author" content="WEBklar" />
|
||||||
<link rel="canonical" href="https://webklar.com/" />
|
<link rel="canonical" href="https://webklar.com/" />
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { useEffect } from "react";
|
|||||||
const SITE_NAME = "WEBklar";
|
const SITE_NAME = "WEBklar";
|
||||||
const DEFAULT_TITLE = `${SITE_NAME} – Webagentur für KMU`;
|
const DEFAULT_TITLE = `${SITE_NAME} – Webagentur für KMU`;
|
||||||
const DEFAULT_DESCRIPTION =
|
const DEFAULT_DESCRIPTION =
|
||||||
"WEBklar digitalisiert KMU: Website, Prozesse und Systeme aus einer Hand. Kostenlose Potenzialanalyse – Antwort innerhalb von 24 Stunden.";
|
"WEBklar digitalisiert KMU: Website, Prozesse und Systeme aus einer Hand. Kostenlose Potenzialanalyse – Antwort spätestens am nächsten Werktag.";
|
||||||
|
|
||||||
function setMetaTag(
|
function setMetaTag(
|
||||||
attribute: "name" | "property",
|
attribute: "name" | "property",
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import { usePageMeta } from "@/hooks/use-page-meta";
|
|||||||
const Contact = () => {
|
const Contact = () => {
|
||||||
usePageMeta(
|
usePageMeta(
|
||||||
"Kontakt & Potenzialanalyse",
|
"Kontakt & Potenzialanalyse",
|
||||||
"Beschreiben Sie Ihr Projekt – WEBklar meldet sich innerhalb von 24 Stunden mit den nächsten Schritten. Unverbindlich und kostenlos."
|
"Beschreiben Sie Ihr Projekt – WEBklar meldet sich spätestens am nächsten Werktag mit den nächsten Schritten. Unverbindlich und kostenlos."
|
||||||
);
|
);
|
||||||
|
|
||||||
const { toast } = useToast();
|
const { toast } = useToast();
|
||||||
@@ -42,7 +42,7 @@ const Contact = () => {
|
|||||||
trackFormSubmitted("contact");
|
trackFormSubmitted("contact");
|
||||||
toast({
|
toast({
|
||||||
title: "Nachricht gesendet!",
|
title: "Nachricht gesendet!",
|
||||||
description: "Wir melden uns innerhalb von 24 Stunden bei Ihnen.",
|
description: "Wir melden uns spätestens am nächsten Werktag bei Ihnen.",
|
||||||
});
|
});
|
||||||
setFormData({ name: "", email: "", company: "", message: "" });
|
setFormData({ name: "", email: "", company: "", message: "" });
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
@@ -95,7 +95,7 @@ const Contact = () => {
|
|||||||
</h1>
|
</h1>
|
||||||
<p className="text-muted-foreground text-lg">
|
<p className="text-muted-foreground text-lg">
|
||||||
Kurz Ihr Ziel beschreiben – wir prüfen, wo Website, Automatisierung
|
Kurz Ihr Ziel beschreiben – wir prüfen, wo Website, Automatisierung
|
||||||
oder Vernetzung den größten Hebel haben. Antwort innerhalb von 24 Stunden,
|
oder Vernetzung den größten Hebel haben. Antwort spätestens am nächsten Werktag,
|
||||||
unverbindlich.
|
unverbindlich.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+1
-1
@@ -13,7 +13,7 @@ import { usePageMeta } from "@/hooks/use-page-meta";
|
|||||||
const Index = () => {
|
const Index = () => {
|
||||||
usePageMeta(
|
usePageMeta(
|
||||||
"WEBklar – Webagentur für KMU",
|
"WEBklar – Webagentur für KMU",
|
||||||
"WEBklar digitalisiert KMU: Website, Prozesse und Systeme aus einer Hand. Kostenlose Potenzialanalyse – Antwort innerhalb von 24 Stunden."
|
"WEBklar digitalisiert KMU: Website, Prozesse und Systeme aus einer Hand. Kostenlose Potenzialanalyse – Antwort spätestens am nächsten Werktag."
|
||||||
);
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -159,3 +159,52 @@ describe("B3 Eine Telefonnummer überall", () => {
|
|||||||
expect(screen.getByRole("link", { name: TELEFON })).toHaveAttribute("href", TELEFON_HREF);
|
expect(screen.getByRole("link", { name: TELEFON })).toHaveAttribute("href", TELEFON_HREF);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("B4 Antwortzeit: spätestens am nächsten Werktag", () => {
|
||||||
|
const STARTSEITE =
|
||||||
|
"WEBklar digitalisiert KMU: Website, Prozesse und Systeme aus einer Hand. Kostenlose Potenzialanalyse – Antwort spätestens am nächsten Werktag.";
|
||||||
|
const KONTAKT =
|
||||||
|
"Beschreiben Sie Ihr Projekt – WEBklar meldet sich spätestens am nächsten Werktag mit den nächsten Schritten. Unverbindlich und kostenlos.";
|
||||||
|
|
||||||
|
it("kein 24-Stunden-Versprechen mehr in Quelltext und index.html (Tailwind-Klassen wie mt-24 h-48 zählen nicht)", () => {
|
||||||
|
expect(vorkommen(/(?<![\w-])24[\s-]*(Stunden|Std\b|h(?![\w-]))/i)).toEqual([]);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("index.html: Beschreibung mit der neuen Antwortzeit", () => {
|
||||||
|
expect(lies("index.html")).toContain(`content="${STARTSEITE}"`);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("Standard-Beschreibung des Meta-Hooks und der Startseite", () => {
|
||||||
|
const Probe = () => {
|
||||||
|
usePageMeta("Probe");
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
render(<Probe />);
|
||||||
|
expect(meta("description")).toBe(STARTSEITE);
|
||||||
|
cleanup();
|
||||||
|
seite("/");
|
||||||
|
expect(meta("description")).toBe(STARTSEITE);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("Kontaktseite: Meta-Beschreibung und Einleitung", () => {
|
||||||
|
seite("/kontakt");
|
||||||
|
expect(meta("description")).toBe(KONTAKT);
|
||||||
|
expect(screen.getByText(/den größten Hebel haben\./)).toHaveTextContent(
|
||||||
|
"den größten Hebel haben. Antwort spätestens am nächsten Werktag, unverbindlich.",
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("Kontaktformular: Erfolgsmeldung mit der neuen Antwortzeit", async () => {
|
||||||
|
render(
|
||||||
|
<MemoryRouter initialEntries={["/kontakt"]} future={routerFuture}>
|
||||||
|
<AppRoutes />
|
||||||
|
<Toaster />
|
||||||
|
</MemoryRouter>,
|
||||||
|
);
|
||||||
|
fireEvent.change(screen.getByLabelText(/^Name/), { target: { value: "Erika Muster" } });
|
||||||
|
fireEvent.change(screen.getByLabelText(/^E-Mail/), { target: { value: "erika@example.de" } });
|
||||||
|
fireEvent.change(screen.getByLabelText(/^Nachricht/), { target: { value: "Wir brauchen eine neue Website." } });
|
||||||
|
fireEvent.click(screen.getByRole("button", { name: /Nachricht senden/ }));
|
||||||
|
expect(await screen.findByText("Wir melden uns spätestens am nächsten Werktag bei Ihnen.")).toBeInTheDocument();
|
||||||
|
});
|
||||||
|
});
|
||||||
Reference in new issue
Block a user