Whether you’re just starting your SEO journey or you’ve been working on search optimization for a while, you know there’s a lot that goes into a comprehensive SEO strategy. That’s why we’ve made a complete (and achievable!) SEO checklist to guide you through the process.
This list establishes the SEO fundamentals that will form the foundation of a strong strategy for your business. Whether setting up reporting tools, installing plug-ins, or covering the basics of getting your site indexed, everything on this part of the checklist represents your commitment to optimizing your site for search.
Let’s get started!
1. Set Up Google Search Console
Google Search Console is a free tool that provides data about how your site performs on Google search.
Using Google Console will give you the ability to:
- See which keywords and pages generate the most click-throughs.
- Submit a sitemap or ask for recrawls.
- Find & fix technical site errors.
- Receive messages from the Google Search team.
Besides being instrumental in helping you tick off more items on this set-up checklist, the data you access through Google Search Console will help you strategize better visibility for your website.
2. Set Up a Google Analytics Account
Google Analytics is a free marketing analytics tool that tracks how visitors are interacting with your website. Simply put, Google Analytics will help you link your SEO efforts to your business objectives and, subsequently, your bottom line. It’s how you’ll measure the ROI of your SEO strategy.
Answer burning questions like
- What sources are driving traffic to your website?
- Which pages on your site are visitors landing on?
- How long is the average visitor session, and how many pages are people viewing per visit
3. Link Google Search Console to Google Analytics
Get even more out of these free tools by taking a few quick steps to link Analytics to Search Console. Enabling data sharing between the two allows data to flow between them and power up the insights you glean from them.
4. Install & Configure an SEO Plug-in
Installing an SEO plug-in sets you up with the functionality and features you need to optimize your site for search.
If you’re using WordPress (WP) as your content management system (CMS), like 40% of sites on the web, there are several SEO plug-in options available to choose from.
5. Generate & Submit an XML Sitemap
A sitemap is critical to help search engines understand the structure of your site. It also tells search engines which pages to crawl and points to the canonical version of each.
Tools like Yoast or Screaming Frog can help you create a sitemap. There are free resources for sitemap generation, such as XML-Sitemaps. The downside of some free options is the limitation of not being able to customize your sitemap. The best-case scenario is being able to customize what appears in your sitemap, but it’s better to have an auto-generated version than none at all.
6. Create a Robots.txt File
A robots.txt file is a plain text file that tells search engines where they can and can’t go on your website. You can use this file to disallow crawl bots from indexing duplicate content or pages that aren’t useful to search results — such as thank you pages for forms or your shopping cart page.
Having a robots.txt file is a best practice even if you don’t have directories that you want to disallow from indexing since it’s also used to point crawl bots to your sitemap.
Not sure if you already have a robots.txt file? Go to yourdomain.com/robots.txt. If you see a file, you’re all set. If not, Yoast can help you generate one, or you can manually create one using a text editor and upload it to the root of your domain. Once your file is in place, use Google’s tester tool to make sure everything works correctly.
7. Check for Manual Actions
Most sites have never been impacted by a manual action and never will be. Things like structured data issues, unnatural (spammy) links to or from your site, hidden text, and thin content can result in a manual action by Google. Once imposed, a manual action can prevent parts of your site or even the whole thing from being returned in search results.
All of that being said, check the manual actions tab in Google Search Console for any notifications about penalties. If for some reason, a manual action has been levied against your site, that’s the very first thing you’ll want to address.
8. Make Sure Your Site is Being Indexed
It might surprise you how often a site is de-indexed because developers have accidentally left “noindex” tags in place when moving code from a staging server into live production. A “noindex” tag tells search engines that you don’t want them to return the tagged content in search results. It makes sense to use them when something is in development (or for sother reasons), but once that content is published, errant “noindex” tags render it invisible to search engines.
Google Search Console’s Index Coverage Report will help you uncover and fix any indexing issues on your site.
Keywords might be the single most important component of a successful SEO strategy. It’s important to target keywords that reflect how your customers think and what their search tendencies are. Keyword research is a unique process for every business.
Each of the SEO best practices checklist steps outlined below warrants an article in its own right. But, we have covered all the crucial plans.
9. Find the Content With Momentum
Do you have content with a clear theme that’s already driving traffic to your site? Anything that’s already ranking on at least page two of SERPs (Search Engine Result Pages) is the perfect place to start SEO improvements. Building on existing momentum will allow you a few quick wins while you dive into some of the more challenging aspects of implementing an SEO strategy.
Use Google Analytics to find your highest-performing pages, then check their keyword rankings with a tool like Ahrefs Site Explorer. If your budget doesn’t allow for a tool like Ahrefs, Google Search Console is a free option for insights into your keyword rankings.
10. Identify Your Competitors
Next, you’ll want to understand the competitive landscape. Ranking in SERPs is a zero-sum game, which means you’ll need to outperform your competitors to climb into first-page rankings. The quickest way to identify your search competitors is to use a domain SEO analysis tool.
When you analyze competing domains, you’ll be able to see how your visibility compares to theirs and who’s ranking for which keywords. Knowing the strengths of your competitors will help inform your keyword strategy.
11. List Converting Keywords
When you’re building a keyword strategy, you want to emphasize keywords that are most likely to generate the greatest return on your investment. That means choosing keywords that will directly contribute to revenue growth by driving leads, sales, and conversions. These are the keywords that summarize your offer and are often high-volume, highly competitive search terms.
After you’ve created your list of keywords, sort through them and prioritize the ones most closely related to your conversion goals.
12. Conduct a Competitive Keyword Analysis
A competitive keyword analysis (also known as a keyword gap analysis) is the process of identifying valuable keywords that your competitors rank well for, but don’t.
Some things to keep in mind:
- The keywords you analyze should be from the list of conversion keywords you identified above.
- They should be keywords that you could rank for, or you could rank better for.
- The more competitors you include in your analysis, the more helpful it will be.
13. Include Question Keywords
Understanding the questions your prospective customers are asking will help you align your content with their needs. In short, question keywords are an ideal way to drive traffic to your blog posts.
The Moz domain analysis tool mentioned above also includes a section for “top questions mined from People Also Ask boxes for relevant keywords” that provides some valuable insights on question keywords.
14. Target Intent
If keyword research answers the question of “what” potential customers are searching for, search intent answers the question of “why” they’re searching for it.
To increase your chances of ranking for specific keywords, analyze high-ranking pages and look at the intent they target. You’ll want to make sure that any content you create around keyword themes aligns with the type of content you see in search results.
Why? The very fact that those are the highest-ranking results for a given query indicates that time and time again, that’s the type of content matching search intent for those keywords.
A common framework for evaluating intent is the 4 Cs:
- Content-type: Do you see blog posts, product pages, landing pages, or product category pages?
- Content format: Are they lists, how-to guides, tutorials, opinion pieces, reviews?
- Content length: How long is the content that tops the search results? Remember, a searcher’s intent will dictate how much content they’re willing to consume. For example, someone looking to buy a bike doesn’t want to read a 7,000-word blog post about drive chains.
- Content angle: Is there a dominant theme that runs through the results? If you want to share a pancake recipe, are the top results for “fluffy pancakes” or “pancakes for beginners?”
15. Prioritize Keywords by Volume & Difficulty
Search volume is a metric that describes how many queries there are in a month for a given keyword. Keyword difficulty indicates how competitive it is to rank for a search term. Most of the time, high-volume keywords are very difficult to rank for. The higher the difficulty, the harder it is to outrank your competition.
High-volume keywords are also less focused on specific intent. When left to interpret the intent of search queries, Google will return a wider range of results to cover its bases, making it even harder for your content to rank. (Check out the recommended reading below to learn about long-tail keywords.)
Assessing keyword difficulty will help you decide if it’s worth the resources to try to rank for that term. While no keyword is impossible to rank for in the long term, some are so competitive that it’s nearly impossible to move the needle on them in the short-to-mid term.
If you can’t outrank large competitors for broad keywords, niching down with specific keywords can attract the people looking for exactly what you have. Long-tail keywords are a great way to attract searchers looking specifically for what you offer without having to compete directly against other businesses.
16. Build Keyword Groups
The research you’ve done up to this point should result in a list of keywords that can:
- Bring converting traffic to your site.
- Are specifically targeted to search intent.
- Offer a reasonable opportunity to appear on page one of search results.
Now, you’re going to create a semantically related group of keywords for each term on your list. Semantically related keywords are words or phrases that are conceptually related to each other.
For example, for a keyword like “increase conversion rate,” some semantically-related keywords might be:
- “Ecommerce conversion rate”
- “Digital marketing conversion rate”
- “How to improve the conversion rate on Shopify”
Why include related keywords on a single page of content? Because it will help Google make connections between the semantically related topics within your content and determine how relevant your information is to search queries.
A quick way to do some semantic keyword research is to use Google’s “related searches” function. Just type your seed keyword into the search bar and scroll down to the bottom of the search results page.
17. Integrate Keyword Groups
After you’ve created your list of keyword groups, the next step is to map them to existing content, wherever possible. Before you integrate keywords into your content, pause and ask yourself, “Will this content provide answers to people looking for [insert your keywords here]?” Don’t be tempted to toss keywords into irrelevant content just to show up in search results. Doing so will disappoint and frustrate searchers who’ve come to you for answers, and ultimately it won’t help you rank. Your goal is to enhance your content, so it clearly answers a particular search query.
One more caveat to consider as you integrate keywords into your content. When you target the same keyword and search intent across multiple pages, you’ll unintentionally create a situation where your pages will be competing against each other to rank. Not only does this confuse Google, but it dilutes the ranking power of all your pages. Instead, concentrate related keywords on specific pages with relevant content.
If you have keyword groups you want to rank for that don’t correspond to existing content, that’s a good indication of the new content you’ll need to create.
18. Repeat Keyword Research
Like most of the things on this checklist, keyword research is not a one-and-done SEO activity. Implementing your first list of keyword groups will take time. When that’s complete, you’ll want to go back to the top of this SEO checklist template and start the second round of keyword research — applying what you’ve learned from the performance of your first batch of keywords.
If you want to rank in Google, you need great content. All of your pages — not just blog posts — have to be optimized for search, and engage readers by providing helpful and unique information.
19. Create New Content Based on Your Keywords
During your keyword research, you created groups of related keywords that speak to searchers who need your product or service. After integrating what you can into existing content, it’s time to create new pages for the remaining keyword groups.
If you’re not sure where to start, I recommend looking at competitor content that ranks well.
- How long is it?
- What format is it in?
- Could you do it better?
Once you’ve written great content, go back and add the keywords from your research. Remember to keep it natural!
20. Update or Remove Outdated Content
When it comes to content, more is not necessarily better. If there’s content on your site that doesn’t rank or add value, you have two options: Improve it or prune it.
Without knowing exactly how Google makes domain evaluations, most strategists agree that it seems to measure the overall quality of pages on a site and average it to determine a “domain quality score.” My experience of one-hundred-percent supports this line of thinking. I’ve seen it time and time again — content pruning improves the general SEO health of a website.
Use metrics from your Google reporting tools to identify the pages on your site that aren’t performing well. Pull those URLs into a spreadsheet and start making some decisions about what you can fix and what needs to be redirected and retired. Set a timeline to revisit existing content that needs improvement, so it doesn’t linger, dragging down your domain score.
21. Boost Readability with Formatting
When people click on your page from SERPs, the first thing they’re going to do is skim to see if you’re offering the information they’re looking for. You have less than 10 seconds to convince them to stay and read what you have to say. If you don’t satisfy their curiosity, they’ll leave right away, signaling to Google that your content might not have been relevant to that query.
That being the case, it’s essential to make it easy for searchers to find what they need. Make your content skimmable by:
- Using clear, not cute headings.
- Breaking up long paragraphs of text.
- Providing bulleted and numbered lists.
- Including images that clarify concepts.
- Directing the eye with bolding and blockquotes.
22. Enrich Your Content
You’ve heard the saying, “a picture’s worth a thousand words.” There’s no place more fitting to use that age-old wisdom than on your web pages. Enriching your content makes it more valuable to your prospects and keeps them engaged with your message.
Consider using any or all of these media to create a richer user experience on your pages:
23. Keep Content Up-to-Date
What’s just as important as creating great content? Keeping it great. Make sure to add regular content updates to your workflow. By creating a cadence for reviewing and improving your content, you’ll keep it fresh, helpful, and ranking.
24. Write Evergreen Content
Without a doubt, you’ll want to create content for trending topics that are of interest to your customers. But keep a place in your content marketing strategy for content that keeps fresh.
Data from Ahrefs shows that the average age of content reaching the top ten in search results is two years old. That means it’s in your best interest to create evergreen content with a long enough shelf life to build the authority and organic links that can push the page up in search rankings.
On-page SEO includes everything from keyword integration and metadata optimization to how you organize and interlink your content. These often-overlooked steps will help Google recognize your high-quality, relevant content as such so it can rank for your targeted keywords.
25. Optimize Page Title Tags
Title tags tell search engines and searchers what a page is about. Compelling titles will help your pages rank for their primary keywords and make searchers want to click through from SERPs.
To use page titles to their best advantage, make sure:
- Every page has a title.
- Every title is unique.
- Titles include relevant keywords.
- Page titles are descriptive and accurate.
- Title length is between 50-60 characters to avoid being cut off (truncated) in search results.
- Titles are click-friendly! Make them stand out.
26. Fix Meta Descriptions
Meta descriptions show under your page title in Google search results. Besides having an accurate and enticing title, you want your meta description to summarize what searchers can expect to find on your page.
Although meta descriptions aren’t a direct ranking factor, providing a rundown of the information you’re providing will inspire searchers to click through to your content.
Things to keep in mind when fixing your meta descriptions:
- Include your primary keyword. Why? Because Google will bold the keyword in your meta description when it returns your page in search results. At a glance, searchers will know that your content is relevant to their query.
- Don’t skip it. Google search results aside, social networks pull in your meta description when someone shares a link to your content. If there’s nothing to show, people who see the share might miss the point. On the other hand, an enticing, descriptive meta description encourages click-throughs on social media, just like it does in search results.
- Add a call-to-action. Try ending your description with a directive that leaves no doubt what people should do next, like “shop today” or “get free shipping.”
- Watch the length. Google will truncate meta descriptions longer than 160 characters, so I recommend aiming for a happy medium between 110 and 145 characters.
27. Double-Check H1 Tags
The h1 tag identifies the main heading of your content. Distinct from the page title, which is displayed in search results, the h1 tag is shown only on the page itself.
Here’s what to you should do:
- Use one h1 per page. Having more than one h1 per page will send mixed signals about your main topic, likely impacting that page’s rankings.
- Add keywords to your h1s. There are a couple of reasons to do this.
- Scannability: H1s prominently featured on the top of each page provide the perfect signpost to readers that they’ve found what they were looking for.
- External linking: People will often link to your page using its title. Including your keyword in the h1 will increase the likelihood of receiving links with your target keyword in the anchor text.
28. Do a WDF*IDF Analysis
WDF*IDF is a formula that SEO strategists use to determine if a page’s content uses a meaningful range of relevant terms without neglecting the primary keyword or using the primary keyword too often.
Running a WDF*IDF analysis can provide insight into what semantically related keywords appear in competing content for that topic. Essentially, it gives you clues about which words you can add to your content to improve how Google evaluates its relevance to a given search query.
29. Optimize Images
Enriching your content with images but neglecting to optimize them for search is a missed opportunity to improve your on-site SEO.
File Names & Alt Tags
Alt tags are an HTML attribute applied to image tags to provide a text alternative for screen readers and search engines. Since search engines can’t “see” visual content, they try to decode it by reading file names and alt tags.
An added benefit of optimizing your images is the increased likelihood that they’ll rank in image searches — beneficial for product pages.
Make file names and alt tags accurately descriptive and include secondary keywords in both. Google doesn’t recognize underscores (_) so use dashes in filenames. Alt tags don’t require any special characters to delineate between words.
30. Improve Internal Linking
Internal linking is precisely what it sounds like — the practice of linking a page on one website to another internal page. Internal linking builds a better user experience by presenting additional relevant content that might be of interest. And, internal linking can bring new life to older content that might have gotten buried in your archives.
From an SEO standpoint, internal linking is an effective way to share link equity between pages on your site. Link equity is based on the idea that links can pass value and authority from one page to another.
On top of that, the anchor text you use for your internal links provides context for search engines (and people) to understand how the pieces of content relate to each other within the larger structure of your website.
Look for opportunities to link existing content from new pages, and whenever you publish something new, make an effort to add that link to older pages. The easiest way to do that is by searching on Google for site:yourdomain.com “topic” to generate a list of internal linking opportunities.
31. Find & Fix Keyword Cannibalization
Keyword cannibalization is when multiple pages on the same domain are competing for the same set of keywords or search intent. Even if individual pages seem distinct to you, Google might have difficulty differentiating them.
This is especially true for highly specialized websites, where there are subtle nuances between products or content that non-experts (or crawl bots) wouldn’t recognize as different. If Google sees two pages competing for the same group of keywords, it will split page authority between them, and neither one of them will end up ranking well.
The Google Search Console performance report will tell you what queries your site is earning clicks from. When you dig deeper into the “pages” tab, you’ll find a list of URLs ranking for a specific query. If there’s more than one page listed there, you might have a cannibalization issue.
How to Fix Cannibalization
Unfortunately, there’s no one-size-fits-all solution to cannibalization. You might need to combine similar pages, delete old content or change your angle on some pages to more clearly differentiate them from each other.
32. Create SEO-Friendly URLs
Your URL is the first thing Google sees about your page, and as such, it has the power to help or hinder your SEO efforts. An SEO-friendly URL helps search engines crawl your pages and figure out what they’re about.
SEO-friendly URLs should:
- Be descriptive and simple.
- Include a keyword to help with rankings and click-through rates.
- Use hyphens — not underscore — to separate words.
- Reflect the hierarchy of your content
When other sites link to your pages, they’re lending credence to the quality of your content, and some of their domain authority rubs off on you. While link-building is the most commonly acknowledged tactic in off-page SEO, there’s much more you can do to improve your position in search results from outside of your site.
33. Start with a Link Intersect Analysis
Conducting a link intersect analysis will reveal which sites link to your competitors but not to you — the easiest way to identify quick wins for your backlink profile.
Why? If a website is linking to your competition, chances are good they’ll link to you too. In the listed results, you’re likely to find a handful of resource pages or product roundups that represent the best place to start your backlink outreach.
34. Respond to HARO Queries
Help a Report Out (HARO) connects journalists and content creators with subject-matter experts who can act as a credible source for what they’re writing. When you respond to a pitch, you’ll gain exposure for your business and a backlink from the news source.
Sign up to receive their daily emails, and watch for opportunities to share your wisdom, earn a backlink, and boost your domain authority.
35. Reclaim Unlinked Mentions & Broken Backlinks
Link reclamation is about finding opportunities where your content is mentioned on someone else’s site without the correct link or with no link at all.
Start by making a list of your product names, services, and well-known company representatives — like your CEO. You might want to include professional associations you belong to and any organizations you sponsor or support (like Little League teams!) that might link to your website. Search for the terms on your list and check the results for links.
While various tools can help you find web mentions (like those listed below), and the process is slightly different for each, the basic idea is the same regardless of which you use.
Once you’ve identified missing or broken links, reach out and graciously supply the appropriate link. Most of the time, site owners are happy to make the update for you. The Slideshare linked to below even provides some email templates to use for your outreach efforts.
36. Set-up & Optimize Google My Business
Google My Business (GMB) is the platform that allows businesses to manage how their business profile appears in local search queries. Even if you don’t serve customers at your business address, having a GMB account is an effective way to build your authority with Google and generally improve your SEO.
Optimizing your Google My Business account will help customers find your business and shape their impressions of you through the information you choose to display in the Google Knowledge Panel — the information box appearing at the top-right of search results.
Technical SEO is the foundation of best practices that make it easier for search engines to find, crawl, and index your website.
Though mostly invisible to casual visitors, technical SEO can make or break your search rankings. Fortunately, it’s not difficult to instill healthy habits for technical hygiene and keep SEO issues at bay. Our tech SEO checklist can help.
37. Use HTTPS
Without getting too deep into the technical weeds, Hypertext Transfer Protocol Secure (HTTPS) is the secure version of the protocol over which data is sent between a browser and the website it’s connected to. HTTPS makes it possible to transmit sensitive data like credit card numbers securely.
Since security is a top priority for Google, they’ve made it a ranking factor. That means if you’re not using HTTPS for your website, it’s going to impact where your pages land in search results.
38. Check Your Core Web Vitals
Core Web Vitals are a set of metrics that Google uses to quantify user experience on your pages.
Core Web Vitals answer questions like:
- How fast does a page load?
- How quickly does the page become stable?
- How responsive are interactive elements on the page?
Optimizing for these factors improves user experience and, beginning in the Spring of 2021, they’re going to impact your search rankings. Run the Core Web Vitals report in Google Search Console to identify and fix any issues that come up.
39. Get Mobile-Friendly
Google rolled out mobile-first indexing in 2018. That means, when they crawl your site, they’re using the mobile version of the content for indexing and ranking.
If your site isn’t optimized for mobile devices, it’s not going to rank well in search results — simple as that.
Fortunately, it’s easy to test your site’s mobile-friendliness with Google’s Mobile-Friendly Test.
40. Find & Fix Crawl Errors
Crawl errors prevent Google from viewing your content. If Google can’t crawl pages of your site, they won’t rank — plain and simple.
It’s easy to find crawl errors in Google Search Console’s Coverage report.
Fix any errors you find in this report and continue to monitor in Search Console to fix new issues as they come up.
41. Check for Canonical Tags
While we’re on the subject of duplications, we should talk about canonical tags.
To be clear — we’re not talking about a duplicate version of your website, like in the section above. Here, we’re talking about duplicate content at the page level.
There are legitimate reasons to intentionally have pages with the same or very similar content to serve different searchers. For instance, you might want to send U.S.-based searchers and Canadian-based searchers to different pages where the only appreciable difference is the currency.
On the other hand, it’s common for content management systems to generate multiple URLs for the same page of content automatically. Whether or not those additional pages actually exist, search engines interpret each URL as a different page and would be confused by what it interprets as “duplicate” content.
A canonical tag is an HTML element that tells search engines which URL is the main version of a page — and should be presented in search results. In both of the above examples, you’ll want to use canonical tags to direct search engines to the one true source of that content.
42. Add Structured Data
Structured data, which is sometimes called schema markup, is a type of code that helps search engines understand your content better and enhances the way it appears in SERPs.
43. Check for Duplicate Versions of Your Site
If users can access the content at more than one variation of your URL — without being redirected — that means there are multiple versions of your website accessible to search engines.
Having multiple versions of your site live and visible to search engines could create duplicate content issues and split your link equity. If you find that’s the case, make it a priority to implement 301 redirects to point all variations to one primary format (the canonical URL).
44. Inspect URLs with Google Search Console
Google Search Console’s URL Inspection Tool will run a diagnosis on specific pages and report back issues you need to address.
While it’s not practical to use it for every page on your site, if organic traffic on a particular page has taken a nose-dive, it’s a great place to start troubleshooting the problem.
URL Inspection can catch errors related to:
- Structured data
45. Identify & Fix Broken Links
Google values a quality user experience, and if you have broken links on your website — signaling a poor user experience — it will negatively impact your position in SERPs.
Fortunately, it’s simple to identify broken links on your site and systematically fix them. Ahref has a helpful free link checker that will generate a list of broken links on your site and a list of broken links to your site from other places on the web.
Once you have your list, you can set about removing or updating the internal links that need your attention. Then, contact site owners with broken links to your site and provide the information they need to update them. (Twice the value with one free tool!)
46. Check Page Depth
Page depth refers to the number of clicks it takes to get to a specific page on your site from the homepage. Every page that someone can access directly from your homepage is one click deep. Pages that users can only access from those level one pages are two clicks deep, etc.
Google assigns sequentially less importance to pages the further away from the homepage they are. From an SEO perspective, anything beyond three clicks deep will have a tough time ranking. If Google assesses the “popularity” of a page based on the number (and quality) of the links going to it, you’re sending a clear signal to the search engine that the content isn’t valuable.
From a user-experience standpoint, if people have to work too hard to get to your deep content, they’re likely to give up and go somewhere else for what they need.
If those deep pages are strategically important to your business, flatten your site’s structure so they can see the light of day.
47. Find & Fix Orphaned Pages
Every page on your site should be linked to at least one other page. If you have orphaned pages — with no links between them and the rest of your site — there’s no way for Google to crawl them. Pages that search engines can’t crawl won’t be indexed — which means there’s no way they can appear in SERPs.
Not to mention that with no links, visitors to your site won’t find these pages either.
Improving your site for search is a long-term, ongoing process. I don’t think there’s any way to include everything you need to consider in one article, but I hope I’ve given you a solid foundation to start from. Even though it’s a lot, it is doable, and if you keep at it, you’ll reap compounding benefits from your investment in SEO services.