Roofing by JMJ is a family-owned roofing company in Knoxville, Tennessee that has been serving East Tennessee since 1986. They handle residential roofing, commercial roofing, and roof repairs. Their Google Business Profile is one of the cleaner ones I have looked at: one category, a fully filled-out profile, 101 reviews, and new reviews coming in every week. When someone in Knoxville searches for a roofer, Roofing by JMJ shows up, and not far down. But they are not in the top three yet, and the top three spots in the Google map pack take 60 to 70 percent of the clicks and calls. What is holding Roofing by JMJ Knoxville back is mostly the website: only three indexed pages, no address on the site, no proper local schema, and a mobile page speed with room to improve.
At Tae Results, I help local businesses show up higher on Google so their phone rings more often. In this audit, I looked at how Roofing by JMJ shows up on Google Search and Maps, reviewed their Google Business Profile, checked their website, page speed, and schema, and looked at their citations, to find where they are leaving money on the table.
Watch the full video audit above, then read the detailed breakdown below.
I always start by searching the business name. What I am looking for is whether a competitor with a similar name, a same-name business in another city, or a directory listing is crowding the first page. That is not the case here. Roofing by JMJ owns their brand search, which is a clean starting point.
Next, I searched their primary category, service, and location, the way someone in Knoxville looking for a roofer would. In a full audit I would run a grid search, which shows exactly where they rank across different parts of the city. For today, I just Googled it. The good news: Roofing by JMJ does show up, and they are not far down. There is a lot of room to move up, but they are not doing badly at all. The goal is the top three, because that is where most of the roofing calls go.
When I look at a Google Business Profile, I am checking whether it is fully fleshed out, meaning every one of the tedious questions Google asks has been answered. Roofing by JMJ has done that, which already puts them ahead of a lot of businesses.
Categories. They have one category, which is perfect. I always tell my clients to use one and three at most. More categories can actually have the reverse effect and dilute your ranking power. Roofing by JMJ has this right, just like Monster Tree Service of Knoxville, which had one category set exactly right. Compare that with the Rescue Roofing & Exteriors audit, where extra siding and window categories were diluting the main roofing signal.
Photos. With photos, I am looking for variety. Before-and-after shots are the best. You can also geotag photos to target the specific neighborhoods where you worked. A lot of SEO people debate how much geotagging actually helps, but I always say: why not put in the extra effort and do everything in your power to rank higher? Roofing by JMJ's photos look fine. Geotagging new uploads from each job is the next step.
Reviews. 101 reviews is competitive enough for a roofer in a midsize market like Knoxville. But I care more about velocity than the total: how often new reviews come in. Their most recent reviews were 36 minutes ago, three days ago, a week ago, and two weeks ago. That is healthy. It is not gospel, but for a local service business like this, I recommend two to three new reviews per week. They clearly have some kind of system in place. The next step is finding the jobs where they are not asking for a review yet and closing those gaps.
Services. I could not see their services list when I looked them up on Google Maps. Google lets you add up to 99 services. I recommend at least 30, with short descriptions on the top 20. Services are how you grab the long tail of searches: "roof leak repair," "storm damage roof replacement," "commercial flat roof repair," "roof inspection Knoxville." If the list is empty or thin, filling it out is one of the quickest wins on the profile.
When Google looks at a website, it cares about two things: what you do and where you do it.
Title tag. The homepage title tag is "Roofing by JMJ - Family owned Knoxville Roofer - 865-389-4258." It has the business name, the service, and the location. That is completely fine. They could reorder it to put the service and city first, something like "Knoxville Roofer | Roofing by JMJ | Family Owned Since 1986," but it works as it is for now.
Main headline. The main headline, "Your Knoxville Legacy: Roofing by JMJ," is good too. It has their location and their business name. One technical detail is worth fixing: that headline is coded as an H2, and I could not find an H1 anywhere on the homepage. The H1 is the tag Google reads first to understand what a page is about. Making the main headline the H1, and working "roofer" or "roofing company" into it, is a quick code change.
NAP consistency. NAP stands for name, address, and phone number. As your business builds its web across the internet (your website, Facebook, Nextdoor, directories), you want all of these to be spelled exactly the same and carry exactly the same information. That way Google can connect them, which raises your trustworthiness and authority, and lets Google link every SEO improvement back to your business. I did not see an address anywhere on the Roofing by JMJ website. The footer currently has only a copyright line. The easy fix is to put the exact business name, address, and phone number in the footer of every page, matching the Google Business Profile.
Embed the Google map. The website links to the Google Business Profile with an image, but there is no map. Embedding the Google Map of the business profile on the site makes it easier for Google to find you and connect the dots between the website and the profile. That is another easy win, and it is the same thing I recommended in the Archer Air Conditioning audit.
This is the biggest opportunity. When I ran a site search, Google had only three of their pages indexed. I explain indexed pages to my clients as content: each one is an opportunity to capture a search. Right now, if someone searches "how do I contact Roofing by JMJ," their contact page is right there to answer it. That is one search covered.
Now picture the same thing for every service and every area they serve. If someone searches for roof repair near their house in Knoxville and Roofing by JMJ has a dedicated roof repair page, that page can compete for the number one spot. More service pages and more area pages also build topical authority and relevance, which are two of the big things that influence Google rankings.
They already have a starting point: a Tellico Village roofer page, and an About page that lists Knoxville, Oak Ridge, Farragut, Loudon, Riceville, Athens, Sweetwater, Etowah, and Cleveland. Each of those towns could have its own page. The three services on the homepage (residential roofing, commercial roofing, and roof repairs) should each have their own page, along with storm damage repair and roof inspections. I recommend at least 30 indexed pages as a minimum. Going from three to 30 is where Roofing by JMJ Knoxville would see the biggest jump. For comparison, Rescue Roofing & Exteriors, which ranked fifth for roofing in Knoxville, already has more than 30 indexed pages.
Page speed. Page speed is one of the things Google has said in its own documentation directly affects rankings. I look for a score of 75 or higher, especially on mobile. If you check Google Search Console, you will find that most people search for your service on their phones. Roofing by JMJ scored 70 on mobile. That is decent, but there is room to improve. Desktop is completely fine. Improving mobile is mostly technical work: finding what in the code is causing the delay and speeding it up. For reference, Mighty Dog Roofing of Knoxville scored 78 on mobile.
SSL. The site loads on HTTPS, which is the baseline. Most hosts and website builders handle this automatically now.
Local schema. Local schema is your business information packaged in the format Google likes. It influences rankings, and it is an easy one. When I ran the site through a schema markup validator, it did not have proper local schema. If I were working with Roofing by JMJ, this is one of the first things I would set up.
Another ranking factor is how often your business is mentioned by other real businesses. In a full audit, I use software to check every directory a business is listed in. The simple version: when your business information appears on high-authority sites like Yelp, MapQuest, Facebook, and Angi, that wider web of mentions raises your authority and Google's trust in your business. You want to be listed in the directories, with the correct name, address, and phone number on every one.
Roofing by JMJ is already listed on several of these, including MapQuest, Angi, HomeAdvisor, and Birdeye, and they are BBB accredited with an A+ rating. One thing worth checking: the phone number on their MapQuest listing (865-643-8259) is not the same as the number on their website (865-389-4258). If one is a tracking line, the main number should still be the same everywhere Google looks. Cleaning up those listings and adding more is another low-hanging fruit the owner can tackle.
Their Google Business Profile is in great shape. It has one category, every question answered, 101 reviews, and steady review velocity, with new ones coming in every week. Their brand search is clean. They show up for roofing searches in Knoxville. Their title tag and main headline both include the location and business name, the site runs on HTTPS, and desktop speed is fine. They also have something most competitors cannot copy: a family-owned business serving East Tennessee since 1986, a CertainTeed SELECT ShingleMaster credential, and an A+ BBB rating. The profile is already strong. The website just needs to catch up to it.
1. Build out indexed pages. Go from three to at least 30, with dedicated pages for each service (residential roofing, commercial roofing, roof repair, storm damage, inspections) and each area they serve (Oak Ridge, Farragut, Maryville, Loudon, Athens, Cleveland, and more).
2. Add proper local schema. Package the business name, address, phone, hours, and service area in local business schema. It is a quick technical win.
3. Put the NAP in the footer and embed the map. Add the exact name, address, and phone number from the Google Business Profile to every page footer, and embed the Google Map of the profile on the site.
4. Fill out the GBP services. Add at least 30 services, with short descriptions on the top 20, to capture long-tail searches.
5. Speed up mobile. Get the mobile PageSpeed score from 70 to 75 or higher.
Bonus: Make the homepage's main headline an actual H1, consider reordering the title tag to lead with "Knoxville Roofer," keep posting geotagged before-and-after photos, keep pushing review velocity toward two to three a week, and make the phone number match on every directory listing.
If you are Scott, or anyone on the Roofing by JMJ team, and you want to take this further, contact me directly or see how I can help. You can email, text, or call, whichever is easiest, and I am happy to answer any questions about this audit. Your Google profile is already doing the hard part. The website fixes that close the gap are specific and straightforward.
See more Knoxville roofing audits: Rescue Roofing & Exteriors · Mighty Dog Roofing of Knoxville · Wolf's Roofing Flooring and Home Repairs
Related reading: Why is my business not showing up on Google? · How to rank in the Google Maps top 3
See exactly how you show up on Google — and what to fix.
Get Your Free Audit