Работя с React Router за известно време и използвам hashHistory
да се справя с маршрутизирането. В един момент ще прехвърля приложението browserHistory
, но аз съм любопитен защо функцията Google "Извличане като Google" не изглежда да работи за нищо друго освен за главния маршрут (/
). Ясно е, че това е визуализиране на нещо, но не и маршрутите, които не се обработват от сървъра. (Изображението по-долу)
Виждам, че Google има отхвърлиха схемата за обхождане на AJAX, което ме кара да вярвам, че вече не трябва да се занимавам ?_escaped_fragment_=
, но въпреки това не мога да накарам Google да визуализира други маршрути.
Например сайтът е www.learnphoenix.io
и уроците са изброени по-долу www.learnphoenix.io/#/phoenix-chat/lessons
, И все пак, Google Извличайте като Google функция в уеб администратора пренасочва към началната страница и само показва началната страница. Използвайки _escaped_fragment_
води до същия резултат.
Има ли начин да позволим на Google да индексира сайта ми с помощта на hashHistory
, или просто трябва да приема, че само моята страница ще бъде индексирана, докато не премина browserHistory
?
Отговори:
1 за отговор № 1По подразбиране изглежда, че Google игнорира фрагменти от URL адреси (#). Според тази статия, която може да бъде датирана, използвайте #! ще каже на Google, че фрагментите могат да се използват за определяне на различни канонични страници.
https://www.oho.com/blog/explained-60-seconds-hash-symbols-urls-and-seo
Струва си да направите изстрел, макар че Hashbang отново не се поддържа от ReactRouter, защото предполага, че е остарял.
По-добър вариант е просто да хапете куршума и да го използвате browserHistory
(pushState) във вашия реактор-рутер. Проблемът с това е, ако използвате статично приложение без сървър, като например пътища /phoenix-chat/lessons
В AWS има и хакер. Задаване на 404 страницата ви като страница с индекс за приложения.
http://blog.boushley.net/2015/10/29/html5-deep-link-on-amazon-s3/
Чувства се мръсен, но отново си струва. Надяваме се, че има нещо ценно в този отговор за вас!