Streaming live at 10am (PST)

Will our SEO concept work?


Up-front: congratulations Webflow for this great tool. It’s a pleasure to work with!

We’re in the final steps creating our new website using Webflow static pages and Webflow CMS.

On this new website we will offer >1000 machines for sale using client side search implemented via JSON data and AngularJS/Javascript. Since there is no way to serve any files via webflow outside of webflows GUI and since Webflow’s JS may interfere with our JS and AngularJS code, this “machine search” is hosted using a standard web hosting provider on another domain. This “machine search” is then embedded into the webflow site using an iframe. The architecture of the static pages looks like this:
uses an iframe to embed the machine search feature from another domain:

Regarding SEO, we want a URL hosted on Webflow to be shown on Google when someone is searching for a machine we’re offering. Since a ‘canonical’ (unique) URL is needed for Google in order to index each single machine we’ve created a sitemap with unique URLs per machine and put the sitemap.xml’s URL into robots.txt on Webflow. A URL per machine in this sitemap look like this, where “15159” is a unique number for a single machine:

In order to make this URL showing dynamic content work, some Javascript catches the machine ID parameter from the URL on Webflow
and changes the URL of the iframe in a similar way (adding the same # parameter) so that the machine search Javascript shows this machines’s data:

This URL scheme works perfectly in the browser, may take a few seconds to load of course.
The question is: will this SEO concept also work for Googles crawler to index each machine?
What we know is that Google’s crawler runs Javascript and follows iframe content. Google’s current indexing status is that it has successfully catched the > 1000 URLs of our sitemap.xml, but hasn’t yet started indexing. Since the path for the crawler to go through is quite long with some ‘latency’, we’re more and more in doubt if our SEO concept will work, since Google hasn’t done any indexing for two weeks now. The path the Google crawler has to go through looks like this:

  1. One of > 1000 URLs hosted on Webflow Google knows from sitemap.xml
  2. as an example of > 1000
  3. When loaded (!), page runs some Javascript to change the URL of the iframe
  4. Iframe loads
  5. When loaded (!), runs some Javascript to dynamically show machine search via Angular.
  6. Angular uses JSON data it loads asynchronously (!)
  7. When the ‘promise’ to load machine data in Angular is fulfilled, it runs search in a Javascript array and shows the information of machine # 15159.

What do you think: will this SEO concept work? In order to work Google’s crawler would have to index the content shown after step 7 is finished, with some latency and asynchronous calls in between.
Do you have another idea for a suitable SEO concept?
What we would like to avoid is an old school server side search implementation, e.g. using PHP/MySQL.

Here is the read-only designer link of our webflow website.
and here is the standard URL:
“Machine search” is shown using “Search Equipment” in the menu on top and then “Search machines” on the left.


Now we have some more results.
In case someone is interested: How can you publish thousands of products via Webflow?:

  1. Creae a Webflow page, e.g.
  2. Setup this page for dynamic content. I recommend AngularJS. You can add Angular {{…}} tags directly into Rich Text if you like. Use custom head code to add Angular scripts to the page.
  3. Host everything else, JS, PHP/MySQL and your product sitemap elsewhere. Consider CORS when using JS loading data from another domain. Take care to serve dynamic data fast enough for Google’s crawler.
  4. Create a sitemap of all your products pointing to the Webflow page (…/products?productID=…) and add it to robots.txt in Webflow.
  5. Let Google know about your sitemap in Webmaster Tools.
  6. Give Google some time to index dynamic content. Google’s crawler executes JS but maybe not right off the bat.

Hope this is useful for anyone interested.