Payment protectionDetails
- Revisions within the package are free.
- If you do not respond within 3 days of delivery, the work is accepted automatically.
The money is reserved when you pay and released only once you accept the work.

Example result
SEO audit: website of a regional plumbing company
Summary
| Area | Score | Main issue |
|---|---|---|
| Indexing and crawling | Needs work | 38 blog tags pages indexed, thin content |
| Technical health | Fair | Mobile load time 4.8 s on service pages |
| On-page | Needs work | 11 of 18 service pages share near-identical titles |
| Local signals | Weak | Town pages are copies with the town name swapped |
| Content | Fair | Blog traffic is high, but posts do not link to services |
Findings (excerpt)
1. Duplicate and weak titles (high priority)
11 service pages use the pattern "Plumbing Services | Northgate". Searchers and search engines cannot tell "boiler repair" from "drain unblocking".
| Page | Current title | Suggested title |
|---|---|---|
| /boiler-repair | Plumbing Services, Northgate | Boiler Repair in [City], Same-Day Callout, Northgate |
| /blocked-drains | Plumbing Services, Northgate | Blocked Drains Cleared in [City] from £89, Northgate |
2. Town pages are near duplicates (high priority)
The 7 town pages are 94% identical text. Each needs at least 250 words unique to that town: areas covered, typical jobs there, travel time, a local customer review.
3. Slow service pages on mobile (medium)
Hero images average 1.9 MB. Compressing to WebP and setting width to 1,200 px would bring load time to about 2.5 s.
4. Blog does not pass value to services (medium)
The top 10 posts get 62% of organic visits, but only 2 of them link to a service page. "Why is my boiler losing pressure?" alone gets about 1,100 visits a month and links nowhere.
5. Tag pages indexed (low)
38 /tag/ pages with 1–3 posts each. Set them to noindex.
Prioritised action plan
| # | Action | Effort | Impact | Who |
|---|---|---|---|---|
| 1 | Rewrite titles and meta descriptions for 18 service pages | 1 day | High | Content |
| 2 | Write unique content for 7 town pages | 3–4 days | High | Content |
| 3 | Add service links to the top 10 blog posts | 2 hours | Medium | Content |
| 4 | Compress hero images | 2 hours | Medium | Developer |
| 5 | Noindex tag pages, update sitemap | 1 hour | Low | Developer |
Re-check: crawl again 6 weeks after items 1–3 are live and compare impressions for "[service] + [town]" queries.
Client: Northgate Plumbing & Heating, 11 engineers, serving one city and 6 nearby towns Site: 214 pages: home, 18 service pages, 7 town pages, 160 blog posts, contact and legal pages Goal: more calls from local searches such as "boiler repair [town]"
The client and all details are made up.
About this service
On a site with several language or country versions, hreflang can live in the sitemap instead of the page code, which is often easier on platforms where you cannot touch the head of each template. Each URL entry then lists all its alternates with xhtml:link, including itself and an x-default, and every version must point back to the others. We build those entries for your language versions, check that pairs are matched and that each URL is the canonical one, and flag pages that exist in one language only.
What is included
- What you getSitemap entries with xhtml:link alternates for your language versions, ready to add, a check of missing and mismatched pairs, and notes on how this fits with any hreflang already in your page code.
- Alternate entriesxhtml:link for every language version
- Return linksEvery version points back
- x-defaultWhere unmatched visitors should land
- GapsPages in one language only
How it works
- 1VersionsYou list languages and URL patterns
- 2EntriesWe build and match the alternates
- 3AddYou add the entries to the sitemap
What we need from you
A link to the site, the languages or countries you have with their URL pattern (folders, subdomains or domains), the list of page pairs or a way to match them, and whether hreflang is already in your page code.
We will ask you:
- Which languages or countries does the site have?
- How are versions organised in the URL?
- Is hreflang already in your page code?
Compare packages
| Packages | Basic2 languages$12 | StandardUp to 4 languages$25 | PremiumUp to 8 languages$45 |
|---|---|---|---|
| Deadline | 2 days | 3 days | 5 days |
| Revisions | 1 | 2 | 2 |
| Languages or regions | 2 | up to 4 | up to 8 |
| Page groups | up to 50 | up to 150 | up to 300 |
| Pair check | Yes | Yes | Yes |
| Order Basic | Order Standard | Order Premium |
Payment protection
You pay when you order, but the money is released only for accepted work.
- Fixed priceThe package price does not change after you pay.
- The money is reservedWhen you pay, the amount is only reserved. It is released to the service once you accept the work.
- Checked before deliveryEvery result goes through a quality check before it reaches you, and you see it on the order page before accepting it.
- Free revisionsAsk for changes within your brief as many times as the package allows.
- Acceptance after 3 daysIf within 3 days of delivery you neither accept the work nor ask for changes, it is accepted automatically. If you write in the order chat after delivery, the order waits; once we answer, we may start the 3 days again and will say so in the chat.
- Redo or a full refundIf the result does not match your brief and the revisions did not fix it, or the work takes more than twice its deadline, write in the order chat: we will redo the work or refund the payment in full.
Questions and answers
Can I have hreflang in both the sitemap and the pages?
It works, but both must say exactly the same thing. Usually one method is easier to keep correct, and we suggest which.
What if a page has no translation?
List only the versions that exist. The gaps list shows pages to translate or leave single-language.
Do you translate my pages?
No, this service builds the sitemap entries for versions you already have.