Skip to content

Allt om WordPress, webbutveckling — och mer därtill

🚫 Hur du noindexar pagineringssidor i Yoast SEO

🚫 Hur du noindexar pagineringssidor i Yoast SEO

När du har hundratals inlägg, dussintals kategorier och ett moln av taggar multipliceras pagineringssidorna obemärkt. /page/2/, sedan /page/3/, sedan /page/15/, och innan du vet ordet har Google indexerat tusen skräp-URL:er som inte innehåller något unikt innehåll men som förbrukar din crawl-budget.

I äldre versioner av Yoast SEO fanns en inbyggd växel som hette "Noindex subpages of archives". En kryssruta så var problemet löst. Men 2020 tog Yoast-teamet bort den här inställningen från gränssnittet. Den officiella hållningen: Google har blivit smartare på att hantera paginerade serier och inställningen behövs inte längre.

I praktiken behövs den. Särskilt för stora sajter där varje extra sida i indexet äter av crawl-kvoten för URL:er som faktiskt borde ranka.

Yoasts utvecklare lämnade en workaround: filtret wpseo_robots. Med det kan du programmatiskt sätta noindex, follow för alla pagineringssidor. Nedan finns två kodalternativ: ett strikt (alla /page/-URL:er) och ett selektivt (endast kategori- och taggarkiv).

💡 Snabb översikt:

  • Lär dig varför Yoast tog bort det inbyggda alternativet och när det fortfarande behövs
  • Få färdig kod för functions.php: två versioner av wpseo_robots-filtret
  • Lär dig verifiera resultatet via sidans källkod och Google Search Console

Varför pagineringssidor bör blockeras från indexering

Varje pagineringssida har tre problem. För det första, innehållsduplicering: /category/seo/, /category/seo/page/2/ och /category/seo/page/3/ visar samma förhandsvisningar, bara uppdelade på olika sidor. För det andra, tunt innehåll: en pagineringssida har ingen hel artikel, bara en lista med titlar och utdrag. För det tredje, crawl-budget: Googlebot spenderar sin crawl-gräns på URL:er som saknar sökvärde istället för att crawla om färska inlägg.

Yoast SEO löste historiskt denna uppgift med en enda kryssruta i inställningarna. Men från och med version 14.0 omprövade företaget sin approach. Logiken var denna: Google lärde sig känna igen rel="prev" och rel="next", förstår pagineringsstruktur och dirigerar användare till första sidan på egen hand. Och noindex på undersidor minskar, enligt Yoast, antalet crawlningar och hindrar sökmotorn från att återupptäcka gamla artiklar via länkar på dessa sidor.

Detta argument är diskutabelt. Om du har en liten blogg med 30 inlägg, okej, Google reder ut det. Men om din sajt har vuxit till flera tusen URL:er med paginering för kategori, tagg och datumarkiv slösar sökmotorn tid på fel saker. Att blockera undersidor från indexering via kod är en kontrollerad och reversibel lösning.

Alternativ 1: noindex för alla pagineringssidor

Den enklaste och mest radikala metoden. Filtret kontrollerar villkoret is_paged(), en standardfunktion i WordPress som returnerar true på alla pagineringssidor (arkiv, kategorier, taggar, startsida). Om villkoret är sant, sätter vi in noindex, follow.

Lägg till denna kod i ditt aktiva temas functions.php eller via tillägget Code Snippets:

1add_filter('wpseo_robots', function($robots) {
2 if (is_paged()) {
3 return 'noindex,follow';
4 }
5 return $robots;
6});

Vad som händer rad för rad:

  • add_filter('wpseo_robots', ...) hakar i Yoast SEO-filtret som ansvarar för innehållet i robots meta-tagg. Filtret tar emot det aktuella $robots-värdet och förväntar sig en sträng tillbaka.
  • is_paged() är en inbyggd kärnfunktion i WordPress. Den triggas på alla URL:er där variabeln paged finns (det vill säga /page/N/).
  • return 'noindex,follow' säger till sökmotorn: "indexera inte denna sida, men följ länkarna på den." Länkar inom pagineringen fortsätter att skicka vidare länkkraft.
  • return $robots returnerar standardvärdet från Yoast oförändrat för alla andra sidor.

Efter att du lagt till koden, besök en sida som /category/seo/page/2/ och öppna HTML-källkoden (Ctrl+U). Hitta raden <meta name="robots". Om du ser content="noindex, follow" fungerade filtret.

Alternativ 2: noindex endast för kategori- och taggarkiv

Det första alternativet träffar alla paginerade sidor urskillningslöst, inklusive startsidan (/page/2/). Om din startsida visar förhandsvisningar av inlägg och du vill behålla dess undersidor i indexet behöver du mer riktad logik.

Vi lägger till ett andra villkor: is_archive(). Denna WordPress-funktion returnerar true endast på arkivsidor: kategorier, taggar, datumarkiv, författararkiv och anpassade taxonomier.

1add_filter('wpseo_robots', function($robots) {
2 if (is_paged() && is_archive()) {
3 return 'noindex,follow';
4 }
5 return $robots;
6});

Skillnaden från det första alternativet ligger i kombinationen av villkor. is_paged() && is_archive() betyder: "pagineringssida OCH arkivsida samtidigt." Startsidans paginering (/page/2/) matchar inte villkoret is_archive(), så dess indexering bevaras.

Vilket alternativ du ska välja:

Situation

Alternativ

Stor sajt, tusentals paginerings-URL:er, maximal kontroll behövs

Alternativ 1

Startsidan visar ett inläggsflöde, startsidans undersidor är viktiga för indexering

Alternativ 2

E-handelsbutik på WooCommerce med produktkategorier

Alternativ 2

Förutsägbarhet och minimala undantag behövs

Alternativ 1

Hur du verifierar resultatet

Efter att du infogat koden, kontrollera tre saker.

För det första, källkoden. Öppna en pagineringssida, Ctrl+U, sök efter <meta name="robots". Se till att du ser content="noindex, follow", inte content="index, follow".

För det andra, Google Search Console. Gå till URL-inspektionsverktyget, klistra in den paginerade sidans adress och klicka på "Testa". I blocket "Indexering" ser du statusen: "Sidan indexeras inte" med orsaken "Utesluten av noindex-tagg". Detta bekräftar att Googlebot tog emot och behandlade direktivet.

För det tredje, indexdynamik. I Search Console öppnar du "Index" → "Sidor". Inom 2-4 veckor efter att du implementerat koden ser du en ökning av sidor med statusen "Utesluten av noindex-tagg" och en minskning av indexerade paginerade URL:er. Processen är inte omedelbar: Googlebot måste crawla om varje URL för att läsa den nya taggen.

Viktiga begränsningar och försiktighetsåtgärder

Koden ändrar beteendet för hela sajten. Innan du implementerar, se till att du förstår konsekvenserna.

Att plötsligt ta bort tusentals sidor från indexet kan tillfälligt orsaka ett trapptapp. Om sajten levt med pagineringsindexering i flera år och vissa undersidor fick söktrafik, kommer du att förlora dessa besök. I gengäld frigör du crawl-budget för sidor som faktiskt bör ranka. Men en anpassningsperiod på 3-6 veckor är oundviklig.

Gör en backup av functions.php innan du redigerar. Ett syntaxfel i PHP-kod kommer att fälla hela sajten (vit dödsskärm). Om du använder Code Snippets fångar tillägget det fatala felet och avaktiverar snippet:en. Om du redigerar functions.php direkt, ha FTP-åtkomst till hands för att återställa filen.

Om sajten har ett caching-tillägg installerat (WP Rocket, W3 Total Cache), rensa cachen efter att du lagt till koden. Annars kommer gamla HTML-kopior av sidor utan den nya robots meta-taggen att serveras till besökare och sökmotorer i flera timmar eller dagar.

För en mer detaljerad genomgång av alla Yoast SEO-funktioner, från installation till finjustering av meta-taggar, se vår guide för att konfigurera Yoast SEO för WordPress.

⁉️🤔 Vanliga frågor

Varför tog Yoast SEO bort det inbyggda noindex-alternativet för undersidor?

Google lärde sig känna igen paginerade serier via rel="prev"- och rel="next"-taggar och dirigera användare till första sidan. Yoast beslutade att tvinga noindex på undersidor minskar crawlningar och stör omindexering av gamla artiklar via länkar från paginerade sidor. Yoasts officiella dokumentation bekräftar: inställningen togs bort från gränssnittet, men wpseo_robots-filtret finns kvar för programmatisk kontroll.

Stöds wpseo_robots-filtret fortfarande 2026?

Ja. wpseo_robots-filtret fungerar i aktuella Yoast SEO-versioner (24.x, 2026) och är dokumenterat i Metadata API på developer.yoast.com. En viktig förändring: före version 19.8 tillät filtret att returnera false för att ta bort robots meta-tagg. Från och med 19.8 ignoreras false; filtret förväntar sig endast en sträng ('noindex,follow' eller $robots). Båda kodversionerna från denna artikel returnerar en sträng och är fullt kompatibla.

Kommer koden att fungera om sajten har en anpassad pagineringsstruktur?

Funktionen is_paged() förlitar sig på standardfrågeparametern paged i WordPress. Om paginering implementeras via en anpassad parameter (till exempel ?pg=2 eller virtuell skrollning) kommer villkoret inte att triggas. För anpassad paginering ersätt is_paged() med en kontroll för den specifika query_var:en: get_query_var('custom_page_var'). Tillägg som WP-PageNavi fungerar via standardparametern paged, så det uppstår ingen konflikt.

Hur lång tid tar det innan Google tar bort paginerade sidor från indexet?

I genomsnitt 2 till 6 veckor. Hastigheten beror på sajtens storlek och crawl-frekvens: på en sajt med dagliga crawlningar kommer Googlebot att crawla om huvudsektionerna på 7-10 dagar; på en liten blogg med veckovisa crawlningar, på en månad. Du kan påskynda detta via en manuell begäran om omcrawlning i Search Console ("Index" → "Sidor" → välj URL → "Begär indexering"), men Google behandlar sådana förfrågningar köbaserat.

Kan paginering blockeras via robots.txt istället för noindex?

Tekniskt sett ja: Disallow: */page/* i robots.txt kommer att förbjuda crawlning av paginerade URL:er. Men detta är sämre än noindex. Anledningen: robots.txt blockerar crawlning av sidan, inte dess indexering. Om externa länkar pekar på en paginerad sida kan Google indexera den som en "sida utan beskrivning". Samtidigt kommer länkar från själva sidan inte heller att crawlas, och du förlorar länkkraftsöverföring till inlägg. noindex, follow löser båda uppgifterna: sidan indexeras inte, men länkar från den crawlas.

Bör du blockera paginering från indexering i ditt fall

Svaret kokar ner till två faktorer: sajtstorlek och huruvida crawl-budget är en knapp resurs.

Om du har 50 inlägg och tre kategorier, bry dig inte. Google kommer att lista ut vilka sidor som ska visas i sökresultaten och filtrerar bort de mindre värdefulla på egen hand. wpseo_robots-filtret är i detta scenario onödig komplexitet.

Om du har 500+ inlägg, dussintals kategorier, en aktiv blogg med taggar och datumarkiv skapar paginering hundratals och tusentals URL:er som sökmotorn crawlar istället för färska artiklar. Aktivera alternativ 2 (arkiv) eller alternativ 1 (allt), verifiera resultatet via källkod och Search Console, och ge Google 3-4 veckor att crawla om.

Koden är reversibel: kommentera bort filtret, så återvänder alla paginerade sidor till indexet inom en månad. Inga oåterkalleliga konsekvenser.