What is Search Engine Optimization (SEO)?
SEO is a process that should only be done by a web developer or someone with enough technical knowledge to make sure that your site has the best chance to rank well on Google. It's that simple.
If you do a search on Amazon, you will see a lot of books on the subject.
If you do a search on Google, you will see a bunch of people claiming to be experts, guaranteeing that they can get you to rank number 1 on Google. Hogwash! Anyone that says that is lying because no-one can guarantee number 1 ranking on Google.
What do I do?
I follow Google's best practices outlined in their documents at Google Webmaster Guidelines.
Here's a summary:
- Make sure that there are no pages that are on their own and have not been liked to from other pages on the site.
- Create a sitemap file in XML (similar to HTML, but a simple text file) so that Google can search it.
- Make sure that there are not too many links on any one page (Google says a few thousand at most - I have never had to do that many).
- Configure the web hosting server to support the correct header (If-Modified-Since). All this means is that the server will tell Google when the content changes.
- Configure the file responsible for crawling the site to make sure that search page results are not searched by Google. This file is called the robots.txt file.
- Submit a crawl request to Google. Google will eventually pick up the site, but I can ask Google to crawl the site immediately.
- Review the content on the site so that common search words are included on the page.
- There are specific elements on the page that have to be descriptive, specific and accurate. These elements include the title at the top of the browser and the image tags that describe the image.
- Make sure that each page has a clear hierarchy compared to other pages on the site.
- Follow Google's best practices for images, video and structured data.
- Use the tools that Google provides to make sure that the site files (such as CSS and JavaScript files) are properly crawled by Google.
- Make sure that the site URLs make sense to a user and don't contain any unnecessary junk such as IDs or URL parameters.
- Make sure that all important content is visible to Google and not hidden inside tabs or expanding sections. It may look cool, but Google doesn't like it.
- I recommend against advertising links, but if you need them, they cannot affect search engine rankings. I do this by putting a specific link attribute on the link in the robots.txt file (rel="nofollow") so that Google will not crawl the link.
- Use text instead of images to display important names context or links. When images must be used, I write a good description in the alt tag of the image.
- Make sure that all links go to a live webpage by using valid HTML, using the W3 Validation Tool.
- Write good code so that pages load really fast. Google loves fast loading pages and mine load like lightning. I regularly test the speed of my pages using PageSpeed Insights and Webpagetest.org
- Design for mobile and other smaller devices first. This is called responsive design. I use the Mobile-Friendly Test to test how my pages look across all devices.
- Make sure that all pages across the website appear correctly in all modern browsers.
- Install a SSL certificate site wide. If you see a little lock icon where you type in the URL, that is an SSL certificate.
- Ensure that the sites I build are accessible to visually impaired users by testing usability with a screen reader.