
🔧 Så anpassar du WordPress-rubriker: 4 tekniker med functions.php
Rubriker i WordPress är mer än bara text högst upp på en sida. De arbetar för dig i fyra riktningar samtidigt: SEO (titel-tagg i SERP), navigering (webbläsarflik), design (visuell hierarki på sidan) och redaktionell kontroll (vad skribenter skriver). Men standardinställningarna i admin täcker bara grunderna; finjustering kräver kod.
Problemet blir värre när flera skribenter arbetar på en sajt. En skriver rubriker på 120 tecken och förstör layouten. En annan använder ord som din partner har förbjudit enligt avtal. En tredje glömmer att sidans titel i SERP och på sajten är två separata fält. Du kan inte hålla koll på alla manuellt.
Här nedan följer fyra specifika tekniker för att konfigurera WordPress-rubriker via functions.php. Var och en löser sin egen uppgift: från automatisk längdavkortning till programmatisk blockering av stoppord. Koden använder dokumenterade WordPress-filter och har testats på WP 6.x. I slutet hittar du en FAQ-del om ämnet.
💡 Snabb översikt:
- Begränsa rubriklängd automatiskt via
the_title-filtret så att skribenter inte kan förstöra layouten - Ändra inläggsrubrikens justering via
single.phputan tillägg eller CSS-redigeringar - Blockera publicering av inlägg med förbjudna ord via
transition_post_status-hooken - Ändra title-taggens avgränsare och lägg till anpassade titlar via metaboxar
Hur du begränsar rubriklängden i WordPress
En lång rubrik kan förstöra även den mest omsorgsfullt designade layouten. På startsidan där utdrag visas rinner en rubrik på 120 tecken utanför kortet, och designen ser trasig ut. Detta drabbar sajter med flerkolumniga rutnät särskilt hårt.
Lösningen är the_title-filtret, som kortar av rubriken till en angiven gräns när den visas på sidan. Den faktiska posten i databasen förblir orörd; endast den visade texten förkortas.
Kod för functions.php:
1 function sdstudio_limit_title_length( $title ) { 2 $max = 60; 3 if ( mb_strlen( $title ) > $max ) { 4 return mb_substr( $title, 0, $max ) . ' …'; 5 } 6 return $title; 7 } 8 add_filter( 'the_title', 'sdstudio_limit_title_length' );
Här är vad som händer: mb_strlen räknar tecken korrekt för kyrilliska (till skillnad från strlen, som räknar byte). När gränsen på 60 tecken överskrids kortas rubriken av och ett uteslutningstecken läggs till i slutet så att läsarna förstår att detta inte är hela texten. Du kan ersätta 60 med vilket annat tal som helst för att passa din layout.
Var ska man tillämpa selektivt? Om du bara behöver korta av rubriker på en specifik plats (till exempel i en widget för populära inlägg), slå in add_filter i en villkorlig tagg:
1 if ( is_home() || is_front_page() ) { 2 add_filter( 'the_title', 'sdstudio_limit_title_length' ); 3 }
Samma tillvägagångssätt fungerar för is_archive(), is_category() och alla andra sammanhang.
Hur du ändrar inläggsrubrikens justering
WordPress-teman varierar. Vissa erbjuder justeringsalternativ i anpassaren; andra gör det inte. Om ditt tema hamnar i den andra kategorin blir rubriken som standard vänsterjusterad, och du hittar ingen inställning för detta i adminpanelen.
Rubrikjustering ställs in i mallen single.php, filen som ansvarar för att visa enskilda inlägg. Det finns bara fyra steg:

- Öppna Utseende → Temaredigerare (eller filen
single.phpvia FTP/webbhotellspanel) - Hitta raden
<?php the_title(); ?>, som skriver ut rubriken - Slå in den i en tagg med önskad justering
Vänsterjustering (standard):
1 <?php the_title(); ?>
Centrerad:
1 <div style="text-align: center;"><?php the_title(); ?></div>
Höger:
1 <div style="text-align: right;"><?php the_title(); ?></div>
- Spara filen och öppna ett inlägg; rubriken visas i den angivna positionen
Denna metod är grundläggande men fungerar för alla teman. Ett renare tillvägagångssätt är att lägga till en CSS-klass via body_class-filtret och styla via stilmallen, men för en snabb fix räcker inline-stilar.
Hur du blockerar oönskade ord i rubriker
En textvarning till skribenter ("var vänlig använd inte ordet X i rubriker") fungerar fram till den första glömda deadline. Förr eller senare kommer någon att publicera en rubrik med en förbjuden fras, och i bästa fall ses inlägget internt; i värsta fall ser en partner eller konkurrent det.
Programmatisk blockering löser problemet radikalt: WordPress förhindrar helt enkelt publicering av inlägget om rubriken innehåller ett stoppord. Skribenten ser ett felmeddelande och måste åtgärda texten innan publicering.

Kod för functions.php:
1 function sdstudio_block_forbidden_title_words( $new_status, $old_status, $post ) { 2 if ( 'publish' !== $new_status || 'publish' === $old_status ) { 3 return; 4 } 5 6 $restricted = array( 'word1', 'word2', 'word3' ); 7 $title = $post->post_title; 8 9 foreach ( $restricted as $word ) { 10 if ( mb_stripos( $title, $word ) !== false ) { 11 wp_die( 'Ошибка: заголовок содержит запрещённое слово — «' . esc_html( $word ) . '». Измените заголовок и попробуйте снова.' ); 12 } 13 } 14 } 15 add_action( 'transition_post_status', 'sdstudio_block_forbidden_title_words', 10, 3 );
Så fungerar det: hooken transition_post_status körs vid varje statusändring för ett inlägg. Vi kontrollerar att den nya statusen är publish och att den gamla statusen inte är publish (annars skulle varje uppdatering av ett redan publicerat inlägg också blockeras). Därefter söker mb_stripos efter varje stoppord, skiftlägesokänsligt, i rubriken. Om ett stoppord hittas stoppar wp_die publiceringen med ett tydligt meddelande.
För att lägga till ett eget ord byter du ut word1, word2, word3 i arrayen $restricted. Du kan lägga till hur många ord som helst; funktionen itererar igenom alla.
Bonus: visa författarna listan med förbjudna ord direkt under titelfältet. Lägg till den här koden i samma functions.php:
1 function sdstudio_show_restricted_words_notice() { 2 $restricted = array( 'word1', 'word2', 'word3' ); 3 echo '<div style="color:#856404;background:#fff3cd;padding:6px 12px;margin:8px 0;border-radius:4px;font-size:13px;">'; 4 echo 'Запрещённые слова в заголовке: <strong>' . implode( ', ', $restricted ) . '</strong>'; 5 echo '</div>'; 6 } 7 add_action( 'edit_form_after_title', 'sdstudio_show_restricted_words_notice' );
Nu syns listan med stoppord ovanför redigeraren, så att författarna slipper gissa vad som är förbjudet.
Rubrikavgränsare och anpassade titeltaggar
Rubrikavgränsaren är symbolen mellan webbplatsens namn och inläggets titel i <title>. I sökresultaten visas den som "Webbplatsens namn | Inläggets titel" eller "Webbplatsens namn - Inläggets titel". Detta påverkar inte klickfrekvensen direkt, men det skiljer ditt snippet visuellt från andras.
Sedan WordPress 4.4 ändras avgränsaren via filtret document_title_separator. Koden är bara tre rader:
1 function sdstudio_change_title_separator( $separator ) { 2 return '|'; 3 } 4 add_filter( 'document_title_separator', 'sdstudio_change_title_separator' );
Du kan ersätta symbolen på den tredje raden med valfritt tecken: vertikalstreck, bindestreck, större än-tecken, halvhög punkt. Använd inte specialtecken som ★ eller →; Google visar dem inte, och ditt snippet i sökresultaten kommer att se rörigt ut.
För versioner före WordPress 4.4: funktionen wp_title är föråldrad, men om din webbplats fortfarande kör en äldre version, uppdatera först (detta är en säkerhetsfråga) och justera sedan avgränsaren. Den gamla koden som använder wp_title finns kvar i WordPress dokumentation som historisk referens men rekommenderas inte.
Så ställer du in en anpassad titeltagg för ett enskilt inlägg
Det finns situationer då titeltaggen för SERP bör skilja sig från H1:an på sidan. SEO-tillägg (Yoast, Rank Math) har ett separat fält för detta. Men om du inte använder ett SEO-tillägg löser du uppgiften med ett anpassat fält och filtret pre_get_document_title.
Kod för functions.php:
1 function sdstudio_custom_title_from_meta( $title ) { 2 if ( is_singular() ) { 3 $custom = get_post_meta( get_the_ID(), 'custom_post_title', true ); 4 if ( $custom ) { 5 return esc_html( $custom ); 6 } 7 } 8 return $title; 9 } 10 add_filter( 'pre_get_document_title', 'sdstudio_custom_title_from_meta', 20 );
Så här använder du det:
- Öppna inlägget som behöver en anpassad
<title> - Skapa ett fält med namnet
custom_post_titlei blocket "Anpassade fält" (om du inte ser det, aktivera det under "Skärmalternativ") - Ange önskad titeltagg som värde, till exempel "Recension av caching-tillägg 2026, jämförelse och tester"
- Spara inlägget
Om det anpassade fältet inte är ifyllt använder WordPress standardtiteltaggen (inläggets titel + avgränsare + webbplatsens namn). Mekanismen fungerar endast för enskilda sidor (is_singular); rubriker på arkivsidor och i adminområdet påverkas inte.
Viktigt att notera: pre_get_document_title har prioritet 20, vilket säkerställer att filtret körs EFTER den vanliga titelformeringen och åsidosätter den.
Se den 6 minuter långa videon i ämnet; den visar den visuella processen för att konfigurera titeltaggar via WordPress admin och SEO-tillägg.
⁉️🤔 Vanliga frågor
Fungerar koden i den här artikeln på WordPress 6.x (den aktuella versionen på wordpress.org)?
Ja, all kod har testats på den aktuella WordPress-versionen. Filterna
the_title,document_title_separatorochpre_get_document_titlehar varit en del av WordPress core sedan version 4.4-5.0 och stöds fullt ut i WP 6.x. Den enda skillnaden mot äldre guider: den föråldrade hookenpublish_posthar ersatts medtransition_post_status.
Ska jag redigera barntemats functions.php eller kan jag använda huvudtemat?
Redigera alltid barntemat. Om du redigerar huvudtemat
functions.phpförsvinner alla ändringar vid nästa uppdatering. Om du inte har ett barntema, skapa ett: det tar fem minuter via tillägget Child Theme Configurator eller manuellt (enstyle.css-fil + enfunctions.php-fil medTemplate:-direktivet).
Kan jag uppnå samma resultat med tillägg istället för kod?
Delvis. För SEO-titlar finns Yoast SEO och Rank Math. För längdbegränsning finns tillägg som Title Length Limiter, men deras support är opålitlig. För att blockera ord och ändra separatorn finns inga standardtillägg; bara kod fungerar. Dessutom saktar varje extra tillägg ner sajten, medan fyra rader i
functions.phpinte ger någon märkbar belastning.
Vad ska jag göra om sajten visar en vit skärm efter redigering av functions.php?
Anslut till servern via FTP eller genom din webbhotells filhanterare, öppna
functions.phpoch radera koden du lade till. Om du inte har FTP-åtkomst, gå till phpMyAdmin, leta upp tabellenwp_options, radenactive_pluginsoch avaktivera tillfälligt alla tillägg (detta rensar cachen). För framtiden: innan du redigerarfunctions.php, aktiveraWP_DEBUGiwp-config.php; då ser du feltexten istället för en vit skärm.
Påverkar titelseparatorn SEO?
> Det finns ingen direkt effekt på rankningen; Google utvärderar inte om du använder | eller -. Det finns en indirekt effekt: Google kanske inte visar icke-standardiserade separatorer (★, →), och ditt snippet i sökresultaten ser sämre ut visuellt. Dessutom bygger en igenkännbar separator varumärkeskännedom: användare vänjer sig vid formatet "Varumärke | Titel" och upptäcker dina resultat i SERP snabbare.
Vad du ska implementera och i vilken ordning
De fyra teknikerna ovan täcker alla huvudsakliga scenarier för att arbeta med WordPress-rubriker. Implementeringsordningen går från enkel till komplex:
Börja med att ändra titeltaggens separator; det är tre rader kod med omedelbara resultat i sökresultaten. Konfigurera sedan anpassade <title>-taggar via metafält om din sajt har nyckelsidor som behöver separata SERP-titlar. Därefter implementerar du längdfiltret; det skyddar layouten från alltför långa rubriker utan att författarna behöver göra något. Lägg slutligen till stoppordsblockeraren när listan över förbjudna fraser har godkänts och fastställts.
Innan du redigerar functions.php, säkerhetskopiera filen: kopiera innehållet till en textredigerare och spara lokalt. Det tar tio sekunder och sparar timmar av återställning om något går fel.



