Siirry sisältöön
🛠 Kuinka lisätä .html-pääte WordPress-osoitteisiin

🛠 Kuinka lisätä .html-pääte WordPress-osoitteisiin

Lisäsin .html-päätteen WordPress-osoitteisiin ilman lisäosia: kolme tapaa ja turvallinen poisto uudelleenohjauksin.

Siirsit sivustosi Joomlasta tai staattisesta HTML:stä WordPressiin, ja hakukoneet ovat jo indeksoineet satoja .html-päätteisiä sivuja? Et halua menettää sijoituksia, mutta tavalliset osoiterakenneasetukset eivät tarjoa tuota muotoa.

Käytännössä .html-pääte URL-osoitteessa ei ole ulkonäkökysymys. Se on vakuutus 404-virheitä vastaan migraation aikana, kun vanha rakenne site.ru/page.html muuttuu muotoon site.ru/page/. Jokainen rikkinäinen linkki indeksissä tarkoittaa menetettyä liikennettä. Onneksi WordPress antaa sinun lisätä .html-päätteen natiivisti, ilman virityksiä tai lisäosia.

Alla kolme tapaa: hallintapaneelin kautta (helpoin), functions.php-koodilla ja mukautetuille sisältötyypeille. Lisäksi .html-päätteen turvallinen poisto uudelleenohjauksella, jos et enää tarvitse kyseistä muotoa.

💡 Pikayhteenveto:

  • Lisää .html Asetukset → Osoiterakenne -kohdassa, 30 sekuntia, ei koodia
  • Jos natiivitapa ei toimi, muokkaa functions.php-tiedostoa (3 riviä)
  • Mukautetuille sisältötyypeille post_type_link-suodatin
  • Poista .html ilman 404-virheitä, uudelleenohjaus .htaccess-tiedostossa

Miksi WordPress-linkit tarvitsevat.html-päätteen

Staattisten sivustojen aikakaudella jokainen sivu oli fyysinen .html-tiedosto palvelimella. Selain pyysi osoitetta site.ru/about.html ja sai valmiin dokumentin. WordPress toimii eri tavalla: kaikki URL-osoitteet ovat virtuaalisia, ja index.php tarjoilee ne mod_rewriten kautta.

Mutta tapa käyttää "tiedosto"-päätteitä elää yhä. Tyypillisiä tilanteita, joissa .html-päätettä aidosti tarvitaan:

  • Uudistus tai migraatio staattisesta sivustosta. Vanhat URL-osoitteet ovat jo Googlen ja Yandexin indeksissä. Niiden muuttaminen ilman uudelleenohjausta takaa sijoitusten romahduksen 2-4 kuukaudeksi.
  • Migraatio Joomlasta, Drupalista, ModX:stä. Monet vanhan koulukunnan CMS-järjestelmät tuottivat oletuksena .html-päätteen osoitteen loppuun.
  • Asiakkaan vaatimus. Asiakas "haluaa sen niin kuin se oli", piste. Väittelyyn menee kauemmin kuin sen tekemiseen.

WordPress hoitaa kaikki kolme tapausta ilman yhtäkään lisäosaa.

Tapa yksi: hallintapaneelin kautta

Nopein reitti. Mene kohtaan Asetukset → Osoiterakenne ja valitse "Mukautettu rakenne" -vaihtoehto.

Lisää rakennekenttään .html mallin loppuun. Esimerkiksi:

1/%category%/%postname%.html

Tai jos et tarvitse kategorioita:

1/%postname%.html

Klikkaa "Tallenna muutokset". Valmista. Kaikki uudet ja olemassa olevat artikkeli-URL-osoitteet saavat .html-päätteen. Tämä tapa ei vaikuta sivuston sivuihin (page); ne tarvitsevat koodin seuraavasta osiosta.

Huomio: jos sivustolla on jo indeksoituja linkkejä ilman .html-päätettä, WordPress EI ohjaa automaattisesti vanhoista URL-osoitteista uusiin. Tarvitset erillisen uudelleenohjauslisäosan tai sääntöjä .htaccess-tiedostoon.

Tapa kaksi: functions.php:n kautta

Joskus hallintapaneeli ei toimi: teema tai toinen lisäosa ohittaa linkkirakenteen. Silloin menemme koodiin.

Lisää tämä lapsiteemasi functions.php-tiedostoon tai Code Snippets -lisäosan kautta:

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 */
6add_action('init', function() {
7 global $wp_rewrite;
8 if (! strpos($wp_rewrite->get_page_permastruct(), '.html')) {
9 $wp_rewrite->page_structure .= '.html';
10 }
11});

Mitä tässä tapahtuu: init-koukku suoritetaan jokaisella WordPressin latauskerralla ja lisää .html-päätteen sivun URL-rakenteeseen globaalin $wp_rewrite-objektin page_structure-ominaisuuden kautta. strpos-tarkistus estää tuplalisäyksen, jos koodi lisätään kahdesti.

Koodin lisäämisen jälkeen mene ehdottomasti kohtaan Asetukset → Osoiterakenne ja klikkaa "Tallenna muutokset". Ilman tätä vaihetta WordPress ei rakenna uudelleen uudelleenkirjoitussääntöjen välimuistia, ja uudet URL-osoitteet eivät toimi, vaan saat 404-virheen.

Jos natiivitapa ja koodi eivät auta, voit käyttää Permalink Manager Lite -lisäosaa. Sillä on yli 100 000 aktiivista asennusta, 5 tähden arvio, ja se tukee uudelleenkirjoitussääntöjä mille tahansa sisältötyypille, mukaan lukien taksonomiat ja WooCommerce.

Miten lisätä.html mukautetuille sisältötyypeille (CPT)

Sivustollasi on portfolio, suosittelut, tuotteet tai muu sisältötyyppi, joka on luotu register_post_type-funktiolla. Tavallinen "Osoiterakenne"-näyttö ei vaikuta niihin. Työskentelemme post_type_link-suodattimen kautta:

1/**
2 * Adds .html extension to the URL of the custom post type "portfolio".
3 * Replace 'portfolio' with your CPT slug.
4 */
5function 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}
11add_filter('post_type_link', 'sdstudio_cpt_html_permalink', 10, 2);

Koodin lisäämisen jälkeen mene uudelleen kohtaan Asetukset → Osoiterakenne → Tallenna muutokset. post_type_link-suodatin toimii lennossa: WordPress rakentaa URL-osoitteen, sinä sieppaat sen halutulle sisältötyypille ja liität .html-päätteen.

Jos CPT on rekisteröity mukautetulla polkutunnuksella ('rewrite' => array('slug' => 'works')), käytä sitä home_url()-funktiossa vakiosisältötyypin nimen sijaan.

Miten poistaa.html rikkomatta indeksointia

Päätit palata puhtaisiin URL-osoitteisiin ilman päätteitä? Pelkkä .html-päätteen poistaminen asetuksista ei riitä. Vanhat linkit, jotka ovat jo hakukoneiden indekseissä, muuttuvat 404-virheiksi.

Toimenpiteet:

  • Poista .html "Mukautettu rakenne" -kentästä kohdassa Asetukset → Osoiterakenne ja tallenna.
  • Poista koodi functions.php-tiedostosta, jos lisäsit sen.
  • Lisää uudelleenohjaus .htaccess-tiedostoon (sivuston juuressa, ennen # BEGIN WordPress -lohkoa):
1RewriteEngine On
2RewriteCond %{REQUEST_FILENAME} !-f
3RewriteRule ^portfolio/(.+)\.html$ /portfolio/$1 [R=301,L]

Tavallisille artikkeleille ja sivuille sääntö on samanlainen, korvaa vain /portfolio/ tarvittavalla segmentillä. R=301 kertoo hakukoneille, että muutos on pysyvä: linkkien arvo siirtyy uuteen URL-osoitteeseen.

Tarkista tulos: avaa vanha .html-osoite selaimessa, sen pitäisi ohjautua versioon ilman päätettä. Tarkista sitten Google Search Console parin viikon kuluttua ja varmista, että indeksoitujen 404-virheiden määrä laskee.

Video:.html-päätteen lisääminen 2 minuutissa

Lyhyt demo kaikista kolmesta tavasta toimivalla WordPress-sivustolla:

⁉️🤔 UKK

Toimiiko tapa taksonomioiden, kategorioiden ja avainsanojen kanssa?

Tavallinen osoiterakenne-näyttö ei koske taksonomioita. Kategoriat ja avainsanat tarvitsisivat omat uudelleenkirjoitussääntönsä add_rewrite_rule()-funktiolla tai Permalink Manager Pron toiminnallisuudella. Mutta käytännössä .html-päätettä kategoria-URL-osoitteissa käytetään harvoin: hakukoneet käsittelevät osoitteen /category/seo/ mainiosti ilman päätettä.

Mitä tapahtuu vanhoille linkeille ilman.html-päätettä rakenteen muuttamisen jälkeen?

WordPress ei luo automaattista uudelleenohjausta vanhoista URL-osoitteista uusiin. Jos sivusto on jo indeksoitu, rakenteen muuttamisen jälkeen vanhat linkit alkavat palauttaa 404-virheitä. Ratkaisu: uudelleenohjauslisäosa (esim. Redirection), jossa on automaattinen osoiterakenteen muutosten seuranta. Se muistaa vanhan polkutunnuksen ja soveltaa 301-uudelleenohjausta automaattisesti.

Voinko käyttää.php-,.htm- tai muuta päätettä?

Teknisesti kyllä, WordPress käsittelee minkä tahansa merkkijonon "Mukautettu rakenne" -kentässä. Mutta hakukoneen näkökulmasta .php näyttää epäilyttävältä (se paljastaa yleensä palvelinteknologian), ja .htm on vanhentunut muoto Windows 3.1:n aikakaudelta. .html-pääte on neutraali, tuttu eikä herätä kysymyksiä käyttäjissä tai hakuboteissa.

Auttaako tämä, kun blogi siirretään Bloggerista WordPressiin?

Kyllä, tämä on klassinen skenaario. Blogger tarjoili oletuksena URL-osoitteita muodossa /2024/06/post-title.html. Kun tuodaan WordPressiin natiivityökalulla, rakenne hajoaa muotoon /2024/06/post-title/. .html-päätteen lisääminen osoiterakenneasetuksissa säilyttää yhteensopivuuden, kaikki vanhat osoitteet jatkavat toimintaansa ilman manuaalisia uudelleenohjauksia.

Kannattaako.html lisätä: lopputulos

Lyhyesti: upouudelle WordPress-projektille .html-päätettä ei tarvita. Puhtaat URL-osoitteet, kuten site.ru/post-name/, ovat standardi, jota sekä käyttäjät että hakukoneet ymmärtävät.

Mutta on kaksi skenaariota, joissa .html on täysin perusteltu: migraatio staattisesta sivustosta tai toisesta CMS:stä, ja migraatio Bloggerista. Molemmissa tapauksissa säilytät hakusijoituksesi ja säästät viikkojen manuaalisilta uudelleenohjauksilta.

Luotettavin polku on natiiviasetus hallintapaneelin kautta. Jos se ei toimi, functions.php. CPT:ille post_type_link-suodatin. Kaikki kolme tapaa eivät vaadi lisäosia eivätkä lisää kuormaa sivustolle. Ja kun .html-päätettä ei enää tarvita, .htaccess 301-uudelleenohjauksella siirtää arvon siististi uusille URL-osoitteille.