Bättre schemaläggning i WordPress

Om man vill schemalägga uppgifter i Unix/Linux-baserade system så använder man något som heter Cron. På samma sätt har WordPress en egen lösning för schemaläggning, som heter WP-Cron.

WP-Cron ser till att WordPress letar efter uppdateringar, publicerar schemalagda inlägg och utför diverse andra uppgifter (t ex kontrollerar trasiga länkar med Broken Link Checker).

Fördelen med WP-Cron är att det funkar överallt. Det är långt från alla webbhotell och servermiljöer som tillåter schemaläggning av uppgifter hur som helst. Nackdelen är att WP-Cron kör varje gång en sida laddas i WordPress, vilket kan orsaka onödig belastning (läs: ge en långsammare hemsida).

Det är dock enkelt att rätta och förbättra schemaläggningen i WordPress.

– Inaktivera schemaläggning via WP-Cron

Börja med att inaktivera WP-Cron, genom att lägga in följande kodrad i wp-config.php.

define('DISABLE_WP_CRON', true);

– Schemalägg via riktiga cron istället

Om du kör WordPress på en Linux-baserad server (vilket du bör göra) och har åtkomst till servern via SSH, så kan du starta crontab (en redigerare för cron) via terminalen med följande kommando.

crontab -e

När du har valt en redigerare (välj t ex ”nano”), lägg in nedanstående rad längst ner i filen.

0 * * * * cd /hemkatalog-för-min-hemsida; php -q wp-cron.php

– Om din leverantör har stöd för WP-CLI

Om ditt webbhotell/serverleverantör har stöd för WP-CLI (vilket de bör ha) så är det bättre att köra cron via WP-CLI. Lägg då in denna rad i crontab istället:

0 * * * * wp cron event run --due-now --path=/hemkatalog-för-min-hemsida/ --quiet

Ersätt ”/hemkatalog-för-min-hemsida” med den fullständiga sökvägen till hemkatalogen för din hemsida, t ex /var/www/minhemsida.se (från roten). Spara och stäng till sist filen.

Därefter kör WP-Cron en gång varje heltimme, via PHP direkt på servern. Det går att köra WP-Cron med anrop mot webbplatsen t ex via wget, men då påverkas webbservern/besökare i onödan.

Att schemalägga uppgifter via cron är även möjligt att få till via kontrollpanelen hos vissa webbhotell. Om du inte känner dig bekväm med SSH/terminal, använd det istället.

Bästa sättet att skicka e-post via WordPress

Bättre e-post med WordPressAtt skicka e-post via WordPress är inte alltid så enkelt.

E-post som hanteras via WordPress, såsom användarregistreringar och kontaktformulär, skickas som standard via en e-postfunktion i PHP (PHPMailer) på den webbserver som hanterar webbplatsen ifråga.

Detta är, i min mening, ett direkt felaktigt beteende.

E-post är en av de mest komplexa tjänster som finns på Internet. Inte för att det är svårt att hantera en e-postserver nuförtiden (som när jag satte upp Sendmail på Loopia en gång i tiden), utan för att det finns så många olika spamfällor.

Mer än hälften av all e-post är skräppost (spam). Därför motverkas spam med SPF, svartlistor, innehåll/beteendeanalyser, SMTP-portblockeringar och mycket mer. Att fastna i ett spamfilter, även med legitim e-post, är väldigt enkelt.

För störst chans att skicka e-post framgångsrikt bör man använda en renodlad e-postserver. En korrekt uppsatt e-postserver underhålls och hanteras oftast så att spamfilter inte biter på den. Detsamma går inte att säga om webbservrar, som ofta spamklassas och saknar rutiner för felhantering av e-post.

– Hur rättar man då denna (felaktiga) hantering av e-post i WordPress?

Jo, med ett WordPress-tillägg. Det tillägg som jag använder (och har översatt till svenska) heter WP Mail SMTP. Det är det mest populära tillägget för e-posthantering i WordPress, med över 700 000 aktiva installationer.

WP Mail SMTP installeras/aktiveras enkelt via wp-admin. Inställningarna för tillägget hanteras därefter under ”Inställningar” och ”WP Mail SMTP”. Så här ser mina inställningar för WP Mail SMTP ut:

Inställningar för WP Mail SMTP

Alternativet ”Övrig SMTP” är det som de flesta bör välja, med undantag för Google-användare. SSL/TLS är ett måste, annars skickar man sitt lösenord i klartext över nätet. Övriga uppgifter är nog rätt så självförklarande (och något man får från sin e-postleverantör).

Det som främst är värt att notera här är hur lösenordet hanteras. Istället för att ange/spara det i wp-admin så är det inlagt i wp-config.php (WordPress’ konfigurationsfil) med följande två rader:

define( 'WPMS_ON', true );
define( 'WPMS_SMTP_PASS', 'mitthemligalösenord' );

När man har lagt in sina uppgifter under inställningarna så bör man även testa e-postfunktionen under fliken ”Test av e-post”. Om man senare upplever problem med e-posten så kan man här enkelt testa om det beror på e-postservern eller WordPress.

Håller du med eller är du av annan åsikt än mig? Lämna gärna en kommentar nedan!

Att meka med en modern bil

Jag har nog inte berättat det i min blogg tidigare, men jag har sedan några månader tillbaka en sån där modern bil. En Saab 9-3 Aero från 2001.

2012_10_29_08_50_312732460365246158_36879986_Rise

Om jag hade fått bestämma här hemma så hade vi givetvis inte köpt den här bilen. Jag är alldeles för glad i gamla bilar. Men tjejen insisterade, hon ville ha en modern bil med mer utrymme i baksätet än vår Saab V4, så det blev så här. Skyll inte på mig.

Jag har inte skruvat på 9-3:an, mer än ett byte av bromsskivor & belägg, då det är så krångligt med moderna bilar. Men efter den senaste veckans småfix så har jag fått lite blodad tand.

Det började med SID:en. Eller Saab Information Display, den där pixelskärmen som kontrollerar i princip allt i bilen. Som på många andra Saab 9-3 så kunde man räkna antalet fungerande pixlar på en hand så jag skickade iväg SID:en, med ACC-displayen (som sköter värme/kyla, som har varit lika död och som gjort vintermorgnarna rätt spännande), för reparation till England.

Dataenheterna skickades till Saab Display Repairs. Jag skickade dem måndag förra veckan och fick dem åter i förrgår (lite mer än en vecka). Det kostade ca 300 kr att skicka paketet (med spårbarhet) och strax över 1 000 kr att få enheterna reparerade, inklusive returfrakt.

Och som de blev reparerade! Från att ha varit stendöda så är det nu total pixelperfektion. Man ser all text på enheterna klart och tydligt. Det var knappt jag kunde tro det.

Förra helgen hittade jag av en slump en lokal kille på Värmdö (eller Orminge) som kunde etanolkonvertera 9-3:an. Eller ja, se till att den kan gå på både bensin och etanol. BioPower som det heter. Av en slump ramlade jag över hans annons på Blocket. Vi hörde några gånger via e-post och så åkte jag igår kväll och fick bilen ”ommappad”.

Motorn som sitter i denna bil, en sk. T7-motor, går nämligen alldeles utmärkt på etanol. Det gäller bara att få datorn i bilen att förstå och anpassa sig efter detta. Genom att ansluta en vanlig dator till bilen och ersätta den gamla mjukvaran med en ny mjukvara så får man en BioPower-bil. Snuskigt modernt och enkelt.

1 500 riksdaler kostade denna konvertering. Då gjorde han även en ordentlig genomgång av motorn och jag fick råd om ett flertal saker som behöver bytas/åtgärdas. Riktigt bra kille. Om ni vill ha hans namn och e-postadress, kontakta mig då bara om det. Originalmjukvaran fick jag på en USB-sticka och den är säkert sparad på diverse molntjänster.

Den mjukvara som jag har i bilen nu anpassar den både till etanol och vässar motorn lite, samtidigt som den ger bättre bränsleekonomi. När man kör på etanol så ökar förbrukningen med ca 30 %. Men när bensinen kostar 50 % mer än etanolen (så som idag) så krävs det bara 7-8 tankar innan etanolkonverteringen är lönsam.

Så, nu har jag en pigg, högst funktionell och (någorlunda) miljövänlig modern bil. Med en lista på saker som jag ska fixa till på den. Vilket får bli ett projekt till nästa helg.

Om jag nu inte lyckas få upp den där jävla påfyllningspluggen för växellådsoljan på V4:an.

Världens jobbigaste plugg

Från Spotify till Rdio

Nokia Lumia 920Från en svensk musiktjänst till en annan.

Om du är lika häftig/dåraktig som jag och skaffar dig en mobil med Windows Phone 8 (i mitt fall en Nokia Lumia 920) så lär du rätt snabbt märka att vissa applikationer saknas där (till skillnad från iPhone/Android).

En av mina favorittjänster/appar är Spotify, som ännu inte fungerar med WP8. Det gör däremot musiktjänsten Rdio, som rätt nyligen blev tillgänglig för oss i Sverige.

Att byta musiktjänst är lite som att byta mobiloperatör (eller, ehm, webbhotell). Alla kontakter, favoriter, spellistor osv som finns i Spotify är som bortblåsta i Rdio. Musiktjänsterna saknar all form av export/import-funktioner. Men det finns lyckligtvis en lösning.

Med den kostnadsfria webbtjänsten re/spin kan man importera samtliga spellistor från Spotify till Rdio. Det är en enkel process, där man autentiserar sig hos Rdio, kopierar (http)länkarna i sin spellista hos Spotify, klistrar in dem hos re/spin och låter dem tugga mot diverse API:er. I slutändan får man en ny spellista hos Rdio.

Nu är re/spin långt ifrån felfri. En av mina största spellistor hos Spotify innehåller 100 låtar. När jag importerade den så var kanske 1/4 av låtarna felaktiga (men rätt enkla att rätta) eller saknades i Rdios musikutbud. Efter en stunds manuellt arbete så har jag nu samma lista, om än med 91 låtar, hos Rdio.

Vad är då så himla bra med Rdio? Tja, det fungerar ungefär som Spotify. Utbudet är rätt bra, om än att den sociala delen är bättre i Spotify (vilket även beror på att rätt få svenskar kör Rdio än). Kostnaden för Rdio är densamma som för Spotify, med en kostnadfri tjänst, en halvmesyr (inget mobilstöd osv) för 49 kr/mån och hela kalaset för 99 kr/mån.

Och så fungerar Rdio med Windows Phone 8.

Så här installerar du Twenty Twelve, redan idag

Lite tidigare här i veckan introducerade WordPress sitt nya standardtema, Twenty Twelve. Detta tema kommer att introduceras ”officiellt” med lanseringen av WordPress 3.5. Temat är redan tillgängligt för användare av WordPress.com, men man kan ännu inte installera det via den vanliga temahanteraren i WordPress.

Men – det går att installera Twenty Twelve via subversion.

För att kunna ordna detta så behöver man kunna logga in via SSH till sitt webbhotell/server. Jag har ett webbhotellspaket hos FS Data för min hemsida, som givetvis erbjuder stöd för detta.

Börja med att logga in på servern via SSH. Därefter kör du följande kommandon:

cd /www/wp-content/themes
mkdir twentytwelve
cd twentytwelve
svn co http://core.svn.wordpress.org/trunk/wp-content/themes/twentytwelve/ .

Sökvägen (i det första kommandot) kan behöva anpassas beroende på ditt webbhotell.

När temat är installerat så är det bara att aktivera det via wp-admin. Om du kör WordPress Multi-site, glöm då inte bort att du först behöver aktivera temat för ditt nätverk i Nätverksadmin.

Nu kör jag Twenty Twelve här på sulo.se och det ser ju riktigt, riktigt trevligt ut. 🙂