This entry was posted on Wednesday, January 24th, 2007 at 10:50 am and is filed under webmaster. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
For å gjøre 1001 Spill mer søkemotorvennlig, og å forbedre log-analyse-resultatene har jeg ønsket å gi alle spill beskrivende URLer. Man kan f.eks. se for seg en ideell URL til spillet Starbase Defender på formen:
www.1001spill.no/spill/starbase_defender
Oppdatering, 24.01.2007: Jeg har nå implementert løsningen uten bruk av id-verdier. Valgte å lage en database-kolonne for tittel-urlen og gjennomførte det ekstra sql-kallet.
Dessverre medfører dette to kompliserende ledd i koden:
- En ekstra kolonne i databasen/evt. cache som inneholder url-tittelen på spillet.
- En ekstra sql-spørring/oppslag i cache, hvor man finner database-id tilhørende spillet.
På toppen av dette økes antall feilkilder. Hva om det er flere spill med samme navn etc.
Alternativ metode 1: Brukervennlige URLer med ID
En utrolig enkel fiks på dette er å føye til database-id-verdien i URLen:
www.1001spill.no/spill/starbase_defender/2015
Her kan man ignorere tittelen starbase_defender, hente ut ID-verdien med .htaccess-rewrite og slippe database-oppslaget.
Omskriving av
www.1001spill.no/spill/starbase_defender/2015
til det interne formatet:
www.1001spill.no/show.php?id=2015
Kan f.eks gjøres på følgende måte i .htaccess-filen:
RewriteCond %{REQUEST_URI} ^/spill/.*/([0-9]+)$RewriteRule ^.*$ /show.php?id=%1 [L]
Alternativ metode 2: Beskrivende navn til slutt
Id-verdien har ingen mening for brukerne. Derfor kan man vurdere å bytte plass:
www.1001spill.no/spill/2015/starbase_defender
Alternativ metode 3: Id og beskrivende navn
Id-verdien kan også føyes til den beskrivende teksten:
www.1001spill.no/spill/2015_starbase_defender
Hva er galt med metodene
Dessverre medfører alle metodene en del ulemper.
- Den beskrivende tittelen har ingen teknisk betydning og både
/spill/2015/starbase_defender
/spill/2015/jippi_det_snoer
Tar brukeren til samme side. - /spill/2015 vil også logisk sett være samme side
- id-verdien gir ingen mening for brukerne, og de bør slippe å forholde seg til denne.
Konklusjon
Selv om jeg nå har implementert metode 2 på 1001 Spill, og dette utvilsomt er en klar forbedring fra tidligere, klarer jeg ikke helt å slå meg til ro.
Den ideelle løsningen: www.1001spill.no/spill/starbase_defender vil alltid være å foretrekke, og gi 1001 Spill URLer som forhåpentlig kan vare i årevis.
posted by January 24, 2007 10:50 am | read comments (2)

October 28th, 2008 at 11:40 am
Lagre URL navn i DB og se om det matcher med ID er en god work around for dette problemet.
– Simon.
October 28th, 2008 at 11:44 am
Ang min forrige kommentar: fjern ID’en med å legge til URL navn i DB’en er da heller en alternativ workaround, så ikke at du ville fjerne ID taggen fra linken.