To many app developers, SEO is nebulous and confusing. What should you be doing in your HTML template to ensure optimal discoverability? How exactly should your robots.txt and sitemap.xml look?

These questions are exactly what this post answers. I’ve made many landing pages and have learned a ton about SEO best practices through them. This checklist consists of the to-do’s I consider to be the most impactful and the easiest to implement. Simply put, this is the least you should do when launching a new website.

But, why?

Having a landing page for your app means that people have a way of finding you without navigating the complexities of the App Store or Google Play. Press articles and social media posts can also link to your app easily. Through the site, you can showcase the app in exactly the way you intend to and present your value propositions, all without the strict guidelines from Apple and Google.

Most app landing pages only scratch the surface of what’s possible. As both Google and Apple begin to bridge the gap between web and mobile, taking advantage of things like Smart App Banner and App Indexing can bring a whole new world of possibilities.

1. Register your site on Google Webmaster Tools

Do this as soon as your site goes live. Learn to use these tools and fix any errors you see from them. This is also a great place to test your sitemap.xml and robots.txt files (see below).

2. Make sure the URL structure is human-readable and contains your keywords

Take a look at the URL structure of this article. It is completely human-readable and contains the keywords that is consistent with the rest of the article. Search engines like that.

3. Include a sitemap.xml file

A sitemap is a file where you can list the web pages of your site to tell Google and other search engines about the organization of your site content. Search engine web crawlers like Googlebot read this file to more intelligently crawl your site.

Google Webmaster

Make sure Google sees your sitemap properly by logging into Google Webmaster Tools and navigating to the “Sitemaps” section.

Webmaster Tools Sitemaps section

You can both submit and test your sitemap here

An added benefit of submitting a sitemap is that you will get automatic sitelinks, which further increases your visibility.

Secret Sauce Google sitelinks

4. Include a sitemap.html page

You might be asking, why do I need both? Matt Cutts explains that while a sitemap.xml only helps the search engines discover pages on your site, an HTML version will help both the search engines AND your users. He recommends that you at least implement the HTML version.

5. Include robots.txt file

A robots.txt file is a file at the root of your site that indicates those parts of your site you don’t want accessed by search engine crawlers. The file uses the Robots Exclusion Standard, which is a protocol with a small set of commands that can be used to indicate access to your site by section and by specific kinds of web crawlers (such as mobile crawlers vs desktop crawlers).

Google Webmaster

I also like to indicate the location of my sitemap in my robots.txt to ensure that the crawler finds it.

User-Agent: *
Allow: /

Secret Sauce’s robots.txt

6. Use social media meta tags

Think of social media meta tags as optimization for social networks—they allow you to make the most out of the content you share by letting you determine what information is displayed in the posts and how. All major social networks allows for an image, which can be either your logo or app screenshots.

Read my post on meta tags if you want to learn more. I’ve also created a tool to generate all the social media meta tags in seconds.

Twitter post before and after meta tags

Before and after implementing social media meta tags

7. Use rel="canonical" for duplicate content

If you re-post content from other sources, make sure to use rel=“canonical”. It’s simply a <link> tag in your <head></head> that tells the search engines to treat the current page the same as the canonical version.

For example, you have and Both URLs contain the exact same content. You can treat the first one as the canonical version and slap a <link rel=“canonical” href=““> in the second. That way, your site will not be punished for duplicate content by the search engine.

Read this article for more information.

8. Optimize site speed

This is tricky since there are many things you can do to optimize for speed. Make sure to use the PageSpeed Insights for Chrome tool to diagnose for areas of improvement. The typical low-hanging fruits are minifying CSS and Javascript files, using a CDN, and optimizing image sizes.

I like to use ImageOptim to compress all images before deploying them.

9. Consider mobile-friendliness

It’s official, Google will lower your ranking if your site is not mobile-friendly. Make sure your site is mobile-responsive and use this tool to test it before deploying.

10. Do not put valuable content in Javascript

I’ve seen a few blogs written in Angular or React recently. While this provides an excellent user experience, it also means search engines will struggle to see it. Ignore the rumors about how search bots are reading Javascript-it is simply too unreliable at the moment.

Other resources

If you are a Ruby developer, check out our SEO and social media-optimized Middleman template.

If you are interested in further optimizing for SEO, check out these articles:

Sign up for "Building the Right Mobile App"
A six-part email course on building mobile apps your users are happy to pay for

comments powered by Disqus