
🛠 Slik legger du til .html-endelse i WordPress-nettadresser
La til .html i WordPress-URL-er uten plugins: tre metoder pluss trygg fjerning med videresendinger.
Har du flyttet nettstedet ditt fra Joomla eller statisk HTML til WordPress, og søkemotorene har allerede indeksert hundrevis av sider som slutter på .html? Du vil ikke miste rangeringer, men standard innstillinger for permalenker tilbyr ikke det formatet.
I praksis handler ikke .html i en URL om utseende. Det er en forsikring mot 404-feil under en migrering, når den gamle strukturen site.ru/page.html endres til site.ru/page/. Hver ødelagte lenke i indeksen betyr tapt trafikk. Heldigvis lar WordPress deg legge til .html-endelsen på en innebygd måte, uten behov for hacks eller plugins.
Nedenfor finner du tre metoder: via administrasjonspanelet (den enkleste), via kode i functions.php, og for egendefinerte innholdstyper. I tillegg kommer trygg fjerning av .html med en videresending hvis du ikke lenger trenger formatet.
💡 Rask oversikt:
- Legg til
.htmlvia Innstillinger → Permalenker, 30 sekunder, ingen kode - Hvis den innebygde metoden ikke fungerer, rediger
functions.php(3 linjer) - For egendefinerte innholdstyper,
post_type_link-filteret - Fjern
.htmluten 404-feil, en videresending i.htaccess
Hvorfor WordPress-lenker trenger.html-endelsen
Tilbake i den statiske nettsted-tiden var hver side en fysisk .html-fil på serveren. Nettleseren ba om site.ru/about.html og fikk et ferdig dokument. WordPress fungerer annerledes: alle URL-er er virtuelle, servert av index.php via mod_rewrite.
Men vanen med «fil»-endelser lever fortsatt. Typiske scenarioer der .html er genuint nødvendig:
- Redesign eller migrering fra et statisk nettsted. De gamle URL-ene ligger allerede i Googles og Yandex' indeks. Å endre dem uten en videresending garanterer et rangeringsfall i 2-4 måneder.
- Migrering fra Joomla, Drupal, ModX. Mange gammeldagse CMS-er genererte
.htmlpå slutten av adressen som standard. - Kundekrav. Kunden «vil ha det som det var», punktum. Å argumentere tar lengre tid enn å bare gjøre det.
WordPress håndterer alle tre tilfellene uten en eneste plugin.
Metode én: via administrasjonspanelet
Den raskeste veien. Gå til Innstillinger → Permalenker og velg alternativet «Egendefinert struktur».
I strukturfeltet legger du til .html på slutten av malen. For eksempel:
1 /%category%/%postname%.html
Eller hvis du ikke trenger kategorier:
1 /%postname%.html
Klikk «Lagre endringer». Ferdig. Alle nye og eksisterende innleggs-URL-er vil få .html-endelsen. Denne metoden påvirker ikke nettstedssider (page); de trenger koden fra neste avsnitt.
Merk: Hvis nettstedet allerede har indekserte lenker uten .html, oppretter WordPress IKKE automatisk videresending fra de gamle URL-ene til de nye. Du trenger en egen videresendingsplugin eller regler i .htaccess.
Metode to: via functions.php
Noen ganger leverer ikke administrasjonspanelet: temaet eller en annen plugin overstyrer lenkestrukturen. Da går vi inn i koden.
Legg til dette i barne-temaets functions.php eller via Code Snippets-pluginen:
1 /** 2 * Adds .html to the end of WordPress page URLs. 3 * After inserting the code, go to Settings → Permalinks 4 * and click "Save Changes" to flush the rewrite rules cache. 5 */ 6 add_action('init', function() { 7 global $wp_rewrite; 8 if (! strpos($wp_rewrite->get_page_permastruct(), '.html')) { 9 $wp_rewrite->page_structure .= '.html'; 10 } 11 });
Det som skjer her: init-kroken kjøres ved hver WordPress-oppstart og legger til .html i sidens URL-struktur via page_structure-egenskapen til det globale $wp_rewrite-objektet. strpos-sjekken forhindrer dobbel påføring hvis koden settes inn to ganger.
Etter at du har lagt til koden, må du gå til Innstillinger → Permalenker og klikke «Lagre endringer». Uten dette trinnet vil ikke WordPress bygge om hurtigbufferen for omskrivingsregler, og de nye URL-ene vil ikke fungere, du får en 404-feil.
Hvis den innebygde metoden og koden ikke hjelper, kan du bruke Permalink Manager Lite-pluginen. Den har over 100 000 aktive installasjoner, 5-stjerners vurdering og støtter omskrivingsregler for alle innholdstyper, inkludert taksonomier og WooCommerce.
Hvordan legge til.html i egendefinerte innholdstyper (CPT)
Nettstedet ditt har en portefølje, attester, produkter eller en annen innholdstype opprettet via register_post_type. Det vanlige «Permalenker»-skjermbildet påvirker dem ikke. Vi jobber gjennom post_type_link-filteret:
1 /** 2 * Adds .html extension to the URL of the custom post type "portfolio". 3 * Replace 'portfolio' with your CPT slug. 4 */ 5 function sdstudio_cpt_html_permalink($post_link, $post) { 6 if ($post->post_type === 'portfolio') { 7 return home_url('/portfolio/' . $post->post_name . '.html'); 8 } 9 return $post_link; 10 } 11 add_filter('post_type_link', 'sdstudio_cpt_html_permalink', 10, 2);
Etter at du har satt inn koden, gå igjen til Innstillinger → Permalenker → Lagre endringer. post_type_link-filteret fungerer i sanntid: WordPress bygger URL-en, du fanger den opp for den ønskede innholdstypen og legger til .html.
Hvis CPT-en er registrert med en egendefinert slug ('rewrite' => array('slug' => 'works')), bruk den i home_url() i stedet for standardtypenavnet.
Hvordan fjerne.html uten å ødelegge indekseringen
Har du bestemt deg for å gå tilbake til rene URL-er uten endelser? Det er ikke nok å bare fjerne .html fra innstillingene. De gamle lenkene som allerede ligger i søkemotorindeksene vil bli 404-feil.
Slik går du frem:
- Fjern
.htmlfra feltet «Egendefinert struktur» i Innstillinger → Permalenker og lagre. - Slett koden fra
functions.phphvis du la den til. - Legg til en videresending i
.htaccess(i nettstedets rot, før# BEGIN WordPress-blokken):
1 RewriteEngine On 2 RewriteCond %{REQUEST_FILENAME} !-f 3 RewriteRule ^portfolio/(.+)\.html$ /portfolio/$1 [R=301,L]
For vanlige innlegg og sider er regelen lik, bare bytt ut /portfolio/ med det nødvendige segmentet. R=301 forteller søkemotorene at flyttingen er permanent: lenkeverdi overføres til den nye URL-en.
Sjekk resultatet: åpne den gamle .html-adressen i en nettleser, den skal videresende til versjonen uten endelsen. Sjekk deretter Google Search Console om et par uker og bekreft at antallet indekserte 404-feil synker.
Video: legge til.html på 2 minutter
En kort demo av alle tre metodene på et live WordPress-nettsted:
⁉️🤔 FAQ
Fungerer metoden med taksonomier, kategorier og stikkord?
Det vanlige permalenke-skjermbildet berører ikke taksonomier. Kategorier og stikkord ville trenge sine egne omskrivingsregler via
add_rewrite_rule()eller funksjonaliteten til Permalink Manager Pro. Men i praksis brukes.htmlsjelden i kategori-URL-er: søkemotorer håndterer/category/seo/helt fint uten en endelse.
Hva skjer med gamle lenker uten.html etter at strukturen er endret?
WordPress oppretter ingen automatisk videresending fra gamle URL-er til nye. Hvis nettstedet allerede er indeksert, vil de gamle lenkene begynne å returnere 404-feil etter at strukturen er endret. Løsning: en videresendingsplugin (f.eks. Redirection) med automatisk sporing av permalenkeendringer. Den husker den gamle slug-en og bruker en 301 automatisk.
Kan jeg bruke.php,.htm eller en annen endelse?
Teknisk sett ja, WordPress behandler enhver streng i feltet «Egendefinert struktur». Men fra et søkemotorperspektiv ser
.phpmistenkelig ut (det avslører vanligvis serverteknologi), og.htmer et utdatert format fra Windows 3.1-tiden..html-endelsen er nøytral, velkjent og reiser ingen spørsmål fra brukere eller søkeroboter.
Vil dette hjelpe når jeg flytter en blogg fra Blogger til WordPress?
Ja, dette er et klassisk scenario. Blogger serverte URL-er i formatet
/2024/06/post-title.htmlsom standard. Ved import til WordPress via det innebygde verktøyet brytes strukturen til/2024/06/post-title/. Å legge til.htmli permalenkeinnstillingene bevarer kompatibiliteten, alle gamle adresser fortsetter å fungere uten manuelle videresendinger.
Bør du legge til.html: konklusjonen
Kort sagt: for et helt nytt WordPress-prosjekt er ikke .html nødvendig. Rene URL-er som site.ru/post-name/ er standarden som både brukere og søkemotorer forstår.
Men det er to scenarioer der .html er fullt ut berettiget: migrering fra et statisk nettsted eller et annet CMS, og migrering fra Blogger. I begge tilfeller bevarer du søkerangeringene dine og sparer uker med manuelle videresendinger.
Den mest pålitelige veien er den innebygde innstillingen via administrasjonspanelet. Hvis det ikke fungerer, functions.php. For CPT-er, post_type_link-filteret. Alle tre metodene krever ingen plugins og tilfører ingen belastning på nettstedet. Og når .html ikke lenger er nødvendig, overfører .htaccess med en 301-videresending verdien på en ryddig måte til de nye URL-ene.


