Let’s begin by acknowledging that developers—front-end, back-end, web, app, full-stack, etc.—are bad asses. In a better world, developers, scientists, philosophers and physicists would take the place of rock stars, football players, actors and politicians in terms of pay and recognition. I’d rather have David Heinemeier Hansson’s autograph than Peyton Manning’s or Kim Kardashian’s any day of the week.

Developers and Engineers Rule

That said, their logical, analytical side means developers often take SEO advice too literally, and too far. Keywords in the URL help rankings? Let’s stuff five extra directories in there so we can fit in several keyword variations. Google likes a flatter site architecture? Now let’s remove all directories and just put everything off the root. To be fair, this is often at the request of SEOs who only know enough to be dangerous.

Here are a few more examples of what I think a lot of experienced SEOs would like to clarify for developers.

1) JavaScript Frameworks

There are three different issues at play here, and developers only seem to be concerned about the first one:

  1. Google’s ability to crawl and execute JavaScript
  2. Passing of PageRank signals
  3. Individually indexable URLs

Javascript Frameworks

Google says they can crawl and execute JavaScript, whether it’s in-line or in an external .js file. Developers love to pull quotes from pages like this out when defending their decision to put very important crawl paths and content behind JavaScript.

But the truth is even though JavaScript links can be crawled, in most cases there is no evidence supporting the assumption that they pass PageRank in the same way that an “href” link does in plain HTML. So by changing important navigation elements to be handled by JavaScript, like category page pagination and filtering, you are essentially taking PR away from some very important pages. This means once category pages are built with something like React.js or Angular.js, rankings plummet. Everyone scrambles to find out what went wrong, pulling out Google engineer quotes, proving that the pages are being crawled and indexed, pointing fingers at each other … sound familiar?

Even if the href tags appear in the code once the page is rendered, that’s still not good enough. Using a pre-rendering service like Prerender.io will help by showing a static HTML version of the page to search engines instead.

Even with pre-rendering, there is still a potential major issue with URLs. Don’t use the hashbang “#!” tag and don’t return “?_escaped_fragment_=” in the URL string. Use the HTML5 “History API” to update the visible URL in the browser via “pushState,” leaving you with search engine-friendly, static URLs like http://www.store.com/category1/category2/?page=3.

The best article I can find about making search engine optimized pages using AJAX, React.js, Angular.js and other JavaScript frameworks can be found here on Built Visible.

2) What You Think Is Important to SEO May Not Be That Important To SEOs

There's Your Problem - Not Enough SEO Juice

There is a lot more to SEO than Title Tags, Meta Descriptions and Meta Keywords (which have been deprecated by Google and Bing, and probably most other search engines). Yet this is what we see as the “SEO Features” on many eCommerce platforms.

Google Ranking Factors from Moz Survey

Image Source: https://moz.com/search-ranking-factors

When I read the SEO features page on LemonStand.com, I am left to believe that they think SEO means meta tags. But LemonStand allows for fully editable code at the page, template and code snippet levels, which means they are under-selling their potential SEO features by a mile! With a good developer, there isn’t much you can’t do with the LemonStand platform. For example:

  • It allows for customization of robots meta tags, JSON-LD script, Google Tag Manager containers and more via editable HTML and code snippets.
  • Creating 301 redirects is easy and allows for page-to-page redirects, as well as the use of *wildcards to redirect entire directories, page types and parameter-based URL sets at once.
  • LemonStand’s mobile first approach and responsive design make it easy for stores on the platform to get more traffic from mobile searches on Google.
  • You can create customized URL patterns for categories and products. Most eCommerce platforms let you choose from a few pre-set options, none of which are optimal in the majority of cases. For example, with LemonStand, you can have product pages at /product-name or /products/product-name or /product/product-name or… It’s up to you.
  • Being a hosted solution with a Content Delivery Network (CDN), LemonStand takes advantage of Google’s preference for faster sites.
  • Google also prefers secure sites, which is especially important for websites that are asking for your money (eCommerce) or your life (health). The SSL certification and HTTPs URL versions that come out-of-the-box with LemonStand are poised to take advantage of this.
    • But first LemonStand developers need to make a few adjustments. While the HTTP site redirects to the HTTPs site, those redirects return a 302 (Temporary) status code in the HTTP header. This needs to be a 301. Alternatively, or in addition to updating the redirect status code, a rel canonical tag can be used on the HTTP site to reference the HTTPs version as canonical.
  • Rich snippets in the SERPs are achieved on LemonStand via Schema.org’s Product schema. I also recommend Aggregate Rating schema.
  • You can automate custom meta descriptions at scale by using variables in the Product page template (Store Design —> Pages —> Product).

Between editing pages, blocks of code, templates…, API/integration options and other features, most of the things an SEO is going to ask for are achievable with LemonStand.

Related posts:  How to Increase Sales With Ephemeral Video Content on Instagram

Keywords have been deprecated completely. Meta descriptions have been removed as a ranking factor. And although title tags are still highly important, they are the tip of the iceberg when it comes to features that are important to good SEOs.

3) Flatter Is Not Always Better

This is our fault as SEOs for telling you what Google tells us without actually thinking about the true intent behind their statements. Yes, technically the closer a URL is to the root, the more PageRank it is likely to have, and the quicker a spider will typically find it while crawling the site. Notice use of the words “technically,” “likely” and “typically.” The truth is, it’s not so black and white. When in doubt, think logically.

Flatter Is Not Always Better

It just makes sense to put products in a directory called /product/ or /products/ instead of off the root or as part of the category taxonomy. LemonStand makes this fully customizable via Store Design —> Pages —> Product (to edit the template) in the back-end. You can customize category URLs as well. Here are some specific reasons to do so:

      • Ease of automating and herding crawls
        • Crawl only this or that directory
        • Disallow /directory/?*= in the robots.txt
      • Ease of analyzing data
        • Set “Page Type” field to “Product” on all URLs containing /product/ in this spreadsheet
        • Use XML sitemap and Google Analytics segmentation to analyze whether a traffic drop has affected the entire site or just certain sections/page types
      • A logical site architecture is easy for Google and humans to understand
        • Product page types are in the /products/ directory
        • Categories in /category/
        • Put the blog in /blog/

Keep it simple, logical and crawlable. Everything else is of relatively little concern to an experienced SEO who cares more about the big picture than milking a single ranking factor for all its worth at the expense of long-term success.


Why bother the user with meta information that you only want to show search engines? Until recently, Schema.org implementation involved marking up what was already visible to users. The drawback was if you wanted to include markup about the manufacturer, number of reviews, etc., you had to show that information on the page. JSON-LD allows you to put the meta information about the product in the source code without necessarily requiring it to be visible to the user.

John Mueller, Webmaster Trends Analyst for Google, recently announced that Google supports JSON-LD markup for eCommerce applications:

A John Mueller Tweet: Webmaster Trends Analyst

Two awesome tools to check out are the JSON-LD Playground on JSON-LD.org and J.D. Flynn’s JSON-LD Markup Generator tool.

5) Don’t Block Resources Necessary for Page Rendering

Please don’t block resources needed to render the page. For example, make sure directories like these aren’t blocked in the robots.txt file:

  • /css/
  • /js/
  • /scripts/
  • /images/
  • Etc.

6) Do Block Spider Traps

Faceted/Filtered navigation after ~3 levels deep can become a nightmare to crawl. It uses up crawl budget, keeps other, more important, pages from being indexed as quickly, and adds a lot of low-quality content to Google’s index, which then has to be pruned.

A lot has been written about this topic over the years, but a post from 2001 is still my favorite:

Building Faceted Navigation That Doesn’t Suck.

Similarly, block internal search result pages from being crawled, as per Google’s advice.

7) Alt Tags (we need your help)

Some of us SEOs don’t understand the difference between a “tag” and an “attribute.” It would help if you reminded all SEOs that the “tag” is IMG and “alt” is the attribute designating alternative text that should describe the image to someone who is unable to see it (e.g., for the vision-impaired). And mention that it is NOT for dumping in a bunch of keywords. Nor is anything else, for that matter.

This isn’t just about Alt Attributes though. It’s about all the times we say Java instead of JavaScript, or any other time we SEOs annoy you with our ignorance. 🙂

Java vs JavaScript

So there you have it. Developers and marketers have a lot to learn from each other. But I suppose that won’t matter much when Google’s machine learning algorithms develop true AI and decide they don’t need either of us around anymore.

Google Skynet

You have been warned.