Internet Marketing Checklist

Want to do Web Marketing? Here’s how I do it. (I started this list in 2009, and I try to keep it up-to-date. If you spot outdated info, please let me know.)

Most recent update: Sept. 4, 2020


  1. Whether you know how to code or not, a Content Management System like WordPress can come in handy.
  2. Are you a dev who doesn’t have time to make your site from scratch? Or maybe you are non-technical, and fed up with flaky dev’s and expensive sites? Spend $40 on a premium theme from a world-class designer, and customize it so its unique to your brand.
  3. Do yourself a favor and go with a responsive website. This is not the year 2000. People use smartphones and stuff.
  4. Get inspiration from
  5. Need a logo? Host a competition. I recommend 99Designs.
  6. Buttons and icons are small, but they make a big difference. TheNounProject is a great resource for finding specific icons, just be sure to check the licenses. If you want a full icon set, Heroicons, Zondicons, and Entypo are good options.
  7. To save money, hire a photographer by buying their existing work. This is the idea behind stock photography. Here are some good sites. Another option is to use Google’s Advanced Image Search and filter by usage rights.
  8. Add a Favicon.
  9. Create an HTML sitemap for site users. Consider putting it on the 404 page.
  10. Add social media buttons that point to your social media fan pages. Want them to be retina friendly and infinitely scalable? Use an icon font.
  11. For images and buttons that aren’t an icon font, you should make them retina friendly.
  12. Test with different browsers (IE 9, Firefox, Chrome, and Safari), as well as different screen sizes. BrowserStack can come in handy.
  13. If you built your site and you’re really proud of it, show it off! Submit it to web design galleries for easy links, traffic, and publicity.


  1. Google Analytics is a free tool for analyzing user behavior on your website. If you’ve never seen it, it will blow your mind.
  2. If you’re going to use Google Analytics, you need to create a Privacy Policy for your website. (More info on this below in the section on Pay-Per-Click.)
  3. Add a hostname filter to stop ghost spam from clogging your reports.
  4. If you’re using Google Adwords, you’ll want to Link Google Analytics with AdWords.
  5. If you’re using Google Webmaster Tools, you’ll want to Link Google Analytics with Search Console.
  6. Use Annotations to track important things you do and their impact on your statistics.
  7. Create Goals to measure what matters.
  8. Create Intelligence Events to notify you when big things happen.
  9. Make all your outbound links events in Analytics to fix bounce rate
  10. If your site has its own search engine, link it to Google Analytics.
  11. Learn how Google Analytics measures time on site.
  12. Learn about ways you can improve its accuracy.
  13. Use Events, or add Javascript onpageunload, or use a library like Riveted to improve your time-on-site metric.
  14. Setup User ID Tracking with Google Analytics.
  15. Understand that your New Visitor metric is probably high and your Returning Visitor metric is probably low. This is due to multiple reasons. Approximately 28% of Internet users delete their cookies on a monthly basis. Approximately 6% of Internet users use Do Not Track all the time. Approximately 19% of Internet users use Incognito Mode sometimes, but its impossible to know how often. There are 2.8 Internet connected devices per person in the U.S.well over 50% of people use multiple devices online. In each of these scenarios, a person who has been to your website before would be counted as a new visitor, thus skewing these metrics.
  16. Ready to try out some other Analytics tools? They won’t be free, but Chartbeat and KissMetrics are popular alternatives.

Google Webmaster Tools

  1. Complete Webmaster Tools official checklist.
  2. Create two site profiles – and If you’re using HTTPS, create four site profiles –,,, Verify ownership, and set all to have the same preferred (canonical) domain. (I prefer www for canonical domains).
  3. If you want to optimize for other, non-Google search engines and visitors, you can setup a 301 redirect from the non-canonical domain over to the canonical one.
  4. Submit an XML sitemap for your canonical domain to Google’s search engine. If you use WordPress, you can use the Yoast SEO WP plugin.
  5. Fetch as Googlebot and submit to index.
  6. Ensure page load speed is acceptable.
  7. Geotarget your site, if you so desire.
  8. Fix crawl errors.
  9. If you’re using Google AdWords, you’ll want to link Search Console with AdWords.
  10. Use the Rich Snippets Testing Tool.
  11. Verify your +1 Analytics are working.


  1. If possible, get it in the same country the majority of your customers/visitors will be. If not, Geotarget your site with Google webmaster tools.
  2. Hosting is a commodity. For most small businesses, you can get shared hosting from a provider like Dreamhost for $10/month.
  3. If you start getting ~10,000 visitors a day, then you can beef up your hosting.
  4. Once you get your hosting set up, you need to regularly back up your files and your database (if you use one). Many hosts will do this for you, but sometimes their backups fail. Its generally a good idea to save backups to your computer or to a cloud file storage provider like Amazon S3 or Dropbox. You can manually back up your site, or you can set up automatic backups. If you use WordPress, there are some good plugins to handle this.


  1. Speed is a ranking factor for SEO, it can impact your conversion rate, and it can affect PPC campaigns with Google AdWords. Here are some ways to improve your site speed.
  2. Google’s excellent Page Speed Insights can analyze pages on your website and tell you how to improve them.
  3. Serve different sizes of images based upon the width and pixel density of users’ browsers. Here’s some tutorials.
  4. If you use WordPress, here are some tips to improve your site performance.
  5. Minimize queries to your database.
  6. Consider using a CDN to reduce the initial page load time for your users.


  1. Set up a comment spam filter like Akismet, or require e-mail verification on 1st comments.
  2. Don’t write useless blog posts. Some people make crap posts every week, but if you don’t have anything unique to say, or if you only have a half-finished post, DON’T PUT IT OUT THERE. Wait, polish, edit, and be excellent. This will increase the chances your content will get links and get shared. If you’re trying to grow your audience, having a single epic post that you spent months on but that gets in the top 10 results for a good search query is better than having 15 posts you made in that same period of time but that no one reads because no one finds them.
  3. Craft your blog categories and post titles to include the keywords you’re targeting for SEO.
  4. Write useful, unique, & engaging content. Ask questions. Get comments. Some people think that you should close comments after a set period of time so that your keyword density is not messed up. Another opinion is that you should create cornerstone content pages that can’t have comments, but multiple posts that point to that page that can have comments.
  5. Every time you write a blog post, promote it! It doesn’t matter how good your content is if its not in front of people.
  6. Cultivate a list of places that you promote your content. For example, I like to post my links along with some discussion on HackerNews and subreddits like /r/entrepreneur. Flipboard can also send a lot of traffic your way.
    1. Don’t try to game the system on sites like HackerNews by sending out a link to your submission to all your friends, and hoping they will upvote it. Oftentimes, sites like these have an algorithm that can detect when you do this, and they will penalize you, potentially destroying your chances of making it to the front page.
    2. Also, don’t helicopter over your submissions after you post them on those sites. If you upvote or downvote other people’s comments on your submission more than a couple times, your submission will often be penalized in the ranks. Same goes for your comments on other people’s threads – don’t upvote everyone who replies to you as this may get your original comment downgraded in the algorithm.
  7. Carefully time when you promote your content. For example, I often promote content around 11:00AM CST on weekdays. New York is about to hit their lunch break, the central U.S. is in mid-morning, the west coast is just getting in the office, and Europe is winding down the day in the early evening.
  8. Create a StumbleUpon account and submit so other people can… stumble upon it.
  9. You can also submit it to Delicious.
  10. Another tactic is to do a Google search for the same topic that your blog post is on, and then make useful, thoughtful comments that add value to the top pages. At the end of your comment, you can mention that you wrote a similar article, and you can include a link to your post.
    1. Tool: When should I post to reddit?
    2. Infographic: When should I post to social media?
  11. Add social media sharing buttons on posts – something like ShareThis.
  12. Put your blog feed on technorati
  13. If you’re hosting code on GitHub and you’ll be blogging about it on your site, you can avoid a duplicate content penalty by preventing Google from indexing your GitHub repo.
  14. Are conferences a big deal in your industry? You may find that live blogging is far more effective and cheaper than sponsoring conferences or giving out doo-dad’s.
  15. Create sticky content. This article is an attempt at sticky content. I don’t want people to read this article one time and never return. Hopefully this article has enough useful info that people will bookmark it and return to my site multiple times to read it. And when they return, maybe, just maybe, they will also read the other things I’ve written since their last visit.
  16. Use Infographics. People love these things. And they are social media sharing magnets, so they can come in handy with generating inbound traffic. If you don’t want to build them by hand using Photoshop, consider a service like Piktochart.
  17. Make money from ads on your blog. Google AdSense is a popular ad network.


  1. Keyword Research
    1. Key Factors:
      1. Competition (Is it possible to rank for this? Is our goal weeks, months, years?)
      2. Relevance (Even if people are searching for this, does our site truly deal with it?)
      3. Traffic (Will it even matter if we rank for this?)
      4. Intent (What are people wanting when they search for this? Look at the current search results for a hint.)
    2. Tools:
      1. Google Keyword Tool
      2. Moz Keyword Difficulty Tool
      3. Google Trends – forecast keyword traffic growth
      4. Google Mobile Friendly Page Tester
      5. Google Mobile Usability Report
      6. Run actual AdWords ads on exact match for advanced SEO keyword research efforts. See many people search for a particular keyword over a period of say, four weeks, and then target the ones that get good traffic in your SEO efforts.
  2. On-page optimization
    1. Page title: 3-6 words. Effective format is “most important keywords | page name”. Max 70 chars.
    2. Page description: 1-2 sentences describing what you do. Max 156 chars.
    3. Optimize your URL’s so that they include keywords you’re targeting.
    4. Run through Yoast’s unique WP SEO Guide
    5. Create cornerstone content pages to target your desired terms.
    6. Follow this up with fresh, regular updates of blog posts that link back to your cornerstone page.
    7. Optimize your images – Name, Alt text tag, and Title tag.
    8. Add in rich snippets. Test with the Rich Snippets Tool.
    9. If your site/app has a lot of AJAX, you should optimize it for web crawlers.
    10. Consider using HTTPS instead of HTTP. Here are some details:
      1. HTTPS will improve your SEO, protect visitor’s privacy, and give you more detailed referrer data in Google Analytics.
      2. Before you begin, you should review Google’s guide on HTTPS and SEO.
      3. The first step is to get an SSL certificate and install it. Let’s Encrypt is a new, free SSL certificate provider. Many hosting providers, such as Dreamhost, will install it for you with a one-click installer.
      4. Then, you’ll want to configure your content management system or framework so it knows you want to use HTTPS. If you’re using WordPress, you can do this by clicking on Settings => General, and then changing the WordPress Address and Site Address to have `https://` at the beginning of your site.
      5. The next step is to migrate all your images, scripts, fonts, and your favicon so they are delivered via HTTPS as well, or else your browser’s green secured padlock won’t ever be happy and your users might get scary messages that will make them think your site is totally sketchy. You can hunt down all the items you need to change on a page using a handy tool called WhyNoPadlock. One you find them, fix them by using protocol relative links. This is done by changing the `href=”http://www…”` to `href=”//www…”`
      6. You’ll also want to analyze the SSL configuration on your site.
      7. Ensure all your internal links point to the new HTTPS URL’s – your nav menu, links inside your blog posts, etc.
      8. Ensure any external links that you can control point to the new HTTPS URL’s – social media websites, affiliate sites, ads you are running, etc.
      9. Ensure that any `rel=canonical` tags within your HTML don’t point to the old HTTP version. Once you move over to HTTPS these tags must be changed to the new HTTPS URLs, as this helps Googlebot understand which version of the page should be used to rank. Again, if you still point to the HTTP version then Google will once again become confused over what page should be ranking in the SERPs.
      10. If you’re moving an existing site from HTTP to HTTPS site-wide, Google will see the new HTTPS pages as entirely new pages from an SEO standpoint, so you’ll want to deal with this so you don’t have duplicate content and so your new pages get all the reputation, search rankings, and link juice that your old ones had. My favorite way to do this is a site-wide 301 redirect in your `.htaccess` file that points all the original HTTP pages to their new HTTPS counterparts. This way, anyone who goes to those old HTTP pages will automatically be forwarded to the new HTTPS one, and all the reputation of the old one is passed on as well.
      11. If you start using HTTPS, you’ll want to have 4 Google Webmaster tools properties – ``, ``, ``, ``. Verify ownership of them all, and set all to have the same preferred (canonical) domain. (I prefer www for canonical domains).
      12. Submit a new xml sitemap for the one canonical HTTPS site to Google Webmaster Tools.
      13. Fetch, crawl, and submit to index for your new HTTPS site in Google Webmaster Tools.
      14. Go to Google Analytics and change the default URL to HTTPS. Do this by going to Admin => Property Settings.
      15. Unlink your Google Analytics account with your Google Webmaster Tools property for the old HTTP site, and relink your Google Analytics account with your Google Webmaster Tools property for the new HTTPS site.
      16. If you use a hosted commenting platform, you may need to migrate it to use HTTPS as well. Here’s how to do it for Disqus.
      17. Enable HSTS and preloading to tell browsers to use HTTPS on the first request. I like to enable HSTS by adding a couple lines in my `.htaccess` file as shown here. Then, submit your website to the browser preload database here. (If you are inspecting your network tab in your browser’s developer tools and you see 307 redirects instead of 301 redirects after implementing HSTS, don’t worry about it.
    11. Utilize structured markup.
    12. Make sure your website is mobile friendly because that impacts ranking – I recommend going responsive.
  3. Off-page optimization
    1. Submit your site to DMOZ
    2. Submit your site to the Yahoo! Directory, if you can afford it.
    3. Inbound links
      1. Linkbait – write interesting, unique content on your site
      2. Don’t do link exchanges
      3. Vertical / Industry Directories
      4. Local Sites
      5. Get a link in Yahoo Web Directory, if you can afford it.

Google AdWords

  1. Learn about the various keyword match types:
    1. Broad Match – chore app – appears in searches containing chore OR app. Ex: flashlight app would trigger this ad because the search has the word app in it. This is the default keyword type, but it is very dangerous because it can result in horrible quality scores and showing ads for completely irrelevant searches.
    2. Exact Match – [chore app] – appears only if someone searches for that exact query. Very safe because you can control exact intent behind the search, which can result in low cost and good quality score, but very limited in the number of impressions compared to other types.
    3. Phrase Match – “chore app” – appears in searches containing your query plus other things before or after it. Ex: chore app for kids. Gives you better control than Broad Match but more reach than Exact Match. Still somewhat restrictive though.
    4. Broad Match Modified – +chore +app – appears in searches containing chore AND app. Ex: app for chore tracking. Gives you excellent reach with good control over intent. Very powerful with few drawbacks.
  2. Keyword Research
    1. Key Factors:
      1. Competition (How much is this going to cost us?)
      2. Relevance (What kind of Quality Score can we achieve?)
      3. Traffic (How much money could we spend?)
      4. Intent (How likely is it that folks will buy? Look at the current search results for a hint.)
    2. Tools:
      1. Google Keyword Tool
      2. Google Insights – keyword traffic over time
      3. Google Trends – what keywords are trending now
  3. Determine LTV and the resulting CAC you can afford. Use this information to set your budget.
  4. If your goal is to drive action – to gather leads, to sell a product, etc. – I prefer campaigns using “Google Search Network Only.” If your goal is to build your brand, to get out a message, or to raise awareness, using “Google Display Select” will give you maximum impressions for the least amount of money.
  5. I like to create separate campaigns for my text ads and my image ads, this allows me to allocate their budgets differently, so that one ad type doesn’t hog all the money.
  6. For text ad campaigns, I like to use the Google Search Network without the search partners. Omitting the search partners tends to improve your click-through-rate, which improves your quality score, which decreases your costs and improves your ranking.
  7. For both text and image ad campaigns, I like to change the location options to only target people who are in your desired country. The default is to target people in your desired country and who show interest in your desired country. This can be changed by clicking the Campaign => Settings => All Settings => Location Options (advanced), and editing Target to be “People in my targeted location.”
  8. Build Text Ads
  9. Build Image Ads using the various sizes (you can also make them retina friendly).
    1. DoubleClick Ad Planner – research website traffic data and visitor demographics across the entire Internet. Use this information to decide if you want to target specific websites for your image or text ads.
  10. Select your keywords
  11. Create multiple campaigns and groups.
  12. Inside each group, build a few different ads. The ads will automatically cycle, and over time, the ones with the highest CTR will rise to the top.
  13. Competitive Keyword Research (but don’t assume they do it right)
    1. View the source of their web pages.
  14. Make landing pages for your ads (don’t use your home page, if possible)
    1. Make sure your landing pages contain the keywords you’re targeting in AdWords in a human-readable format. Don’t neglect to have those keywords on the landing page(s), and don’t spam the keywords in silly non-human friendly ways.
  15. Setup Remarketing using AdWords and Analytics working together.
    1. First, you must create a privacy policy for your website that tells people you’re using Remarketing. A lawyer is always the best choice, but you can also use iubenda. Although its not nearly as good, is another option. If you have a large application and need a very detailed privacy policy, you can also read other companies’ privacy policies for ideas. Atlassian has a very comprehensive one.
    2. Second, you need to create a Remarketing list.
    3. Gotcha: Be sure to create a separate campaign for Remarketing, rather than just adding it to your existing campaign. Otherwise, all your ads will stop showing to new folks, and they will only appear to repeat visitors.
    4. Last thing is to be sure that your Remarketing code is working properly. You can troubleshoot it using the Google Tag Assistant.
  16. Utilize Keyword Insertion
  17. Setup Ad extensions – sitelinks
  18. Review Tips for Success on AdWords
  19. Setup Conversion Tracking
    1. Pass in detailed conversion information – name, referral source, etc. so that you can track people all through the sales funnel, and not simply know the number of conversions. This article explains doing it with Google Checkout.
    2. Track telephone call conversions
    3. Be sure that your Conversion Tracking code is working properly. You can troubleshoot it using the Google Tag Assistant
  20. Each week, look over your ads to manage Quality Scores. QS can increase or decrease every few days.
    1. Immediately deal with keywords with a red quality score.
    2. Improving your CTR dramatically helps your quality score. For example, I saw an ad with a quality score of 4, but within 3 days, it had a CTR of 2.5%, and the quality score jumped to 7. Then, I created a new campaign using this same keyword, and the quality score was low again.
    3. Delete ones that aren’t working well, work to get them at 5 or higher, if possible.
    4. Set keywords with high impressions but low CTR to phrase match
  21. Also, every couple weeks, look over your Paid search traffic in Google Analytics. You want to identify keywords that are getting a high number of clicks but have a low average time on site. (You do not want to pay for people who don’t stay on your site.) Either remove these keywords, because it is likely that the person’s intent behind the search does not line up with your site’s content, or tweak your landing page to try to increase time on site.
  22. View all keywords periodically, and then manually add the best keywords to your campaign.
    1. (Campaign -> Keywords -> See search terms -> all)
    2. Select “All Time” in top right
    3. Sort by impressions
    4. Broad match keywords that Google automatically added have a green box around ‘em.
    5. Add in these Added keywords to your campaign that are performing well.
  23. Add Negative Keywords
    1. Repeat the above steps, identify poorly performing / irrelevant keywords, and add as negative keywords so they won’t display.
  24. Raise bids on keywords with a low avg position but high impressions


  1. Create a fan page.
  2. Upload a square avatar for your page. This is often used as a small icon, so if you have a simple icon, this often works better than a full logo with your business name in text embedded in it. Logos with text often become too small to read as the small thumbnail, so a simple icon often works best.
  3. Upload a cover image. Here are some best practices.
  4. Choose a username for your page. This allows people to @mention you and it gives you a custom url –
  5. Carefully choose the category / categories for your page. Here are two category lists you can use for ideas.
  6. Verify your page to boost your appearance.
  7. If you have events, creating them on Facebook is a great way to notify your fans and keep them in the loop. There are also ways to display your Facebook events on a single page on your website as well.
  8. Here are some strategies for getting Facebook Likes.
  9. Host promo’s to give away exclusive stuff for people who like you.
  10. When you post things on Facebook, boost the posts, even if its for just a small amount of money. You’ll dramatically increase your reach this way, and this can increase your likes and organic sharing.
  11. Regularly monitor comments, reactions, and shares on your posts. This is for 3 purposes – opportunity to connect with potential fans, opportunity for outreach to people with criticisms or hard questions, and comment moderation.
  12. When people like a post that you’ve shared or boosted, or if they post a thoughtful comment, invite them to like your page. This is more targeted than blind invites to your contacts because these folks are already engaged with you. It also increases the rate at which you get likes and ensure that people who have engaged with you in the past get more content from you.
  13. Integrate Facebook Insights with your site.
  14. Add Facebook Meta Tags so that if anyone shares your website on Facebook, it will look good. Also see the Official Docs.
  15. After you add the Meta Tags, use the Facebook Sharing Debugger to test it out.
  16. If you ever share a link to Facebook before the corresponding website page is live, or if you change the image or description on a page after someone has posted it on Facebook, the image and description will not appear properly. This is because Facebook’s crawler archived a copy of the page when the URL was first input on Facebook. To correct this problem, use the above Facebook Sharing Debugger and instruct it to recrawl that URL.


  1. Upload a square avatar for your page. This is often used as a small icon, so if you have a simple icon, this often works better than a full logo with your business name in text embedded in it. Logos with text often become too small to read as the small thumbnail, so a simple icon often works best.
  2. Upload a cover image.
  3. Optimize your Twitter Bio so that it includes relevant hashtags.
  4. Add meta tags to your website pages and blog posts so tweets mentioning those pages will get a Twitter Card.
  5. Test your pages to be sure the cards are working using Twitter’s Card Validator.
  6. Setup Tweetdeck
    1. Monitor mentions of you, direct messages, and keywords that might tip you off to interesting conversations, potential customers, or competitors.
  7. Perform searches to find what circles and communities you want to be a part of. Oftentimes, people gather around hashtags and use them to communicate to a circle of people. Find these circles, and then include those hashtags in your tweets, so that you can begin interacting with those people, who are likely listening in for those hashtags. In addition, this will help you to appear in tweet searches and people searches for those subjects and hashtags.
  8. Tweet it and get it promo’s.


  1. Use a modern e-mail marketing application to decrease the likelihood of getting labeled as a spammer. I like MailChimp.
  2. Think you’ve been flagged as a spammer? You can check Spamhaus and see if you’ve been flagged. You can also apply to get yourself removed from the spammer list.
  3. Integrate your Mailchimp campaigns into Google Analytics
  4. Enable Google+ related pages widget in Gmail
  5. Use preview / preheader text
  6. Code like its 1999 – use table based layouts instead of traditional HTML5. :'(
  7. Do e-mail client testing using a service like Litmus: get ready – e-mail clients are cuh-razy!


  1. Generally, you want to address internationalization before you start on localization. A good place to start is to study i18n libraries for your programming language or framework.
  2. You’ll also want to get a strategy on which countries or human languages you’re going to target.
  3. If you need help translating your site or app, there is Google Translate, but sometimes the results can be… humorous. If you can afford it, there are companies who specialize in this sort of thing.

Well, there you have it – my checklist for web marketing. I hope its helpful to you. Don’t want to worry about figuring all this stuff out? Hire me.