Ett litet, men naggande gott, fel i PHP

Sprang på ett lagom irriterande fel i ett WordPress-tillägg under helgen som gick. Med felmeddelandet ”Cannot modify header information – headers already sent” som enligt bl a WordPress Codex, FAQ Troubleshooting betyder att det finns tecken före/efter php-taggarna.

Öppnade den berörda filen med ett flertal olika textredigerare, men lyckades inte hitta dessa tecken. Körde till slut följande kommando i en terminal:

less filnamn.php

Och såg då att filen inleddes med ”<U+FEFF>”. Vilket innebar att filen teckenkodades med UTF-8 BOM istället för enbart UTF-8. Försökte lösa det genom att skapa en ny fil, med samma innehåll, men felet kvarstod. Googlade då lite och hittade denna lösning (via en terminal):

sed -i '1s/^\xEF\xBB\xBF//' filnamn.php

Laddade upp filen, laddade om WordPress och vips så var felet borta.

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!

Snabb, snabbare, Servebolt

Jag är som Google. Jag älskar snabba hemsidor.

Det finns många olika områden att fördjupa sig inom vad gäller servrar, hemsidor, WordPress osv. Det jag brinner för, det som främst har intresserat och engagerat mig de senaste 7-8 åren, är optimering av servrar och hemsidor. Med fokus på WordPress.

En snabbare hemsida är bra på så många olika sätt.

Man får bättre placeringar i sökmotorer med en snabbare hemsida. En snabbare hemsida ger fler (och mer nöjda) besökare. Samt fler affärer, konverteringar och avslut. Allt med en snabbare hemsida.

En snabbare hemsida går hand i hand med mycket annat.

Med HTTP/2 (som används vid optimering) är SSL ett måste, vilket ger högre säkerhet och SEO-fördelar. Tillgänglighet/accessibility handlar mycket om korrekt datahantering, vilket likaså ger en snabbare hemsida (du har väl hört om webbtillgänglighetsdirektivet?).

Jag har spenderat hundratals, om inte tusentals, timmar på att optimera hemsidor och servrar. Det har blivit många långa och sena kvällar/nätter framför en skärm, ibland enbart för att hyvla av några extra kB eller få upp PageSpeed-score någon enskild poäng.

Det var även orsaken till att jag skrev 50-60 inlägg/guider om optimering, hos webbhotellet med en sköldpadda som maskot. Förutom mina föreläsningar på WordCamps, WordPress-meetups, mässor, partnerträffar osv. Samt svensk översättning av tillägg som Autoptimize.

En snabb hemsida är en bra hemsida helt enkelt.

ServeboltDet är nu därför med stor glädje som jag kan berätta om min nya tjänst, hos Servebolt.

Servebolt erbjuder världens snabbaste hantering av WordPress, WooCommerce, Magento, Drupal m.m. De har en unik tjänst, med en teknisk plattform som är specifikt anpassad för detta. Servebolt är fullt av optimerings- och WordPress-älskande människor, precis som jag.

Min uppgift är att etablera Servebolt i Sverige.

Om du har en hemsida eller e-handelssida som förtjänar det bästa så ska du spana in Servebolt. Jag har jobbat med många olika leverantörer av servrar och webbhotell, men ingen – absolut ingen – är lika snabb som Servebolt. Och det utan cache (!) dessutom.

Sedan är det en sak till.

Jag arbetar med Servebolt till 80 %. Resterande tid lägger jag på ett eget projekt, även det avseende snabbare hemsidor. Där Servebolt är för de företag som är seriösa med sina hemsidor/e-handelssidor så är mitt andra projekt avsett för entusiaster.

Snabbare hemsida för alla, oavsett leverantör.

Jag har arbetat med mitt andra projekt ”i tystnad” ett bra tag och har en riktigt bra plan för detta likväl. Det är dock inte riktigt redo för lansering än. Men så snart det sker, då får ni höra om det här.

2018 lär svenska hemsidor bli avsevärt snabbare. 😉

Kanske borde tänka om.

Under Kristi flygare körde jag Värmdö – Tjörn, ca 50 mil enkel väg, med vår pickis. Det var högljutt, eländigt, långsamt, skakigt, varmt och rakt igenom obekvämt.

Saab 9-3X i Norrland

Denna vecka körde jag Värmdö – Norrland-någonstans, ca 100 mil enkel väg, med vår 9-3X. Det var svalt, skönt, tyst, snabbt och otroligt bekvämt.

Och jag som tänkte sälja Saaben. Hmm.

Vår nya bil. Eller lastbil.

Det har ännu inte gått fem år sedan jag tog mitt körkort. Men jag har ändå ägt 10 st Saabar. Från Saab 96, 99 och klassiska 900 till Saab 9-3 Viggen, 9-5 och 9-3X. Saab är det enda bilmärke jag ägt och kört.

Fram till nu.

Mitsubishi L200 2002

Det här är vår nya bruksbil. En L200 från 2002. Den har en 2,5 liter turbodiesel, med manuell växellåda. Den rullar med bakhjulsdrift, vanlig fyrhjulsdrift och fyrhjulsdrift med lågväxel. Den ser rätt så risig ut, men har bara gått strax över 15K mil. Och den var jäkligt billig.

För ett par veckor sedan hade jag fyra Saabar. Tre försvann förra veckan – två till nya ägare och en till skroten. Nu har vi en kvar, som ska säljas inom kort. Snart har jag ingen Saab. Det känns lite konstigt.

Har jag gett upp Saab?

Nej då, Saab är bilmärket i mitt hjärta. Men jag behöver rensa ut och fokusera. Jag kan inte ha fyra bilar, eller fyra olika projekt egentligen. Och jag är rätt så trött på märkesfokuseringen, med vissa bihang.

Vår nya bil är inte den bil jag mest av allt vill ha, nej. Det är en enkel och stabil lösning för en småbarnsfamilj på landet, som behöver köra en hel del grejer. En bil för ett specifikt syfte.

Om pengar inte spelade någon roll så hade jag valt en Defender 130 eller en Hilux Double Cab. Eller allra helst en Land Cruiser 79. Men jag snålar lite nu när jag saknar sysselsättning. I sinom tid så. 😉