By Vasfie Dervishova, QA Engineer.
Recently, while working on a few projects and testing a few web sites I have been faced with some SEO challenges. These challenges have given me greater insight and understanding into SEO testing.
Despite the fact that SEO problems have been around for years, my experience so far is that SEO testing is frequently last on the list or QA is not afforded the amount time needed to ensure optimal results. Even more frequently a website is already developed before any consideration is given to optimization. As a result, small mistakes that should have been identified and corrected early in the project become really big problems at later stages in development.
Testings specifically for SEO can be challenging and requires an extra measure of attention to detail. It is time-consuming but in the end, the time spent is well worth it and will always result in a happier and more satisfied customer.
Let’s start from the beginning.
First, we need to determine exactly what SEO is.
Search engine optimization or SEO, is a set of rules that should be followed by website owners and developers to optimize their websites for search engines and thus improve their search engine rankings. In addition, it is a great way to increase the quality of your website by making it, faster, more user-friendly and easier to navigate.
Optimizing your website for search engines will give you a distinct advantage over other non-optimized sites and it increases the chances that you’ll rank higher.
The best news is that you don’t need to do this alone! There are a number of useful tools you can use for SEO testing, which don’t require you to have any kind of in-depth knowledge on how to use them or, how they do what they do, for them to work for you.
Right now Google is the biggest and most widely used search engine out there so I’m going to use it as an example but what I’m about to tell you can be applied to most other search engines too. Google has explained how they approach search here.
In short, Google crawlers search the web to find web pages and add them to their index. When someone types in a search term their algorithms try to find the best possible match. And as a result, those pages are presented in the search results. A QA engineer should understand all these dynamics, check for them and make sure the site has no errors that would exclude it from achieving a top ranking.
SEO is a big topic with a number of nuances, so I’m going to start with the simplest and easiest checks a QA can do when testing a site:
- xml Sitemap
- 301 redirect
- 404 pages
As you know robots.txt is a file on the root directory of a website and it tells search engines which directories or files on the site they can crawl and include in their index.
At the developing and testing stage, your QA Engineer needs to be sure that all (unnecessary) pages are blocked via the robots.txt file.
I usually check this in two ways:
- Using this resource: http://seositecheckup.com/
- And I add “/robots.txt/” to the site name http://www.sitename/robots.txt
- If I check robots.txt using http://www.sitename/robots.txt the results should look like this::
Disallow: / for development and stage servers
Sitemap: https:/sitename.com/sitemap for production
A sitemap is just a map of the website, where you should find all the pages on that site. This tells search engines how the site is organized. Added to this the xml file provides users with a sitemap page that contains links to all important pages on the site.
The sitemap provides valuable metadata, information about the web page, like; when the page was last updated, how often the page is changed, associated with the pages listed in that sitemap.
While with robots.txt we tell search engines which parts of our site to exclude from indexing, with the sitemap we tell search engines where we’d like them to go.
A QA Engineer needs to check that the sitemap.xml file is in the website root.
NB! The best way to provide accurate sitemaps for SEO is to include them when you write your robots.txt
Again there are a number of tools you can use to check whether or not the sitemap is present on your site, I’ve tried quite a few but http://seositecheckup.com/, in my opinion, is the most user friendly and does the job effectively.
What is a 301 redirect?
It is a permanent redirect from one URL to the other. There are a few good reasons you should use a 301 redirect. It is important to check whether there are duplicates on the site pages, and if there are any you should make use of a 301 redirect to deal with the duplication.
Let’s put this into practice.
URL and Domain migrations
If your previous website address was https:// www.sitename.com and you
decided to change it to https://www.newsitename.com your developer would need to implement a 301 redirect from the old URL to the new one.
Moving from <http> to < https>. (See more detailed information below).
In the case of a trailing slash…
Traditionally, the reason a URL ended in slash was to differentiate between directories and files. A directory would typically look like this http://sitename/category/ while a file would look like this http://sitename/category . This helps speed up page loading because the trailing slash immediately tells the webserver to go to that category/directory and look for the example.html or other default files.
When you visit a URL without a trailing slash, the webserver looks for a file with /category name.
Using a 301 redirect, in this case, can be useful too.
This page is shown to users if they click a link on a website that leads to non-existent page. A 404 page needs to be useful and provide users with an alternative way to find what they are looking for.
A good 404 page should contain:
- An error message (e.g. 404 Page Not Found)
- Useful information that will help a visitor stay on your website
- A link back to the homepage page
- And make sure that the 404 page looks the same as the rest of the site.
In the next article we will discuss the following items:
- Meta tags
- Domain migration and mixed content
To be continued and happy testing!