Uansett valg deler vi aldri dine data med andre. Mer om informasjonskapsler på aksel.nav.no

  • Godta alle: Hjelper oss gjøre tjenestene bedre for deg basert på anonymisert bruk.
  • Bare nødvendige: Sikrer at tjenesten fungerer og er trygg. Kan ikke velges bort.
Hopp til innhold
Aksel

Søk

Ctrl+K for å søkeEsc for å lukke

Aksel

Designsystemet
God praksisBloggen

Maler

5XX-side

StabilOppdatert 9. mai 2025

500 er en feilside som vises når det skjer en teknisk feil som ligger utenfor klienten. Siden er viktig for å informere besøkende om feilen og hvordan de kan komme seg videre.

Varianter

I sin fullstendige form kan en 500-side inneholde tittel, feilmelding, løsningsforslag, tilbakemeldingsfunksjon, feil-id, CTA og flere språk.

Sandbox
Åpne eksempel i nytt vindu
TSX
import React, { useEffect } from "react";
import {
BodyShort,
Box,
Button,
HGrid,
Heading,
Link,
List,
Page,
VStack,
} from "@navikt/ds-react";
function Example() {
useDekorator();
return (
<Page footer={<Footer />}>
<Header />
<Page.Block as="main" width="xl" gutters>
<Box paddingBlock="20 8">
<HGrid columns="minmax(auto,600px)" data-aksel-template="500-v2">
<VStack gap="16">
<VStack gap="12" align="start">
<div>
<BodyShort textColor="subtle" size="small">
Statuskode 500
</BodyShort>
<Heading level="1" size="large" spacing>
Beklager, noe gikk galt.
</Heading>
{/* Tekster bør tilpasses den aktuelle 500-feilen. Teksten under er for en generisk 500-feil. */}
<BodyShort spacing>
En teknisk feil på våre servere gjør at siden er
utilgjengelig. Dette skyldes ikke noe du gjorde.
</BodyShort>
<BodyShort>Du kan prøve å</BodyShort>
<List>
<List.Item>
vente noen minutter og{" "}
{/* Husk at POST-data går tapt når man reloader med JS. For å unngå dette kan dere
fjerne lenken (men beholde teksten) slik at man må bruke nettleserens reload-knapp. */}
<Link href="#" onClick={() => location.reload()}>
laste siden på nytt
</Link>
</List.Item>
<List.Item>
{/* Vurder å sjekke at window.history.length > 1 før dere rendrer dette som en lenke */}
<Link href="#" onClick={() => history.back()}>
gå tilbake til forrige side
</Link>
</List.Item>
</List>
<BodyShort>
Hvis problemet vedvarer, kan du{" "}
{/* https://nav.no/kontaktoss for eksterne flater */}
<Link href="#" target="_blank">
kontakte oss (åpnes i ny fane)
</Link>
.
</BodyShort>
</div>
<BodyShort size="small" textColor="subtle">
Feil-id: 12345678-9123-4567-8912-345678912345
</BodyShort>
<Button>Gå til Min side</Button>
</VStack>
<div>
<Heading level="1" size="large" spacing>
Something went wrong
</Heading>
<BodyShort spacing>
This was caused by a technical fault on our servers. Please
refresh this page or try again in a few minutes.{" "}
</BodyShort>
<BodyShort>
{/* https://www.nav.no/kontaktoss/en for eksterne flater */}
<Link target="_blank" href="#">
Contact us (opens in new tab)
</Link>{" "}
if the problem persists.
</BodyShort>
</div>
</VStack>
</HGrid>
</Box>
</Page.Block>
<Env />
</Page>
);
}
function Header() {
return <div id="decorator-header" />;
}
function Footer() {
return <div id="decorator-footer" />;
}
const MILJO_URL = "https://www.nav.no/dekoratoren";
function Env({ languages }: { languages?: { locale: string; url: string }[] }) {
return (
<div
id="decorator-env"
data-src={`${MILJO_URL}/env?context=privatperson&simple=true${
languages
? `&availableLanguages=[${languages
.map((language) => JSON.stringify(language))
.join(",")}]`
: ""
}`}
/>
);
}
/**
* OBS: Dette er ikke anbefalt metode for å laste dekoratør!
* Se `nav-dekoratoren`-dokumentasjon for riktig implementasjon
* @see https://github.com/navikt/nav-dekoratoren
*/
function useDekorator() {
useEffect(() => {
const script = document.createElement("script");
script.src = `${MILJO_URL}/client.js`;
script.async = true;
document.body.appendChild(script);
const styles = document.createElement("link");
styles.href = `${MILJO_URL}/css/client.css`;
styles.rel = "stylesheet";
document.head.appendChild(styles);
return () => {
document.body.removeChild(script);
document.head.removeChild(styles);
};
}, []);
}

Om malen

Denne malen er designet for å være enkel å implementere og tilpasse etter dine behov. Den inneholder grunnleggende elementer som en tittel, en feilmelding og en liste med forslag til å komme seg videre. Designet er rent og minimalistisk, noe som gjør det lett for brukerne å forstå meldingen.

Unngå tekniske feil

Så langt det er mulig bør man tilrettelegge løsningen sin for at besøkende ikke ender opp på 5XX-sider. De fleste 5XX-koder bør håndteres i bakgrunnen uten at besøkende trenger å forholde seg til dem.

Error Boundaries er en enkel og effektiv måte å sikre "Graceful Degradation" av løsningen din. La deler av løsningen feile i isolasjon uten at det påvirker resten av applikasjonen. Dette sammen med gode testrutiner og monitorering gjør at besøkende forhåpentligvis aldri vil se denne malen i praksis.

Brukes til

I noen tilfeller vil bruker treffe på ikke-håndterte tekniske feil, forårsaket enten i klienten eller på serveren. Da er det viktig å informere besøkende om feilen, gi de et hint om hva som kan ha forårsaket den og hvordan de kan komme seg videre. Det er flere typer tekniske feil og 5XX-koder, men konsekvensen for brukeren er det samme.

I alle disse situasjonene vil 5XX-siden gi brukeren beskjed om at noe har gått galt, og at det ikke er deres feil. Linker og knapper på siden vil veilede dem videre. Ved å bruke malen kan du sikre at selv i møte med feil, vil brukerne ha en ok opplevelse.

Faste deler

DelForklaring
TittelH1
FeilmeldingStandard feilmelding for 5XX, eller teknisk feil
Liste med løsningsforslagStandard liste med ting bruker kan gjøre for å komme seg videre

Valgfrie deler

DelForklaring
CTA-knappKnappen lenker til et område som brukeren kan navigere til
Feil-IDEn streng som identifiserer feilen, som kan brukes til feilsøking. Bør reflektere logger.
Feilmelding på engelskOm 500-siden er på engelsk, kan denne teksten fjernes

Eksempel på bruk

Send oss eksempler på malen brukt i det fri som vi kan lenke til her.

Endringer

DatoVersjonEndringer
27.11.20231Publiserte varianter for enkel, komplett, feil-id, CTA, uten dekoratøren, og flere språk
07.12.20232La til lenker på 'laste siden på nytt' og 'gå tilbake til forrige side', samt la til maksbredde.