webForumDet fria alternativet

Statiska adresser/sidor?

Webbutveckling

2 svar · 287 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#1

Eftersom att en sida med Querystrings har svårare att indexeras av ex. google (hur mycket?) Så skulle jag vilja ha ett tips på hur man skulle kunna lösa den biffen.

Webbsidan är 100% beroende av bra och aktuella indexeringar i de största sökmotorerna.

Vilka alternativ finns? För/emot

En serverkomponent som gör om querystrings till virtuella kataloger är ju ett alternativ, men eftersom att sidan ligger på flera webbhotell (av olika anledningar), och att de inte alltid är så pigga på att installera sådana så är det alternativet svårt.

En tanke var att när en sida skapas dynamiskt så skapas samtidigt en statisk kopia av sidan. Som förstås uppdateras i samband med ändringar i databasen.

Tankar och förslag om detta önskas.

:)

Medlem sedan juni 20008 205 inlägg
#2

Man kan ju ta emot information på ett sådant sätt att det ser ut som en querystring, även om det är lite meckigare. Anropar man en dynamisk sida med server.com/katalog/scriptet.ext/foo/bar kommer PATH_INFO att innehålla "/foo/bar". Som sagt är det lite meckigare än att använda t.ex. mod_rewrite för Apache, vilket jag nog skulle rekommendera, om du kan använda det.

Medlem sedan juni 20019 024 inlägg
#3

Det finns flera alternativ:

1. Som spango säger, mod_rewrite (eller annan motsvarande komponent), som skriver om url:er till att passa ett publiceringssystem med exempelvis querystrings: "story/4324" blir "story.php?storyid=4324".

2. Byt ut ? mot /. Om din adress är "story.php?storyid=4324" så ändra till "story.php/4324/". Dessa indexeras och det funkar alltid.

3. Generera statiska filer med allt innehåll. "story-4324.php".

4. Du kanske inte vill ha statiska filer? Generera statiskt dynamiskt då! ;) På samma sätt som punkt 3 genererar du filer, men de innehåller bara en referens till en global/delad funktion som hämtar nyheten i fråga. Filen "story-4324.php" säger "hämta nyhet 4324 och visa sidan för bövelen!". Det kan alltså se ut som: "<?php GetStoryByID(4324); ?>" (med reseveration för helt felaktig php-syntax).

Givetvis går detta att använda med andra script- och programmeringsspråk än php. ASP.NET har exempelvis inbyggd rewrite-motor så alla .aspx-sidor kan hanteras i global.asax automatiskt så länge filtillägget är mappad till ASP.NET-motorn.

269 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)