У меня очень большая система каскадных меню, в которой более 300 пунктов. (Я знаю, что он большой, но это требование.)
В настоящее время он написан на javascript, поэтому внешний файл кэшируется браузерами.
Чтобы улучшить результаты поисковой системы, мне нужно преобразовать это в систему меню css. Я понимаю, что браузеры также будут кэшировать внешние таблицы стилей, но,
<ul> и <li>)?Если я использую javascript (document.write) для записи контента, я мог бы иметь его во внешнем файле javascript, который будет кэшироваться локально, но,
Какое лучшее решение?






Лучший способ выполнить то, что вы хотите сделать, - это использовать Карты сайта, чтобы сообщить Google об URL-адресах вашего веб-сайта. В основном вы захотите перевести свои иерархические данные для меню в SiteMap.
Вы можете заранее сгенерировать меню в статические файлы html / javascript и сделать так, чтобы все страницы извлекали сайт с одного и того же URL-адреса на вашем сайте. Таким образом, браузер на стороне клиента выполнит кеширование. Вам просто нужно иметь шаг в вашем развертывании, который генерирует html-файлы для меню.
Постарайтесь, чтобы он генерировал как можно больше простого HTML (+ JS + CSS), тогда все, что должно быть динамическим, можно будет настроить с помощью javascript.
Вы можете сделать все это только в CSS и HTML, и вам не нужно использовать какой-либо Java-скрипт. См. <http://www.netwiz.com.au/cssmenu.htmlvalue>. На этих страницах показан инструмент, который можно использовать с определенным программным обеспечением для документации, но образцы CSS и HTML показывают, как использовать элементы ul li для меню только CSS / HTML в большом количестве браузеров.
У вас все еще есть проблема с 300 пунктами в меню, которые увеличивают время загрузки. Если это проблема, я думаю, вы можете переместить этот код в отдельный iframe, чтобы повысить вероятность его кеширования на прокси-сервере (или браузером). Рискуя оскорбить пуристов, даже фрейм может сработать, но у вас будут проблемы с тем, что тематические страницы не смогут отображать меню, если на них есть прямая ссылка.