Visste du att det är skillnad, rent tekniskt, på hur du väljer att ladda upp media på din WordPress-hemsida?

Om via FTP (t ex. via FileZilla eller Hosting-providers filuppladdningstjänst) eller via WordPress egna admingränssnitt?

Jag blev nyligen varse detta när jag stötte på en för stor .MP4 filmfil som behövde laddas upp till en WordPress hemsida.

På just denna WordPress hemsida gick admin-gränssnittet bet p.g.a. konfigurationsbegränsningar i installationen (Hostad hos One.com shared hosting).

Då gick min tanke naturligt till att försöka ladda upp filen via FTP till webbservern istället, för att sen länka in filmen via URL till hemsidans innehåll. Ett snabbt sätt att få filen synlig på hemsidan.

Min naturliga nyfikenhet ledde mig dock till att dubbelkolla vad det var för skillnad på detta sätt och att ladda upp via WordPress-admin gränssnittet.

Då visar det sig att uppladdning av media via WordPress-admin tilldelar viss data som kopplas till din mediafil i databasen för WordPress-sidan.

Detta kan du se när du öppnar utvald mediafil i Media-fliken i vänsterspalten för din WordPress hemsida.

Vart Media flik vänsterspalt i WordPress finns

T ex. du kan se bl. a. länkadress till fil som går att kopiera, m.m.

Vart man hittar URL till mediafil i WordPress Media

Väljer man istället att ladda upp sin(a) mediafil(er) via FTP, så skapas inte dessa databaskopplingar till mediafilen – logiskt egentligen – då databasdata måste skapas mjukvarumässigt eller manuellt.

Detta i sin tur resulterade i att min .MP4 mediafil:

  • Inte syns alls i Mediabiblioteket i WordPress
  • Inte kan redigeras, flyttas eller tas bort via admingränssnittet
  • Inte heller hade fått genererat bildthumbnails (om mediafilen hade varit en bild)
  • Inte fungerar med Gallerier eller kortkoder (som annan Mediabiblioteks-uppladdade mediafiler gör)
  • Inte kan bli optimerad av WordPress-plugin som arbetar med media (t ex. LazyLoading, CDN, Lightbox (för zoom) osv.)

För att inte tala om att det blir generellt svårare för webbplats administratörer att hantera filen om de skulle önska.

Tappad SEO vid FTP-uppladdning jämfört med WordPress Media-uppladdning

Utöver dessa går man även miste om SEO-fördelar när man väljer att ladda upp filen via FTP framför WordPress-admingränssnittet.

Med andra ord inga alt-texter eller beskrivningar läggs in i databasen för mediafilen.

Vanliga populära SEO-plugin som Yoast SEO och RankMath kommer ej kunna inkludera mediafil till XML-sitemap heller – vilket kan användas för t ex. Google bildsöks-indexering.

Delning på Sociala Medier kan påverkas negativt vid FTP-uppladdning av mediafil jämfört med WordPress Media-uppladdning

Även delning på Sociala medier kan påverkas negativt om mediafil laddas upp via FTP, hellre än WordPress admin då meta-taggar ofta genereras baserat på Mediabiblioteket i WordPress.

När FTP-uppladdning av Media kan vara bra jämfört med WordPress-admin

Om inget val / begränsade möjligheter från sin Hosting-provider

Det kan fortfarande vara bra om man känner att man inte har något val, men väldigt gärna behöver få upp mediafilen på hemsidan. Lite som en ”work-around”.

Eller om man inte får access av sitt webbhotell att justera begränsningarna i filuppladdningsstorleken (undantaget kan vara VPS om man har SSH-access för serveradministration via terminalen).

Om man inte bryr sig om / behöver SEO / plugin / hanterings-fördelar för mediafilen

Kan också funka om man nu inte behöver att just denna mediafil ska optimeras av WordPress plugins, även om det kanske har en del fördelar i sig, samt om man inte har intresse för SEO och bara snabbt vill göra mediafil tillgänglig för sina besökare.

MediaSync WordPress-plugin till räddning!

Med MediaSync pluginnet kan man scanna wp-content/uploads-katalogen i WordPress för att sen markera och inkludera eventuella mediafiler som har laddats upp via FTP – för att skapa ”attachment” till dessa så att databasdata skapas upp för filen, precis som om fil laddats upp via WordPress-admingränssnittet.

Funkade alldeles utmärkt när jag testade det senast nyligen (15:e december 2025)!

Som alltid när vi pratar databasändringar dock – Ta backup av databasen(!) via t ex. PHPMyAdmin SQL-export av hela databasen innan några ändringar görs.

Pluginet kommer också med en ”Dry-run”-funktion för att bara testa så det funkar men utan att faktiskt göra ändringar i databasen.

Notera dock för att detta plugin ska fungera krävs det att dina mediafiler har blivit FTP-uppladdade till ”uploads”-mappen.

Vad är CMS?

Content Management System, Innehållshanteringssystem på svenska, också känt som CMS – är en term som används för att beskriva system som är designade för att hantera information och innehåll.

Oftast brukar termen användas i samband med hemsidor och hanteringen av information som visas på sidorna.

Ett bra exempel är WordPress som är ett av världens populäraste CMS i skrivande stund.

WordPress som ett exempel på CMS

WordPress används av miljontals användare världen över för att hantera deras hemsidor med inbyggd funktionalitet som gör det lätt att skapa olika typer av innehåll, strukturera det och hantera det.

Andra CMS alternativ

Andra CMS är:

  • Joomla
  • Drupal
  • Magento
  • Shopify
  • Quickbutik

Öppen Källkod (Open Source) CMS vs. SaaS (Software as a Service) CMS

Skillnaden mellan Joomla, Drupal och Magento som CMS jämfört med t ex. Shopify och Quickbutik är att Shopify och Quickbutik är CMS som SaaS (Software as a Service) – där man betalar varje månad för att få använda systemet.

Medan övriga är gratis att installera och Öppen Källkod (Open Source).

Databaslagrad information för dynamisk hantering/redigering

Till CMS hör ofta en databas där information lagras och organiseras vilket möjliggör kraftfulla och dynamiska hemsidor och stora möjligheter för vad som går att göra på/med hemsidan.

Att bygga sitt eget skräddarsydda CMS

Man kan också bygga egna skräddarsydda CMS som då går ut på att man kanske först designar hur man vill att en hemsida ska se ut.

Därefter planerar man vilka områden som man kanske vill kunna systematiskt hantera via ett grafiskt användargränssnitt. Sedan programmerar man in stöd för att kunna byta ut innehållet på de utvalda platserna via vad en användare väljer att göra i det grafiska gränssnittet.

Det hade kunnat vara möjligheter såsom att byta ut logotype via gränssnitt, skapa upp undersidor, lägga in innehåll på undersidor och redigera innehållet, ta bort innehåll såväl som att redigera header och footer information.

Dagligen i mitt arbete finns där ett behov av att spara ned screenshots, om så bara för mig själv för framtida kom-ihåg, eller för att dela med kollegor, chef, uppdragsgivare eller annat.

Screenshot via Prt sc (printscreen) knappen på tangentbordet och Paint i Windows

I början var min go-to då att använda ”Prt sc”-knappen på tangentbordet för att ta en screenshot.

Pro Tip: Håll nere Alt-knappen samtidigt som du tar din screenshot/skärmdump för att begränsa screenshotten till din enstaka aktiva skärm – om din setup har flera skärmar!

Och därefter klistra in i Microsoft Paint (Windows) för att sen antingen spara direkt, eller använda Paints beskärningsverktyg för att begränsa vad som syns på screenshotten.

Beskärningsverktyget i Microsoft Paint Windows (7)

Rensa bort känsligt material från skärmdump / screenshot

Ibland vill man ju kanske inte exponera alla sina flikar i t ex. ett webbläsarfönster man har uppe, eller undvika exponera filer på skrivbordet i bakgrunden, eller liknande.

Privacy är underskattat i dagens samhälle, men bör tas på allvar, när man nu väl har en möjlighet. Alla behöver inte veta allting.

Ibland kan det även fokusera budskapet att använda markeringsverktyg för att cirkla in det man vill motpart ska fokusera på, och rensa bort ”klutter” från det man delar för att få ett fokuserat budskap.

Alternativt sätt att öppna Microsoft Paint i Windows

Ett annat tips om ni inte har Microsoft Paint fäst i aktivitetsfältet (startbaren) nere på er Windows-dator så kan man alltid öppna sökrutan och skriva in ”mspaint” likaså för att söka upp programmets körbara fil för att öppna Microsoft Paint :)

På sistone har det hänt att jag har behövt felsöka PHP loggfiler eller HTTP loggfiler p.g.a. att hemsidan kanske kraschat via PHP Fatal Error eller p.g.a. DDoS-attacker.

DDoS-attacker mot hemsidor och vad man kan göra när de inträffar

DDoS-attacker är vanligare än man kanske tror och kanske mer så för populära och större hemsidor – tyvärr.

Det finns tillochmed företag inom affärsvärlden som anlitar folk för att sänka konkurrenter genom att ha dem skicka ut kodade bottar för att överbelasta hemsidor på olika sätt.

Ofta brukar detta dock vara olagligt, men kanske inte alltid så lätt att spåra ursprunget och komma fram till vem som ligger bakom.

Jag har erfarenhet av att ha stött på bottar utskickade från andra länder, kodade att överbelasta hemsidan på olika sätt.

En bot kan relativt enkelt (tyvärr) överbelasta en hemsida

En av de här bottarna gjorde det genom att låta botten basically ”klicka runt” på hemsidan så snabbt som bottens maskins processor klarade av.

Och vår server kunde inte hänga med.

Tänk dig själv hundratals- om inte tusentals klick på millisekunden på din hemsida. Där varje klick motsvarade anrop till servern, för handling som behövde tas av den.

Anrop som ofta involverade SQL-frågor till databasen, JavaScript funktioner att laddas och köras eller sidor att generera och laddas.

Det krävs inte ”rocket science” att lista ut att detta lätt överbelastar en servermaskins RAM-minne, processorkraft och övriga resurser, som annars delas mellan alla besökare till en hemsida.

Och skapar köer så långa att hemsidan till slut blir otillgänglig medan servern försöker hantera belastningen den utsatts för.

Om man tänker efter så behöver det inte vara så komplicerat att bygga något som kan förstöra för en hemsida, men det är synd att folk gör det och att det är så lätt för dem att åstadkomma det och komma undan med det.

Där finns en väldigt bra bok jag köpte för några år sen och läste för Hur man bygger Spiders, Bottar osv. skriven av en som arbetade professionellt med att enbart bygga bottar för olika affärsändamål som företag hade behov av.

Det kunde vara ändamål som att indexera priser från konkurrenters hemsidor, eller automatisera testkörning av formulär på olika hemsidor, och liknande.

Men då varje bot du bygger kommer köra så snabbt som processorn klarar av – om du inte säger till den något annat- så hade denna författaren som best praxis och regel alltid när han byggde bottar att ”simulera en människans beteende”.

Med detta menas för när en människa besöker hemsidor och hur ”fort” de då gör olika saker på en hemsida.

Han simulerade detta genom att lägga in någon sekunds delay mellan varje datahämtning.

  • Dels för att inte skada servern för hemsidan han arbetade mot med sina bottar
  • Dels då det är olagligt att krascha hemsidors servrar
  • Dels för att vara ”under radarn” och inte ge kanske konkurrenter osv. anledning att kolla närmare på hans bott och dess beteende

Boken är Webbots, Spiders, and Screen Scrapers: A Guide to Developing Internet Agents with PHP / CURL av Michael Schrenk.

webbots, spiders, and screen scrapers bok av Michael Schrenk

Kan varmt rekommendera boken för alla er nyfikna på hur man bygger Bot programvara med PHP. Enklare än man tror, på gott och ont.

Om inget annat så kan boken öppna ögonen och utöka förståelsen för vad en bot faktiskt kan åstadkomma på en hemsida, och hur, vilket även kan hjälpa till när du ska analysera och skydda dig från dem.

”Know Thy Enemy” som en vis man en gång sade, lite så.

Motverka DDoS och liknande attacker med Cloudflare och liknande tjänster

Ett populärt sätt att motverka detta som jag hört talas om men ännu inte haft möjligheten att implementera och testa själv är tjänster som Cloudflare som ska sätta upp en form av ”skyddsnät” framför din hemsida ut mot Internet som är tränad att känna igen- och kunna blockera dåligt beteende innan det når din faktiska hemsida och dess server.

Har hört många tala väldigt gott om det och att det ibland tillochmed talats om att vara typ ett av de- om inte det- bästa sättet att faktiskt skydda sig mot DDoS och liknande otrevligheter.

Förebygg framtida DDoS-attacker genom HTTP Access logganalys och IP-blockering

Alternativet brukar annars vara att man typ får gräva ned sig i loggfilerna och försöka identifiera IP-adresser som beter sig märkligt i HTTP Accessloggarna för att sen placera en IP-block för den typen av besökare i serverns brandvägg där hemsidan är hostad.

Men detta är också oftast något som upptäcks isf. och görs i efterhand vilket då brukar innebära att det är ”för sent” och skada redan kan ha skett.

När jag grävde i våra PHP-loggfiler för en plattformsbaserad hemsida så märkte vi att där genererades väldigt stora PHP loggfiler p.g.a. t ex. att PHP-version uppdaterats och vissa kodbitar för vissa tredjepartsmoduler osv. kanske inte var helt 100% anpassade vilket ledde till ofantligt många PHP notice osv. vilket kladdade ned hela PHP loggfilen och bidrog till enorma filstorlekar.

Det gick tillochmed så långt att filstorleken överskridit vad programmet jag brukar använda: TextPad – som jag btw varmt kan rekommendera för dig som arbetar i Windows miljö! – Klarade av att hantera, så hela datorn nästan hängde sig eller tog oändligt lång tid för att öppna filerna.

Splitta stora textfiler till flera mindre för att kunna öppna dem

Jag brukar samarbeta med erfarna utvecklare som stött på liknande problem tidigare och de tipsade mig då om GSplit och File Splitter tjänster/programvara, som är då designade att ta större textfiler, och dela upp dem i flera mindre textfiler.

När jag Googlade på det hittade jag även en StackOverflow tråd om hur man kunde åstadkomma detta med Git likaså.

Så istället för att ha en Loggfil på kanske 5 GB (ja det har hänt), så kunde man Splitta upp den i 5 filer om 1 GB per styck istället.

Vilket då underlättade i sin tur för TextPad att faktiskt klara av att öppna loggfilen.

Ett bra tips! För alla er som någon gång stött på liknande problem, där ni behövt ladda ned från FTP loggfilerna för att felsöka och analysera trafik eller felmeddelande för en hemsida och råkat ut för så stora filer att ni knappt kunnat öppna dem.

Kör ni via terminalen vilket många webbutvecklare kanske gör (om de har access) så kanske detta inte är ett lika stort problem, då det brukar finnas kraftfullare hanteringsmetoder via SSH och terminalkommando, jämfört med t ex. Windows OS GUI.

Men det är inte alltid man faktiskt har access till SSH och kanske måste undersöka loggfiler (om man ens har access till dessa) och då kanske man blir tvingad att använda t ex. FileZilla FTP klient för att ladda ned för att sen kunna undersöka och analysera i en vanlig texteditor på sin dator.

Naivitet kan vara farligt. Medan ”only the paranoid survives”.

Lite halvt skämt o sido.

Detta inlägg syftar till att presentera en tankeställare för något som kan förekomma i en webbutvecklares vardag.

I min arbetsdag händer det att t ex. XML Sitemaps eller XML produktfeed filer kan bli korrupta.

Ibland händer detta p.g.a. att generering blivit avbruten mitt i p.g.a. överbelastning av sidan som skötte genereringen eller annat.

När detta händer och de vanliga fixen inte duger (prova köra om generering) kanske man vill försöka validera XML filen via något typ av verktyg.

Tänk bara efter INNAN du ev. laddar upp underlag som inkluderar känsligt material (t ex. hela produktkatalogen för en E-handelssida med samtliga inköpspriser) till en tredjeparts ”gratis-verktygs” hemsida.

Denna tanke har slagit mig ett antal gånger när jag varit i behov av validering men hindrat mig själv p.g.a. just denna anledning.

Risken är för stor för att ignorera.

Oftast har jag fått hitta lösningar på annat håll.

Hur mycket vågar vi lita på vad som sker bakom kulisserna på gratis webbtjänsters hemsidor

Jag säger inte nödvändigtvis att samtliga XML validatorer online som erbjuds gratis är suspekta, men det är också svårt att veta vad de gör med de uppladdade filerna, oavsett vad de säger.

Jag föredrar att vara lite skeptisk här. Säkra före det osäkra och så.

Vem vet, det kanske är obefogat, men det är inte en risk jag är villig att ta när jag bär det slutgiltiga ansvaret för vad som händer som följd av mina handlingar.

Det är lite som när man tar körkort, och de uppmuntrar att man som förare ska kunna väja för samtliga faror man kan förutse (och även dem man kanske inte förutser).

Tillägg:

Ytterligare en sak värd att nämna här som parentes, är att XML-filer som görs publikt tillgängliga Aldrig bör innehålla känsligt material som inköpspriser!

I fallet av den XML fil jag syftade till var det en privat XML fil där XML användes då det var formatet systemet genererade och blev smidigast för datahantering tack vare XML’s strukturella egenskaper i hur dess syntax kodas och språket fungerar.