This post demonstrates why a conversation between web development and technical SEO professionals is vital to the success of a website in the search engines.
I won’t reveal the domain we’re discussing, but the company wanted to understand why their site had such poor organic visibility.
I first looked into the category pages, since these pages tend to be the best opportunity for targeting the generic, competitive terms, and quickly found that the category page template was identical no matter which category you chose from the navigation options.
These pages had no unique HTML copy, and the H1 tag and title didn’t change. The only things that did change were the URI and the products shown on the page.
I then navigated to the Network tab on Chrome’s developer console, and chose XHR before refreshing the page. As expected, I found the page was referencing a JSON file sat on the //api/pages URI.
This JSON file contained every product sold on the site, and depending on the category chosen, the page would show the user the relevant products via AJAX. This is an example of a REST application being implemented in a fine and valid way, but with SEO basics completely disregarded.
I say ‘fine and valid’ because the functionality works very well and Google can actually render the dynamic products shown.
However, there is absolutely nothing to inform Google about the context of the page’s content. As mentioned earlier, there’s no unique title, H1 or content to demonstrate the keywords this page would ideally like to rank for.
Maybe the devs thought Google were in the business of looking at each product grouping and determining the keywords the page would be best suited for. Unfortunately, it does not work like that. Stick to the basics, and ensure every page has each and every one of the main SEO ranking signals.
The simplest solution for our example site here would be to implement static pages for each category, with unique URLs, content, H-tags and titles (all containing our target keywords), and to then use AJAX to pull the relevant product data from the JSON file for each category.