Learning
Training in web development. Motion, interaction, and the crossover with design.

Dorri's Dental is a single-location dental practice in Boynton Beach, Florida, with around 30 service pages plus a blog. I took over an inherited WordPress and Elementor site that was built with no SEO consideration, and spent six months (April–October 2026) fixing its technical foundation, then optimizing existing pages around real search data.
Audited the site with Screaming Frog and SEMrush, then resolved 154 flagged issues across structure, metadata, structured data, and links.
Rebuilt 17 service pages to replace CSS-background images with real image elements (WebP, alt text), and added missing H1s across 35 pages.
Fixed 90 invalid structured data items, most traced to one misconfigured template. Added a custom JSON-LD layer (FAQ + LocalBusiness), submitted the XML sitemap, and requested indexing for pages that had sat unindexed for one to two years.
Used Search Console query data to rebuild revenue pages and dormant posts around what people actually search, added FAQs, fixed broken embeds and missing featured images, and linked high-impression posts to service pages.
Search engines couldn't read the site's front end well: pages had no H1, images were CSS backgrounds with no alt text, structured data failed validation, and some service pages had gone unindexed for one to two years. Around 200 older blog posts sat dormant on page three or four, or didn't rank at all.
An SEO audit usually hands front-end problems to a developer. I diagnosed and fixed them in code in the same pass.
First I fixed the technical foundation (two to three months). Then, instead of publishing new posts, I revived existing pages, which already have age and history. For each page:
Used Search Console to find pages with real impressions that were stuck on page three or four.
Revenue-driving service pages first, plus the highest-potential posts from the roughly 200 dormant ones.
Analyzed the top queries people were already using to reach each page.
Added useful content and FAQ sections answering those exact questions, backed by more detailed FAQ and LocalBusiness JSON-LD.
In the same pass: broken embeds, missing featured images, meta titles, descriptions, and focus keywords. Then requested reindexing.
Linked high-impression posts to revenue-driving service pages, aiming for every page valid and clean in Search Console.
So far, about 6–7 blog posts and 2–3 service pages have been fully optimized this way. I'm not a content writer: I used Claude to help draft content additions, while the query analysis, structure, schema, and front-end fixes were my work.
Average search position improved from a typical 15–22 range onto page one, reaching a best of 9.4, the strongest in about 18 months of available data.
Most of the query-driven optimization landed in the last one to two months, and it coincides with the site's recent gains in average position, keyword rankings, and impressions. The timing is consistent with the work, but the same period also included the site's recovery from an outage in late July–August 2026, so I present this as a strong signal rather than the sole cause.
April 2026 → October 2026 · SEMrush organic estimates
| Position | April 2026 | October 2026 |
|---|---|---|
| Top 3 | 1 | 7 |
| 4–10 | 16 | 26 |
| 11–20 | 35 | 34 |
| 21–50 | 97 | 153 |
| 51–100 | 102 | 152 |
| Total ranking keywords | 257 | 377 |
Page-one keywords (top 10) nearly doubled, from 17 to 33. Total ranking keywords grew from 257 to 377, with the biggest gains in the 21–100 range.

Keyword growth was already trending upward before April, so these figures show what happened during the engagement, not growth from a flat start.
Single-location practice on a modest traffic base, measured with SEMrush and Search Console. This was a focused, part-time engagement on technical and on-page work, not content production. The site was offline for part of late July–August 2026. Results reflect the SEO and engineering work only; I had no visibility into ads or other marketing.