Fyrtio dagar. Så lång tid tar det att en gång köra igenom fyrtiotusen adresser när dygnstaket ligger på tusen. Den siffran är utgångspunkten här, för den avgör allt som följer: vilka sidor som får plats, vilka som får vänta och vilka som aldrig borde ha stått i kön.
Räkneövningen är hämtad från en tänkt produktkatalog och beskriver ingen befintlig kund. Den fungerar ändå som verklighetskontroll, eftersom nästan varje bolag med ett brett sortiment och två språkversioner hamnar i samma storleksordning utan att någon planerat för det.
Fyrtiotusen adresser mot ett tak på tusen om dygnet
Ta en leverantör av industrikomponenter som betjänar hela landet. Sitemapträdet rymmer 40 000 poster när svenska och engelska räknas ihop. Dygnstaket ligger på 1 000, vilket ger fyrtio dygn för en komplett runda — under förutsättning att taket nyttjas fullt varje dag och att ingen post går iväg två gånger. Med rättningsvarven inräknade blir det snarare sex till åtta veckor.
Att kunna skicka 10 000 adresser i en enda försändelse ändrar ingenting i den kalkylen. Batchstorleken avgör hur många gånger någon måste klistra in en lista, inte hur snabbt kön betas av. Det är två olika mått, och de blandas ihop i nästan varje diskussion om ämnet.
Sex till åtta veckor är oacceptabelt för ett sortiment som byts inför en säsong. Slutsatsen är däremot inte att verktyget är för långsamt, utan att kön är osorterad. Delas samma fyrtiotusen upp efter vad de faktiskt gör för verksamheten ser bilden annorlunda ut.
- Cirka 17 300 parameter- och filtervarianter. Sorteringar, prisspann, spårningsparametrar. De ska lösas med en kanonisk hänvisning och inte med inskickning. Budget som går åt: ingen.
- Cirka 6 800 utgångna artiklar. Utgångna serier och avvecklade komponenter. De behöver en omdirigering eller en ren 410, inte en plats i kön.
- Cirka 340 kategori- och ortssidor. De bär den kommersiella tyngden och ryms på en tredjedels dygnsbudget.
- Cirka 5 900 aktuella artikelsidor på två språk. De följer på sex dygn och täcker den löpande försäljningen.
- Cirka 9 660 arkiv- och långsvansadresser. De får beta av sig själva i bakgrunden när allt annat är klart, helt utan deadline.
Fyrtio dygn krymper alltså till dryga veckan för den del som faktiskt genererar intäkter. Det är sorteringen som betalar, inte någon teknisk finess. Därför gör dygnstaket mer nytta än skada: det framtvingar ett prioriteringsbeslut som annars skjuts upp i all oändlighet.
Känd, hämtad, sparad — tre olika saker
Bakom räknestycket ligger en modell som ofta förenklas till en enda händelse. Indexering framställs som något som antingen har inträffat eller inte, ungefär som en strömbrytare. I verkligheten är det tre efterföljande steg, vart och ett med egen logik och egen sorts stopp.
- Upptäckt. Adressens existens blir känd för sökmotorn. Det sker via en meny eller brödtext på din egen webbplats, via en rad i ett sitemapträd, via någon annans länk eller genom ett aktivt påpekande. Saknas samtliga dessa vägar existerar sidan helt enkelt inte för sökmotorn.
- Hämtning. Boten går faktiskt in och begär sidan. Antalet sådana förfrågningar din domän tilldelas under ett givet tidsspann går under namnet crawlbudget, och det talet styrs av hur snabbt servern svarar, hur pålitliga svaren varit historiskt och vilken nytta domänen bedöms göra.
- Upptagning. Sidan som hämtats vägs och lagras, alternativt förkastas. Avgörande är då innehållets egenart, förekomsten av dubbletter och huruvida sidans signaler pekar samstämmigt.
Veckor kan förflyta mellan stegen. En post kan vara registrerad sedan i vintras utan att någon bot begärt in den, och en annan kan ha levererats felfritt men ändå refuserats. Den som håller isär stegen kan ställa den enda fråga som leder framåt: var i kedjan tar det stopp?
Sex mönster som förklarar de flesta fallen
Vid genomgångar av verkliga webbplatser återkommer samma sex orsaker med tröttsam regelbundenhet. De är ordnade nedan efter vilket av de tre stegen de tillhör, eftersom det avgör vem i organisationen som ska lösa dem.
| Mönster | Steg | Igenkänningstecken | Motåtgärd |
|---|---|---|---|
| Sidan saknar ingående länkar | Upptäckt | Svarar 200, men syns varken i menyn eller i någon sitemapfil | Länka in den från en relevant kategori och ta upp den i filen |
| Sidan ligger för djupt | Upptäckt | Nås först efter tio klick, uteslutande via sidnumrering | Platta ut strukturen och bygg samlingssidor |
| Parametrar skapar dubbletter | Upptagning | Samma artikel nås via sortering, filter och spårningskod | Peka ut en kanonisk adress och håll den konsekvent |
| Kanoniska hänvisningar pekar fel | Upptagning | Målet omdirigerar, saknas eller pekar tillbaka på sidnumrering | Låt hänvisningen gå till en existerande, indexerbar adress |
| Blockering förväxlas med uteslutning | Hämtning | Adressen ligger kvar i indexet trots att den är spärrad i robots.txt | Öppna åtkomsten så att uteslutningsinstruktionen kan läsas |
| Servern svarar långsamt eller ojämnt | Hämtning | Svarstiderna stiger vid belastning, 5xx vid kampanjtoppar | Se över cachning, drift och felhantering |
Två av mönstren tål att understrykas. Det ena är sammanblandningen av spärr och uteslutning: en spärrad adress begärs aldrig in, varför instruktionen inne på sidan aldrig blir läst. Det andra gäller den kanoniska hänvisningen, som är ett förslag snarare än en order. Vilken variant som slutligen lagras avgör sökmotorn själv, och den kan landa i en annan än din.
Ett rikstäckande upplägg lägger till ett eget mönster. Bolag som säljer i hela landet bygger gärna en landningssida per ort, ibland flera hundra, och skillnaden mellan dem stannar vid ett ortsnamn. Sådana sidor konkurrerar med varandra i upptagningssteget: de hämtas, de bedöms som varianter av samma text och de flesta sparas inte. Där hjälper ingen inskickning, bara innehåll som faktiskt skiljer sig åt — referenser, leveranstider, lokal lagerhållning. Vill du ha hjälp att avgöra vilka ortssidor som bär sin egen vikt beskrivs det arbetet under våra tjänster.
Dygnstaket och försändelsen
Modulen i Semalts indexeringsverktyg rymmer tre saker: en väg att anmäla adresser, en väg att mata in sitemapfiler och en journal över botarnas efterföljande beteende. Planerbar blir den inte av funktionslistan utan av de utskrivna taken, som talar om vilket resultat som ryms i vilken tidsram.
Anmälan av adresser i mängd
Avsedd för de tillfällen då stora delar av beståndet byts ut samtidigt: flytt, sortimentsskifte, säsongsomläggning.
- Hela listan på en gång. Tiotusen rader går in i samma försändelse, så handpåläggningen med att dela upp materialet i portioner försvinner.
- Taket per dygn är kvar. Kontot behandlar tusen adresser per dygn oavsett hur stor försändelsen var. Tiotusen inlämnade rader betyder alltså tio dygns behandling.
- Ordningsföljden är det verkliga beslutet. När budgeten är knapp är sorteringen det enda du fortfarande kontrollerar, och den bestämmer vad du får ut den första veckan.
- Byggd för undantagen. Vardaglig publicering rör sig i storleksordningar långt under detta tak. Funktionen finns för de enstaka tillfällen då hela beståndet är i rörelse.
För ett tillverkande bolag med en webbplats på nittio sidor är tusen per dygn en rundlig tilldelning. Knapphet uppstår först i tre lägen: den allra första kompletta rundan, ett gränssnittsbyte och en domänflytt. Det är precis de lägen som räkneexemplet i inledningen beskriver.
Filer i stället för listor: tre nivåer och tusen filer
Den andra ingången utgår från sitemapfilerna och passar bestånd där uppdelningen redan finns på plats i ett indexträd — språkvis, varugruppsvis eller efter innehållstyp. Taken sitter här på helt andra ställen.
Inläsning av sitemapfiler
När hela beståndet ska räknas igenom och uppdelningen redan finns i ett färdigt indexträd.
- Fil eller adress, båda går. Antingen laddar du upp dokumentet eller så anger du var det ligger öppet. Det första alternativet gör att en uppsättning kan provräknas innan den går skarpt.
- Nästling i tre lager. Hänvisar ett indexdokument till ännu ett indexdokument följs spåret ned i tre nivåer. Sitter något ännu längre ned bör strukturen plattas ut, oberoende av vilket verktyg som används.
- Tusen filer i samma jobb. Ett enskilt körningstillfälle täcker därför en stor katalogs samtliga delar, den engelska spegelbilden inräknad.
- Två parallellt, tjugo i kö. Utrymmet räcker väl för flera samtidiga kunduppdrag, under förutsättning att någon håller koll på turordningen: fredagens lansering ska passera före det som bara är underhåll.
Vart de än startar hamnar båda ingångarna i samma journal och drar från samma dygnstak. Det som skiljer är förarbetet: en lista bestämmer du själv ordningen på, medan sitemapfilen kommer färdig ur publiceringssystemet. Där uppstår oftast bekymret.
Filen är nämligen inget lagersaldo utan ett ställningstagande: varje rad hävdar att adressen förtjänar en plats i indexet. Består en fjärdedel av innehållet av vidarebefordringar, trasiga adresser och sådant du själv uteslutit, tappar dokumentet trovärdighet i sin helhet. Även raderna som hör hemma där drabbas.
En fil per språk och varugrupp
Uppdelningen gör felsökningen möjlig: när statuskoderna hopar sig ser du direkt vilken del av beståndet som bär problemet.
- Ett överordnat index håller ihop dem
- Håll dig innanför tre nivåer
Bara kanoniska slutmål
Adresserna ska svara 200, vara skrivna i sin slutgiltiga form och vara de varianter du själv utsett till kanoniska.
- Inga mellansteg i omdirigeringskedjor
- Ingen versionering med parametrar
Ändringsdatum som stämmer
Ett datum som uppdateras nattetid på hela beståndet gör fältet meningslöst. Sätt det när innehållet faktiskt ändrades.
- Säsongsbestånd avslöjar sig annars
- Falska datum kostar förtroende
Det som ändå refuseras
Det som sökmotorn kommer att neka oavsett vad urholkar filens samlade trovärdighet.
- Spärrade och uteslutna adresser
- Varukorg, inloggat läge, testmiljö
- Filtrerade vyer och intern sökning
Ordningen på arbetet ger sig självt: sanera, därefter mata in. Den första körningen ger tillbaka ett utgångsvärde att räkna från — antalet funna poster, antalet bortfallna och vilka statuskoder som hopar sig var. Den bortfallslistan ska vara åtgärdad innan en enda dygnsbudget läggs på den.
Att knacka på i stället för att vänta på besök
Som utgångsläge är det sökmotorn som bestämmer tidpunkten för sitt besök. Publiceras sällan på domänen kan en sida långt ned i strukturen få vänta veckor, och när ett pris justeras eller en anmälan öppnar är det exakt de veckorna som avgör utfallet. IndexNow-kopplingen kastar om initiativet: webbplatsen signalerar själv till GoogleBot och BingBot att något har hänt.
Vad som ändras är frågeställningen. Osäkerheten gäller inte längre om sidan är känd. Den är känd, den är hämtad, och trots det saknas den i indexet: vad är det som stoppar? Den varianten av frågan går att utreda, vilket den första inte gjorde.
Besöksnäring med ett fönster
Fjällanläggningar, skärgårdsverksamhet och sommarutflyktsmål har efterfrågan under några veckor. Sidorna måste vara upptagna innan fönstret öppnar, inte medan det pågår.
- Meddela när säsongssidan aktiveras
- Bygg i lågsäsong, skörda i högsäsong
Sortiment som rör sig
Justerade priser, ändrade leveranstider och nya varianter på befintliga artiklar. Varje dygn tidigare är ett dygn med rätt uppgift i resultatet.
- Meddela vid verklig ändring
- Aldrig som rutin utan ändring
Adresser som just öppnats
Spärren är hävd, uteslutningen borttagen, eller så finns en färsk kategori som ingen annan sida ännu pekar mot.
- Direkt efter en lansering
- Direkt efter en rättad robots.txt
Den språkversion ingen bevakar
På en tvåspråkig domän ligger eftersläpningen nästan alltid i den version som inte följs upp veckovis, oavsett vilken av dem det är.
- Sätt en ansvarig per språkversion
- Räkna upptagningen separat
Tidsstämpel, statuskod, feldetalj
Nyttan sitter inte i utskicket utan i journalen. Varje adress får en anteckning om besökets klockslag, vilken statuskod boten möttes av och vilken feltext som följde med. Parallellt tickar tre räknare för inlämnat, funnet respektive misslyckat, och de uppdateras under pågående körning — ingen behöver alltså sitta och vänta ut ett slutresultat i blindo.
Var för sig säger de tre posterna lite; tillsammans säger de allt. Klockslaget avgör om någon hämtning alls skett. Statuskoden avgör om bollen ligger hos tekniken eller hos redaktionen. Feltexten avgör var i koden eller innehållet ingreppet ska göras. Den ändlösa diskussionen om att sökmotorn av okända skäl håller vissa sidor utanför tar därmed slut, och ersätts av en uppgiftslista med ansvariga.
- Anmäld, aldrig besökt. Inlämningen syns i räknaren men journalraden uteblir. Granska spärrfilen, belastningen på servern och möjligheten att hela domänen dragits ned i takt.
- Besökt under en driftstörning. Möts boten av ett 5xx-svar handlar det sällan om den enskilda sidan. Konsekvensen drabbar hämtningstakten för domänen i stort.
- Besökt, men ingenting fanns där. Koderna 404 och 410 avslöjar en inaktuell rad, eller en hänvisning till något som plockats bort. Åtgärden är radering ur filen, inte en ny inlämning.
- Besökt, men vidarebefordrad. Det anmälda var en mellanstation och inte destinationen. Nästa gång lämnas den slutgiltiga adressen in direkt.
- Besökt, läst och refuserad. Ur teknisk synvinkel stämmer allt. Då återstår tre möjliga förklaringar: innehållets tyngd, en felriktad kanonisk hänvisning, eller att ingen intern länk pekar dit.
| Observation i loggen | Tolkning | Nästa steg |
|---|---|---|
| Ingen rad alls efter fem dygn | Stopp i upptäckten | Kontrollera spärrfil och intern länkning |
| Status 200 men ingen upptagning | Stopp i upptagningen | Se över innehåll, dubbletter och kanonisk hänvisning |
| Upprepade 5xx vid samma klockslag | Kapacitetsproblem | Undersök last, cachning och bakomliggande tjänster |
| Många 301 i samma varugrupp | Föråldrad sitemapfil | Byt ut raderna mot slutmålen |
| 404 spridda över hela beståndet | Avpublicering utan städning | Ta bort raderna och sätt 410 där det är korrekt |
Vanliga frågor
Räcker tusen adresser per dygn för en tillverkare med brett sortiment?
I det dagliga arbetet så gott som alltid. Också en hög publiceringsfrekvens ger sällan mer än några dussin ändrade poster per dygn. Trängseln uppstår vid tre tillfällen: första kompletta rundan, ett gränssnittsbyte och en domänflytt. Vid just dessa betalar sig försorteringen bäst, eftersom bara en bråkdel av en katalog faktiskt bär omsättningen.
Vi har trehundra ortssidor som inte tas upp. Vad gör vi?
Kontrollera först i loggen om de har hämtats. Har de det är detta ingen indexeringsfråga utan en innehållsfråga: sidor som skiljer sig åt enbart genom ett ortsnamn bedöms som varianter av varandra. Behåll de orter där du har verkliga referenser, lokal lagerhållning eller egna leveransvillkor, och slå ihop resten till regionala sidor. Färre och tyngre sidor tas upp snabbare än många tunna.
Hur hanterar vi svensk och engelsk version?
Varje språkversion är en egen adress och belastar samma tak. Håll språken i separata filer under ett gemensamt indexdokument, vilket ryms väl inom de tre nivåerna, och ta därefter ställning till vilken version som ska gå först. Någon språkregistrering finns inte i modulen; prioriteringen måste komma från din egen struktur och dina egna affärsmål.
Vad händer om samma adress anmäls flera gånger?
Du bränner budget till ingen nytta. Upprepad anmälan påskyndar inte bedömningen av en sida vars innehåll står stilla. Först när något faktiskt skett — texten är omarbetad, den kanoniska hänvisningen rättad eller en spärr hävd — är det motiverat att anmäla på nytt.
Hur ofta bör sitemapfilerna gås igenom?
Månadsvis duger för de allra flesta, och en genomgång tar ungefär trettio minuter. Har verksamheten en säsong bör en extra kontroll läggas fyra till sex veckor före öppning, så att fel hinner rättas och sidorna hinner bli upptagna innan efterfrågan slår till. Sitemapinläsningen i panelen fungerar lika väl som månadsrutin som för det stora inledande varvet.
Där arbetet med synlighet faktiskt börjar
Skälet till att indexering underskattas är att den aldrig ger sig till känna som ett fel. Ingen avisering går ut, inget diagram slår om till rött. Kvar står bara sidor med noll visningar, och de ser exakt likadana ut som sidor ingen efterfrågar. Utan mätpunkter kan ett halvår gå åt till text och länkar medan hindret sitter ett steg tidigare.
Någon knapp som löser detta finns inte i modulen. Vad den gör är att lägga tre svaga instrument intill varandra tills de tillsammans blir starka: ett tak som tvingar fram prioritering, en signal som kortar vägen fram till första besöket, och en journal där antaganden byts mot klockslag och koder. Taken ingår i uppgörelsen. Tusen per dygn är en ändlig resurs, likaså de två parallella jobben, och en signal är fortfarande bara en signal.
Det är den nyktra räkningen som gör arbetet planerbart. Har du svart på vitt hur många dygn ett komplett bestånd kostar lovar du något annat till ledningen än den som skickar iväg allt och hoppas på tur. Fler tekniska genomgångar av samma slag ligger samlade på vår blogg.
Undrar du hur stor andel av dina sidor som verkligen hämtas, är en inläsning av sitemapfilerna rätt startpunkt: gör den i Semalt-panelen och lägg upp ett första indexeringsjobb. Utgångsbilden lär dig som regel mer än du räknat med — och för ett bolag som säljer i hela landet på två språk brukar smällen komma från den del av beståndet ingen tänkt på att räkna.