
🛠 Kuidas lisada .html laiend WordPressi URL-idele
Lisasin .html WordPressi URL-idele ilma pluginateta: kolm meetodit pluss ohutu eemaldamine koos ümbersuunamistega.
Kolisite saidi Joomlalt või staatiliselt HTML-ilt WordPressi ja otsingumootorid on juba indekseerinud sajad .html-lõpuga lehed? Te ei soovi kohti kaotada, kuid standardsed püsilingi seaded seda vormingut ei paku.
Praktikas ei ole .html URL-is välimuse küsimus. See on kaitse 404 vigade vastu migratsiooni ajal, kui vana struktuur site.ru/page.html muutub struktuuriks site.ru/page/. Iga katkine link indeksis tähendab kaotatud liiklust. Õnneks võimaldab WordPress lisada .html laiendit loomulikul viisil, ilma häkkide või pluginateta.
Allpool on kolm meetodit: halduspaneeli kaudu (kõige lihtsam), functions.php koodi abil ja kohandatud postitüüpide jaoks. Lisaks .html ohutu eemaldamine koos ümbersuunamisega, kui te seda vormingut enam ei vaja.
💡 Kiire ülevaade:
- Lisage
.htmlvaliku Seaded → Püsilingid kaudu, 30 sekundit, ilma koodita - Kui loomulik meetod ei tööta, muutke faili
functions.php(3 rida) - Kohandatud postitüüpide jaoks kasutage
post_type_linkfiltrit - Eemaldage
.htmlilma 404 vigadeta, kasutades ümbersuunamist failis.htaccess
Miks WordPressi lingid vajavad.html laiendit
Staatiliste saitide ajastul oli iga leht füüsiline .html fail serveris. Brauser küsis site.ru/about.html ja sai valmis dokumendi. WordPress töötab teisiti: kõik URL-id on virtuaalsed, mida serveerib index.php mod_rewrite'i kaudu.
Kuid harjumus "faili" lõppudest on endiselt elus. Tüüpilised stsenaariumid, kus .html on tõeliselt vajalik:
- Staatiliselt saidilt ümberkujundamine või migratsioon. Vanad URL-id on juba Google'i ja Yandexi indeksis. Nende muutmine ilma ümbersuunamiseta tagab pingerea languse 2-4 kuuks.
- Migratsioon Joomlalt, Drupalilt, ModX-ilt. Paljud vana kooli CMS-id genereerisid vaikimisi aadressi lõppu
.html. - Kliendi nõue. Klient "tahab, et see oleks nii nagu oli", punkt. Vaidlemine võtab kauem aega kui lihtsalt tegemine.
WordPress lahendab kõik kolm juhtumit ilma ühegi pluginata.
Esimene meetod: halduspaneeli kaudu
Kiireim tee. Minge jaotisse Seaded → Püsilingid ja valige suvand "Kohandatud struktuur".
Sisestage struktuuri väljale malli lõppu .html. Näiteks:
1 /%category%/%postname%.html
Või kui te kategooriaid ei vaja:
1 /%postname%.html
Klõpsake "Salvesta muudatused". Valmis. Kõik uued ja olemasolevad postituste URL-id saavad .html lõpu. See meetod ei mõjuta saidi lehti (page); need vajavad järgmises jaotises olevat koodi.
Märkus: kui saidil on juba indekseeritud lingid ilma .html-ita, EI suuna WordPress automaatselt vanadelt URL-idelt uutele ümber. Teil on vaja eraldi ümbersuunamise pluginat või reegleid failis .htaccess.
Teine meetod: functions.php kaudu
Mõnikord halduspaneel ei toimi: teema või mõni muu plugin kirjutab lingi struktuuri üle. Siis läheme koodi juurde.
Lisage see oma alamteema faili functions.php või Code Snippets pluginaga:
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 });
Mis siin toimub: init konks käivitub igal WordPressi laadimisel ja lisab globaalse $wp_rewrite objekti page_structure atribuudi kaudu lehtede URL-i struktuurile .html. strpos kontroll takistab topelt lisamist, kui kood sisestatakse kaks korda.
Pärast koodi lisamist minge kindlasti jaotisse Seaded → Püsilingid ja klõpsake "Salvesta muudatused". Ilma selle sammuta ei ehita WordPress ümberkirjutamise reeglite vahemälu uuesti üles ja uued URL-id ei tööta, saate 404 vea.
Kui loomulik meetod ja kood ei aita, saate kasutada Permalink Manager Lite pluginat. Sellel on 100 000+ aktiivset installi, 5-tärni hinnang ja see toetab ümberkirjutamise reegleid mis tahes sisutüübile, sealhulgas taksonoomiatele ja WooCommerce'ile.
Kuidas lisada.html kohandatud postitüüpidele (CPT)
Teie saidil on portfoolio, iseloomustused, tooted või mõni muu sisutüüp, mis on loodud register_post_type kaudu. Standardne "Püsilingid" ekraan neid ei mõjuta. Töötame läbi post_type_link filtri:
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);
Pärast koodi sisestamist minge uuesti jaotisse Seaded → Püsilingid → Salvesta muudatused. post_type_link filter töötab käigu pealt: WordPress ehitab URL-i, teie püüate selle soovitud postitüübi jaoks kinni ja lisate .html.
Kui CPT on registreeritud kohandatud nimetähisega ('rewrite' => array('slug' => 'works')), kasutage seda funktsioonis home_url() standardse tüübinime asemel.
Kuidas eemaldada.html ilma indekseeringut lõhkumata
Otsustasite minna tagasi puhaste URL-ide juurde ilma laienditeta? Lihtsalt .html eemaldamisest seadetest ei piisa. Vanad lingid, mis on juba otsingumootorite indeksites, muutuvad 404 vigadeks.
Toimingud:
- Eemaldage
.htmlväljalt "Kohandatud struktuur" jaotises Seaded → Püsilingid ja salvestage. - Kustutage kood failist
functions.php, kui lisasite selle. - Lisage ümbersuunamine faili
.htaccess(saidijuure, enne# BEGIN WordPressplokki):
1 RewriteEngine On 2 RewriteCond %{REQUEST_FILENAME} !-f 3 RewriteRule ^portfolio/(.+)\.html$ /portfolio/$1 [R=301,L]
Tavaliste postituste ja lehtede puhul on reegel sarnane, lihtsalt asendage /portfolio/ vajaliku segmendiga. R=301 ütleb otsingumootoritele, et kolimine on püsiv: lingi väärtus kandub üle uuele URL-ile.
Kontrollige tulemust: avage brauseris vana .html aadress, see peaks ümber suunama versioonile ilma laiendita. Seejärel kontrollige paari nädala pärast Google Search Console'it ja veenduge, et indekseeritud 404 vigade arv väheneb.
Video:.html lisamine 2 minutiga
Lühike demo kõigist kolmest meetodist töötaval WordPressi saidil:
⁉️🤔 KKK
Kas meetod töötab taksonoomiate, kategooriate ja siltidega?
Standardne püsilingi ekraan ei puuduta taksonoomiaid. Kategooriad ja sildid vajaksid oma ümberkirjutamise reegleid
add_rewrite_rule()või Permalink Manager Pro funktsionaalsuse kaudu. Kuid praktikas kasutatakse.htmlkategooria URL-ides harva: otsingumootorid käsitlevad/category/seo/ilma laiendita suurepäraselt.
Mis juhtub vanade linkidega ilma.html-ita pärast struktuuri muutmist?
WordPress ei loo automaatset ümbersuunamist vanadelt URL-idelt uutele. Kui sait on juba indekseeritud, hakkavad vanad lingid pärast struktuuri muutmist tagastama 404 vigu. Lahendus: ümbersuunamise plugin (nt Redirection) koos automaatse püsilingi muudatuste jälgimisega. See mäletab vana nimetähist ja rakendab 301 automaatselt.
Kas ma saan kasutada.php,.htm või muud laiendit?
Tehniliselt jah, WordPress töötleb mis tahes stringi väljal "Kohandatud struktuur". Kuid otsingumootori vaatenurgast tundub
.phpkahtlane (see paljastab tavaliselt serveri tehnoloogia) ja.htmon aegunud vorming Windows 3.1 ajastust..htmllaiend on neutraalne, tuttav ega tekita küsimusi ei kasutajates ega otsingurobotites.
Kas see aitab blogi Bloggerist WordPressi kolimisel?
Jah, see on klassikaline stsenaarium. Blogger serveeris vaikimisi URL-e vormingus
/2024/06/post-title.html. WordPressi importimisel loomuliku tööriistaga muutub struktuur kujule/2024/06/post-title/..htmllisamine püsilingi seadetes säilitab ühilduvuse, kõik vanad aadressid jätkavad tööd ilma käsitsi ümbersuunamisteta.
Kas peaksite.html-i lisama: kokkuvõte
Lühidalt: täiesti uue WordPressi projekti jaoks pole .html vajalik. Puhtad URL-id nagu site.ru/post-name/ on standard, millest nii kasutajad kui ka otsingumootorid aru saavad.
Kuid on kaks stsenaariumi, kus .html on täielikult õigustatud: migratsioon staatiliselt saidilt või teiselt CMS-ilt ja migratsioon Bloggerist. Mõlemal juhul säästate oma otsingupositsioone ja säästate nädalaid käsitsi ümbersuunamisi.
Kõige usaldusväärsem tee on loomulik seadistus halduspaneeli kaudu. Kui see ei tööta, siis functions.php. CPT-de jaoks post_type_link filter. Kõik kolm meetodit ei vaja pluginaid ega lisa saidile koormust. Ja kui .html pole enam vajalik, kannab .htaccess koos 301 ümbersuunamisega väärtuse puhtalt uutele URL-idele üle.


