Как првильно написать панель навигации и футер один раз, и вставлять их код в мою страницу ? Плохо ли это для индексации ? Желательно 2 варианта: на php и js
На PHP это выглядит максимально просто. Например так:
1. Сохраняете код футера и хедера, например, в корешке сайта, и называете их
footer.php и
header.php соответственно.
2. Подключаете на каждую страницу их примерно так:
<?php include("{$_SERVER['DOCUMENT_ROOT']}/header.php"); ?>
*аналогично с футером.
Соответственно, страницы, в которых вы будете делать вставку php-тега, должны либо иметь расширение PHP, либо обработка других расширений должна быть настроена на сервере так же, как буд-то это PHP-скрипты.
На индексации, конкретно данный метод не скажется никак, так как поисковые боты не могут знать, как именно у Вас сгенерировалась страница (да им и всё равно, по большому счёту).
P.S. Вариант на JS приводить не буду, т.к. то способ, которым Вы хотите реализовать это через JS, во первых будет ощутимо сложнее, во вторых - будет создавать дополнительные запросы на сервер, в третьих - не все поисковики корректно индексируют подобное.