Elm SPA caused all our pages to be removed from Google Search

I went through some of this, so I can offer my perspective:

I rebuilt an e-commerce site that had previously been a mishmash of Wordpress and PHP nonsense with Elm. When I initially built the site, for some reason I was having trouble getting routing to work, so my application used # anchors for routing - i.e., the “inventory” page was at https://mysite.com/#inventory

Google did not index the site, and we disappeared from the Internet. (This was an unpopular outcome, and made a lot of people very unhappy.)

The initiative to fix this encapsulated the following actions:

  • I created and submitted a sitemap.xml, and made sure to refresh it when the contents of my site updated
  • I stopped using # anchors and figured out how to do regular routing
  • I changed all of our URL paths to be more descriptive - for instance, https://mysite.com/inventory/18507 became https://mysite.com/inventory/18507-allen-bradley-relay-model-2
  • I built a “sitemap” into the website - I made sure that it was possible to access each inventory listing from a link on the main page by traversing through the different organizational units of the site (i.e., category → brand → make → model → inventory detail page) - from what I’ve read, Google really likes this, nearly as much as a sitemap
  • I added a robots.txt and filled it out
  • I added RDFa tags to take advantage of Google Rich Results: https://search.google.com/test/rich-results

It took a few months, but over time Google gradually indexed more and more of our pages. I don’t use server-side rendering, or really anything at all very fancy - just a fairly static site hosted on nginx that loads my Elm JS from an index.html page.

I don’t know how much of this applies to you, directly or otherwise, but in my case - it worked, gloriously, and led to a significant increase in business for our company.

5 Likes