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
JobPosting markup is what puts the vacancies on your own careers page into Google's job search, with title, location, salary and how to apply, and it has firm rules: a full description on the page, a valid through date, remote jobs marked with the countries they are open to, and filled roles removed promptly. Small employers often skip it and lose candidates to job boards that do it. We write the markup for each of your vacancies from the job texts you paste, and a template for future roles.
What is included
- What you getJobPosting JSON-LD for each vacancy with title, description, employment type, location or remote eligibility, salary, dates and hiring organisation, plus a reusable template and rules for closing filled roles.
- Required fieldsTitle, description, date, organisation, place
- Remote rulesCountries a remote role is open to
- SalaryFixed or range, with period and currency
- Closing rolesHow to remove filled jobs
- Reusable templateFor your next vacancies
How it works
- 1VacanciesYou paste the job ads
- 2MarkupWe write JobPosting per role
- 3PublishYou add it to each job page
What we need from you
Your job ads pasted as text with location or remote terms, salary or range, employment type and closing date, your company details and, optionally, a link to the careers page.
We will ask you:
- Paste the job ads to mark up
- Are any roles remote or hybrid, and from which countries can people apply?
- Does each vacancy have its own page on your site?
Compare packages
| Packages | BasicUp to 3 vacancies$10 | StandardUp to 10 vacancies$20 | PremiumUp to 25 vacancies$39 |
|---|---|---|---|
| Deadline | 1 day | 2 days | 4 days |
| Revisions | 1 | 2 | 2 |
| Vacancies | up to 3 | up to 10 | up to 25 |
| Reusable template | Yes | Yes | Yes |
| Closing rules | 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
Do I have to show the salary?
It is recommended, and some places now require pay ranges in job ads. Jobs with salary often get more attention in job search.
All my jobs are on one page. Will that work?
Google expects one page per job. We explain how to split them, which most careers plugins and builders support.
Do you post my jobs on job boards?
No. This is markup for vacancies on your own site.