Arbetet med interna länkar är förvånansvärt irriterande. Det börjar som ”lägg bara in några länkar”, och blir snabbt en timme av att googla din egen sajt, öppna flikar och ändå missa de bästa möjligheterna.
Automatisering av interna länkar gör mest nytta när innehållsvolymen är hög och tiden är knapp. En SEO-ansvarig märker det vid revisioner. En content lead som publicerar varje vecka drabbas också. Och om du hanterar kundsajter vet du redan hur snabbt ”snabba ändringar” staplas på hög.
Det här arbetsflödet tar dina mål-URL:er och nyckelord, söker igenom din sajt efter relevanta sidor med SerpAPI och skriver korrekta förslag på interna länkar i Google Sheets. Du får se hur det fungerar, vad du behöver och vanliga fallgropar att undvika.
Så fungerar den här automatiseringen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: Google Sheets + SerpAPI: förslag på interna länkar
flowchart LR
subgraph sg0["Manual Launch Start Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Launch Start", pos: "b", h: 48 }
n1@{ icon: "mdi:database", form: "rounded", label: "Retrieve URLs and Topics", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Iterate Records Batch", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>SerpAPI Search Request"]
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Parse Organic Links", pos: "b", h: 48 }
n5@{ icon: "mdi:database", form: "rounded", label: "Update Sheet with Links", pos: "b", h: 48 }
n0 --> n1
n2 --> n3
n1 --> n2
n4 --> n5
n5 --> n2
n3 --> n4
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n1,n5 database
class n3 api
classDef customIcon fill:none,stroke:none
class n3 customIcon
Problemet: interna länkar är långsamma, inkonsekventa och lätta att göra fel
Att hitta rätt interna länkmål låter enkelt tills du gör det i stor skala. Du söker på din domän, skummar resultaten, öppnar fem lovande sidor och inser sedan att två handlar om samma ämne, en är inaktuell och den sista är sidan du försöker länka till. Upprepa det här på 30 sidor. Ärligt talat är det inte bara tiden. Det är den mentala belastningen av att komma ihåg vad du redan har länkat, hålla ankartexter konsekventa och inte råka skapa ett rörigt nät av nästan-dubbletter som inte hjälper rankingen.
Ingen av dessa är problemet i sig. Tillsammans är de det.
- Manuella ”site:”-sökningar ger inkonsekventa resultat, så två skribenter föreslår helt olika länkar för samma nyckelord.
- Du länkar om och om igen till samma lilla handfull sidor eftersom de är lättast att hitta, inte för att de är bäst match.
- Copy-paste-misstag händer oftare än någon vill erkänna, vilket ger fel URL:er och onödiga granskningsrundor.
- När du inte hittar en relevant sida snabbt hoppas interna länkar över och inlägget publiceras svagare.
Lösningen: interna länkförslag i Google Sheets med SerpAPI
Det här arbetsflödet gör research för interna länkar till en repeterbar process i kalkylark. Du börjar med ett Google Sheet som listar din domän, en mål-URL (sidan du vill ranka) och nyckelordet eller ämnet du vill att sidan ska ranka för. När du kör arbetsflödet hämtar det varje rad, använder SerpAPI för att söka på din sajt efter relevanta sidor och hoppar medvetet över mål-URL:en så att du inte får självreferenser. Sedan filtrerar och tolkar det de organiska resultaten, plockar ut de mest relevanta URL:erna och skriver förslagen direkt tillbaka i Google Sheets. Om inget vettigt dyker upp markerar det raden som ”N/A” så att du slipper gissa.
Arbetsflödet startas manuellt i n8n, vilket är praktiskt när du vill styra när nya förslag ska genereras. Därefter loopar det igenom dina rader i batchar, gör ett SerpAPI-anrop per rad och uppdaterar arket löpande. Enkel indata. Rent resultat.
Det här får du: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du publicerar 10 nya inlägg i veckan och vill ha 5 interna länkmål för varje inlägg. Manuellt kan du lägga cirka 10 minuter per inlägg på att söka, öppna sidor och kopiera URL:er, vilket blir ungefär 2 timmar i veckan. Med det här arbetsflödet klistrar du in 10 rader i Google Sheets, klickar på kör och väntar på att SerpAPI-anropen blir klara (ofta bara några minuter). Du granskar fortfarande förslagen, men skattjakten är borta.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Google Sheets för din indata-lista och utdata
- SerpAPI för att söka i din sajts indexerade sidor
- SerpAPI API-nyckel (hämta den i din SerpAPI-dashboard)
Kunskapsnivå: Nybörjare. Du kopplar konton, klistrar in en API-nyckel och matchar några kolumner i arket.
Vill du inte sätta upp detta själv? Prata med en automatiseringsexpert (gratis 15-minuters konsultation).
Så fungerar det
Manuell körning från n8n. Du klickar för att starta arbetsflödet när du är redo att generera en ny batch med interna länkförslag, så inget körs oväntat.
Rader från Google Sheets hämtas. Arbetsflödet läser ditt ark (domän, mål-URL och nyckelord/ämne) och förbereder varje post för bearbetning i hanterbara batchar.
SerpAPI söker på din sajt. För varje nyckelord skickas ett HTTP-anrop till SerpAPI för att hitta relevanta sidor på din domän, samtidigt som mål-URL:en undviks så att du inte rekommenderar att länka till sig själv.
Förslagen skrivs tillbaka till arket. Arbetsflödet tolkar de organiska resultaten, formaterar en korrekt lista med URL:er och uppdaterar originalraden. Om det inte hittar en bra matchning skriver det ”N/A” så att uppgiften blir tydlig.
Du kan enkelt ändra hur många resultat du behåller eller vad som räknas som ”relevant” utifrån dina behov. Se den fullständiga implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera den manuella triggern
Ställ in den manuella startpunkten så att ni kan köra arbetsflödet vid behov medan ni testar er process för interna länk-möjligheter.
- Lägg till och öppna Manual Launch Start för att bekräfta att det är den första noden i arbetsytan.
- Lämna standardinställningarna som de är för Manual Launch Start eftersom den triggas manuellt utan parametrar.
- Säkerställ att Manual Launch Start ansluter direkt till Retrieve URLs and Topics enligt körflödet.
Tips: Post-it-lappen Flowpast Branding är endast informativ och påverkar inte körningen.
Steg 2: Anslut Google Sheets
Konfigurera noderna för läsning och uppdatering av arket för att hämta URL:er/ämnen och skriva tillbaka resultaten för interna länkar.
- Öppna Retrieve URLs and Topics och välj kalkylarket med Document ID inställt på
[YOUR_ID]och Sheet Name inställt påInternal links. - Bekräfta att filtret i Retrieve URLs and Topics kontrollerar Internal link 1 för att undvika att bearbeta redan klara rader igen.
- Inloggning krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Retrieve URLs and Topics.
- Öppna Update Sheet with Links och bekräfta att Operation är inställt på
update, att Document ID är[YOUR_ID]och att Sheet Name ärInternal links. - Inloggning krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Update Sheet with Links.
⚠️ Vanlig fallgrop: Om ni använder ett annat arknamn eller dokument-id kommer uppdateringarna inte att matcha kolumnen URL.
Steg 3: Konfigurera batchbearbetning och SerpAPI-fråga
Bearbeta rader i hanterbara batcher och sök efter möjligheter för interna länkar med SerpAPI.
- Öppna Iterate Records Batch och ställ in Batch Size till
5för att styra hur många rader som bearbetas per loop. - Öppna SerpAPI Search Request och ställ in URL till
https://serpapi.com/search. - Låt Send Query vara aktiverat och ställ in frågeparametern q till
={{ $json.Keyword }} site:{{ $json.Domain }} -inurl:{{ $json.URL }}. - Inloggning krävs: Anslut era serpApi-uppgifter i SerpAPI Search Request.
- Inloggning krävs: Anslut era httpHeaderAuth-uppgifter i SerpAPI Search Request om ert konto kräver header-autentisering.
Tips: Loopen drivs av Iterate Records Batch som skickar varje batch till SerpAPI Search Request.
Steg 4: Tolka resultaten och uppdatera arket
Omvandla SerpAPI-svaret till en ren array av länkar och skriv tillbaka dem till arket.
- Öppna Parse Organic Links och ställ in URL till
={{ $('Iterate Records Batch').item.json.URL }}. - I Parse Organic Links ställer ni in organic_results till
={{ $json.organic_results.map(item => item.link) }}. - I Update Sheet with Links mappar ni URL till
={{ $json.URL }}och fyller i Internal link 1 till Internal link 10 med de befintliga uttrycken (t.ex.={{ $json.organic_results[0] ? $json.organic_results[0] : "N/A"}}). - Bekräfta att Matching Columns inkluderar URL så att uppdateringar tillämpas på rätt rad.
⚠️ Vanlig fallgrop: Om kolumnnamnet för URL i ert ark skiljer sig, kommer uppdateringen att misslyckas med att matcha rader.
Steg 5: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att verifiera att URL:er bearbetas, att SerpAPI-resultat tolkas och att länkar uppdateras i arket.
- Klicka på Execute Workflow och trigga Manual Launch Start för att köra en testbatch.
- Verifiera att SerpAPI Search Request returnerar organiska resultat och att Parse Organic Links ger ut en array.
- Kontrollera kalkylarket för att bekräfta att Update Sheet with Links skriver interna länkar i kolumnerna Internal link 1–10.
- När allt fungerar, växla arbetsflödet till Active för att möjliggöra användning i produktion.
Vanliga fallgropar
- Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera status för inloggningsuppgifterna i n8n och bekräfta att det anslutna Google-kontot fortfarande har redigeringsåtkomst till arket.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera utdata för alltid.
Vanliga frågor
Cirka 30 minuter när ditt Sheet och din SerpAPI-nyckel är klara.
Ingen kodning krävs. Du kopplar Google Sheets, klistrar in din SerpAPI-nyckel och mappar kolumner en gång.
Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna med SerpAPI-kostnader baserat på hur många sökningar du kör.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och hanterar n8n bra. Egen drift ger obegränsat antal körningar men kräver grundläggande serverhantering.
Ja, men då vill du justera parsningen i steget ”Parse Organic Links” så att du behåller de N bästa resultaten i stället för en enda URL. Vanliga anpassningar är att returnera topp 3–5 sidor, filtrera bort taggsidor eller författarsidor och exkludera specifika undermappar som /category/ eller /page/.
Oftast beror det på att Google-inloggningarna i n8n har löpt ut eller bytts ut. Anslut Google Sheets-inloggningen igen och bekräfta sedan att kalkylarket är delat med samma Google-konto och att det har redigeringsåtkomst. Om du använder en delad enhet kan behörigheter vara extra kinkiga. Kontrollera också att arknamnet och fliken matchar vad noden förväntar sig.
Några hundra rader per körning är realistiskt för de flesta team, men det beror på dina SerpAPI-gränser och hur snabbt du vill att batchen ska bli klar.
Ibland. Om du behöver loopar, batchning och logik för ”gör detta för varje rad” är n8n oftast enklare att styra (och billigare i volym), och du kan dessutom köra egen drift för obegränsat antal körningar. Zapier och Make kan fortfarande fungera, men parsning i flera steg blir ofta snabbt klumpig. Den större poängen är repeterbarhet: reglerna är desamma vid varje körning, vilket håller interna länkar konsekventa. Prata med en automatiseringsexpert om du vill ha hjälp att välja.
Intern länkning ska inte vara en återkommande brandkårsutryckning. Sätt upp det här en gång, kör det när du behöver det och fortsätt publicera innehåll med starkare struktur.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.