Exempel med 3 separata filer för automatisk inhämtning av nya produkter
När plugin för att hämta produkt- eller orderdata, i detta fallet WP All Import, inte kan ansluta direkt till en extern FTP- eller SFTP-källa är en praktisk lösning att först flytta filerna till den egna servern med Make.
Att importera produkter till WooCommerce från en extern leverantör utan API eller lösningar för integration som istället använder text eller CSV-filer på sin egen databas kräver en hel del arbete. I praktiken uppstår det ofta problem redan i första steget stötte vi på detta: importverktyget kan inte ansluta direkt till leverantörens FTP- eller SFTP-server, trots att samma inloggning fungerar i en vanlig klient som FileZilla.
Den här guiden beskriver en fungerande lösning för att importera produkter, priser och lager till WooCommerce när direkt FTP/SFTP-anslutning i WP All Import inte fungerar, och kombinera flera källor. Lösningen bygger på att först flytta filerna till den egna servern med Make.com, och därefter läsa in dem som lokala filer i WP All Import (plugin för wordpress).
Flödet blir då:
Extern SFTP/FTP → Make → egen server → lokala filer → WP All Import
I Make används tre steg i följd:
- SFTP öppna/läs
- SFTP hämta
- FTP ladda upp
Därefter används WP All Import för att läsa filerna lokalt.
Verktyg som behövs
För att sätta upp lösningen behövs följande:
- WP All Import
- WP All Import WooCommerce Add-On
- Make.com (Ofta Core-plan)
- FileZilla
Utöver detta behöver du tillgång till:
- extern FTP- eller SFTP-källa där leverantörens filer ligger
- egen FTP-anslutning till webbhotellet eller servern där WordPress ligger
Problemet med direkt FTP/SFTP i WP All Import
Det första man normalt testar är att låta WP All Import hämta filer direkt från leverantörens FTP- eller SFTP-server. Det kan fungera i vissa miljöer, men inte alltid.
Ett vanligt scenario är att:
- anslutningen fungerar i FileZilla eller annan FTP-klient
- men WP All Import får felmeddelanden som att den inte kan ansluta eller läsa filen
När det händer är det ofta bättre att sluta försöka lösa filhämtningen direkt i importpluginet. I stället blir en stabilare lösning att först flytta filerna till den egna servern och därefter arbeta med dem lokalt. Det kan bero på begränsningar hos webbhotellet.
Så användes Make för att flytta filerna
När direkt anslutning i WP All Import inte fungerade användes Make som mellanled.
I Make användes tre funktioner i följd:
- SFTP öppna/läs
- SFTP hämta
- FTP ladda upp (välj att explicit kryptera FTP-anslutning)

Detta innebär att Make först ansluter till den externa filplatsen, därefter hämtar rätt fil och till sist laddar upp samma fil till den egna servern där WP All Import normalt placerar dem (/public_html/uploads/wp-content/uploads/wpallimport/files)
Viktigt att tänka på i Make
När filerna laddas upp till den egna servern är det viktigt att:
- En Make-prenumeration som klarar större filöverföringar, i praktiken minst ett paket över free-nivån om filerna är stora (>5 MB) eller om fler än 2 filer behöver hämtas.
- Skapa en automatisk hämtning baserat på tid i Make
- Skriv över gamla filer, använd inte ”append” på sista steget för uppladnning. Varje ny fil ska alltså ersätta den gamla helt.
Så bör importen byggas upp i WP All Import
Om leverantören använder separata filer för olika typer av data måste importen också delas upp i separata importer.
Upplägg vi stötte på var:
- en katalogfil för produktinformation
- en prisfil för prisuppdateringar
- en lagerfil för lagerstatus eller lagersaldo
Det är viktigt att förstå att bara en av dessa importer ska skapa nya produkter.
I WP All Import med Woocommerce-tillägg valdes local/existing files och filerna som laddats upp med hjälp av make ska då finnas i rullistan. Om inte alla produkter i katalogen är önskvärda väljer man först att skapa ett filter (grå knapp), sedan går vidare till att dra ut olika fält till där de passar i layouten.
1. Produktfilen skapade nya produkter
Katalogfilen eller huvudfilen används för att skapa själva WooCommerce-produkterna. Den fil som innehåller produkter är huvudfil till att skapa nya produkter i Woocommerce.
Det är här du importerar till exempel:
- artikelnummer
- produktnamn
- beskrivning
- kategorier
- varumärke
- EAN
- bilder
- övrig grunddata
Det artikelnummer som fanns i produktfilen bör användas som produktens SKU i WooCommerce-sektionen och övriga filer behöver matcha med antingen namn eller artikelnummer, alternativt valfritt värde som finns i alla filer och placeras under custom field.
VIKTIGT! De fält som uppdateras av andra filer ska man manuellt avaktivera att de kan skrivas av denna fil.
2. Prisfilen ska inte skapa nya produkter
Prisfilen används bara för att uppdatera produkter som redan finns.
I WP All Import ska prisfilen därför matchas mot befintliga produkter via:
- SKU – ”create new” -> custom field -> ”_sku” (Inte Product ID)
- eller titel alternativt valfritt custom field som ovan nämnt om det är den struktur man arbetar med.
I de flesta fall är SKU bäst om samma artikelnummer finns i samtliga importfiler.
Prisfilen ska alltså inte skapa nya produkter, utan bara uppdatera befintliga poster med ny prisinformation (”match with existing products” istället för ”create new products”).
3. Lagerfilen ska inte heller skapa nya produkter
Samma princip gäller lagerfilen.
Lagerfilen ska matchas mot befintliga produkter via SKU och bara uppdatera:
- lagersaldo
- lagerstatus
- eventuell information om utgående artikel
Det betyder att endast den första importen skapar produkter. Resterande importer används för att uppdatera dessa produkter med ny information.
Därför ska bara en fil skapa produkter
Om flera separata filer försöker skapa nya produkter samtidigt blir resultatet ofta fel.
Vanliga problem är:
- dubbla produkter
- ofullständig data
- fel matchning
- pris utan produktinformation
- lager som inte kopplas till rätt vara
- En fil skriver över informationen från en annan och lämnar fält tomma
Det säkra upplägget är därför:
- huvudfilen skapar produkten och exkluderar i vårt fall pris och lagersaldo
- prisfilen matchar mot SKU och uppdaterar pris endast
- lagerfilen matchar mot SKU och uppdaterar lagersaldo endast
På så sätt får varje fil en tydlig funktion.
Felsökning / Utökat antal produkter

Om din server stoppar produktimporter regelbundet kan man klicka ”continue import” med jämna mellanrum för den första importen. Dessutom kan man i WP All import gå till manage imports -> settings -> advanced options -> Records per iteration -> sänk till tex 1-5 (anger hur många produkter i taget som importeras). Detta sänker hastigheten men gör det stabilt, efter första importen brukar långsammare vara okej. Upp till ca 2000 produkter har vi däremot inte sett problem. Vid 10.000 krävdes ett värde på 3 för en vanlig delad server. Vid första import kan även do_action tillfälligt avaktiveras (under iterations).
Sista Steget: Automatiskt köra nya produktimporter regelbundet
När alla fält är matchade och man går vidare till sista steget. För att automatiskt köra nya importer då filerna uppdateras kan man välja att betala månadsvis för deras tillägg eller som vi valde, ”manual”. WP all import visar då det som krävs för att skapa ett CRON-jobb vilket går att köra via webbhotellet eller plugin i wordpress, alternativt valfri tjänst för cron-jobb.
När man valt manual visar WP all import de två änkar som krävs, en trigger och en processing. Skapa 1 Cron-jobb för varje länk (2 per fil). Mata in trigger-länken och kör den i samband med att filerna i databasen förväntas kunna uppdateras och kör sedan processing-länken i ett separat cron-jobb med ett tätare intervall (tex varje 5-10 min). Även om trigger är betydligt mer sällan har WP-import en inbyggd funktion att endast fortsätta tidigare trigger när en ny processing finns utan en ny trigger. Detta säkerställer att filen importeras korrekt, även om möjligt avbrott förekommer.