# Website

## Hvad det er

Et website er en samling websider, der udgives sammen under én adresse og
passes af én ejer: en virksomheds sider, en webshop, en samling dokumentation,
en personlig blog. Siderne deler et domæne eller en del af et, en navigation,
et udtryk og en person, der står til ansvar for dem. I daglig tale hedder det
ofte bare sitet, og det danske ord websted betyder det samme.

Den nyttige grænse går mellem sitet og siden. WCAG definerer en webside som en
ikke-indlejret ressource, hentet fra én enkelt URI over HTTP, sammen med alt
det, en user agent viser sammen med den, for eksempel billeder, stylesheets og
scripts. Standardens ord for et website er et _set of web pages_, et sæt
websider: sider, der har et fælles formål og kommer fra den samme forfatter,
gruppe eller organisation. Den anden definition er den mest ærlige, fordi den
binder sitet til formål og afsender frem for til et domænenavn.

Eksemplerne ved definitionen viser, hvor langt tanken rækker. En webshops
betalingsforløb, hvor den navigation, produktsiderne deler, er fjernet, hører
ikke til sættet af produktsider. En blog på et subdomæne med sin egen
navigation og sine egne forfattere er et andet sæt end siderne på
hoveddomænet. Og forskellige sprogversioner af de samme sider tæller som
forskellige sæt. Tre domæner kan altså rumme ét website, og ét domæne kan rumme
flere.

Tre naboer bliver ofte forvekslet med et website. En _webserver_ er programmet,
der svarer på forespørgsler; én server kan rumme snesevis af sites, og ét stort
site kan være fordelt på mange servere. Et _domæne_ er navnet i adressen, som
et site kan dele med andre eller sprede over flere. En _webapplikation_ er et
site, hvis sider for det meste er et program, der kører i browseren. WCAG's
eget eksempel er et webmailprogram, der bor på én adresse og alligevel viser
indbakke, kontakter og kalender, så én URI føles som mange sider.

Sites adskiller sig også i, hvornår siderne bliver lavet. Et _statisk_ site
genereres på forhånd til filer, som en server udleverer uændret. Et _dynamisk_
site bygger hver side, når den bliver efterspurgt, som regel ud fra en database
og et program på serveren. Læseren kan sjældent se forskel på selve siden.
Forskellen viser sig i, hvad der skal holdes kørende.

## Hvorfor det betyder noget

Folk bedømmer sites, ikke sider. En læser, der lander på én artikel fra et
søgeresultat, afgør ud fra menuen, nabosiderne og kontaktoplysningerne, om den
er til at stole på. En stærk side på et site, der ser forladt ud, arver det
forladte.

**Søgemaskiner læser sitet som en helhed.** De indekserer sider én ad gangen,
men lærer dem at kende gennem sitet: dets links, dets struktur og den liste
over adresser, det selv udgiver. Sitemap-protokollen, formatet et site bruger
til at give den liste til crawlere, tillader op til 50.000 adresser og 50 MB
ukomprimeret pr. fil, og et større site deler listen op i flere filer samlet i
et indeks.

**Nogle tilgængelighedskrav findes kun på tværs af sider.** Tre succeskriterier
i WCAG 2.2 på niveau AA handler om et sæt websider. Multiple Ways (2.4.5)
kræver mere end én vej til hver side, for eksempel en menu og en søgning eller
en indholdsfortegnelse og links mellem beslægtede sider. Consistent Navigation
(3.2.3) kræver, at navigation, der går igen på flere sider, står i den samme
indbyrdes rækkefølge hver gang. Consistent Identification (3.2.4) kræver, at
komponenter med samme funktion har samme navn overalt. Hver side kan bestå en
kontrol for sig, mens sitet dumper på alle tre.

**Adresser er et løfte.** Hver udgivet adresse havner i bogmærker, andres
links, søgeindekser, e-mails og trykte materialer. Listen over et sites
adresser er den del, udenforstående bygger videre på, og den lever længere end
ethvert design.

**Noget skal holdes kørende.** Et dynamisk site er et program med en database
bag, som skal opdateres, overvåges og betales for hver måned. Et statisk site
er en mappe med filer og en server, der udleverer dem. Det valg bestemmer
angrebsfladen og driftsregningen langt mere end det visuelle design.

## Sådan ser det ud i praksis

Dette website er selv et eksempel på definitionerne ovenfor. Bygget som
[et flersproget statisk site i Hugo](/da/portfolio/built-a-multilingual-static-site-in-hugo-126/)
består det af 108 skabelonfiler, heraf 53 partials og 18 shortcodes, og
genererer tre sprog fra ét indholdstræ uden en backend i drift. Hver side
udgives i fire repræsentationer: HTML, en Markdown-tvilling, et Gemini-dokument
og en Gopher-menupost. Det samme træ bygges syv gange til, én gang pr. fokuseret
subdomæne, ved at pege generatoren på en anden indholdsmappe. Talt i adresser er
det otte sites; talt på WCAG's måde, hvor hvert sprog er sit eget sæt websider,
er de tre sprog alene tre. Siden lægger åbent frem, hvad det koster at undvære
en server: alt interaktivt løses på byggetidspunktet eller udelades, og et
søgeindeks blev prissat og lagt på hylden af den grund.

Det tidligere arbejde viser jobbets to andre halvdele: at drive sites og at
bygge dem efter et design. På driftssiden kørte
[fyrre websites på Ubuntu Linux-hostingservere](/da/portfolio/administered-40-websites-on-ubuntu-linux-hosting-servers-53/)
på en blanding af Apache og Nginx og blev holdt tilgængelige og hurtige gennem
konfiguration, ydeevneoptimering og vedligeholdelse. Målestokken var, hvordan de
opførte sig under reel trafik, ikke på en stille nat.

På byggesiden blev
[tredive websites designet ud fra Photoshop-filer](/da/portfolio/designed-30-websites-delivering-unique-and-flexible-solutions-52/)
og håndkodet i HTML efter to krav på én gang: tro mod de afstande, den typografi
og de detaljer, designeren havde tænkt sig, og stadig til at vedligeholde, når
indholdet begyndte at ændre sig. Et site, der svarer nøjagtigt til sin mockup og
går i stykker ved første redigering, er bygget til lanceringsdagen og ikke til
årene efter.

## Hvor det går galt

- **Et redesign ændrer adresserne.** Hvert indgående link, bogmærke og
  søgeresultat, der pegede på den gamle struktur, lander på en fejlside den
  dag, det nye site går i luften. En permanent omdirigering fra hver gammel
  adresse til dens nye hjem, bevaret i årevis, redder det, andre har bygget på.
- **Navigationen glider fra afsnit til afsnit.** Skabeloner skrevet på
  forskellige tidspunkter får hver deres menu i hver deres rækkefølge, og den
  samme side hedder »Kontakt« ét sted og »Skriv til os« et andet. Læserne
  mister orienteringen, og sitet dumper på Consistent Navigation og Consistent
  Identification, selv om hver side består for sig. Én fælles
  navigationsskabelon, brugt overalt, fjerner afvigelsen ved kilden.
- **Sitet betragtes som færdigt ved lanceringen.** Indholdet bliver forældet,
  afhængigheder ældes, certifikater udløber, og den ene person, der vidste,
  hvordan man udgiver, går videre. Et site holder, når det har en ejer, en fast
  udgivelsesrutine og tjek, der kører, uanset om nogen husker dem.
- **En side kan kun nås ad én vej.** En side gemt tre menuer nede og udeladt
  af alle oversigter bliver fundet af sin forfatter og meget få andre. En vej
  mere, hvad enten det er en søgning, et sitemap eller links fra beslægtede
  sider, er det, Multiple Ways kræver, og det, læserne alligevel griber efter.
- **Et ekstra sprog bliver skruet på efter lanceringen.** Adresser, datoer,
  talformater, tekstlængder og menuer blev alle formet efter ét sprog, og det
  nye må kæmpe med hver eneste skabelon. Et site, der skal være flersproget, er
  billigere at bygge sådan fra første side.

## Læs mere

- [NIST CSRC Glossary: website](https://csrc.nist.gov/glossary/term/website)
  — en definition på én linje fra NISTIR 7693: beslægtede websider, der
  forberedes og vedligeholdes som en samling til ét enkelt formål.
- [WCAG 2.2: set of web pages](https://www.w3.org/TR/WCAG22/#dfn-set-of-web-pages)
  — standardens definition af et site ud fra formål og afsender, med eksempler
  om betalingsforløb, subdomæner og sprogversioner.
- [Understanding SC 3.2.3: Consistent Navigation](https://www.w3.org/WAI/WCAG22/Understanding/consistent-navigation.html)
  — hvorfor navigation, der går igen på tværs af sider, skal holde sin
  rækkefølge, og den fejl, der bryder den.
- [Understanding SC 2.4.5: Multiple Ways](https://www.w3.org/WAI/WCAG22/Understanding/multiple-ways.html)
  — de veje, et site kan tilbyde til hver af sine sider, og undtagelsen for
  trin i en proces.
- [sitemaps.org: Sitemaps XML format](https://www.sitemaps.org/protocol.html)
  — formatet, et site bruger til at liste sine egne adresser for søgemaskiner,
  med størrelsesgrænserne pr. fil.

<https://engineer.company/da/glossary/website/>
