Cómo usar PHP include para insertar un código HTML en todas las páginas de un sitio web

Estoy desarrollando un sitio web simple. Tendrá cerca de 20 páginas. Tiene una jerarquía de 3 niveles.

Home
MenuStub
   Category1
      Page1
      Page2
   Category2
      Page1
      Page2
   ....
      ....
      ....

La navegación principal tendrá 4 - 5 elementos que representan cada 'categoría' Esto será constante para todas las páginas. Ni siquiera estoy planeando resaltar la categoría actual o algo así.

Anteriormente, decidí colocar el código HTML del menú solo en un archivo separado y usar PHP include para incluirlo en todas las páginas.

Pero, los caminos relativos pueden ser frustrantes. Supongamos que el archivo de código auxiliar de menú se encuentra en el directorio raíz.

Por lo tanto, en las páginas de nivel de raíz, la inclusión de php se leerá como

include "menustub.html";

En las páginas de segundo nivel, debería decir.

include "../menustub.html";

y en páginas de tercer nivel, debería decir.

include "../../menustub.html";

Primero, ¿es esta la mejor manera de incluir un solo archivo en todas las páginas de un sitio web?

Segundo, si el sitio web crece y se agregan muchos más niveles, el mantenimiento de este será un problema. Si de repente decido mover un conjunto completo de páginas uno (o varios) niveles hacia arriba o hacia abajo, debo ir manualmente y cambiar las rutas relativas en cada archivo.

¿Me estoy perdiendo de algo? ¿Hay una manera universal de señalar un archivo en particular, que cada página comprenderá, independientemente de dónde se encuentre?

¿Cuál es la mejor manera de tener un talón e incluirlo en todas las páginas sin tener estas pesadillas de mantenimiento?

Respuestas a la pregunta(2)

Su respuesta a la pregunta