Min utmaning var att få allt som fanns på weconverse.com in till richardgatarski.com, och samtidigt se till att alla länkar till den förra webbplatsen fortfarande fungerar. Plus lite annat smått o gott. Här en beskrivning av hur jag gjorde.

Det här skriver jag för dig som gillar att pilla med webbteknik och redan kan lite om WordPress. Ni andra kan se inlägget (och förhoppningsvis kommentarer) som ett exempel på kollaborativt lärande.

Det handlar alltså inte om något så enkelt som att byta namn på en blogg, eller att flytta den från en webbadress till en annan. Nej, här är det frågan om att föra in en existerande blogg in i en annan existerande blogg. Samt i transparensens namn en passus om att en del av den ena bloggen en gång var en annan blogg.

Beskrivningen av hur jag gjorde är något förenklad, och det kan hända att jag glömt några detaljer. Men i stora drag är nog det viktigaste med.

Tänk också på att jag är ingen superexpert på någonting av det jag lyckades få att fungera. Så jag kan ha missat en del, eller gjort det på något dumt sätt. I bästa fall är det någon erfaren räv som påpekar det för mig. I sämsta fall märker jag felen senare, men då lovar jag att uppdatera det här inlägget.

Förutsättningarna

Både weconverse.com och richardgatarski.com var/är byggda med installationer från WordPress.org, alltså inte på webbhotellet WordPress.com. Det gör att jag har full kontroll och kunde göra allt jag ville göra. Dessutom använde jag samma permalänkstruktur och temat Mandigo på båda sajterna.

Allt var/är installerat på webhotelled ICDsoft, som har ett utmärkt backupsystem. Om jag klantar till det (tex sabbar databasen på richardgatarski.com), kan jag med en knapptryckning och ett par minuters väntan återställa allt. Eller rättare sagt, jag kunde riskfritt experimentera mig fram och se om mina idéer fungerade.

Jag beslöt att göra överföringen utan att stänga ner någon av sajterna, i förhoppning att det var få besökare under jul- och nyårshelgerna. Annars hade jag varit tvungen att planera bättre och göra överföringen på mycket kortare tid.

Weconverse (2.6.3) hade problem med teckenkodningen. Själva databasen och inställningarna var ISO 8859-1. Men av olika anledningar var en del rubriker (gjorda med Windows Live Writer) och kommentarer inmatade med UTF-8.

Richardgatarski (2.9.8 tror jag) använde insticksprogrammet gTranslate som kan hantera innehållet på flera språk. Jag kör Svenska och Engelska, vilket innebär att inlägg, sidor och kategorier metataggas i databasen för att läsaren skall kunna välja språk.

Hängslen på

Backup och backup. I mitt fall innebar det att jag använde ICDsofts funktion för att göra en backup och ladda ner klabbet som en enda stor zip-fil. Dessutom sparar ICDsoft automatiskt en kopia av hela sajten varje dag, sju dagar bakåt. Så jag kände att vad jag än rörde till, så hade jag flera dagar på mig att återgå till ursprungsläget.

Exporten från weconverse

Det första jag gjorde var att titta på sajten för att se om det var några saker i sidkolumnerna jag ville ha med. Eftersom richardgatarski byggdes med weconverse som mall, så var det bara några småsaker att tänka på. Dessutom sparade jag alla länkadresser till sidor, kategorier och flöden i en anteckningsfil.

Att exportera innehållet från en WordPress-installation är en enkel sak (se dokumentationen för Export). Det tog bara några sekunder, sen hade jag en XML-fil med klabbet i min dator.

Nu publicerade jag dessutom ett testinlägg i weconverse med en rubrik och brödtext som innehåll svenska tecken. Jag gav inlägget en unik kategori och gjorde en export av weconverse med bara den kategorin. I denna eninläggs xml-fil rensade jag bort lite onödig data (som kategorier jag inte ville importera just då). Sålunda hade jag också en mindre xml-fil att testa olika saker med.

Därefter vidtog utmaningen med tvåspråkigheten. Testinläggsfilen (xml) använde jag nu för att se om jag över huvud taget kunde importera till richardgatarski och dess tvåspråkighet. Det kunde jag, men inlägget syntes inte på bloggen, bara i kontrollpanalen. Efter lite experimenterande kom jag fram till fixen. I qTranslates Advanced settings finns det under ”Convert database” en länk för att markera allt som standardspråk (/wp-admin/options-general.php?page=qtranslate&markdefault=true). Ett klick på den länken så syntes inlägget.

Nästa steg var problemet med teckenkodning. Jag tror jag prövade minst 20 olika varianter innan jag till slut hittade ett sätt som fungerade. Jag fick öppna xml-filen i Windows Wordpad, och där ersätta alla svenska tecken enligt tabellen nedan. Dessutom såg jag till att spara från Windows Wordpad som ISO 8859-1. Uppenbarligen kodades det automatiskt om till UTF-8 vid importeringen till richardgatarski.

Å->Ã…
Ä->Ä
Ö->Ö
å->Ã¥
ä->ä
ö->ö
é->é

Nu var det dags att byta länkar. Efteråt kom jag på att jag kanske kunde gjort det smidigare genom att ändra URL i weconverses allmänna inställningar INNAN exporten. Men i det läget orkade jag inte göra om teckenkonverteringen. I stället bytte jag helt enkelt förekomster av ”http://weconverse.com/” mot ”http://richardgatarski.com/” och motsvarande med www före.

Ett specialfall gäller URLar som innehöll ”uploads”. WordPress bygger ett mediebibliotek av alla filer man laddar upp till sajten via kontrollpanelen. Filerna hamnar i katalogen wp-content/uploads. Vid import av en exporterad xml-fil har man valet att också till mediebiblioteket importera de filer som länkas till i inlägg och sidor. I första vändan ändrade jag därför inte URLar i xml-filen som pekade på uppladdningskatalogen. Tyvärr så stannade av okänd anledningen importen när jag försökte få med filerna. Jag prövade att ändra olika inställninger i php.ini (max filstorlek, körtid, etc), tog bort alla uppladdade filer som var större än 20 Mb med mera. Men inget hjälpte. Så till slut gav jag upp idén att importera filerna också.

Till sist ville jag se till att alla inlägg från weconverse skulle kategoriseras som så i richardgatarski.  Tyvärr hittade jag inget insticksprogram för det. Vare sig för att ge alla existerande inlägg i weconverse en ny kategori, eller lägga till en kategori för alla importerade inlägg. I stället fick  jag i xml-filen redigera in en ny kategori (”weconverse”). Dels genom att lägga till den i <channel>-sektionen, dels genom att lägga till den för varje <item>. För det senare använda jag Notepad++ som stödjer ”search and replace” med  flera rader text. Typ så här blev det i xml-filen för ett <item>:

<dc:creator><![CDATA[Richard Gatarski]]></dc:creator>
<category><![CDATA[weconverse]]></category>
<category domain=”category” nicename=”weconverse”><![CDATA[weconverse]]></category>
<category><![CDATA[english]]></category>
<category domain=”category” nicename=”english”><![CDATA[english]]></category>

Alltså, jag bytte ut alla förekomster av den första raden (<dc:creeator…) mot den första tom tredje raden i exemplet ovan. Kategorin ”english” fanns redan för inlägget i fråga.

Importen till richardgatarski

Först återställde jag min databas till det skick den var i innan jag hade börjat mitt experimenterande. Sen uppgraderade jag alla insticksprogram och WordPress till senaste versionen (3.03).

Därefter importerade jag helt enkelt den redigerade XML-filen från weconverse, konverterade qTranslates databas (se ovan) och laddade via FTP upp filerna från weconverses upload-katalog till motsvarande katalog i richardgatarski. Nackdelen med det sistnämnda momentet är att även om filerna finns och syns på sajten, så finns dom inte i kontrollpanelens mediebibliotek. Men det spelar ingen större roll (hoppas jag).

En liten glitch var att dom importerade kategorierna syntes vare sig i kontrollpanelen eller i högerkolumnens kategorilista. Efter lite funderande kom jag på att det fixades lätt genom att helt enkelt spara om en existerande post som tillhörde respektive kategori.

En fet glitch var kommentarerna. Richardgatarski använder Disqus, och direkt efter importen syntes inga av kommentarerna från weconverse. Dock fanns kommentarerna i wp-databasen, eftersom dom syntes i kontrollpanelen. Det blev till att lära sig lite mer om Disqus. Fixen blev till slut att först radera allt om richardgatarskisajten från Disqus. Sen avinstallerade jag wp-pluginen från richardgatarski. Därefter WordPress-exporterade jag allt från richardgatarski.com till en xml-fil. Sen installerade jag Disqus-pluginen igen, och följde alla anvisningar. Inklusive varianten att importera kommentarer från xml-filen, alltså inte direkt från sajten (för det fungerade inte). När jag väl visste hur jag skulle göra var det lätt. Men tro mig, det krävdes många experiment, om/av/re-installationer hit och dit.

Feedburnerfix

Eftersom några hundra följde weconverse via ett Feedburner-RSS funderade jag på bästa sättet att låta dem få veta vad som hänt. Så någon dag innan jag stängde ner weconverse publicerade jag där ett kort inlägg om flytten och att man helst skulle byta till richardgatarskis RSS-flöde. Jag sparade också ner lite feedburnerstatistik i excelformat. Kan vara kul att ha.

Ett par dagar senare ändrade jag i Feedburners inställningar för weconverse-flödet att källflödet numera var richardgatarskis. Därpå tog jag bort weconverseflödet från Feedburner, med valet att 30 dagar hänvisa prenumeranter till originalflödet (som jag alltså hade ändrat till richardgatarskis). Jag är osäker på om detta egentligen spelar någon roll, eftersom alla webbadresser ändå pekats om enligt nedan. Men, det kändes säkrast att göra som jag gjorde.

Ompekning av webbadresser

Nu gällde det att se till att alla referenser (läs länkar) till weconverse.com pekar om till den nya hemvisten.

Det första enkla steget var att parkera domänen weconverse.com hos richardgatarski.com. Det är en funktion hos webbhotellet som gör så att alla deras servrar som får en begäran om nåt hos weconverse.com skickas vidare till richardgatarski.com. Eftersom båda domänerna låg på samma hotell (ICDsoft) ser deras system till att peka om relevanta namnservrar.

Ett litet mer komplicerat moment var att se till att vissa länkadresser som försvunnit eller flyttat, pekas om till något vettigt. Vissa sidor (tex weconverse.com/faq) brydde jag mig inte om. Dels för att dom passerat bäste-föredatum, dels för att googlesökningar gav vid handen att ingen länkade till dom sidorna.

Till saken hör att det är flera domäner som pekas om till richardgatarski.com. Dessa är förutom weconverse.com, även richardgatarski.se, gatarski.com och gatarski.se. Sedan tidigare dirigerar jag i .htaccess om alla inkommande webbadresser till richardgatarski.com (och kastar bort eventuella inledande www). Det görs med direktiven:

RewriteBase /
RewriteCond %{HTTP_HOST} !^richardgatarski.com$ [NC]
RewriteRule ^(.*)$ http://richardgatarski.com/$1 [L,R=301]

Med andra ord upplyses såväl besökare som sökrobotar om att det är richardgatarski.com som gäller, dom andra adresserna finns inte mer. Utöver det la jag till några direktiv som tar hand om speciallfallet weconverse.com. Ett par exempel:

RewriteRule ^book-richard/photos(.*)$ en/about/richard-gatarski/ [L,R=301]
RewriteRule ^english(.*)$ /en/ [L,R=301]

Mejlen då?

Numera använder jag Richard@Gatarski.com i stället för richard.gatarski@weconverse.com. Naturligtvis funkar den senare mejladressen, dvs den skickar vidare till den förra. Om nåt år eller så kanske jag tittar på inkommande mejl till @weconverse.com för att eventuellt ”stänga” ned den adressen.

Slutstädning

Ja, sen ändrade jag några olika saker. Jag städade upp bland weconverses gamla sidavdelning ”/videos”. Det vill säga tog bort några, bytte namn, la till en ny sida och så vidare. Jag rensade lite bland kategorierna och sidavdelningen ”/guides”. Det som återstår är ett manuellt jobb att gå igenom alla 189 inlägg i kategorin ”English” och flytta över innehållet från svenska till engelska. Ett uppdrag som jag ger till en mini-Gatarski. Det får bli en senare fråga att gå igenom alla sidor och uppdatera dom ordentligt. Tills vidare har jag mest sett till att kontaktsidorna har den nya mejladressen. Och att beskrivningen av webbplatser (om/about) inkluderar information om weconverse.

Jag hoppas att den här redogörelsen är till nytta för några fler än jag. Om du har någon specifik fråga, om något är oklart eller förslag på hur jag kunde gjort annorlunda. Shoot!

Weconverse.com är död – länge leve RichardGatarski.com!