Indeksiranje ajax vsebine brez #!

Delam na spletni strani, kjer se vsa glavna vsebina nalaga preko ajax-a. Implementirani so že hashbang url-ji (ki so indeksirani), problem pa se pojavi pri urljih, ki tega nimajo.

Torej, če v GWT naredim fetch na http://stran.com#!page=2, gre vse brez problema (dobim vsebino druge strani).
Če naredim fetch na http://stran.com#!, tudi ni težav, dobim vsebino prve strani.
Če pa poskusim tole http://stran.com, pa vsebine ni v rezultatu fetch-a.

Googlova dokumentacija pravi, da na stran dodaš meta element <meta name='fragment' content='!'>, ampak tudi ta ne doseže želenega.

Je kje med mojstri mogoče kakšna ideja/izkušnja? Kaj sem spregledal?

5 odgovorov

a delas z escapedfragment_?

Seveda. Vsaj kolikor sem zasledil, ni neke alternative... Ali pač?

Google botka moram prepričat, da naredi request http://stran.com?escapedfragment_= , ko pride na stran http://stran.com. Ta meta tag naj bi to naredil, ampak ni efekta...

cisto komot lahko resis z htaccesom, da ce je prazno, vrze na to akr zelis... sicer pa ne stekam kaj imajo boti tle veze, vse to upravljas ti z index fajlom (bodisi php ali karkoli)

Ko uporabnik pride na stran, se mu prikaže osnovni html strani, vsebina pa se napolni preko ajaxa.

Boti imajo veze v tem, da ko pride na stran, ki vsebino črpa preko ajaxa, naredi request z escaped fragment in dobi html snapshot.

Index je v tem primeru zgolj content placeholder, dejanski content se napolni naknadno (asinhrono). Mogoče bi bila varianta redirect na hashbang url, ampak to je pomoje že neke vrste hack, ne pa best practice...

  1. z httacessom lahko resis, da redirecta na pravi hashbang, not hack
  2. z indexom ugotavljas ali je $_REQUEST prazen, v tem primeru bodisi redirectas bodisi serviras ustrezen, ze napolnjen placeholder, your choice