Moz Q&A is closed.
After more than 13 years, and tens of thousands of questions, Moz Q&A closed on 12th December 2024. Whilst we’re not completely removing the content - many posts will still be possible to view - we have locked both new posts and new replies. More details here.
How is Single Page Application (SPA) bad for SEO
-
Hi guys. I am quite inspired of SPA technique. It's really amazing when all your interaction with the site is going on the fly and you don't see any page reloads.
I've started implementing the site with this instruction and already found nice guys to make the design.
The only downside of the using SPA which I can see **is the **SEO part. That's because the URL does not really change and different pages don't have their unique URL addresses.
Actually they have, but it looks like:So all of them goes after # and being just anchors. For Google this mean all of these pages is just yoursite.com/
My question is what is really proven method to implement the URL structure in Single Page Application, so all the pages indexed by Google correctly (sorry I don't mention the other search engines because of market share).
The other question, of course, is examples. It will be great to see real life site examples, better authority sites, which use SPA technique and well indexed by search engines.
-
Good question, Billy. Single page apps now play a huge role in modern web development and SEO issues make sense.
Before October 2015 Google suggested to use the following scheme:
http://example.com/page?query#!state
I.e. in your examples it will be yoursite.com#!products and yoursite.com#!prices. So main role in the understanding correct page URL played the ! symbol.
Here is the full recommendations (It's outdated now, read below):
https://webmasters.googleblog.com/2009/10/proposal-for-making-ajax-crawlable.htmlIn October 2015 Google launched new scheme and deprecated the old one.
So here is the new announcement:
https://webmasters.googleblog.com/2015/10/deprecating-our-ajax-crawling-scheme.htmlThe major news of this announcement is that now Google DOES index dynamic pages.
But you need:- Make sure your JavaScript files can be indexed by Google (because Google run it in their crawler like just modern browsers)
- Make sure you use HTML5 mode in URL scheme (AngularJS supports it). Read more here:
https://stackoverflow.com/questions/27849927/google-indexing-of-my-angularjs-application
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Are non-breaking spaces ( ) in keyword phrases bad for ranking
Hello all, I came across a tip for avoiding text orphans in responsive design by putting a non-breaking space between the last two words. While this works nicely, I was wondering if I did this inside of a keyword phrase, would it still rank equally as well? Or will it be viewed as separate phrases or terms? Thanks, Roman
Web Design | | Dynata_panel_marketing0 -
Website Home page suddenly disappeared after changing Hosting
HI All, My site was ranking very well and was in 1st page of google for most of my keywords. Last week we did some update to the site and moved it to new hosting and from then onwards I dont see my site home page in Google ranking . My Website Name is : royalevents.com.au. We used to be in 1st of Google for keywords like wedding Mandaps, Indian Wedding Mandaps etc, Would be great if some one helps us to figure out whats gone wrong .. I also did Webmaster Fetch as Google but nothing happened. Thanks
Web Design | | Verve-Innovation0 -
Too Many Outbound Links on the Home Page - Bad for SEO?
Hello Again Moz community, This is my last Q of the day: I have a LOT of outbound links on the home page of www.web3.ca Some are to clients projects, most are to other pages on the website. Can reducing this to the core pages have a positive impact on SEO? Thanks, Anton
Web Design | | Web3Marketing870 -
How to make sure category pages rank higher than product pages?
Hi, This question is E-Commerce related. We have product categories dividing products by color. Let's say we have the category 'blue toy cars' and a product called 'blue toy car racer', both of these could rank for the keyword 'blue toy car'. How do we make sure the category 'blue toy cars' ranks above the product 'blue toy car racer'? Or is the category page automatically ranked higher because of the higher page authority of that page? Alex
Web Design | | WebmasterAlex0 -
Yes or No for Ampersand "&" in SEO URLs
Hi Mozzers I would like to know how crawlers see the ampersand (& or &) in your URLs and if Google frown upon this or not? As far as I know they purely recognise this as "and" is this correct and is there any best practice for implementing this, as I know a lot of people complained before about & in links and that it is better to use it as &, but this is not on links, this is on URLs. Reason for this is that we looking to move onto an ASP.Net MVC framework (any suggestions for a different framework are welcome, we still just planning out future development) and in order to make use of the filter options we have on our site we need a parameter to indicate the difference on a routing level (routing sends to controller, controller sends to model, model sends to controller and controller sends to view < this is pattern of a request that comes in on the framework we will be using). I already have -'s and /'s in the URLs (which is for my SEO structuring) so these syntax can't be used for identifying filters the user clicks or uses to define their search as it will create a complete mess in the system. Now we looking at & to say; OK, when a user lands on /accommodation and they selects De Kelders (which is a destination in our area) the page will be /accommodation/de-kelders on this page they can define their search further to say they are looking for 5 star accommodation and it should be close to the beach, this is where the routing needs some guidance and we looking to have it as follow: /accommodation/de-kelders/5-star&close-to-the-beach. Now, does the "&" get identified by search engines on a URL level as "and" and does this cause any issues with crawling or indexation or would it be best to look at another solution? Thanks, Chris Captivate
Web Design | | DROIDSTERS0 -
Seo and CSS media queries
Hello to all participants! I'm starting on responsive design with css media queries and I was wondering if hidding content can, in this case, can also be bad for seo? I know that hidding content is bad (eg. display: none;), but is it also like that with responsive design or does Google see it other way? If I have a news column with title, image and text for 1024px and hide the text and image leaving just the title for 768px, or smaller, will Google consider this black hat and will it be bad for seo? are there any articles I can read about this subject, and other similar subjects? sorry for my english 🙂 thanks
Web Design | | Lusodados1 -
Do you suggest a SEO Plug-in for Dreamweaver?
I would like to know it there is any plug-in for Dreamweaver that helps our SEO work
Web Design | | Naghirniac0 -
Implementing a new Nav Bar: Best practice, SEO benefit, your suggestions?
Hi Mozland, We are going to have a new Nav Bar for our site built from the horror that we currently have to up with. We want to make it a simple affair, similar to The Guardian two-tier Nav Bar - main menu which will drop down to the 2nd tier according to what you clicked on in tier one. Regular stuff, I think. Any suggestions, from your experience, about how best to implement this, what to include, what not to do, what can be included and done to make it as best it can be to get people to peruse our site as easily as possible? Thanks
Web Design | | Martin_S0