2

Is it possible to make single page application (SPA) crawlable without HTML snapshots with help of HTML5 History API pushState?

I have found contradictory meanings. Can you support or refute one of them?

  1. YES, it's possible to make SPA crawlable w/o server rendering.

    The only explanation I found is - when Google crawler goes through <a href="site.com/go"> it subscribes to onpopstate and waits you'll trigger HTML5 History pushState. After you get all async content, you trigger pushState and crawler start crawling.

    Do really Google knows how to subscribe onpopstate events?

  2. No, that impossible. I came to the same conclusion, the same is said in this article. It says that pushState is a replacement of hashbangs to make the same URL for both user and crawler.

P.S. If it's impossible with pushState, are there any other acceptable ways?

0

1 Answer 1

-1

Trying to answer my question, what I've read and understood. Correct me please if I'm wrong:

At some point of time Google decided: "why spend own server resources to execute JS if isomorphic get popular, let's force everyone to do JS on their own servers", and depracated JS execution by bots. Can't say if at this moment Google support JS, but it can stop supporting it any moment.

Moreover, I heard Google may degrade PageRank if you're not supporting server rendering.

If to speak about solution of making google bot waiting for AJAX content with History API pushState - than yes that worked (or work if Google haven't stopped JS support yet). Does this solution need JS? Or in other words how google bot subscrite onpopstate event without JS?

Conclusion: Also there are another SEO besides Google, haven't any idea if they support JS. So my conclusion is that pushState solution is not reliable and unversal.

8
  • @StephenOstermiller pls look at my answer, am I right in my conclusion? Maybe you have something to add?
    – VB_
    Feb 18, 2016 at 9:29
  • That ping won't notify anyone. Also, pinging a random person for help is discouraged.
    – grg
    Feb 18, 2016 at 11:28
  • @grgarside why a random person? We have a discussion in comments with Stephen, but looks like it was removed (don't know how)
    – VB_
    Feb 18, 2016 at 12:10
  • Googlebot does execute JavaScript and render pages to see what text is visible to users. Googlebot also supports URL changes with pushState. It should be possible to build a site that Google understands using those mechanisms, but I don't have any experience doing so. Apr 18, 2016 at 10:16
  • At some point of time Google decided: "why spend own server resources to execute JS if isomorphic get popular, let's force everyone to do JS on their own servers", and depracated JS execution by bots — The deprecated Ajax crawling scheme required people to generate the crawlable content on their own servers. So you're wrong about that.
    – Quentin
    May 18, 2016 at 13:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.