Cómo usar un archivo HTML personalizado en lugar de la página de inicio de WordPress

13 mar 2018, 06:51:36
Vistas: 23K
Votos: 5

Tengo WordPress instalado en la carpeta raíz de domain.com

Quiero cargar index.html cuando se visite domain.com y que domain.com/my-posts/ cargue las publicaciones normales de WordPress.

Estoy haciendo esto para aumentar la velocidad de mi página de inicio de WordPress. No quiero que haya PHP involucrado.

¿Funcionará si renombro index.php a index.html y coloco mi contenido HTML?

6
Comentarios

Una respuesta más constructiva es tener este archivo en algún lugar y agregar una regla de reescritura que lo sirva cuando se solicite la página de inicio. Coloca esa regla antes de las reglas de WordPress

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

Puedes hacerlo con una plantilla de página: https://developer.wordpress.org/themes/template-files-section/page-template-files/

admcfajn admcfajn
13 mar 2018 08:14:17

La pregunta no es tonta, ¿qué pasa si necesito una página de destino HTML personalizada usando Bootstrap como página de inicio? Y no quiero que cargue una página de 1.3 mb :p

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

Gracie, PHP se ejecuta en el servidor y es una de las menores preocupaciones para la optimización de velocidad de página. Mil líneas de código PHP podrían ejecutarse en el tiempo que tarda un navegador en solicitar un solo recurso de imagen para tu página. A menos que tu situación sea un caso excepcional, el beneficio de rendimiento que se puede obtener aquí no vale tu esfuerzo en mi opinión.

jdm2112 jdm2112
14 mar 2018 15:51:11

@Graciewilliams, si usas bootstrap, tomará mucho más tiempo en HTML puro cargar todos los recursos de bootstrap que en WordPress ejecutándose en una configuración adecuada del servidor para generar la página dinámicamente, y si te preocupa el rendimiento usarás CDN, lo que significa que ya tienes caché. De todos modos, una landing page es un gran ejemplo de por qué está mal, ¿no vas a querer usar un plugin para esa página (SEO, formulario de contacto, etc.)?, ¿realmente vas a cambiar "manualmente" cada pequeño detalle cuando sea necesario en lugar de usar el poder de un CMS?

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

ok, ¿qué tal si solo usamos CSS, JS y HTML puros? No lo decía literalmente, solo era un ejemplo

Gracie williams Gracie williams
15 mar 2018 10:24:42
Mostrar los 1 comentarios restantes
Todas las respuestas a la pregunta 5
3
12

Te recomiendo encarecidamente que sigas los consejos ya dados. Si tu PHP está bien estructurado y aprovechas los métodos de caché, no tendrá un aumento significativo en el tiempo de carga de tu página. Tenemos páginas con consultas extremadamente complejas que están poco optimizadas, pero usando algunos métodos inteligentes de caché, logramos que esas páginas se sirvan en 500-900ms, o 2-3s para algunas de las páginas mucho más complejas.

Es una solución mucho mejor a largo plazo que usar una página HTML estática como tu página de inicio.

Dicho esto - si aún deseas proceder con una página de inicio HTML estática (nuevamente, por favor no lo hagas, especialmente si la única razón es "velocidad de página", ya que hay muchas otras formas de disminuir el tiempo de carga de tu página)

... ¿Sigues leyendo?

Método 1: .htaccess

La forma... ... "generalmente aceptada" de hacer esto es con una regla de .htaccess que apunte solo a tu página de inicio, como RewriteRule ^$ http://ejemplo.com/ruta-al-html.html [L,R=301]

Método 2: Plantilla de página

Alternativamente, para mantener algún parecido con el ecosistema de WordPress sería configurar una Plantilla de página

  • Añade un archivo home.php (sí, archivo PHP) a tu directorio de tema activo: /wp-content/themes/TEMA-ACTUAL/home.php.
  • Coloca el siguiente "Encabezado de Plantilla de Página" en ese archivo (deja una nota para ti mismo en el futuro o para otros desarrolladores que diga dónde está el archivo para que sea menos confuso):

    <?php
        /*
         * Template Name: Mi Página de Inicio HTML
         */
    ?>
    <!-- Esta página se genera fuera de WP por: /wp-content/themes/TEMA-ACTUAL/home.php -->
    <!-- Tu código HTML aquí -->
    
  • Añade una nueva Página con Páginas > Añadir nueva con un nombre reconocible, como "Mi Página de Inicio HTML"

  • En el lado derecho, en el selector de Plantilla, elige "Mi Página de Inicio HTML" como la plantilla.
  • En Ajustes > Lectura cambia "Tu página de inicio muestra:" a "Una página estática", y elige la página "Mi Página de Inicio HTML" que acabas de añadir.

Método 3: Mueve tu instalación de WordPress

También puedes instalar WordPress en un subdirectorio, tener index.html en el directorio raíz, y usar .htaccess para eliminar el /wp de tus URLs.

Método 4: No lo hagas.

Nuevamente, te recomiendo encarecidamente que consideres otros métodos:

  • Aprovechar PHP 7.x y memcache/d
  • Plugins de caché como WP Super Cache/W3 Total Cache
  • Optimizar tus imágenes (manualmente o con WP Smush)
    • Servir imágenes desde una CDN
  • Optimizar la entrega de Scripts/Estilos (WP Hummingbird puede ayudar con esto):
    • Combinar archivos donde sea apropiado/posible
    • Minificar esos archivos
    • Servir esos archivos desde una CDN
  • Eliminar plugins innecesarios de WP, optimizar funciones JS, eliminar selectores CSS no utilizados, etc.
14 mar 2018 20:24:18
Comentarios

Tengo nginx, Wp super cache y total cache no funcionan correctamente con él.

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

Hay bastantes tutoriales y otros documentos sobre cómo configurar WPSC con Nginx. Alternativamente, también podrías considerar un plugin de PHP como PHPFastCache. Además, asegúrate de aprovechar la API de Transients de WP, especialmente para consultas costosas.

Xhynk Xhynk
15 mar 2018 18:23:10

Ten en cuenta que WP usará automáticamente la plantilla home.php para la página de inicio si está en el tema, todo esto extra sobre páginas y cabeceras de plantillas de página y entrar en configuraciones es completamente innecesario a menos que quieras hacer la página de inicio editable en un constructor de páginas o almacenar cosas contra una página

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

Si tu preocupación es que PHP o MySQL están causando que la velocidad de carga de la página disminuya, te recomiendo instalar un plugin de Caché y configurar el Caché de Página. Un plugin gratuito que he usado para este propósito es W3 Total Cache

El caché de página esencialmente hace lo que estás buscando, que es servir un archivo HTML estático con recursos CSS y Javascript, en lugar de ejecutar PHP y consultas MySQL cada vez que se carga una página.

Logra esto pre-generando cada página como un archivo HTML estático, y luego sirve esos archivos estáticos en lugar del motor dinámico PHP/MySQL de WordPress.

Es mucho más fácil de configurar que tener que gestionar un archivo HTML estático separado para tu página de destino.

14 mar 2018 19:56:49
Comentarios

nota al margen: según mi experiencia, W3TC es una basura imposible de depurar. Entiendo que a ti te ha funcionado mejor que a mí, pero sentí la necesidad de dejar aquí una nota de que hay otros plugins que podrían ser mejores

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

no me funciona correctamente en nginx, misma velocidad en Pagespeed Insights

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

Encontré un enfoque sencillo para esto usando index.html. Puedes agregar tu página de destino index.html y luego simplemente necesitas definirla como tu página de inicio en tu archivo .htaccess:

DirectoryIndex index.html index.php

Esto forzará que tu página de inicio sea index.html y dejará que WordPress se encargue del resto del trabajo pesado.

Estoy seguro de que hay muchas otras razones para los buenos consejos mencionados anteriormente, pero necesitaba una página de destino simple para tomar el control de las funciones integradas de redirección y gestión de usuarios de un tema de intranet.

Respuesta de: https://wordpress.stackexchange.com/a/211630/64947

3 abr 2023 18:29:52
0

Otro método si estás usando Apache es nombrar tu archivo índice de manera especial y anteponer ese nombre a tus DirectoryIndex. Por ejemplo:

  1. Guarda tu archivo índice estático como index-static.html

  2. Abre httpd.conf y edita la lista de DirectoryIndex

    <IfModule dir_module>
      DirectoryIndex index-static.html index.php index.html
    </IfModule>
    
  3. Guarda httpd.conf y ejecuta sudo service httpd restart

En comparación con el Método 1 de la respuesta anterior, este método tiene el beneficio de no modificar la URL de tu página de inicio — es decir, los visitantes no verán static-index.html añadido al dominio cuando visiten tu sitio porque no ocurre ninguna redirección. Esto probablemente sea mejor para fines de SEO, además de ser transparente para los visitantes.

12 mar 2022 07:10:20
0

También prueba esto: pega este código en el archivo .htaccess

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

Este código redirigirá tu archivo index.php y lo cargará en el navegador. Si has utilizado un nombre sensible a mayúsculas/minúsculas para la carpeta o alguno de los archivos, también funcionará para redirigirlos y mostrarte su contenido.

24 may 2023 09:43:17