Google indexerar inte din sida? Search Console kan ljuga
För ett tag sen tittade jag på en kund med en äldre WordPress-sajt. Fyra av deras viktigaste sidor, de som ska dra in kunder, syntes inte alls på Google. I Search Console stod det svart på vitt: “Utesluten av noindex”. Sidorna hade alltså en tagg som sa åt Google att inte ta med dem.
Eller, det var vad Search Console påstod.
Jag kollade sidorna med ett enkelt kommando i terminalen. Och taggen sa precis tvärtom. Live serverade alla fyra sidorna index, follow, alltså “ta gärna med mig i sökresultaten”. Taggarna var redan rätt. Search Console satt fast i en gammal sanning.
Det här är en av de mest missförstådda sakerna i hela SEO. Och om du jagar fel sak kan du lägga veckor på att fixa något som redan är fixat.
Varför Search Console ljuger för dig
Search Console visar inte hur din sida ser ut just nu. Den visar hur sidan såg ut senast Google besökte den. Det besöket kallas en crawl.
Om Google crawlade sidan för två och ett halvt år sen, och sidan då hade en noindex-tagg, så står det “Utesluten av noindex” än idag. Även om du tog bort taggen för länge sen. Search Console uppdaterar inte sig självt. Den väntar på att Google ska komma tillbaka och titta igen.
Och det är där det börjar gå fel. För i det här fallet hade Google inte kommit tillbaka på ungefär två och ett halvt år.
Så du sitter där och stirrar på en varning om noindex, redo att gräva i din WordPress eller ringa en utvecklare. När problemet egentligen inte är taggen alls. Problemet är att Google aldrig kommer tillbaka och ser att du fixat den.
Det här är samma mekanism som gör att sidor försvinner från Google när du byter hemsida. Google ser inte ändringen förrän den crawlar igen.
Kolla själv med ett kommando
Innan du tror på vad Search Console säger om noindex, verifiera vad sidan faktiskt serverar just nu. Det tar tio sekunder.
Öppna terminalen och kör:
curl -s https://dinsida.se/sidan-du-undrar-over | grep -i robots
curl hämtar sidans råa kod, precis som Google ser den. grep -i robots plockar ut raden som styr indexering. Du får tillbaka något i den här stilen:
<meta name="robots" content="index, follow" />
Säger det index, follow? Då är taggen rätt. Sidan vill bli indexerad. Står det noindex någonstans där, då har du ett riktigt taggproblem att fixa i din sajt.
I mitt fall sa alla fyra sidorna index, follow. Taggarna var alltså aldrig problemet. Search Console hade bara en föråldrad bild.
Om du inte är van vid terminalen kan du göra ungefär samma sak med URL-inspektionsverktyget inne i Search Console. Klistra in URL:en och titta på “Crawlad sida” mot “Live-test”. Skiljer de sig åt, då vet du att Search Console sitter på gammal info.
Den riktiga boven: en trasig sitemap
Så om taggen var rätt, varför kom Google aldrig tillbaka?
En sitemap är en lista över alla sidor på din sajt som du vill att Google ska känna till. Den ligger oftast på dinsida.se/sitemap.xml och ska vara en XML-fil, alltså strukturerad data byggd för maskiner, inte för människor.
När jag öppnade sajtens /sitemap.xml kom det inte ut någon XML. Det kom ut en helt vanlig webbsida i HTML. En sida byggd för ögon, inte för Google. För Googles ögon såg sitemapen alltså ut att innehålla noll sidor.
Och det blev värre. Den riktiga sitemapen, den som faktiskt fungerade, låg på en helt annan adress (/sitemap_index.xml, vilket är standard för en vanlig WordPress-uppsättning). Den hade aldrig skickats in till Search Console.
Lägg ihop det:
- Den inskickade sitemapen var trasig och visade noll sidor.
- Den fungerande sitemapen kände Google inte till.
Resultatet blev att Google inte fick någon signal om att komma tillbaka och crawla om sidorna. På två och ett halvt år. Taggarna var fixade hela tiden, men ingen talade om för Google att den skulle titta igen.
Så fixar du det
Det fina i det här fallet var att fixen inte rörde sidorna alls. Vi behövde inte gå in i WordPress och peta i taggar. Vi behövde bara få Google att titta igen.
Två steg:
1. Kolla att din sitemap faktiskt är en XML-fil. Kör samma curl-trick på din sitemap:
curl -s https://dinsida.se/sitemap.xml | head -5
Ser du rader som börjar med <?xml och <urlset? Då är den rätt. Ser du <!DOCTYPE html> eller en massa vanlig sidkod? Då serverar din sitemap en webbsida i stället för data, precis som i mitt fall. Hitta den riktiga sitemapen. På WordPress med vanliga SEO-plugins ligger den ofta på /sitemap_index.xml.
2. Skicka in rätt sitemap i Search Console och begär omindexering. Gå till Sitemaps i menyn, lägg in adressen till den fungerande sitemapen. Använd sen URL-inspektionen på dina viktiga sidor och klicka “Begär indexering”. Det är den signalen som säger åt Google att komma tillbaka.
Kunden gjorde precis det här själv samma dag, så fort vi visste vad som var fel. Att skicka in en sitemap och klicka på en knapp är inte svårt. Det svåra var att hitta att den gamla sitemapen var trasig, något hen aldrig hade dubbelkollat på alla år sajten funnits.
Och det är hela poängen. Den tekniska fixen tog fem minuter. Att veta var man skulle leta var värdet. Det är samma sak som gör att företag inte syns på Google fast allt “borde” funka. Felet sitter sällan där man tror.
Vanliga frågor
Min sida säger “Utesluten av noindex” i Search Console. Är den verkligen noindex?
Inte säkert. Search Console visar hur sidan såg ut vid den senaste crawlen, inte hur den ser ut just nu. Kör curl -s https://dinsida.se/sidan | grep -i robots och titta på vad som faktiskt serveras. Säger det index, follow är taggen redan rätt och problemet ligger någon annanstans, oftast i att Google inte crawlat om sidan.
Hur snabbt indexerar Google om en sida efter att jag begärt det?
Det varierar. Ofta handlar det om allt från några dagar till ett par veckor efter att du skickat in en fungerande sitemap och begärt indexering. Det har suttit fast i flera år är det inte ovanligt att de sista sidorna trillar in successivt under några veckor.
Hur vet jag om min sitemap är trasig?
Kör curl -s https://dinsida.se/sitemap.xml | head -5. En fungerande sitemap börjar med rader som <?xml och <urlset. Ser du i stället vanlig sidkod som <!DOCTYPE html> serverar din sitemap en webbsida i stället för data, och Google ser noll sidor i den.
Måste jag ta bort noindex-taggen för att sidan ska indexeras?
Bara om sidan faktiskt har en noindex-tagg live. Kolla med curl först. Är taggen redan index, follow ska du inte röra sidan alls. Då är fixen att få Google att crawla om: skicka in rätt sitemap och begär indexering.