FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Flitig postare
|
Hallå där ute...
Jag är i färd med att bygga en webbplats där det kommer publiceras artiklar av olika slag. Jag har byggt upp en databasstruktur där själva innehållet i artikeln (xhtml) lagras i en databas tillsammans men sökväg, filnamn, titel och keywords för varje artikel. Tanken är sedan att bygga en php-applikation som bygger html-dokument utifrån databasen och därmed kommer hela webbplatsens innehåll att vara statiskt mellan uppdateringarna. Meningen med att göra detta är givetvis att sökmotoroptimera webbplatsen. Statiska dokument som uppdateras dynamiskt, beskrivande sökvägar/filnamn, skräddarsydda titlar + sökord, lätt att spindla för sökmotorernas robotar. Jag är dock osäker på om det är någonting jag inte tänkt på. Ser ni några eventuella nackdelar med en sådan här uppbyggnad? (Anledningen till att jag inte postar i "Sökmotorpositionering och SE-annonsering" är att jag är rätt säker på att detta är en bra lösning ur SEO-perspektiv, men kom gärna med åsikter om ni har några om det med.) //Martin |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Klarade millennium-buggen
|
Ehh.. varför inte lagra innehållet i databasen istället.. det ger dig ju mycket mera flexibilitet?
|
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Flitig postare
|
Ursäkta jag kanske var lite otydlig där.
Innehållet lagras i en databas, men när sidan uppdateras hämtas innehållet och det skapas statiska html-dokument vilka besökarnafår ta del av. Innehållet hämtas alltså inte från databasen varje gång man renderar sidan som på en normal dynamsik sida. |
|||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Flitig postare
|
Glömde en fördel som jag faktiskt hade i åtanke: minimal serverbelastning. Med avseende på SQL-servern då.
|
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Klarade millennium-buggen
|
Ah, jo, precis en sådan lösning använder jag själv faktiskt.
Det är riktigt smidigt tillsammans med htaccess och ett cronjobb som tar bort sidorna -> effekten blir att om sidan finns, så genereras sidan dynamiskt, om den inte finns så laddas den via ett script. När en användare frågar efter filnamn_<id>.html så kollar modrewrite om filen finns, annars så skapas den via skapa.php. För att sedan hålla filerna aktuella (de ändras hela tiden) så tar jag bara bort alla cachade filer en gång var femtonde minut. Effekten blir att enbart för de filer som faktiskt behövs generar jag databasfrågor samtidigt som jag får en fin cache-bonus på de filer som laddas ett par tusen ggr / 15 minutersintervall. Jämfört med alternativen att generera "alla" filer varje 15-minutersintervall eller att ha det helt dynamiskt är det här en perfekt lösning. Dock om du bara har ett mindre antal sidor och inte har någon stor belastning så skulle jag inte rekommendera att skriva datan till statiska filer då det komplicerar saker. Använder istället mod_rewrite för att "lura" google att ladda .html-filer istället för .php. |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Klarade millennium-buggen
|
Jag missade ditt sista inlägg.
Om du har ett mindre antal sidor, så kommer du att komma väldigt långt med query-cache i databasen. Därför känns det lite onödigt att "komplicera" ditt system med den här typen av saker. Det finns ett flertal produkter som uppnår det du frågar efter genom att själva lagra filen. Tex php accelerator (ioncube) eller en server-side proxy tex squid. |
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Flitig postare
|
Det är en bättre lösning om man handhar en webbplats med väldigt många enskilda "html-dokument". Jag kommer dock endast att ha i storleksordningen 50-100 dokument till en början och uppdateringar kommer att ske cirka 1 gång/vecka. Hade jag haft en större sida, där användare själva bidrar till innehållet skulle jag nog valt att använda mod_rewrite och en traditionell dynamiskt lösning istället.
|
|||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Nykomling
|
Hallå där. Tänkte bara ge er min synvinkel på det hela.
Vi har en meny som genereras från en databas serverside. Hela denna processen tar sisådär 10 sekunder, vilket är väldigt trist för besökaren som tvingas sitta och klia sig i skägget så pass länge ![]() Av den anledningen så genereras hela menyn som en textsträng som jag sedan stoppar in i application-objektet, tillsammans med en expirysiffra (normalt sett Timer + 600 för 10 minuter) och om timer > expirysiffran så renderas den på nytt, i annat fall hämtas den från application-objektet ![]() Väldigt smidigt och effektivt sätt att cachea data. Detsamma gäller mitt projekt pN som roar sig med att dra ned profiler för mobila enheter så fort dom surfar in på sidan (adressen till en xml-sida anges i requesten) och dessa cacheas i sessionsobjektet. Anledningen till denna profilnedladdning är bl.a. för att få reda på skärmupplösning och så vidare. |
||
![]() |
![]() |
Svara |
|
|