
🔒 Slik skjuler du en kategori i WordPress: 4 metoder trinn for trinn
WordPress-startsiden viser som standard alt: innlegg fra alle opprettede kategorier blandes i én enkelt strøm. For en blogg er dette normalt. Men hvis du lanserer en nettbutikk, portefølje eller bedriftsside, hører enkelte kategorier rett og slett ikke hjemme på startsiden.
Verre er det at søkemotorroboter indekserer alt, inkludert tjeneste- og utkastkategorier. Resultatet: dupliserte sider i søkeresultatene, en utvannet indeks og fallende rangeringer. Og en besøkende som snubler over en lukket seksjon, får en tom side i stedet for innhold.
Heldigvis kan du skjule en kategori i WordPress på 5-10 minutter, og du trenger ikke en utvikler for å gjøre det. Nedenfor finner du fire fungerende metoder: fra en plugin som tar to klikk, til ren kode i functions.php. Velg den som passer din oppgave.
💡 Rask oversikt:
- Installer Ultimate Category Excluder og merk kategoriene som skal skjules.
- Konfigurer WP Categories Widget for selektiv skjuling i sidepanelet.
- Legg til pre_get_posts-hooken i functions.php og ekskluder kategorien etter ID.
- Bruk Members-pluginen med en kodesnutt for å skjule etter brukerroller.
Hvorfor skjule kategorier i det hele tatt?
WordPress skiller ikke mellom en «offentlig» og en «teknisk» kategori. Alt du har opprettet under «Innlegg → Kategorier» vises automatisk i hovedstrømmen og arkivene. I noen tilfeller er dette praktisk, i andre skaper det problemer:
- Tjenestekategorier (for eksempel «Utkast» eller «For redaktører») blir indeksert og dukker opp i søk.
- Kategorier med gammelt eller utdatert innhold utvanner nettstedets inntrykk.
- Lukkede seksjoner (premiumartikler, kundemateriell) blir synlige for alle besøkende.
Viktig poeng: ikke prøv å løse problemet med CSS. display: none skjuler kategorien visuelt, men søkemotorer ser fortsatt innholdet og kan oppfatte det som cloaking. En straff fra Google i slike tilfeller er nesten garantert. Den riktige måten er å ekskludere kategorien på databasespørringsnivå, ikke maskere den med stilsett.
Metode 1. Ultimate Category Excluder, skjul en kategori på et minutt
Den enkleste og mest pålitelige metoden er pluginen Ultimate Category Excluder. Per juni 2026 har den over 50 000 aktive installasjoner, en vurdering på 4,2/5 og kompatibilitet med WordPress 6.5+. Utvikleren oppdaterer pluginen jevnlig, med den siste utgivelsen i desember 2025.

Steg for steg:
- Gå til Utvidelser → Legg til ny i WordPress-panelet.
- Skriv «Ultimate Category Excluder» i søkefeltet, klikk Installer og deretter Aktiver.
- Etter aktivering dukker det opp et Category Exclusion-punkt i «Innstillinger»-menyen, gå dit.
- Kryss av for kategoriene du trenger å skjule fra startsiden, arkiver, RSS-strøm og søk.
- Klikk Oppdater.

Ferdig. Åpne nettstedet ditt i inkognitomodus og sjekk at innlegg fra de merkede kategoriene har forsvunnet fra startsiden. Pluginen fungerer på WP_Query-nivå: den endrer databasespørringen, ikke ved å skjule blokker via CSS. Derfor er dette helt trygt for SEO.
Fordeler: null kode, passer for nybegynnere, selektiv ekskludering (startside, arkiver, RSS, separat). Ulemper: hvis du trenger å skjule en kategori bare i en bestemt widget, hjelper ikke denne pluginen, da finnes det et mer presist verktøy.
Metode 2. WP Categories Widget, skjul en kategori i en widget
Hvis oppgaven din er smalere, å fjerne en bestemt kategori fra sidepanelet eller bunnteksten i stedet for fra hele nettstedet, bruk WP Categories Widget. Per februar 2026 har pluginen versjon 2.8.1, full kompatibilitet med gjeldende WordPress og over 3 000 aktive installasjoner.
Hva den kan gjøre:
- Vis kategorier fra ethvert taksonomi (ikke bare standardkategorier, men også stikkord og egendefinerte taksonomier).
- Skjul widget-tittelen.
- Slå på eller av innleggstelleren for hver kategori.
- Vis eller skjul enkeltkategorier direkte fra widget-innstillingene.
Slik bruker du den:
- Installer og aktiver utvidelsen via Utvidelser → Legg til ny.
- Gå til Utseende → Widgeter.
- Finn widgeten «WP Categories Widget» og dra den til ønsket område (sidestolpe, bunntekst).

- I widget-innstillingene angir du en tittel og skjuler den om ønskelig. I nedtrekksmenyen «Vis» velger du Alle kategorier eller spesifiserer hvilke kategorier som skal vises.

- Lagre endringene.
Alt som ikke er inkludert i listen over «viste» elementer, skjules automatisk fra denne widgeten. Merk: utvidelsen styrer synlighet kun i sin egen widget. Den påvirker ikke hjemmesidens strøm eller arkiver, for det går du tilbake til metode 1.
Metode 3. pre_get_posts-krok, skjul en kategori via kode
Hvis du ikke vil installere en ekstra utvidelse for én funksjon, kan du klare deg med et par linjer i functions.php. Denne metoden endrer hovedløkken til WordPress før spørringen kjøres, kategorien utelates på databasenivå, ikke maskert.
Viktig: før du redigerer functions.php, ta en full sikkerhetskopi av nettstedet. En feil i denne filen vil krasje hele nettstedet, og det er vanskelig å gjenopprette uten en sikkerhetskopi.
Her er en fungerende kodebit. Den bruker pre_get_posts-kroken og spesifiserer hvilken kategori som skal utelates fra forsiden:
1 /** 2 * Excludes the specified category from the home page. 3 * Replace -5 with your category ID (with a minus sign). 4 */ 5 function sdstudio_exclude_category_from_home( $query ) { 6 if ( ! is_admin() && $query->is_home() && $query->is_main_query() ) { 7 $query->set( 'cat', '-5' ); 8 } 9 return $query; 10 } 11 add_action( 'pre_get_posts', 'sdstudio_exclude_category_from_home' );
I linjen 'cat', '-5' er tallet 5 identifikatoren for kategorien du må skjule. Minustegnet betyr «utelat». Slik finner du ID-en til den aktuelle kategorien:
- Åpne Innlegg → Kategorier i WordPress-panelet.
- Hold musepekeren over kategorinavnet.
- Nederst på skjermen (i nettleserens statuslinje) vises en URL som
...taxonomy=category&tag_ID=6, tallet ettertag_ID=er ID-en.

I skjermbildet er ID-en for kategorien «Land» 6. Bytt ut med ditt eget nummer, lagre filen, så forsvinner innlegg fra denne kategorien fra forsiden.
Hvor du plasserer koden:
- Via FTP: koble til serveren, gå til
/wp-content/themes/your-theme/, last nedfunctions.php, legg til koden på slutten av filen (før?>hvis den finnes), og last den opp igjen. - Via administrasjonspanelet: åpne Utseende → Temaredigering, velg det aktive temaet, finn
functions.phpi høyre kolonne, sett inn koden og klikk «Oppdater fil».

Noen hosting-leverandører blokkerer tilgangen til temaredigering av sikkerhetsgrunner. I så fall, bruk kun FTP, eller gå tilbake til utvidelsen fra metode 1, den løser oppgaven uten tilgang til filer.
Hva som er forbedret sammenlignet med originaloppskriften fra gamle veiledninger: lagt til sjekken ! is_admin() (for ikke å ødelegge administrasjonspanelet) og $query->is_main_query() (for ikke å påvirke sekundære spørringer fra widgeter og menyer). Uten disse sjekkene kan koden ødelegge filtrering i administrasjonspanelet eller ødelegge menyutdata, verifisert i praksis.
Metode 4. Skjule kategorier etter brukerroller
Se for deg denne situasjonen: du har premiumartikler som kun er tilgjengelige for betalende abonnenter. Eller intern dokumentasjon for ansatte. Eller en lukket seksjon for grossistkunder. Vanlige metoder skjuler kategorien for alle, men her trenger du at administrator og privilegerte brukere ser den, mens gjester og basisabonnenter ikke gjør det.
Tidligere ble CaPa Protect-utvidelsen brukt til denne oppgaven, men den er fjernet fra WordPress-repositoriet. Den ble erstattet av en kraftigere kombinasjon: utvidelsen Members (300 000+ installasjoner, vurdering 4,7/5, versjon 3.2.22 per juni 2026) og et lite kodestykke.

Algoritme:
- Installer og aktiver Members via «Utvidelser → Legg til ny».
- Gå til Brukere → Roller. Opprett en rolle, for eksempel «Premium-abonnent», eller bruk eksisterende.
- Tildel denne rollen til de aktuelle brukerne.
- Legg til en kodesnutt i
functions.phpsom sjekker den aktuelle brukerens rolle og ekskluderer kategorien for alle unntatt de tillatte:
1 /** 2 * Hides category with ID 5 from everyone except administrators 3 * and users with the premium_subscriber role. 4 */ 5 function sdstudio_hide_category_by_role( $query ) { 6 if ( is_admin() || ! $query->is_main_query() ) { 7 return $query; 8 } 9 10 $restricted_cat_id = 5; // replace with your category ID 11 12 if ( current_user_can( 'administrator' ) 13 || current_user_can( 'premium_subscriber' ) ) { 14 return $query; 15 } 16 17 $query->set( 'cat', '-' . $restricted_cat_id ); 18 return $query; 19 } 20 add_action( 'pre_get_posts', 'sdstudio_hide_category_by_role' );
Slik fungerer dette: funksjonen sjekker den aktuelle brukerens rolle via current_user_can(). Administratorer og premium-abonnenter slipper gjennom filteret, for dem er kategorien synlig. Alle andre får en modifisert spørring der kategorien er ekskludert. Samme pre_get_posts-hook, men knyttet til tillatelser, ikke til siden.
Fordelen med Members er at det ikke bare er en «kategori-workaround», men en fullverdig redigerer for roller og tillatelser. Etter installasjon vil du kunne kontrollere synligheten til alle sideelementer: Gutenberg-blokker, sider, menyelementer, alt gjennom roller.
Videoopplæring
Se en visuell guide for alle fire metodene, fra installasjon av utvidelsen til redigering av kode:
⁉️🤔 Ofte stilte spørsmål
Hvorfor kan jeg ikke bare skjule kategorien med CSS?
display: nonefjerner blokken visuelt, men søkemotorroboter leser fortsatt innholdet. Google behandler et slikt avvik mellom synlig og indekserbart innhold som et manipuleringsforsøk (cloaking). Straffen er manuell nedgradering eller ekskludering av sider fra indeksen. Den riktige løsningen er ekskludering påWP_Query-nivå, ikke CSS.
Hvordan skjuler jeg en kategori ikke bare fra forsiden, men også fra RSS-strømmen?
Ultimate Category Excluder (metode 1) kan gjøre dette rett ut av boksen. I utvidelsesinnstillingene under fanen «Category Exclusion» merker du de aktuelle kategoriene og krysser av for «RSS Feeds». Hvis du jobber via kode (metode 3), erstatt betingelsen
$query->is_home()med$query->is_home() || $query->is_feed(), så forsvinner kategorien fra strømmen også.
Hva skjer med SEO etter at en kategori er skjult?
Hvis du skjulte kategorien riktig (via utvidelse eller
pre_get_posts), forblir selve kategorisidene og innleggene deres tilgjengelige via direkte URL-er og blir indeksert. Kun forsiden og arkivene endres, duplikater forsvinner, og nyttig innhold forblir i indeksen. For å være sikker, send inn områdekartet i Google Search Console for ny gjennomgang etter at endringene er gjort.
Kan jeg skjule en kategori for en spesifikk bruker, ikke for en rolle?
WordPress har ingen innebygde verktøy for dette. Metode 4 er utformet spesifikt for roller, dette er en arkitektonisk begrensning i tillatelsessystemet. Som en løsning kan du opprette en egen rolle for en spesifikk bruker via Members og bruke koden fra metode 4. Teknisk sett er dette to klikk i utvidelsesgrensesnittet.
Utvidelse eller kode, hva bør jeg velge for langsiktig vedlikehold av nettstedet?
Avhenger av antall redigeringer. Å skjule én kategori én gang: kode i
functions.php(metode 3) er lettere og tilfører ikke ekstra belastning. Flere kategorier med ulike betingelser (forside, RSS, søk): Ultimate Category Excluder (metode 1) er enklere å administrere. Hovedregelen: ikke installer en utvidelse for én avkrysningsboks som kan løses med tre linjer kode.
Hva du bør velge for din oppgave
De fire metodene dekker alle reelle scenarioer. En enkel matrise hjelper deg å navigere:
- Trenger det raskt og uten kode → Ultimate Category Excluder. Et par klikk, umiddelbart resultat, passer for de fleste typiske nettsteder.
- Kategorien er bare i veien i sidepanelet → WP Categories Widget. En målrettet løsning uten bivirkninger.
- Nettstedet har allerede et minimum av utvidelser, ønsker å holde det lett →
pre_get_posts-hook ifunctions.php. Tre linjer PHP, null ekstra kode. - Innhold med tilgangsbegrensninger etter roller → Members + kodesnutt fra metode 4. Et fleksibelt tillatelsessystem som også vil være nyttig for andre oppgaver.
Prøv metoden som ligger nærmest din situasjon. Hvis noe går galt, gå tilbake til sikkerhetskopien (du tok en, ikke sant?) og prøv den neste. Og i kommentarfeltet, fortell oss hvilken metode som fungerte for deg og hva slags prosjekt du skjulte kategorier for.



