2016-02-11 33 views
6

mówię Mam sekcji strony tak (szorstkiej HTML dać wyobrażenie):W jaki sposób Google radzi sobie z indeksowaniem treści podczas korzystania z interfejsu History API?

www.mydomain.com/contact-us

<div class="regional-offices"> 

<div class="south-west"> 
    <a href="#south-west">South West</a> 
    <div class="south-west-content">South west office address</div> 
</div> 

<div class="north-east"> 
    <a href="#north-east">North East</a> 
    <div class="north-east-content">North east office address</div> 
</div> 
... 
... 

Obecnie są zbiorem akordeonów, które rozwijają się, aby pokazać zawartość po kliknięciu łącza. Chciałbym traktować je jako indywidualne adresy URL, aby mogły być osobno indeksowane przez Google, tak jak w tej chwili, gdy są one częścią jednej strony.

Badałem interfejs API historii i widzę, jak to zrobić, jeśli chodzi o tworzenie niepowtarzalnych adresów URL dla każdej sekcji, ale gdzie moje zrozumienie spada, to jak Google lub inne wyszukiwarki będą obsługiwać te linki, jeśli wymagany jest info jest już częścią strony i nie jest przechowywane pod własnym oddzielnym adresem URL.

Na przykład, pierwszym krokiem byłoby zmienić tag <a> być coś takiego:

<a href="/contact-us/north-east">North East</a> 

Możemy wtedy użyć JS preventDefault() przechodząc bezpośrednio do adresu URL, a zamiast zapewnić użytkownikowi rozszerzoną akordeon, przenieś stronę w dół do akordeonu i unikalnego adresu URL za pomocą interfejsu History API. Wszystko jest dobrze i dobrze, jeśli odwiedzimy URL bezpośrednio lub klikamy którykolwiek z linków.

Ale problem polega na tym, że o ile mi wiadomo, robot Google spróbuje podążyć za linkiem i stanąć przed 404, ponieważ nie ma kodu JavaScript, który uniemożliwia dostęp do zasobu w adresie URL. I nie chcę, żeby tak było.

Czy jest tak, że potrzebuję unikatowej lokalizacji z zawartością akordeonu, która jest indeksowalna, a także wciągnięta w AJAX, kiedy wchodzi w interakcje zwinięty akordeon?

Przepraszam, jeśli nic nie wyjaśniłem.

Odpowiedz

0

Miałem do czynienia z tym samym. To, co zrobiłem, to stworzyć regułę przepisywania, aby odnośnik, który google podąża, został faktycznie wysłany na stronę, która obsługuje tę prośbę. wyświetlić dane. Angular może zaoszczędzić ci kłopotów z akordeonami.