Maintaining SEO in the Ever Changing Web Landscape

Search engine optimisation is a practice riddled with rumors, technicality and algorithms which hold no guarantee and if you are not actively working to stay ahead of the SEO rat race your hard work seems to dissolve into the internet abyss.

Users of your website are akin to demanding teenagers – “entertain me or die” applies and your fancy interface is your only weapon to capture their initial attention. This need for good user experiences along with the uprising of javascript has driven the latest SEO challenge into the mix: your quality content is not accessible to search engines.

Whats the problem?

The use of single page application techniques, lazy loaded content and javascript frameworks all have one fundamental SEO flaw – search engines do not execute javascript (soon to change hopefully). The inverse of this problem also exists whereby your entire site and content is all on one page and again, javascript is doing the work of hiding sections as the user navigates (think parallax scrolling).

So… whats the problem?

Your most important user (the search bot) can only see basic html and links all styles and javascript are ignored. Anything which you see loading with a neat loading bar or delayed load is not accessible to a bot – they simply follow links, read the HTML and sort your content. The easiest way to see what the bot sees is to right click on your website and click “view source” – if you can’t find your article in there, it means that its not visible to bots.


This is an example of how the google homepage is rendered to a bot. Blue text is a link (which it will follow). Black text is content.


How to feed the bot:

The only way to ensure that your content is accessible and SEO friendly is to make sure that your website content and links are loaded straight out of the gates without any javascript having to rearrange or load and extras. In my experience, this is how you build a strong SEO structure:

1. Get your developers to build the structure of the website with fundamental HTML controls like anchor tags (hyperlinks), headers, paragraph tags. Consider adjusting the layout of your site if is working against your SEO strategy.

2. Use CSS and javascript to alter layouts once the content is SEO friendly.

3. If you absolutely have to load all content onto a single page to meet the design (eg parallax scrolling), rather load the landing page HTML with your links to the other sections and then use JavaScript to append content and parallax your site.. It is more work, but what you end up with is one structure which the bot can navigate and a second (altered) structure for the user experience… I have details this further down in an example.

4. Bind your javascript

4. Remember that the idea is not to cheat the search bot into thinking that you have good site structure, but rather help it discover your site content and structure. The last thing that you need is to get penalized for executing a spam tactic.

Parallax pet shop website

Lets imagine that our pet shop website has a parallax design which means that dogs, cats and fish and everything else will render on a single page (the user is going to scroll into each section). This is an SEO nightmare because your content want to have each section sub linked in our search results and each section needs to have a distinct URL. The user should be able to go to and see the dogs section. What happens if someone shares our dogs page on a media platform – which OG tag description is pulled through?

pet shop linksSince there is only one page, there can only be one general description shared. The site’s presentation places its focus on a great user experience (which is VITAL, don’t get me wrong) to the detriment of looking good for any search engines wanting to list, rank and index it.



Techsys is a full service digital agency based in Muizenberg, Cape Town. Offering a blend of creativity and technology we build campaigns that deliver measurable results for our world class portfolio of clients.

Leave a Reply

Your email address will not be published. Required fields are marked *