NordicCode
Verktyg

Lovable SEO: vad Google faktiskt ser när den besöker din AI-byggda hemsida

57 av 61 sökord i annonskontot hade Quality Score under 7, och Googles förklaring var densamma på nästan alla: landningssidan var “below average”. Kontot spenderade 360 kr om dagen, och varje klick prissattes mot en landningssida som Google bedömde som svag.

Sidan var ny, byggd i Lovable, snygg och snabb i browsern. Kunden hade sett den. Jag hade sett den.

Så jag körde curl mot domänen. Tillbaka kom en tom div.

Det du ser i browsern är inte det Google ser. Det är hela artikeln i en mening, men det finns detaljer som avgör vad det kostar dig.

Vad du ser är inte vad Google ser

Din browser är smart. Den laddar HTML, kör JavaScript, väntar på att innehållet ska rita upp sig och visar dig sedan resultatet. Det tar kanske en halv sekund.

Googles crawler gör inte samma sak.

Googlebots uppdrag är att ladda HTML-källan och gå vidare. JavaScript-rendering är resurskrävande, och Google prioriterar sidor som ger information direkt i HTML-svaret.

När jag körde curl mot kundens domän och tittade på vad som faktiskt skickades, fick jag det här:

<div id="root"></div>

Det var allt. En tom div.

Hela hemsidans innehåll, alla tjänstebeskrivningar, alla rubriker låg låsta bakom JavaScript som crawlern antingen inte körde alls, eller körde med dagars fördröjning.

Det här är standard för Lovable-sajter, Bolt-byggen och de flesta React-appar som skapas utan serverrendering. Verktyget genererar en klientrenderad app. Snygg i browsern, tom för crawlers.

Hur det visade sig i annonsernas Quality Score

Det syntes snabbt i Google Ads.

Av 61 sökord i kontot hade 57 lägre Quality Score än 7. Anledningen Google angav var densamma på nästan alla: “landing page: below average”.

AdsBot, Googles bot för annonsqualificering, renderar inte JavaScript. Den ser exakt samma tomma div som Googlebot. Utan synligt innehåll kan Google inte avgöra om landningssidan är relevant för söktermen. Resultatet: sämre Quality Score och högre CPC.

Det är alltså inte bara organisk rankning som påverkas. Det påverkar vad du betalar per annonsklick.

AI-söktjänsterna renderar inte JavaScript alls

Googles crawler renderar JavaScript, om än med fördröjning och med prioritering. De AI-söktjänster som styr en växande del av sökbeteendet gör det inte.

Perplexity, ChatGPT:s sökfunktion och Claude som svarar på webbrelaterade frågor skickar crawlers som läser HTML och lämnar resten. En React-app med en tom root-div är osynlig för dem, helt och hållet.

Det är ett problem som växer i takt med att fler väljer AI-sök över traditionell sökning. Hur AI-assistenter faktiskt hittar information om din verksamhet är en egen fråga, och en llms.txt räcker inte om ingen länkar till den.

Kolla om din sajt är drabbad

Det tar tio sekunder:

curl https://din-hemsida.se | grep -i "h1\|title"

Får du tillbaka din rubrik och din sidtitel i svaret är du okej. Får du ingenting, eller bara en tom div, ser Googlebot och AdsBot troligen samma tomma svar.

Testa ett par undersidor också, inte bara startsidan. Ofta är startsidan bättre hanterad men tjänste- och produktsidorna tomma.

Har du problem med indexering av andra skäl kan du läsa om hur Google faktiskt bestämmer sig för att indexera en sida.

Tre sätt att lösa det

Byt till ett ramverk som genererar HTML vid byggtid

Astro, Next.js med Static Site Generation eller liknande ramverk renderar sidorna till HTML-filer vid deploy. Googlebot ser fullständigt innehåll direkt.

Bygg en prerender-pipeline i den befintliga appen

Det går att lägga till serverrendering i en React-app, även en som börjat som en ren CSR-app. Idén är att generera statiska HTML-filer av alla routes vid byggtid och serva dem till crawlers. Browsern hydrerar sedan till en vanlig React-app som vanligt.

Jag byggde en sådan pipeline åt kunden vars Lovable-sajt hade det här problemet. 124 av 124 sidor fick HTML med faktiskt innehåll i svaret. curl mot tjänstesidorna returnerade H1 direkt, utan JavaScript.

En prerender-tjänst

Tjänster som Prerender.io cachelagrar renderade versioner av dina sidor och servar dem selektivt till crawlers. Enklare att komma igång med, men en extra löpande kostnad och ytterligare ett beroende att underhålla.

Strukturerad data är det maskinerna läser först. ChatGPT återgav mitt schema nästan ordagrant.

Kolla din egen sajt

  1. Kör curl-testet ovan mot startsidan och två tjänstesidor: curl https://din-hemsida.se/tjanst | grep -i "h1\|title". Kommer H1 och title tillbaka i svaret är HTML:en okej. Kommer bara <div id="root"></div> är sidan tom för crawlers.
  2. Search Console → klistra in en tjänstesida i URL-granskning → Testa aktiv URL → Visa testad sida → fliken HTML. Saknas din rubrik och brödtext i den koden ser Google samma tomma div som jag såg.
  3. Kör du Google Ads: Sökord → Kolumner → lägg till Kvalitetsresultat och Upplevelse på landningssidan. “Under genomsnittet” på majoriteten av sökorden och kvalitetsresultat under 7 är samma symptom sett från annonssidan. I kontot jag jobbade med var det 57 av 61.

Ett tomt curl-svar på en enskild sida, eller en saknad title, fixar du själv i verktyget du byggde sajten i. Är alla sidor tomma är det inte en textändring utan en byggändring, och en prerender av alla routes tog mig en arbetsdag med kunskap om hur React hydrerar.

Har din nya sajt samma problem? Skicka URL:en till en gratis SEO-koll så ser du vad Google faktiskt får ut av den.

Vanliga frågor

Kan inte Google rendera JavaScript?

Jo, men med fördröjning och prioritering. Nya sidor kan ligga och vänta i dagar. AdsBot renderar aldrig JavaScript. AI-söktjänster renderar aldrig JavaScript. En sida som kräver JavaScript för att visa innehåll missar en stor del av det som faktiskt crawlar webben i dag.

Är det här bara ett problem med Lovable?

Nej. Det gäller alla verktyg som genererar klientrenderade JavaScript-appar: Bolt, Vite-baserade projekt, handskrivna React-appar utan SSG. Lovable hamnar i mönstret för att det är standardformatet för de flesta AI-byggda sajter.

Om jag rankar organiskt redan, är det okej?

Om du rankar bra och Quality Score är okej har Google troligtvis lyckats rendera sidan. Kör ändå curl-testet för att vara säker. QS under 7 på landningssidor är ett tydligt varningstecken.

Räcker det med att skicka in en sitemap?

Nej. En sitemap hjälper Google att hitta dina sidor men löser inte att sidorna är tomma när de besöks. Du behöver HTML med faktiskt innehåll, inte bara en div att rendera JavaScript i.

Jag bytte hemsideplattform och tappade organisk trafik. Är det samma problem?

Inte alltid. Klientrendering och plattformsbyte är separata problem. CSR-sajter är osynliga för crawlers oavsett plattform. Men ett plattformsbyte för ofta med sig ändrade URL:er och redirectar som inte sätts upp korrekt. Jag gick igenom vad som händer med Google-rankningen när du byter hemsida separat.

Vill du lära dig mer?

Jag bygger en onlinekurs om AI för svenska företag. Skriv upp dig så får du veta när den släpps.

Relaterade artiklar