I maj 2013 släppte jag äntligen FFUs första spelsajt byggt i WordPress. Nu snart två år senare har inte bara premiärsajten – FF7-guiden – flyttats utan även en mängd andra spelsajter på FFU. En efter en lämnar de gamla tunga dåliga system. Förbättringarna är för många för att klara att skriva ned. Sen är det alltid kul för besökare, och oss, med ny design och ett mer lättillgängligt innehåll.
Men det tar fortfarande en hel del tid att flytta en enda sajt. FF7-guiden tog månader att flytta. FF2-guiden bara en dag. Så det går framåt på den fronten. Vårt Open Source-projekt “Migrate-2-WP” underlättar enormt, det är vi helt beroende av.
Trots att det vi släppte i 2013 hade fått väldigt mycket tid under flera år så klarar jag ändå se fullt av förbättringsmöjligheter. Det gick länge under kodnamnet “FFU2 – version 2.0”. Där samlade jag en lista med hundratals små förbättringsförslag. För ett par veckor sedan var vi uppe i en lista på 200 förbättringar där. Men inga var påbörjade. Tanken var att göra ett helt nytt WordPress Theme, med ny design och nya funktioner. Men att göra ny design tar väldigt mycket tid, så jag gjorde en kompromiss för att äntligen få kommer igång med projektet och flera extremt välbehövda förbättringar.
“FFU2 – v1.5 light” är det nya Theme jag påbörjat. Från listan över “2.0”-saker så flyttade jag ut de 100 viktigaste punkterna, och då bara de som inte hörde till designen. Dessa har jag nu jobbat på i ett par veckor på ett nytt Theme som testas och utvecklas på kommande FF11 och FF12-sajterna.
De egentligen största problemen vi hade med våra tidigare WordPress-sajter var tre. De går trögt. Onödig administration. Övrigt. Så jag satte igång med full fokus på detta. Varje del har adresserats med en mängd olika förbättringar. Alla dessa förändringar är under ytan, men tillför väldigt mycket. Jag har också den stora fördelen av att jobba i ett separat Theme på sajter som inte lanserats, så ingen anledning att bli nervös om något går helt sönder.
Trög sajt
Här måste man analysera väldigt mycket för att komma till roten av felet. Flera åtgärder görs, och flera saker påverkar hur snabb en sajt är. Det är också gjort många många småförbättringar för detta. Här är några av de störra förbättringarna.
TopNav
Den var använd som en iframe för att jag då Themet gjordes inte visste hur jag skulle lösa det mer långsiktigt, men valde att inte lägga tid på att tänka på saken. Men nu har två år gått, och jag har tänkt på saken. Det slutade med att jag tog den senaste html-koden för TopNav och la in direkt i Themet. Med den ligger all tillhörande CSS och JavaScript så att det inte behöver läsas in som separata filer (inläsning av filer tar på snabbheten). Den stora utmaningen var att få TopNav att visa senaste nyheten, samt data om man var inloggad eller ej. Detta löste jag genom ett CORS-system, där får ett JavaScript i TopNav skicka en Ajax-förfrågan till Windows-servern och en JSON-fil som kan ge all denna data tillbaka. Detta sätt att jobba på var förvånadsvärt smidigt och enkelt.
Plugins
Det är flera plugins på plats i WordPress. Jag har genom åren testat flera fram och tillbaka, och i vissa fall behövde jag en funktionalitet som jag inte visste hur jag själv löste. Men nu i detta nya Theme så har jag lyckats lösa flera såna saker. Till exempel så hade vi förut ett plugin som genererade en brödsmulestig (breadcrumbs) överst på alla sidor. Den i sig tog inte direkt lång tid, men den krävde en del inställningar och extra filer, och allt detta kunde i FFU:s fall ersättas av bara 10 rader egen kod o Themet.
Inga Child-Theme
På grund av några små anledningar såg jag Child Themes som enda utvägen då jag gjorde det första Themet. Det är en smidig funktion i WordPress, men den gör enligt min uppfattning saker lite trögare. Men nu har detta gjorts om, bara ett enda Theme har skapats nu. De saker som förut krävde nya Child Themes per sajt var varje sajts personliga header-bild, logo, och eventuell annan design-grafik. Nu har jag löst detta mycket smartare och kan därför använda endast ett enda Theme. Dessutom har framsidan förbättrats. Förut ändrades där story och den lilla disclaimer/fotnot-texten manuellt i koden, nu hämtas den ut från WordPress.
Administration
Att kasta ut Child Themes underlättade massor för administrationen. Nu behöver jag inte längre lägga de cirka 30 minutrarna på att kopiera upp och ändra nya Themes till varje ny spelsajt. Dessutom blir det lite lättare med uppdateringar och förändringar på Themet, och lättare för administratörer. Men även andra saker har gjorts för att förenkla administrationen. Det ska absolut inte ses som att nya WordPress-systemet varit knöligt, jämfört med hur vi hade det på de riktigt gamla sajterna så är det enormt mycket enklare att jobba med sidorna. Men det fanns en del saker som ändå kunde förbättras, speciellt efter två års testning och erfarenhet från systemet “live”. Man märker efter ett tag vart saker skulle kunna förbättras eller förenklas, vart det uppstår flaskhalsar, och vart saker inte funkar helt som man först tänkte.
Inga CPT
Custom Page Types är genialt, men det kan bli lite tungt och krångligt att administrera. Det är en teknik för att jag i WordPress ska kunna definiera upp egna innehållstyper där jag själv bestämmer vilka fält som ska visas och hur de ska valideras. Detta har jag nu tagit bort helt, och allt är nu bara helt vanliga sidor. För att kunna fästa extra data till Bossar och Karaktärer, för exempel, så använder jag nu ett plugin som vi ändå hade på plats från början men inte utnyttjade. Inne i Admin så försvinner på grund av detta också tre huvudmenyer, och flera saker så som Sitemap.xml-generering och Breadcrumbs, förenklas. Den största förbättringen här dock var att jag upplevde problem med att på ett lätt sätt lära ut hur dessa fungerade. Nu är allt i nya Themet helt vanliga sidor.
Live Menu
När jag först lärde mig om meny-systemet i WordPress så älskade jag det. Det löste alla problem och utmaningar jag hade med FFU. Man skapar en sida, och när man är färdig med den så går man och placerar den i menyn. Men, detta är lite svårt att få folk som är ovana vid CMS att förstå. Dessutom upplever jag det själv som lite onödigt omständigt ibland, speciellt när en helt ny sajt skapas … på nära 100 sidor! Då lägger jag väldigt mycket tid i menysystemet. Nu har jag reducerat denna tid till nästan noll genom att helt undvika systemet! Nu har jag skrivit lite smart kod som istället genererar menyn från de sidor man har och den ordning de redan ligger i, och speciella “placeholders” placerars ut för att skapa nya menygrupper.
Injicera Boss-data
Inte visste jag att bara 10 rader kod skulle behövas för att göra det så mycket enklare att lägga in automatisk boss-data mitt i guiden. Skriver en skribent [boss url=”scorpion”] i sin text så kommer den koden se till att hitta fram till just den bossen och hämta ut data om den och skriva ut en fin och tydlig länk mitt i guiden. Förut måste jag göra en ganska omständig process för att detta skulle funka, och den hade jag nog omöjligen kunnat lärt ut till andra.
Guide-navigator
På FF7-sajten la jag tidigt upp en navigator i toppen och botten på alla guide-sidorna. Med den kunde man ta sig lätt till nästa sida, förra sidan, eller startsidan på guiden. Analys av våra besökare visade att alla inte fick med sig hur guiderna var uppbyggda och kom in på en av guidesidorna men gav upp direkt och gick inte vidare. Denna navigator löser detta problemet. Men jag la in denna kod manuellt, och den fick ändras för varje sida. Så det blev bara FF7-guiden som fick den. Nu i 1.5 så har jag en egen mall till guiderna som automatiskt genererar denna navigation.
Uppdaterings-publicering
Just nu dubbelpostar jag, i två olika system, alla uppdateringstexter från WordPress. Först skrivs de på respektive sajt i WordPress, men sen måste jag också logga in på Communityn och lägga in samma text i vår RSS-admin. Först då kommer nyheten ut i vår RSS och på sidan på Nyhetssajten där vi listar de senaste uppdateringarna. Men nu har jag ett litet system på plats som sköter den sista delen automatiskt.
Övrigt
Väldigt många andra saker har setts på också, så som förbättringar på JavaScript, CSS, och själva mall-systemet. Mycket kod har förbättrats. Fler mallar har introducerats till skribenter att välja mellan. Sökmotoroptimering har förbättrats. Bildgallerierna har äntligen utökats med Lightbox-funktion (på tiden).
Se fram emot detta nya Theme med många förbättringar.