The following checklist/guide is intended to help us ascertain the on-page SEO of your website(s) for the whole website (as opposed to individual pages and blog posts). This document does not cover off-site SEO at all.
RESOURCES
Google’s SEO Starter Guide
Moz’s Beginners Guide to SEO
Omnicore Agency’s On-Page SEO Guide
WEBSITE
Is website responsive and mobile-friendly?
Does it pass Google’s Mobile Usability tester?
Does it avoid the use of a mobile-only site (e.g., m.website.com or mobile.website.com)?
Is there a means in place to prevent comment and forum spam links from being posted?
SITEMAPS & INDEXING
Is the “XML Sitemaps” feature enabled in All-in-One SEO Pack (AIOSEOP)?
Are unnecessary pages excluded from XML Sitemap?
Examples of unnecessary pages: “Thank You” pages for form confirmations, privacy policies/terms of services, etc.
Is the XML sitemap submitted to Google Webmaster Tools?
Is there a HTML or generated, human-readable sitemap created and linked in the footer of the website?
Are unnecessary pages marked “noindex” in AIOSEOP options?
See above under “Sitemaps” for examples of unnecessary pages.
PAGE CONTENT (TECHNICAL)
Does the page validate? validator.w3.org
Note that pages may not validate due to Facebook like boxes, Google Adwords tags, and similar scripts. This is not an issue. However, it is important to make sure the page’s HTML is valid, with content-type headers and well-formatted, error-free tags.
Does the site make proper use of h2, h3, h4, h5, and h6 headers?
h2 tag used only once on the page?
Note if the website is built in HTML5, it is acceptable to have multiple h2 tags, as long as they appear in different sections. Otherwise, however, h2 tags should only be used once per page.
Are breadcrumbs used on-page?
Breadcrumbs have human benefit in that they help the visitor understand page structure. They have SEO benefit as of 2015, too, as they might even appear in SERPs.
Are Rich Snippets/Microdata tags used on-page?
E.g., for the address, phone number, etc. “Rich snippets are … structured data that … mark up content [to] provide information to the search engines.” (Moz)
Does the website make use of social media tags?
E.g., OpenGraph data for Facebook.
Are canonical links used on-page?
If WordPress, the answer should be “yes.” Do, however, double-check that a rel=”canonical” tag exists on at least one page.
Are comment and forum links “nofollow”?
If WordPress, the answer should be “yes.” Do, however, double-check.
Are social sharing buttons enabled and prominent on-page?
PAGE CONTENT (LINKING)
In-site linking?
Are important pages linked to frequently? E.g., the “Contact Us” page for a doctor should have more internal website links pointing toward it than the “Privacy Policy” page for that same doctor.
SITE STRUCTURE AND PAGE URLs
Does the site avoid the use of subdomains for related content?
E.g., “blog.website.com” is a bad idea; it should be website.com/blog/ unless the subdomain is really a completely separate website.
Are pages structured properly?
It helps on large websites when URLs have structural organization. E.g., if all products appear under the /products/ directory, or all blog posts appear under the /blog/ directory if the website is very large, etc.
Can you remove parts of the URL?
If the website is large and uses many subdirectories, make sure you can remove parts of the URL to get around the site. If the URL is http://website.com/products/product/widget, website.com/products/ should not throw an error.
Are URLS clean, well-structured, descriptive and not too long?
It’s important that URLs are descriptive of the page content. It’s also important that URLs aren’t too long. We should never have a URL with query parameters such as ?page_id=93 as they are unintelligible to search engines and human visitors alike.
URLs DO NOT use underscores?
URLs should use dashes, not underscores.
When a page is deleted, is the page 301 redirected to a new page on-site?
SEO PAGE TITLES AND META DESCRIPTIONS
Custom post types (e.g., for services, menu items, etc.) have SEO descriptions enabled in AIOSEOP?
Examples of custom post types that should have SEO descriptions include “Services” by doctors, “Events” by restaurants/clubs, etc. If these custom post types do not seem to have titles and descriptions working, go to the General Settings of AIOSEOP and make sure those post types are selected.
SEO Keywords features are OFF or NOT USED?
Keywords do not matter anymore, and it’s best if we just don’t include them anywhere. By using keywords features, we are simply giving up the terms we’re trying to rank for to competition.
WEBSITE SPEED
Is the website fast? Does the website load quickly?
Consider a cache plugin, concatenating CSS or JavaScript files, and stripping unnecessary plugins, scripts, stylesheets, and fonts.
GT Metrix Score
YSlow Score
Google PageSpeed Insights Score
MISCELLANEOUS
Is the robots.txt feature enabled in AIOSEOP?
Is the 404 page useful?
Does the “404” page show as a mostly blank error page? Does it have links to other pages on site the user might like to visit? Even if the user has an error, we can keep them on-site by providing helpful links and hints for what they might have been looking for when they got a 404 error.
Is the Jetpack plugin enabled, with the Enhanced Distribution module enabled?
This module pings search engines when we update content on-site.
WEB ANALYTICS FEATURES
Is Google Analytics active and flowing?
Use the “real time” view to verify data is flowing.
Is Google Webmaster Tools active and verified?
Is Bing Webmaster Tools active and verified?
Google Analytics Conversion tracking set-up enabled for certain events/goals?
Examples: successful contact form, successful e-commerce purchase, etc. Use the following space to enter specific goals that should be enabled for this web property.
BI-MONTHLY SEO CHECK
Check ahrefs:
____ New referrals
____ Changes in rank
Check Google Webmaster Tools:
____ For any errors and alerts
____ For any new 404 errors (decide which should be 301ed)
____ For any new HTML improvements to be made
____ To resubmit sitemap
Check entire site for:
___ Any new pages, blog posts, or custom post types created in the past month – ensure they pass the SEO checklists above for content, linking, etc.
____ Any pages, blog posts, or custom post types missing SEO titles and meta descriptions
Run W3C HTML validator on homepage, contact page, and at least two other key site pages.
Google site:website.com and ensure results are as expected
Ensure WordPress core and plugins are up-to-date
Note: do not update plugins yourself without fully backing up the site. Contact the developer with any out-of-date WordPress installations and plugins.
Visually test responsive layout with at least two mobile devices, preferably one iPhone and one Android phone
Run website through Google’s Mobile Usability tester
Go through old blog posts for any opportunities to link to new blog posts for increased internal linking