Cum să folosești un fișier HTML personalizat în loc de pagina principală WordPress

13 mar. 2018, 06:51:36
Vizualizări: 23K
Voturi: 5

Am WordPress instalat în folderul rădăcină al domain.com

Vreau să încarc index.html când se vizitează domain.com și domain.com/my-posts/ ar trebui să încarce postările normale WordPress.

Fac acest lucru pentru a crește viteza paginii principale WordPress. Nu vreau să fie implicat niciun cod PHP.

Va funcționa dacă redenumesc index.php în index.html și pun conținutul meu HTML?

6
Comentarii

Un răspuns mai constructiv este să ai acest fișier undeva și să adaugi o regulă de rescriere care îl va servi când este solicitată pagina principală. Plasează acea regulă înaintea regulilor WordPress.

Mark Kaplun Mark Kaplun
13 mar. 2018 07:40:53

Poți face asta cu un șablon de pagină: https://developer.wordpress.org/themes/template-files-section/page-template-files/

admcfajn admcfajn
13 mar. 2018 08:14:17

Întrebarea nu este prostească, ce fac dacă am nevoie de o pagină de destinație HTML personalizată folosind Bootstrap ca pagină principală? Și nu vreau să încarc o pagină de 1,3 mb :p

Gracie williams Gracie williams
13 mar. 2018 22:13:14

Gracie, PHP rulează pe server și este una dintre cele mai puțin importante preocupări pentru optimizarea vitezei paginii. O mie de linii de cod PHP ar putea fi executate în timpul necesar unui browser pentru a solicita o singură imagine pentru pagina ta. Cu excepția cazului în care situația ta este un caz special, beneficiul de performanță care poate fi obținut aici nu merită efortul tău, în opinia mea.

jdm2112 jdm2112
14 mar. 2018 15:51:11

@Graciewilliams, dacă folosești Bootstrap, va dura mult mai mult timp în vanilla HTML pentru a încărca toate resursele Bootstrap decât pentru WordPress care rulează pe o configurație corectă a serverului să genereze pagina dinamic. Și dacă îți pasă de performanță, vei folosi CDN, ceea ce înseamnă că deja ai caching. Oricum, pagina de destinație este un exemplu perfect de ce această abordare este greșită - nu vei dori să folosești un plugin pentru acea pagină (SEO, formular de contact etc.)? Chiar vei schimba "manual" fiecare mic detaliu când este nevoie, în loc să folosești puterea unui CMS?

Mark Kaplun Mark Kaplun
14 mar. 2018 20:42:16

Ok, dar dacă folosesc doar CSS, JS și HTML pur? Nu mă refeream literal, doar ca exemplu.

Gracie williams Gracie williams
15 mar. 2018 10:24:42
Arată celelalte 1 comentarii
Toate răspunsurile la întrebare 5
3
12

recomand cu tărie să urmați sfaturile deja oferite. Dacă PHP-ul vostru este bine structurat și profitați de metodele de caching, nu va avea un impact semnificativ asupra timpului de încărcare al paginii. Avem pagini cu interogări extrem de complexe care sunt greu de optimizat, dar folosind niște metode inteligente de caching, reușim să servim acele pagini în 500-900ms, sau 2-3s pentru unele dintre paginile mult mai complexe.

Este o soluție mult mai bună pe termen lung decât utilizarea unei pagini HTML statice ca pagină de start.

Cu toate acestea - dacă încă doriți să continuați cu o pagină de start HTML statică (din nou, vă rog să nu faceți acest lucru, mai ales dacă singurul motiv este "viteza paginii", deoarece există atât de multe alte modalități de a reduce timpul de încărcare al paginii)

... Încă citiți?

Metoda 1: .htaccess

Cea... ... "general acceptată" modalitate de a face acest lucru este cu o regulă .htaccess care vizează doar pagina de start, cum ar fi RewriteRule ^$ http://exemplu.com/calea-catre-html.html [L,R=301]

Metoda 2: Șablon de Pagină

Alternativ, pentru a păstra o oarecare legătură cu ecosistemul WordPress ar fi să setați un Șablon de Pagină

  • Adăugați un fișier home.php (da, fișier PHP) în directorul temei active: /wp-content/themes/TEMA-CURENTA/home.php.
  • Plasați următorul "Antet de Șablon de Pagină" în acel fișier (lăsați o notă pentru viitorul vostru/altor dezvoltatori care să spună unde se află fișierul pentru a fi mai puțin confuz):

    <?php
        /*
         * Template Name: Pagina Mea HTML de Start
         */
    ?>
    <!-- Această pagină este generată în afara WP de: /wp-content/themes/TEMA-CURENTA/home.php -->
    <!-- Codul HTML aici -->
    
  • Adăugați o pagină nouă cu Pagini > Adaugă nouă cu un nume recognoscibil, cum ar fi "Pagina Mea HTML de Start"

  • În partea dreaptă, în selectorul Șablon, alegeți "Pagina Mea HTML de Start" ca șablon.
  • În Setări > Citire schimbați "Afișarea Paginii de Start:" la "O pagină statică", și selectați pagina "Pagina Mea HTML de Start" pe care tocmai ați adăugat-o.

Metoda 3: Mutarea Instalării WordPress

Puteți de asemenea să instalați WordPress într-un subdirector, să aveți index.html în directorul rădăcină, și să folosiți .htaccess pentru a elimina /wp din URL-urile voastre.

Metoda 4: Nu faceți acest lucru.

Din nou, vă urmez cu tărie să luați în considerare alte metode:

  • Profitarea de PHP 7.x și memcache/d
  • Plugin-uri de caching precum WP Super Cache/W3 Total Cache
  • Optimizarea imaginilor (manual sau cu WP Smush)
    • Servirea imaginilor de pe un CDN
  • Optimizarea livrării Script-urilor/Style-urilor (WP Hummingbird poate ajuta cu asta):
    • Combinarea fișierelor unde este posibil
    • Minificarea acelor fișiere
    • Servirea acelor fișiere de pe un CDN
  • Eliminarea plugin-urilor inutile din WP, optimizarea funcțiilor JS, eliminarea selectorilor CSS nefolosiți, etc.
14 mar. 2018 20:24:18
Comentarii

Am nginx, Wp super cache și total cache nu funcționează corect cu el.

Gracie williams Gracie williams
15 mar. 2018 10:26:13

Există destul de multe tutoriale și alte documente despre configurarea WPSC cu Nginx. Alternativ, ai putea lua în considerare un plugin PHP precum PHPFastCache. De asemenea, asigură-te că profiți de WP Transients API, în special pentru interogările costisitoare.

Xhynk Xhynk
15 mar. 2018 18:23:10

Reține că WP va folosi automat șablonul home.php pentru pagina de start dacă acesta este în temă, toate aceste lucruri suplimentare despre pagini și antetele de șabloane de pagini și accesarea setărilor sunt complet inutile, cu excepția cazului în care dorești să faci pagina de start editabilă într-un constructor de pagini sau să stochezi lucruri împotriva unei pagini

Tom J Nowell Tom J Nowell
12 oct. 2023 16:58:05
2

Dacă vă faceți griji că PHP sau MySQL încetinesc viteza de încărcare a paginii, vă recomand să instalați un plugin de Caching și să configurați Page Caching. Un plugin gratuit pe care l-am folosit în acest scop este W3 Total Cache.

Page caching face practic ceea ce căutați, și anume să servească un fișier HTML static cu resurse CSS și Javascript, în loc să ruleze PHP și interogări MySQL de fiecare dată când o pagină este încărcată.

Acest lucru se realizează prin generarea prealabilă a fiecărei pagini ca fișier HTML static, care apoi sunt servite în locul motorului dinamic PHP/MySQL al WordPress.

Este mult mai ușor de configurat decât să gestionați un fișier HTML static separat pentru pagina de destinație.

14 mar. 2018 19:56:49
Comentarii

notă laterală: din experiența mea, W3TC este un gunoi nedepanabil. Înțeleg că tu ai avut mai mult succes cu el decât mine, dar am simțit nevoia să las aici o notă că există alte plugin-uri care ar putea fi mai bune

Mark Kaplun Mark Kaplun
14 mar. 2018 20:46:17

nu funcționează bine pentru mine pe nginx, aceeași viteză în Pagespeed Insights

Gracie williams Gracie williams
16 mar. 2018 22:04:56
0

Am găsit o abordare simplă pentru aceasta folosind index.html. Puteți adăuga pagina de destinație index.html și apoi trebuie doar să o definiți ca pagină de destinație în fișierul .htaccess:

DirectoryIndex index.html index.php

Aceasta va forța pagina principală de destinație să fie index.html și va lăsa WordPress să se ocupe de restul.

Sunt sigur că există multe alte motive pentru sfaturile bune de mai sus, dar aveam nevoie de o pagină de destinație simplă pentru a prelua funcțiile încorporate de redirecționare și gestionare a utilizatorilor ale unei teme de intranet.

Răspuns de la: https://wordpress.stackexchange.com/a/211630/64947

3 apr. 2023 18:29:52
0

O altă metodă, dacă folosești Apache, este să denumești fișierul tău index într-un mod special și să-l adaugi la începutul listei DirectoryIndex. De exemplu:

  1. Salvează fișierul index static ca index-static.html

  2. Deschide httpd.conf și editează lista DirectoryIndex

    <IfModule dir_module>
      DirectoryIndex index-static.html index.php index.html
    </IfModule>
    
  3. Salvează httpd.conf și rulează sudo service httpd restart

În comparație cu Metoda 1 din răspunsul anterior, această metodă are avantajul că nu modifică URL-ul paginii de start - adică vizitatorii nu vor vedea static-index.html adăugat la domeniu când vizitează site-ul, deoarece nu are loc nicio redirecționare. Acest lucru este probabil mai bun pentru SEO, în plus fiind transparent pentru vizitatori.

12 mar. 2022 07:10:20
0

Încearcă și această metodă - inserează acest cod în fișierul .htaccess

RewriteRule ^(.*)index\.(php|html?)$ /$1 [R=301,NC,L]

Acest cod va redirecționa fișierul index.php și îl va încărca în browser. Dacă ai folosit un nume case-sensitive pentru folder sau pentru oricare dintre fișiere, codul va funcționa și va redirecționa corect, afișându-ți conținutul acestora.

24 mai 2023 09:43:17