В последнее время я много читал о хэш-бангах URL-адресов и history.pushState для создания SEO-дружественных AJAX-сайтов. Кажется, все согласны с тем, что pushState — лучший подход, поэтому я хочу его использовать.
Вот проблема: у меня есть одностраничный веб-сайт и (на сервере) база данных с примерно тремя миллионами записей — у меня нет статических страниц для всех этих записей, но я получаю их с помощью AJAX и вставляю на сайт (если пользователь щелкает определенную ссылку или выполняет поиск).
Я знаю, что с HashBang-URLs Spider будет искать другой URL-адрес (escaped_fragment…), поэтому на стороне сервера я могу обслуживать «уродливую» страницу, которая не содержит стилей, а содержит только контент, который я хочу проиндексировать.
Пользователи могут добавлять URL-адреса в закладки и получать красивый контент, потому что URL-адреса разные (#!…), а Javascript будет генерировать контент.
С другой стороны, с history.pushState я буду вынужден использовать такие URL-адреса, как «…getItem.php?itemid=356375» (правильно?) — но теперь я больше не могу размещать здесь уродливый контент, потому что пользователи могут добавлять эти URL-адреса в закладки. .
Итак, вкратце:
Hash-Bang позволяет нам сосредоточиться на рендеринге красивого контента на стороне клиента с помощью javascript, одновременно предоставляя поисковым системам «уродливые» страницы, содержащие только контент. PushState заставляет нас постоянно показывать красивый контент без использования javascript? >
Есть ли обходной путь для этого? Любой способ не обслуживать красивый контент на стороне сервера (в моем случае PHP), в то же время позволяя пользователям добавлять в закладки URL-адреса, которые обслуживают красивый контент (через Javascript)?