keeping it simple
Real Client Invoice Breakdown
This document offers a rare behind-the-scenes look at an actual invoice I sent to a client. A big thanks to Rabin for letting me showcase this. I ended up breaking down this invoice example into 16 sections.
You can view the entire invoice at the bottom of this post, but I’ve also included the text version below with details as to why I did what I did.
This document offers a rare behind-the-scenes look at an actual invoice I sent to a client. A big thanks to Rabin for letting me showcase this. I ended up breaking down this invoice example into 16 sections.
You can view the entire invoice at the bottom of this post, but I’ve also included the text version below with details as to why I did what I did.
1. It’s a good idea to noindex pages that don’t bring in leads. Other pages to consider adding noindex tag to include Terms of Service, Website Accessibility, and Privacy Policy.
- added noindex tag to /covid19 and /disclaimers
2. Instead of just saying I fixed 20 links, I mention here that they were false positives so the client knows that no edits were actually made.
- fixed 20 broken internal links (false positives)
3. These tasks were part of a URL consolidation campaign where the overall goal was to improve crawl budget by removing pages, posts, articles etc. that earn little to no traffic.
- created list of all city-specific URLs
- went through remaining ~240 pages to determine next steps for consolidation
- removed another ~30 under-performing URLs
4. Fewer plugins = fewer problems. If I find a plugin that is not being used, I’ll deactivate and remove it. But only after confirming it is not necessary by asking the client, or figuring it out on my own.
- deactivated/removed plugin Image optimization service by Optimole
5. Updating the PHP can improve website speeds up to 5x! Not all sites work on the newest PHP, however, so sometimes I’ll have to revert it back if anything breaks.
- tested updating PHP from 7.4 to 8.2 but no good due to many missing elements
6. I’m comfortable with modifying/optimizing many of the most popular plugins in WordPress.
- enabled Table of Contents to display open automatically
- optimized crawl settings via plugin Yoast SEO
7. These were added server-side within the .htaccess file. I’ll utilize a redirection plugin only if required but server-side is more reliable.
- created ~43 redirects
8. Knowing how to work with Google Search Console is crucial. Here I am telling Google that a large number of URLs should be removed from its search results.
- started validation request within GSC re: ~132k 404s
9. I even mention specific tools I work with on certain tasks. This helps with keeping data accurate in case another scan was done with a different tool.
- scanned site with Screaming Frog looking for schema to remove
10. Schema is such a valuable knowledgebase. Here I am creating and adding local business schema to city-specific landing pages in order to help imrove local rankings.
- created product/review schema for all 8 locations, then added to each landing page, also verified each URL via Google’s Schema Markup Validator
11. I pay attention to every aspect of your website; frontend and backend. While working on this site I learned that 1 plugin can control/break the entire site! It even brought back pages and other content I had removed previously. So here I am making sure the schema I added 3 days before was not removed by the plugin.
- confirmed product/review schema is still present on all 8 location pages
12. This site was compromised a few months prior with thousands of spam URLs being added to Google’s index. But Google is still crawling them, so I let the client know to pay attention to this. Notice the typo there? Oh well, at least it proves I’m human, not an AI-bot.
- troubleshooting how/why hacked URLs are still being crawled (bit still not indexed which is good)
13. Google Business Profiles are very important for local SEO. Here I am confirming details before updating all GBP properties.
- sent Rabin list of location details to ensure accuracy before updating GBPs
14. Keeping track of plugins installed is critical for website security. I also provide a link to the developer’s page so the client (and their internal team) knows what it does.
- installed plugin Change Text Case
15. Keeping track of account access is important for accountability.
- gained access to accounts for CallRail and Google Analytics
- request management permissions for GBPs Oakland, and San Francisco
- received access to GBPs for Oakland, San Francisco, and Redwood City (but this RC is a duplicate so will need to re-request access)
- request management permissions for GBPs San Jose, Sacramento, Pleasanton, Burlingame, and San Rafael
16. I built an online asset sheet for the client. This is just a Google doc with login credentials to all their online accounts. This simple action allows the client to know exactly what accounts they own and where. Agencies love these because it’s rare that a client has all their logins in one place!
- started online assets sheet