I was creating my own Ajax-based website which means almost all of my data will be fetched via Ajax from the server and I started to have concerns about my site's SEO.

I am using popState and pushState methods after I was reading This Article and this one.

As far as I can tell, these methods manipulate the history method of a window object so we can change the address-bar information.

But will these methods affect the SEO of the site?


PushState can be used in SEO friendly ways. Google's Matt Cutts even recommends it compared to hash bang AJAX crawl syntax: http://www.seroundtable.com/google-ajax-pushstate-vs-hashbang-16464.html

One technique that works well is:

  • Put normal URIs in the <a href=""> links
  • Have JavaScript that intercepts clicks and loads content via AJAX and then uses push state to change the URL
  • Crawlers just follow the links and ignore the JavaScript

That way, users get the AJAX experience and crawlers are still able to access the entire site.

  • i love you. i was looking this answer for years. Nov 30 '17 at 23:45

You should set up your site so that it will work without JavaScript. Although Google understands JavaScript quite well, it's not perfect and other search engines (and users) may not use JS.

You should make each link point to a specific URL. If that URL is requested directly, the server would return the complete HTML for that page.

Then your JavaScript can just add events to the links, load the appropriate content and "push the state" to change the URL for users with JS.

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.