Websites der rykker i søgemaskinen

Dynamiske websites kan være problematiske for søgemaskiner. Apache, verdens mest populære webserver, har flere løsninger på problemet om, hvordan man gør grimme webadresser smukke på en nem måde.

Problemet

Synlighed er alfa og omega på World Wide Web, hvor mulighederne er mange, og brugernes loyalitet ikke holder længere end til det første link, der peger på konkurrentens website. Søgemaskiner er en vigtig del af synliggørelsen, men som en tidligere artikel i PC World gør opmærksom på, så kan der være problemer mellem dynamiske websites og søgemaskiner.

Problemet
Problemet er, at mange søgemaskiner ignorerer adresser med spørgsmålstegn og ampersand (&) i webadressen, for eksempel som i

/index.php?artikel_id=1957&mode=2

Den del af adressen, der begynder med spørgsmålstegnet, kaldes for en querystring (forespørgselsstreng), og den benyttes af et bagvedliggende script eller program på webserveren.

Der gemmer sig som regel et dynamisk genereret website bag sådan en adresse. Derfor ignorerer søgemaskinernes indekseringsrobotter, de såkaldte spiders, ofte sådanne adresser.

Man kan for eksempel forestille sig, at en spider forvilder sig ind på et website, der er front-end for en database. Hvis den bagvedliggende database er stor som for eksempel en telefonbog, så kan spideren bruge lang tid og plads på at indeksere hele telefonbogen i stedet for at kigge efter sider med egentligt indhold. Derfor holder mange spidere sig væk, når de ser spørgsmålstegnet.

Det er ikke godt for dem, der designer dynamiske websites, hvor dynamikken afspejler et bagvedliggende publiceringssystem, det såkaldte content management software. Det eneste egentlige brugbare alternativ til querystrings er cookies, men det giver også problemer med søgemaskiner, idet de forskellige sider ikke kan differentieres af søgemaskinens spider.

Alle siderne har samme navn, for eksempel default.asp, og indholdet bestemmes ud fra cookien. Dermed kan spideren ikke se, at det i virkeligheden drejer sig om forskellige sider, da den bruger webadressen til at bestemme sidens identitet. Mange brugere bryder sig heller ikke om cookies, da de kan bruges til at spore brugeradfærd, og derfor slår de cookie-funktionaliteten fra i browseren, og så kan brugeren ikke benytte websitet.

Apache, som er verdens mest populære webserver-software målt i domæner, giver webudvikleren flere løsninger på problemet. Den mest vidtgående er modulet mod_rewrite, der gør det muligt for webserveren af omfortolke adressen. Således kan adressen i eksemplet fra før, se sådan ud for brugeren

/artikler/2957/2/index.htm

Men derefter videresendes adressen til script-fortolkeren eller andet bagvedliggende software som

/artikel.php?artikel_id=2957&mode=2

Mod_rewrite er et særdeles stærkt, men også ganske kompliceret modul, som vi gemmer til en senere artikel. Her gennemgår vi i stedet en simpel løsning, som fungerer under alle scripting-sprog eller andre typer af websoftware, som har adgang til Apaches miljøvariabler (environment variables). I dette eksempel benytter vi det populære scripting-sprog PHP.

Løsningen

Løsningen
Apache har en del muligheder, som er nemmere at benytte end mod_rewrite. Her benytter vi direktivet ForceType, der sender alle forespørgsler indenfor en given sti til et script eller program.
Det ser sådan ud:

<Location /artikler>
ForceType application/x-httpd-php
</Location>

Direktivet indsættes i en .htaccess-fil eller i en <Directory> eller <Location> sektion i httpd.conf-filen.

Dette direktiv bevirker, at alle forespørgsler til directoriet /artikler, for eksempel

http://www.mitsite.dk/artikler/2957/2/index.htm

bliver sendt til et script ved navn artikler.php, som befinder sig i roden af web-hierakiet.

Problemet er nu, hvorledes scriptet skal få den information frem, som ligger gemt i adressen. Hemmeligheden består i, at adressen ligger gemt i miljøvariablen $REQUEST_URI, og der kan de enkelte dele af adressen pilles ud.

Det kunne se sådan ud i vores script artikel.php:

<?php

$url_array = explode("/", $REQUEST_URI);

PHP-funktionen explode() genererer et array ved at opdele tekststrengen givet som anden parameter i kaldet, ud fra det tegn, som er angivet som første parameter i kaldet, altså "/" i eksemplet. De enkelte dele kan så hentes ud af adressen som $url_array[1], $url_array[2] og så videre. Vi kan lave et lille test-script, hvor vi foresætter koden fra oven med linierne

for($i=1;$i<sizeof($url_array);$i++) {
   echo $i;
   echo ". del af url_array: ";
   echo $url_array[$i];
   echo "<BR>";
}

?>

Med adressen

http://localhost/artikler/2957/2/index.htm

returnerer scriptet følgende til browseren:

1. del af url_array: artikler
2. del af url_array: 2957
3. del af url_array: 2
4. del af url_array: index.htm

I en kommende artikel kigger vi på det frygtede mod_rewrite modul, der kan mange spændende ting, eksempelvis sende forskellige klienter til forskellige steder, selvom den samme adresse benyttes.

Annonce

Computerworld Events

Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

It-løsninger | Online

ERP Insights 2026

Webinaret giver et samlet overblik over, hvordan ERP-landskabet ændrer sig, og hvilke arkitekturvalg der får direkte betydning for forretningens evne til at tilpasse sig.

Sikkerhed | København

Cyber Security Festival 2026

Mød Danmarks skrappeste it-sikkerhedseksperter og bliv klar til at planlægge og eksekvere en operationel og effektiv cybersikkerhedsstrategi, når vi åbner dørene for +1.700 it-professionelle. Du kan glæde dig til oplæg fra mere end 80 talere og...

It-løsninger | København

Dynamics 365 FO: Næste niveau for data, AI og forretning

Få overblik over vejen fra Dynamics AX til Finance & Operations – eller løft værdien af Dynamics FO. Hør praksisnære cases om strategi, migration og optimering. Vælg spor, få dyb faglig indsigt, styrk beslutningerne. Tilmeld dig konferencen i...

Se alle vores events inden for it

Navnenyt fra it-Danmark

Genetec har pr. 1. august 2026 ansat Jan Julin som Channel Account Executive. Han skal især beskæftige sig med styrke samarbejdet med partnere og kunder i Danmark, Finland og Baltikum. Han kommer fra en stilling som Senior Business Development Manager hos Dahua Technology. Han har tidligere beskæftiget sig med videoovervågning, adgangskontrol, sikkerhedsteknologi, salg og forretningsudvikling. Nyt job

Jan Julin

Genetec

Norriq Danmark A/S har pr. 1. januar 2026 ansat Allan Kimmer Jensen som Lead Solution Architect. Han skal især beskæftige sig med at sikre vores kunder får en verdensklasse brugeroplevelse gennem stærk frontend-arkitektur og kodekvalitet. Han kommer fra en stilling som Freelance Consultant hos Remmik. Han er uddannet hos Center for Medie og Kommunikation, Roskilde. Nyt job

Allan Kimmer Jensen

Norriq Danmark A/S

Norriq Danmark A/S har pr. 1. april 2026 ansat Sascha Trebbien Klinggaard som Lead Consultant. Hun skal især beskæftige sig med at facilitere tæt partnerskab og strategisk behovsafdækning hos vores kunder. Hun kommer fra en stilling som Senior Business Analytics Consultant hos Twoday Kapacity. Hun er uddannet hos Copenhagen Business School og har en Master's degree,Finance & Strategic Management 2014 - 2016. Nyt job

Sascha Trebbien Klinggaard

Norriq Danmark A/S

Arctic Wolfs Network har pr. 1. september 2026 ansat Victor Dohlmann som Sales Director for Nordics. Nyt job

Victor Dohlmann

Arctic Wolfs Network