Trött på WordPress. JSON-filer som "CMS"?

Permalänk
Medlem

Trött på WordPress. JSON-filer som "CMS"?

Jag har byggt en sajt som ligger på Binero men jag tycker att prestandan är under all kritik. Det är som att PHP-runtime har startats om varje gång någon går in på sajten, trots att jag kör med WP Super Cache. Har snabbaste inställningarna så det är nog inte en config-fråga heller.

Det gäller denna sajt: http://linneafrid.se/

Nu kommer den säkert prestera bra när ni läser detta eftersom uppstartsproblemet bara inträffar när ingen varit inne på ett tag. När man är först på plats så att säga. Jag kan inte så mycket om PHP på djupet men gissar att det handlar om en process eller runtime-tråd som behöver startas upp, och att Binero har satt en hyfsat kort timeout för att snabbare kunna fördela ut minne till resten av webbservrarna i deras serverpark.

Hur som helst, jag filar på en helt ny design och är lite sugen på att då slopa WP till förmån för en enklare content-redigering. Som det är nu måste man skapa inlägg som är tomma förutom bilden, det finns inget sätt att skapa upp noder med properties i klassisk bemärkelse. WP är inte byggt för det och det har jag förståelse för. Rena JSON-filer hade jag tänkt mig, åtminstone en för tavlorna. Det textuella innehållet kan hon fixa med ren HTML, det är hyfsat oföränderligt.

Har någon en annan idé än att köra rena JSON-filer? Jag tänkte bara plocka upp data med JavaScript och bygga sajten mer som en responsive web-app, men det kanske finns andra enkla alternativ jag borde kolla på? Poängen är att outputen ska vara .html och inte behöva ladda någon runtime, för att sajten ska bli så snabb som möjligt.

Permalänk
Medlem
Skrivet av azoapes:

Jag har byggt en sajt som ligger på Binero men jag tycker att prestandan är under all kritik. Det är som att PHP-runtime har startats om varje gång någon går in på sajten, trots att jag kör med WP Super Cache. Har snabbaste inställningarna så det är nog inte en config-fråga heller.

Det gäller denna sajt: http://linneafrid.se/

Nu kommer den säkert prestera bra när ni läser detta eftersom uppstartsproblemet bara inträffar när ingen varit inne på ett tag. När man är först på plats så att säga. Jag kan inte så mycket om PHP på djupet men gissar att det handlar om en process eller runtime-tråd som behöver startas upp, och att Binero har satt en hyfsat kort timeout för att snabbare kunna fördela ut minne till resten av webbservrarna i deras serverpark.

Hur som helst, jag filar på en helt ny design och är lite sugen på att då slopa WP till förmån för en enklare content-redigering. Som det är nu måste man skapa inlägg som är tomma förutom bilden, det finns inget sätt att skapa upp noder med properties i klassisk bemärkelse. WP är inte byggt för det och det har jag förståelse för. Rena JSON-filer hade jag tänkt mig, åtminstone en för tavlorna. Det textuella innehållet kan hon fixa med ren HTML, det är hyfsat oföränderligt.

Har någon en annan idé än att köra rena JSON-filer? Jag tänkte bara plocka upp data med JavaScript och bygga sajten mer som en responsive web-app, men det kanske finns andra enkla alternativ jag borde kolla på? Poängen är att outputen ska vara .html och inte behöva ladda någon runtime, för att sajten ska bli så snabb som möjligt.

hogan.js + jQuery för statisk template med AJAX-requests kanske?

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

hogan.js + jQuery för statisk template med AJAX-requests kanske?

Intressant! Jag är lite sugen på att sätta AngularJS på prov i samband med detta i så fall, all form av SEO är ju ändå utkastad i och med upplägget med statisk HTML + JSON.

Ingen som har åsikter om upplägget? Förslag på alternativ? Jag har t.ex. hört talas om online-CMS som kopplar upp sig och redigerar utmarkerade ytor via FTP, är det något att ha?

Permalänk
Medlem

Jag tror att sidan blir långsammare om allt arbete ska ske på klientens sida, speciellt för alla mobiler.

Jag hade hållt mig till PHP och ett bra cache system.

Visa signatur

Programmerare -> PHP | HTML | CSS | JS | Java.

Permalänk
Medlem
Skrivet av azoapes:

Intressant! Jag är lite sugen på att sätta AngularJS på prov i samband med detta i så fall, all form av SEO är ju ändå utkastad i och med upplägget med statisk HTML + JSON.

Ingen som har åsikter om upplägget? Förslag på alternativ? Jag har t.ex. hört talas om online-CMS som kopplar upp sig och redigerar utmarkerade ytor via FTP, är det något att ha?

Jag tycker du ska testa AngularJS. Jag har inte sett det tidigare men efter att ha läst lite om det så verkar det schysst för något som detta.
SEO kommer inte vara något problem, de flesta web crawlers kör javascript nu för tiden.

Visa signatur

I'm Winston Wolfe. I solve problems.

Permalänk
Medlem
Skrivet av azoapes:

Intressant! Jag är lite sugen på att sätta AngularJS på prov i samband med detta i så fall, all form av SEO är ju ändå utkastad i och med upplägget med statisk HTML + JSON.

Ingen som har åsikter om upplägget? Förslag på alternativ? Jag har t.ex. hört talas om online-CMS som kopplar upp sig och redigerar utmarkerade ytor via FTP, är det något att ha?

hogan och AngularJS löser samma problem. Ta en koll här för att få bättre hum om hur hogans templating engine (mustache) fungerar: http://mustache.github.com/#demo

För att generera en sida laddar du in din index.html, hämtar JSON, kör hogans compile/render och injicerar där content ska ligga (med exempelvis Query)

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av azoapes:

Jag har byggt en sajt som ligger på Binero men jag tycker att prestandan är under all kritik. Det är som att PHP-runtime har startats om varje gång någon går in på sajten, trots att jag kör med WP Super Cache. Har snabbaste inställningarna så det är nog inte en config-fråga heller.

Det gäller denna sajt: http://linneafrid.se/

Nu kommer den säkert prestera bra när ni läser detta eftersom uppstartsproblemet bara inträffar när ingen varit inne på ett tag. När man är först på plats så att säga. Jag kan inte så mycket om PHP på djupet men gissar att det handlar om en process eller runtime-tråd som behöver startas upp, och att Binero har satt en hyfsat kort timeout för att snabbare kunna fördela ut minne till resten av webbservrarna i deras serverpark.

Hur som helst, jag filar på en helt ny design och är lite sugen på att då slopa WP till förmån för en enklare content-redigering. Som det är nu måste man skapa inlägg som är tomma förutom bilden, det finns inget sätt att skapa upp noder med properties i klassisk bemärkelse. WP är inte byggt för det och det har jag förståelse för. Rena JSON-filer hade jag tänkt mig, åtminstone en för tavlorna. Det textuella innehållet kan hon fixa med ren HTML, det är hyfsat oföränderligt.

Har någon en annan idé än att köra rena JSON-filer? Jag tänkte bara plocka upp data med JavaScript och bygga sajten mer som en responsive web-app, men det kanske finns andra enkla alternativ jag borde kolla på? Poängen är att outputen ska vara .html och inte behöva ladda någon runtime, för att sajten ska bli så snabb som möjligt.

Är du säker på att problemet är PHP, och inte har att göra med andra plugins du har installerat, eller eventuella egna modifikationer i koden? Det låter ju som att det tar lång tid när cachen tar slut och sidan måste genereras om. Du verkar också göra extrema överskattningar på hur lång tid det tar att köra PHP kod.

Permalänk
Medlem
Skrivet av Sir. Haxalot:

Är du säker på att problemet är PHP, och inte har att göra med andra plugins du har installerat, eller eventuella egna modifikationer i koden? Det låter ju som att det tar lång tid när cachen tar slut och sidan måste genereras om. Du verkar också göra extrema överskattningar på hur lång tid det tar att köra PHP kod.

Du menar att jag skulle felanvända WordPress så grovt att det inte skulle klara av att mata ut de 10 st tavlorna (som är "posts") snabbare än fem sekunder? Svårt att föreställa mig, men har du optimeringstips som avhjälper isf? Jag har två st plugins aktiverade: Akismet och WP Super Cache.

Jag inte gjort några uppskattningar alls på hur lång tid det tar. Det är däremot empirisk fakta att det tar en jäkla tid (ca 5 s) och att det bara gäller när sajten ej är initierad. Sedan tror jag väl snarare att det har med Bineros setup att göra än PHP i sig självt, det skrev jag också.

Permalänk

Det är inte någon modul eller något som körs då, tex något som kollar efter uppdateringar som tar tid?

Permalänk
Medlem

För mig är det bara Gallerisidan som är långsam. Det andra laddar blixtsnabbt. Gissningsvis är det något skumt med JS som har hand om slidern eller något.

Permalänk
Medlem

Antar att du skulle kunna lägga in lite loggning för att bli säkrare på vad det är som tar tid..

Oavsett så tycker jag att det är fel väg att gå att ha templat-motorn clientside om det inte behövs. Nu kanske du är sugen på att testa ändå för dig själv, men nog vore väl det bästa att förgenerera html på server-sidan? Väldigt snabbt, cachevänligt, mobilvänligt, mindre risk att kassa browsers får skräp tillbaka, mindre risk för SEO-problem osv. Ju mer JS klienterna kör ju större chans att det blir fel...

Tyvärr har jag inga bra svar på vad för offline-motor man skulle kunna köra. Jag har själv bara använt Sphinx, den använder reStructuredText som markup vilket är nice, men det var specifikt för att dokumentera ett python-lib och jag misstänker att det finns bättre val som är enklare för en helt custom-sida.

Visa signatur

AK47s for everyone! - Angry mob
Since NaN /= NaN, I think, we should decipher 'NaN' as 'Not a NaN' - Miguel Mitrofanov
(Varför är människan så benägen att tro på Gud?) Antagligen har det lönat sig och evolutionen har drivit fram sådana hjärnor. - Anon

Permalänk
Medlem
Skrivet av Cloudburst:

Det är inte någon modul eller något som körs då, tex något som kollar efter uppdateringar som tar tid?

Nja koden som tar fram inläggen är pinsamt enkel, det är ungefär så basic som det kan vara. "Hämta alla inlägg i den här kategorin" är det enda som görs.

Skrivet av Eik:

För mig är det bara Gallerisidan som är långsam. Det andra laddar blixtsnabbt. Gissningsvis är det något skumt med JS som har hand om slidern eller något.

All JS laddas på alla sidor, startsidan gör mest jobb på klientsidan och därmed upplevs den säkert som långsammast. Den innehåller också ett gäng bilder som totalt kostar någon fjärdedels MB att ladda in. När sidan är cachad i browsern och servern är igångsparkad, tar sidladdningen ca en halv sekund. När browsern inte har cachat men servern är igångsparkad, tar sidladdning ca 1 sekund. Men när servern inte är igångsparkad tar sidladdningen ca 5 s (cachad i browser påverkar då fortfarande ca 0,5 s).

Skrivet av vb:

Antar att du skulle kunna lägga in lite loggning för att bli säkrare på vad det är som tar tid..

Oavsett så tycker jag att det är fel väg att gå att ha templat-motorn clientside om det inte behövs. Nu kanske du är sugen på att testa ändå för dig själv, men nog vore väl det bästa att förgenerera html på server-sidan? Väldigt snabbt, cachevänligt, mobilvänligt, mindre risk att kassa browsers får skräp tillbaka, mindre risk för SEO-problem osv. Ju mer JS klienterna kör ju större chans att det blir fel...

Tyvärr har jag inga bra svar på vad för offline-motor man skulle kunna köra. Jag har själv bara använt Sphinx, den använder reStructuredText som markup vilket är nice, men det var specifikt för att dokumentera ett python-lib och jag misstänker att det finns bättre val som är enklare för en helt custom-sida.

Jag förstår din poäng och jag absolut funderat på någon publiceringsmekanism som drar data ut till en statisk HTML-struktur. Men jag har tänkt tvärtom lite grann; eftersom jag är ute efter responsive för mobilt tänker jag att man med JS bättre kan styra hur stora bilder som laddas in. För mobilt, ladda in de lite mindre bilderna. För desktop, ladda in de större bilderna. Det går ju att styra med hjälp av att titta på skärmbredden (vilket jag ändå lär göra med media-queries för CSS-anpassningar).

Risken är att detta blir ett alltför hemmabyggt härke som är svårt att uppdatera med ny funktionalitet. Kanske jag borde installera ett CMS-plugin till WordPress och sedan skriva ett publiceringstillägg som hon kan använda för att trycka ut sajten till statiska HTML-filer? Det är väl egentligen så WP Super Cache funkar, dock använder den PHP-motorn och använder .htaccess. Men eftersom vi inte har behov av kommentarer eller annan dynamisk information skulle det gå att särskilja CM och CD än mer. Om man lyckas göra publiceringsmekanismen snabb skulle det gå att via AJAX trycka ut en ny sida när det är dags också. Men det känns rätt komplext att bygga bara för det här ändamålet...