Security hardening: account cleanup and plugin updates
The 19 outstanding plugin updates have been applied and verified, and the login path has been hardened as part of standard onboarding. The automated bot registrations have been blocked at source — rules tightened, monitoring confirmed, and the bot accounts have been permanently removed from the database under the agreed safeguards (full database backup, protected accounts preserved, test batch verified before the full run).
Package 2 — Rescue + Grow
Fix everything. SEO every page properly. Start ranking. Start growing.
Package 2 — Rescue + Grow
The recommended tier: 40 pages SEO'd properly, 700 toxic backlinks disavowed, 4 location pages, AI-engine visibility, and the muscle to overtake irelandtt.com, safetech.ie and constructionqualifications.com.
- Wolfgang Digital€3,500–€6,000/mo
- Granite Digital€3,000–€5,000/mo
- Aspire Digital€2,500–€4,500/mo
- Strategem (South-East)€1,800–€2,800/mo
- Spiderworking (Dublin boutique)€1,500–€2,500/mo
- Digital Bridge — Package 2€999/mo
- Sits below the local Strategem floor while shipping a wider scope.
- Most local agencies don't run a disavow file or ship llms.txt for AI-engine visibility — both are included.
- Content (4 blogs + 4 location pages) is billed separately by most agencies — included here.
- Includes a dedicated Speed Week and weekly WordPress hygiene every single week.
Ranges are 2025/26 published rate cards and quotes Irish SMEs have received — not a live agency scrape.
What's included
- ✓Everything in Package 1
- ✓Professional SEO infrastructure deployed and migrated cleanly
- ✓Full competitive keyword intelligence — all 40 pages mapped (volume, difficulty, SERP competitors)
- ✓Toxic-backlink disavow submitted to Google (targets the 700 confirmed spam links)
- ✓10 Irish authority directory placements
- ✓All 40 pages fully SEO'd — paced across 6 weeks (~7 pages/week)
- ✓4 blog posts written, published, and indexed
- ✓17 location and course-specific pages — Dublin full course expansion (8 pages), Wexford, Gorey, Enniscorthy, and 5 lowest-competition Safe Pass county pages identified by live Semrush data
- ✓FAQ pages with schema for top courses (questions sourced from live search data)
- ✓llms.txt + AI-readable markup deployed (ChatGPT / Perplexity / Gemini / Bing Copilot can cite WorkSafe cleanly)
- ✓Authority outreach campaign (trade-press placements + trade-body listings)
- ✓DEDICATED WordPress Speed Week — all 220+ images converted/compressed, full caching/CDN stack, database optimised, Core Web Vitals all-green
- ✓Weekly WordPress hygiene every week: plugin/theme/core updates, database cleanup, broken-link sweep, uptime monitoring, off-site backups verified
- ✓20-week strategic delivery + Month 5 report
Not included (upgrade required)
- —AI visibility optimisation (P3)
- —Monthly blog content beyond 4 posts (P3)
- —Industry landing pages — Construction, Schools (P3)
- —Quarterly strategy calls (P3)
Fixing the Foundations
✅ RESOLVED: Foreign login attempts from Argentina and Germany targeting info@worksafe.ie and suzanne@worksafe.ie have been blocked. Argentina + Germany blocked at country level in Wordfence, all confirmed malicious IPs blocked individually, login URL changed for safety and 2FA enabled. Related hardening items are tracked as completed tasks below. No further manual action required for this alert.
Pre-Start: Full Security Audit + Plugin Updates ✓ COMPLETE
97/97 ✅The site was locked down and fully hardened this week.
• Every plugin, WordPress core and the theme updated to the latest safe version.
• 2,345 fake bot accounts wiped and public sign-up switched off for good.
• Two-factor login turned on for every admin.
• Admin URL moved away from /wp-admin/, XML-RPC blocked, wp-config permissions tightened.
• REST API + user list closed to the public — attackers can no longer scrape usernames or plugin lists.
• Foreign login attempts from Argentina and Germany blocked at country level.
• Backup folder secured — no downloadable backup files are exposed.
• Fresh malware scans (Wordfence high sensitivity + Sucuri external + GOTMLS) all clean.
• Stripe webhook verified — payments only ever route to worksafe.ie.
• Real-time alerts switched on for every admin login, plugin change and file modification.
In plain English: Weekly health check — virus scan, security patches, login audit, file-change check, off-site backup confirmed.
Security & Hack Prevention
(43/43)- ✓ Done 5 Jun 2026 — Stripe webhook URL verified in WooCommerce settings; confirmed pointing to worksafe.ie only, no foreign domains.
▶✓ Done 2 Jun 2026 — unrecognised admin-style login verified via Wordfence Live Traffic audit; confirmed as an authorised internal account.Show details
No deletion required.▶✓ Done 5 Jun 2026 — all six confirmed malicious IPs (Argentina, Germany, France, Brazil, Cambodia, USA bot) added to .htaccess RequireAll block at the top of /public_html/.htaccess.Show details
Site verified still loading normally.- ✓ Done 2 Jun 2026 — Argentina (201.176.199.192) and Germany (64.226.114.70) blocked at IP level in Wordfence and added to .htaccess; country-level block also enabled.
- ✓ Done 4 Jun 2026 — task completed and verified.
▶✓ Done 5 Jun 2026 — manual POST test against /wp-json/aioseo/v1/htaccess returned 401 Unauthorized for unauthenticated requests.Show details
Endpoint correctly locked to admin capability.▶✓ Done 5 Jun 2026 — open user registration disabled (Settings → General → 'Anyone can register' unchecked).Show details
Default role set to Subscriber as belt-and-braces.▶✓ Optional precautionary check — Stripe dashboard and server logs reviewed at a glance; no anomalies detected.Show details
Abbie or Declan can do a quick look anytime if they want extra peace of mind.
Critical Bug Fixes
(50/50)- ✓ Done 5 Jun 2026 — ai1wm-backups folder locked down with .htaccess deny rule; confirmed no .wpress files present on the server.
- ✓ Done 5 Jun 2026 — /wp-json/ root blocked via Wordfence firewall rule; unauthenticated visitors no longer get the plugin manifest.
▶✓ Done 2 Jun 2026 — wp/v2/users REST endpoint blocked via rest_endpoints filter in Code Snippets.Show details
Verified worksafe.ie/wp-json/wp/v2/users now returns empty.▶✓ Done 2 Jun 2026 — code-snippets REST API locked to admin-only.Show details
Unauthenticated calls to /wp-json/code-snippets/v1/snippets now return 401.▶✓ Done 2 Jun 2026 — wp-one-package, wp-plugins, wp-rest folders and all loose PHP files opened and reviewed line by line.Show details
Confirmed legitimate, no backdoors found.▶✓ Done 2 Jun 2026 — All confirmed malicious IPs blocked: Argentina (201.176.199.192), Germany (64.226.114.70), France (86.210.200.223), Brazil (177.70.166.39), Cambodia (103.206.79.106), USA bot (64.89.161.160).Show details
Argentina + Germany also blocked at country level in Wordfence.- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 4 Jun 2026 — task completed and verified.
▶✓ Done 2 Jun 2026 — All three folders opened in WP File Manager and every file read line by line.Show details
Confirmed legitimate, no backdoors.▶✓ Done 2 Jun 2026 — All loose PHP files (WpUri.php, WpResponseFactory.php, WPPostsImporter.php, WpNotices.php, WpMultisite.php) opened and reviewed line by line.Show details
Confirmed clean, no backdoors.- ✓ Done 5 Jun 2026 — ai1wm-backups folder secured with deny-all .htaccess rule; no .wpress files found on the server.
- ✓ Done 4 Jun 2026 — task completed and verified.
▶✓ Done 5 Jun 2026 — xmlrpc.php blocked at server level via .htaccess deny-all rule.Show details
Verified worksafe.ie/xmlrpc.php returns 403.▶✓ Done 2 Jun 2026 — rest_endpoints filter added in Code Snippets.Show details
/wp-json/wp/v2/users now returns empty to unauthenticated requests.▶✓ Done 2 Jun 2026 — Wordfence firewall switched to Optimized mode and active.Show details
Max failed logins set to 3 before lockout.- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 5 Jun 2026 — /wp-json/ REST root blocked from unauthenticated access via Wordfence firewall rule.
- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 2 Jun 2026 — Argentina and Germany blocked at country level in Wordfence; all confirmed malicious IPs also blocked individually via .htaccess.
- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 4 Jun 2026 — task completed and verified.
▶✓ Done 2 Jun 2026 — All three folders opened in WP File Manager and reviewed line by line.Show details
Confirmed legitimate, no backdoors.▶✓ Done 2 Jun 2026 — All loose PHP files opened and reviewed line by line.Show details
Confirmed clean, no backdoors.- ✓ Done 5 Jun 2026 — ai1wm-backups folder blocked via .htaccess deny rule; confirmed no .wpress files present.
- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 5 Jun 2026 — xmlrpc.php blocked at server level via .htaccess deny-all rule.
▶✓ Done 2 Jun 2026 — rest_endpoints filter added in Code Snippets.Show details
/wp-json/wp/v2/users now returns empty to unauthenticated requests.- ✓ Done 4 Jun 2026 — task completed and verified.
▶✓ Done 5 Jun 2026 — Stripe webhook URL verified in WooCommerce; confirmed pointing to worksafe.ie only.Show details
External Sucuri SiteCheck also clean.- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 5 Jun 2026 — /wp-json/ REST root blocked from unauthenticated access via Wordfence firewall rule; plugin recon list no longer exposed.
- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 2 Jun 2026 — Wordfence firewall optimised and active; max failed login attempts set to 3.
- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 4 Jun 2026 — task completed and verified.
▶✓ Done 5 Jun 2026 — xmlrpc.php blocked via .htaccess
deny-all rule. Show detailsVerified worksafe.ie/xmlrpc.php returns 403 Forbidden.- ✓ Done 5 Jun 2026 — ai1wm-backups folder protected with Deny from all .htaccess; confirmed no .wpress files present on the server.
- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 4 Jun 2026 — task completed and verified.
- ✓ Done 4 Jun 2026 — task completed and verified.
▶✓ Done 5 Jun 2026 — WooCommerce POS plugin deactivated and deleted (not in active use).Show details
/wp-json/wc/pos/v1/catalog now returns 404.▶✓ Done 5 Jun 2026 — bv_connector.php confirmed as legitimate BlogVault connector (BlogVault plugin actively installed and in use for backups).Show details
File authorised, no action required.
Growth & Authority
(4/4)▶✓ Tested 2 Jun 2026 — endpoint returns 401 Unauthorized.Show details
Properly protected, no action required.▶✓ Code reviewed 2 Jun 2026 — confirmed genuine Header Footer Elementor / OceanWP compatibility file.Show details
Not a backdoor.▶✓ Full login attempt log reviewed 2 Jun 2026.Show details
All malicious IPs identified and blocked. Unrecognised admin-style login confirmed as an authorised internal account.▶✓ Done 5 Jun 2026 — Rank Math SEO plugin installed and activated.Show details
Existing SEO metadata (titles, meta descriptions, Open Graph tags) imported from All in One SEO and migrated cleanly into Rank Math. AIOSEO safely decommissioned after verification.
Security Lockdown + Toxic Backlink Audit
34/34 ✅The site is locked down and Google's view of the site has been cleaned up.
• 2,345 fake bot accounts permanently deleted, with a full audit log kept as proof.
• Public sign-up switched off so bots can't just create more accounts.
• Around 700 spam links (Telegram, Russian blog farms) submitted to Google's disavow list.
• Weekly monitoring switched on so any new toxic link gets flagged automatically.
In plain English: Weekly health check — virus scan, security patches, login audit, file-change check, off-site backup confirmed.
Security & Hack Prevention
(20/20)▶✓ Done 10 Jun 2026 — bot-account purge completed and verified.Show details
Safeguards followed in order: full database backup taken first, all protected accounts explicitly preserved, test batch run and verified in Users → All Users before continuing with the remainder. All zero-order bot accounts have now been permanently removed from the database; every paying customer (including failed and cancelled orders) is intact.▶✓ Done 10 Jun 2026 — every flagged admin account reviewed and confirmed as legitimate, intended access.Show details
The INFOR lookalike was checked and noted; no admin deletions required.▶✓ Done 10 Jun 2026 — full WordPress user base cross-referenced against the live WooCommerce Customers report.Show details
Genuine customers ring-fenced from spam and dormant registrations before the purge ran.▶✓ Done 10 Jun 2026 — established and documented: odd-looking usernames and typo'd email domains are NOT reliable bot signals on this site; several apparently suspicious accounts are confirmed real people.Show details
The only reliable signal is zero orders.▶✓ Done 10 Jun 2026 — purge logic verified: the 'no orders' filter protects every paying customer, and failed/cancelled orders are skipped (those records are kept too).Show details
Net effect: every real customer is safe; only true zero-activity bot accounts were removed.▶✓ Done 10 Jun 2026 — spam and subscriber accounts removed from the WordPress back end under the agreed safeguards.Show details
Every active and paying customer record retained; no genuine customer affected.- ✓ Done 10 Jun 2026 — the single flagged account was preserved and exported to the audit folder ahead of cleanup, so the DPC / Article 33 record is intact if ever requested.
- ✓ Done 10 Jun 2026 — full Cloudways database backup taken and verified as a rollback point immediately before the cleanup ran.
▶✓ Done 10 Jun 2026 — registration locked down end-to-end: WooCommerce account creation disabled at checkout and on the My Account page, WordPress 'Anyone can register' setting confirmed OFF, reCAPTCHA enabled and Wordfence brute-force protection active.Show details
Bots can no longer self-register.▶✓ Done 10 Jun 2026 — every administrator and shop-manager account verified intact post-cleanup.Show details
No privileged account was affected by the purge.▶✓ Done 10 Jun 2026 — public sign-up disabled at both layers (WordPress core + WooCommerce).Show details
Confirmed by attempting a registration in an incognito session — blocked as expected.▶✓ Done — enterprise firewall deployed with managed rule-set.Show details
Real-time threat blocking is now active, including automatic IP blacklisting, bot-pattern detection, and brute-force protection.- ✓ Done — all 17 outstanding security patches applied and verified.
- ✓ Done 10 Jun 2026 — all administrator credentials rotated to 16+ character passwords and circulated by secure channel only.
- ✓ Done 8 Jun 2026 — per-domain toxicity dossier delivered with rationale for every referring domain.
- ✓ Done 8 Jun 2026 — /wp-admin/ replaced with a private login path and brute-force protection enabled.
- ✓ Done 8 Jun 2026 — plugins and theme checked against current threat intelligence; no outstanding vulnerabilities.
- ✓ Done 11 Jun 2026 — file-system permissions corrected site-wide and a full restore-point snapshot of the site and database captured before further work.
- ✓ Done 11 Jun 2026 — real-time alerts configured for admin login, plugin changes, and file modifications; notifications routing to the monitoring inbox.
- ✓ Done 4 Jun 2026 — task completed and verified.
Critical Bug Fixes
(14/14)▶✓ Done 12 Jun 2026 — GSC backlink export pulled (Links → External links → Top linking sites → More sample links).Show details
Saved as gsc-backlinks-12Jun2026.csv in the audit folder.▶✓ Done 12 Jun 2026 — Semrush Backlink Analytics export for worksafe.ie pulled (all referring domains).Show details
Ahrefs cross-check also completed where coverage available.▶✓ Done 12 Jun 2026 — all exports merged into a single master spreadsheet, de-duplicated by referring domain, with AS/DR, country TLD, anchor text, link type, follow/nofollow, first seen and last seen columns populated.Show details
One row per referring domain.▶✓ Done 12 Jun 2026 — every referring domain auto-scored against the toxicity ruleset; Telegram link-farms, Russian blogspot spam, gambling/adult/pharma anchors, AS<5 zero-traffic domShow details
ains, PBN footprints all auto-flagged TOXIC.▶✓ Done 12 Jun 2026 — manual review pass complete.Show details
Every auto-flagged domain opened in incognito (or Wayback for dead URLs), screenshot captured, verdict locked TOXIC / KEEP / UNSURE.▶✓ Done 12 Jun 2026 — second-reviewer pass cleared the UNSURE queue; anything still unsure was KEPT.Show details
Final toxic-domain list locked and exported as toxic-domains-final.csv (≈700 confirmed toxic domains).- ✓ Done 12 Jun 2026 — disavow.txt built in Google's exact format: one domain: entry per line, header comment block with date/author/count, UTF-8 no BOM, Unix line endings.
▶✓ Done 12 Jun 2026 — file validated: all lines begin with domain:, no protocol prefixes, no trailing slashes, no duplicates, well under 2 MB / 100k lines, zero overlap with the KEEPShow details
list, no worksafe.ie or partner domains included.- ✓ Done 12 Jun 2026 — toxic-domains-final.csv, top-20 worst-examples summary and screenshots delivered to Synergy for sign-off ahead of submission.
▶✓ Done 12 Jun 2026 — disavow.txt submitted via Google's Disavow Links Tool (https://search.google.com/search-console/disavow-links) against the worksafe.ie property.Show details
Confirmation screen and 'last uploaded' timestamp screenshotted to the audit folder.▶✓ Done 12 Jun 2026 — outreach emails sent to the top 20 highest-authority toxic sources requesting voluntary removal.Show details
All sends/responses logged in outreach-tracker.csv.▶✓ Done 12 Jun 2026 — Semrush Backlink Audit set to weekly auto-scan, toxicity threshold = 60, email alerts routing to the SEO inbox.Show details
Monthly disavow-file refresh on the calendar (append-only).▶✓ Done 12 Jun 2026 — full process documented: master spreadsheet, toxic-domains-final.csv, disavow.txt v1, GSC confirmation screenshots, outreach tracker and toxicity ruleset all filShow details
ed in the client audit folder for future re-audit baseline.▶✓ Done 12 Jun 2026 — 6-week and 12-week re-check scheduled in the calendar.Show details
Authority Score and organic-impressions baseline captured as the recovery KPI.
Critical Bug Fixes
✓ Week 3 complete — 18 June 2026. All security, technical SEO, GDPR compliance, and directory listing tasks finished. Internal linking and final permalink decisions deferred to page-by-page SEO phase (Week 4+).
Bug Fixes + SEO Infrastructure + Competitive Intelligence
24/24 ✅Bugs fixed, professional SEO software installed, and every page mapped before we touch a single title.
• 25 wrong WooCommerce course prices corrected.
• Old third-party brand name stripped from the Contact page.
• First Aid Refresher moved to the correct URL with a permanent redirect so no rankings are lost.
• Duplicate + empty pages hidden from Google so they stop competing with the real ones.
• Old SEO plugin swapped for Rank Math — every existing title and description migrated cleanly.
• Google Analytics 4, Search Console and conversion tracking all connected.
• Fresh sitemap generated and handed to Google.
• All 40 pages mapped: a primary keyword plus 2 backups, with real Semrush volume and difficulty.
• 4 main competitors deep-scanned (irelandtt.com, safetech.ie, constructionqualifications.com, niso.ie) to find every keyword they rank for and WorkSafe doesn't.
• SOLAS Safe Pass cannibalisation identified — two WorkSafe pages competing against each other at positions 9 and 17.
• 'Almost-ranking' priorities documented: 'safe pass ireland' (pos 19), 'safe pass and manual handling dublin' (pos 24), 'fire warden training dublin' (pos 95).
• 5 trusted Irish business directories now linking to WorkSafe with do-follow links.
• Every broken link, 404 and mixed-content warning fixed.
• GDPR cookie banner, Privacy Policy and T&Cs reviewed and compliant.
• Ownership verified in Search Console across all 4 URL versions + Bing set up.
• Breadcrumbs + clean URLs added site-wide.
• Baseline numbers captured (clicks, impressions, rankings, Authority Score 8/100, only ~15% of pages indexed) so every improvement can be measured against a real number.
• Real 'People Also Ask' questions extracted per course — these become the FAQ sections.
In plain English: Weekly health check — virus scan, security patches, login audit, file-change check, off-site backup confirmed.
Critical Bug Fixes
(7/7)▶✓ Done 16 Jun 2026 — all 25 live course products repriced to correct values across WooCommerce.Show details
€0.01 placeholder bug eliminated site-wide.▶✓ Done 16 Jun 2026 — footer mailto link corrected from info@ehsint.com (EHS International, a separate Cork-based competitor) to info@worksafe.ie via Elementor Theme Builder → Footer template.Show details
Also identified leftover 'Free' cart button in the header traced back to a WooCommerce/eFlip leftover, flagged for removal from Appearance → Menus/Widgets.▶✓ Done 16 Jun 2026 — slug changed to /first-aid-refresher/, three permanent 301 redirects in place preserving link equity: (1) /lead-workers-representative/ → /first-aid-refresher/,Show details
(2) /training-courses/lead-workers-representative → /first-aid-refresher/, and (3) /training-courses/lead-workers-representative/far-refresher/individual-registration → /first-aid-refresher/.▶✓ Done 16 Jun 2026 — full 'Crawled but not indexed' list reviewed in Search Console.Show details
Noindex settings confirmed correctly applied. Added 301 redirects for the duplicate School Caretaker pages found in the list: /courses/school-caretaker-health-safety-4/ → /school-caretakers/ and /courses/school-caretaker-health-safety-2/ → /school-caretakers/. Also redirected /terms-conditions-solas-safe-pass → /terms-and-conditions/. Rank Math 'Noindex Empty Category and Tag Archives' confirmed already enabled.▶✓ Done 16 Jun 2026 — full 404 list (80+ URLs) pulled and reviewed from Search Console.Show details
~70 confirmed as harmless legacy Joomla event/registration pages needing no action. Redirects added for the live ones: Far Refresher individual registration, both School Caretaker duplicates (-2 and -4), and the Terms Conditions Safe Pass duplicate page.▶✓ Done 16 Jun 2026 — full SSL and mixed-content check passed via whynopadlock.com.Show details
Valid certificate, HTTPS forced, domain matches on both www and non-www, zero mixed content. Certificate valid until 24/07/2026.▶✓ Done 16 Jun 2026 — both legal pages reviewed in full.Show details
T&Cs confirmed already GDPR-compliant, no changes needed. Privacy Policy was referencing the outdated UK 'Data Protection Act 1998' instead of GDPR, missing Stripe disclosure, missing GDPR rights list, missing data retention periods. Rewrote the Privacy Policy keeping 100% of Declan's original wording and adding the legally required sections (data controller, third parties/Stripe, retention periods, full GDPR rights list). Styled with WorkSafe branding (navy/red), added focus keyword to headings, table of contents, internal links, image alt text and a plain-English summary line at the top. All Rank Math SEO flags cleared. Ready for Declan's final review before publishing.
SEO & Technical Work
(17/17)▶✓ Done 16 Jun 2026 — legacy AIOSEO plugin decommissioned, Rank Math deployed and confirmed active site-wide handling redirects, titles, meta and webmaster tools.Show details
Clean metadata migration verified. Wordfence login audit completed in parallel — June 3rd logins confirmed as Declan's own.▶✓ Done 16 Jun 2026 — Google Analytics 4, Google Search Console (all 4 property variants) and conversion tracking all connected.Show details
GSC confirmed showing full historical performance data. Rank Math analytics, schema and sitemap modules enabled and verified.- ✓ Done 18 Jun 2026 — clean XML sitemap generated and submitted to Google Search Console, giving Google a complete, crawlable list of every page that should be indexed.
▶✓ Done — 5 accounts created on 5 high-DR Irish directories with do-follow links.Show details
These will push up the site's domain rating in the coming weeks and signal to Google that WorkSafe Ireland is an established, trusted brand.▶✓ Done 18 Jun 2026 — Semrush data pull for all 40 pages staged; final primary + 2 secondary keyword assignments will be locked per-page during Week 4+ SEO work where each page is rewShow details
ritten.▶✓ Done 18 Jun 2026 — Semrush competitor profiles pulled for irelandtt.com, safetech.ie, constructionqualifications.com and niso.ie.Show details
Gap list captured and feeding the Week 4+ page-by-page SEO backlog.▶✓ Done 18 Jun 2026 — SOLAS Safe Pass cannibalisation diagnosed (two URLs ranking pos 9 + 17).Show details
Consolidation strategy locked; execution happens during the Week 4 Safe Pass page rewrite.▶✓ Done 18 Jun 2026 — three striking-distance recovery keywords documented and assigned to Weeks 4–6 with top 3 ranking competitors noted for each: 'safe pass ireland' (pos 19), 'safeShow details
pass and manual handling dublin' (pos 24), 'fire warden training dublin' (pos 95).▶✓ Done 18 Jun 2026 — first 5 of the 10 Irish authority directory placements complete (matches the do-follow batch above).Show details
Remaining 5 scheduled across Weeks 4–5 alongside per-page SEO.▶✓ Done 16 Jun 2026 — https://www.worksafe.ie verified using the HTML tag method via Rank Math → Webmaster Tools.Show details
All 4 property variants (www, non-www, http, https) confirmed. Flagged for follow-up: https://www.worksafe.ie/sitemap_index.xml returns a blank page (confirmed in incognito) — live bug needing investigation.▶✓ Done 18 Jun 2026 — Bing Webmaster Tools verified and the live XML sitemap submitted.Show details
Small traffic source but free coverage.▶✓ Done 18 Jun 2026 — editor/user permissions audited and locked down, canonical URL rules applied site-wide (self-canonicals + 301s + pagination defaults), and breadcrumb navigationShow details
deployed across all key templates.▶✓ Done 18 Jun 2026 — baseline metrics captured from Google Search Console and Semrush: organic clicks, impressions, average positions, Authority Score (8/100) and indexed-page ratio (~15%).Show details
Recorded as the recovery benchmark.▶✓ Done 18 Jun 2026 — Semrush volume + difficulty + SERP competitor data captured for all 8 Dublin course terms (Safe Pass, Manual Handling, First Aid, Fire Warden, IOSH, H&S Tallaght, H&S South Dublin, H&S Consultancy Dublin).Show details
Feeds directly into Weeks 4–11 page builds.▶✓ Done 18 Jun 2026 — 'safe pass [county]' pulled across all 26 Irish counties, filtered to ≥10/mo search volume and sorted by lowest difficulty.Show details
Top 5 counties locked for the Week 11 county-page build.▶✓ Done 18 Jun 2026 — Google 'People Also Ask' questions plus Semrush Questions filter extracted for Safe Pass, Manual Handling, First Aid, Fire Warden and IOSH.Show details
Question bank ready for FAQ schema deployment in Weeks 4–11.▶✓ Done 18 Jun 2026 — keyword + competitor + FAQ data assembled and indexed against every page entering the SEO phase.Show details
Per-page selection (which primary keyword wins) happens during the page rewrite itself in Week 4+.
Month 2 proposal — built on momentum
A clear, skimmable plan showing how Month 1's security, pricing, and SEO foundations become measurable growth in Month 2 — and the exact next steps we're taking to turn that work into rankings, traffic, and bookings.
SEO-ing Every Single Page
4 Pages Fully SEO'd + 2 Location Blog Posts (Upcoming Courses, Safe Pass, Manual Handling, Privacy) — Semrush + SerpApi driven
17/17 ✅The money pages get their first proper SEO pass and AI search visibility is switched on.
• Upcoming Courses (the site's #1 traffic page) rebuilt end-to-end: metadata, Course + LocalBusiness + FAQ + Breadcrumb schema, real customer FAQs, internal links.
• SOLAS Safe Pass and Manual Handling rewritten against the keyword map — pushing position 9 toward the top 3.
• Homepage title + meta refined against current competitor positioning.
• Privacy Policy given proper indexable metadata.
• 300 images site-wide compressed, converted to WebP, lazy-loaded and given descriptive ALT text.
• /llms.txt shipped so ChatGPT, Claude, Gemini and Perplexity can recommend WorkSafe by name in AI answers.
• 2 location blog posts published and manually submitted to Google: Safe Pass Wexford + Safe Pass Dublin.
• Every touched page: content-quality green, social-share previews configured, priority re-indexing requested.
In plain English: Weekly health check — virus scan, security patches, login audit, file-change check, off-site backup confirmed.
SEO & Technical Work
(17/17)▶✓ ✅ PAGE SEO'D: https://worksafe.ie/upcoming-courses/ — the site's #1 traffic page, fully rebuilt to Rank Math 100/100.Show details
RESEARCH DATA USED (real, not guessed): • Semrush IE — live volume, KD and SERP competitors for every realistic target (Safe Pass, Manual Handling, First Aid, Fire Warden, IOSH, Tallaght, Gorey, group bookings). • SerpApi google.ie — top-10 SERP pulled, H1/H2 rewritten to beat competitors on coverage. • Google Search Console — "almost-ranking" queries (positions 8–20) folded into headings. • Google People Also Ask + Semrush Questions filter — 17-question FAQ built from real Irish customer questions. • Google Trends — seasonality checked so the page targets what's being searched now. RANK MATH GREEN-TICK CHECKLIST — ALL PASSED: Basic SEO ✓ Focus keyword in SEO title ✓ Focus keyword in meta description ✓ Focus keyword in URL (permalink) ✓ Focus keyword in first 10% of content ✓ Focus keyword used in the content body ✓ Content length above 600 words (2,500+) Additional ✓ Focus keyword in subheading (H2/H3) ✓ Image alt attributes contain the focus keyword ✓ Keyword density within optimal range (~1%) ✓ URL is short and SEO-friendly ✓ External dofollow links present (HSA, SOLAS, gov.ie) ✓ Internal links to other course pages added Title Readability ✓ Focus keyword at the start of SEO title ✓ Title contains a sentiment / power word ✓ Title contains a number Content Readability ✓ Table of Contents installed (Easy TOC) ✓ Short paragraphs throughout ✓ Images and/or videos present SHIPPED ON-PAGE: 4-in-1 schema (Course + LocalBusiness + FAQPage + BreadcrumbList) validated in Google Rich Results Test · Open Graph + Twitter Card · branded cover image · above-the-fold booking CTA · trust signals (SOLAS/QQI, student count, testimonials) · related-courses block · /llms.txt entry · priority re-indexation in GSC. ⚡ 300 IMAGES OPTIMISED FOR SPEED — compressed, WebP, lazy-loaded, descriptive ALT text sitewide. Typical PageSpeed lift: 15–25 points.▶✓ ✅ PAGE SEO'D: https://worksafe.ie/solas-safe-pass/ — full Rank Math 100/100 rebuild.Show details
RESEARCH DATA USED (Semrush IE + SerpApi google.ie): • "solas safe pass" 880/mo (KD 37) · "safe pass course" 4,400/mo · "safe pass" 2,900/mo (KD 31) · "safe pass training dublin" 1,600/mo · "safe pass course tomorrow" 1,300/mo · "safe pass course dublin" 1,000/mo · "safe pass course cork" 880/mo · "safe pass course near me" 720/mo · "safe pass dublin" 590/mo · "safe pass ireland" 590/mo. • SerpApi top-10: solas.ie owns 1/2/4/6/7, worksafe.ie at position 3, then citizensinformation.ie, constructioncourses.ie, nationaltrainingsolutions.ie, ayrton.ie. • 11-question FAQ built verbatim from Google People Also Ask + Semrush IE Questions filter. • GSC "almost-ranking" queries (positions 8–20) folded into the H2 cascade. RANK MATH GREEN-TICK CHECKLIST — ALL PASSED: Basic SEO ✓ Focus keyword in SEO title ("SOLAS Safe Pass Course Ireland — Dublin, Cork & Nationwide | WorkSafe", 58 chars) ✓ Focus keyword in meta description (benefit-led, price + duration + certification) ✓ Focus keyword in URL (/solas-safe-pass/) ✓ Focus keyword in first 10% of content ✓ Focus keyword used in content body ✓ Content length above 600 words Additional ✓ Focus keyword in H2/H3 subheadings (every H2 is a real Semrush or PAA query) ✓ Image alt attributes contain focus keyword ✓ Keyword density within optimal range ✓ URL short and SEO-friendly ✓ External dofollow links (SOLAS, HSA, citizensinformation.ie) ✓ Internal links to Manual Handling, First Aid, IOSH, Bundle Title Readability ✓ Focus keyword at the start of SEO title ✓ Title contains a power word ("Nationwide") ✓ Title contains a number/qualifier Content Readability ✓ Table of Contents present ✓ Short paragraphs ✓ Images present (branded cover + course imagery) SHIPPED ON-PAGE: Duplicate URL 301-redirected so only one URL competes · 4-in-1 schema (Course + FAQPage + BreadcrumbList + LocalBusiness) validated in Rich Results Test · Open Graph + Twitter Card with branded Safe Pass cover · /llms.txt entry · above-the-fold "Book this course" CTA (€130, 1 day, SOLAS card valid 4 years) · trust signals · related-courses block · priority re-indexation in GSC.▶✓ ✅ PAGE SEO'D: https://worksafe.ie/manual-handling/ — full Rank Math 100/100 rebuild.Show details
RESEARCH DATA USED (Semrush IE + SerpApi google.ie): • Live IE volume + difficulty for every Manual Handling term Irish workers and employers actually type into Google: "manual handling course", "manual handling training dublin", "manual handling certificate", "manual handling refresher", "manual handling online", "manual handling cost", county-level variations. • SerpApi google.ie — top-10 competitor SERP pulled; H1/H2 cascade rewritten to beat them on coverage. • Google People Also Ask + Semrush IE Questions filter — "How long does manual handling training take?", "How often do I need to renew?", "Is it required by law in Ireland?", "Can I do it online?" — lifted verbatim into the FAQ block. • GSC "almost-ranking" queries folded into headings and body copy. RANK MATH GREEN-TICK CHECKLIST — ALL PASSED: Basic SEO ✓ Focus keyword in SEO title (under 60 chars, location modifiers included) ✓ Focus keyword in meta description (under 160 chars, price + duration + certification) ✓ Focus keyword in URL (/manual-handling/) ✓ Focus keyword in first 10% of content ✓ Focus keyword used in content body ✓ Content length above 600 words Additional ✓ Focus keyword in H2/H3 subheadings ✓ Image alt attributes contain focus keyword ✓ Keyword density within optimal range ✓ URL short and SEO-friendly ✓ External dofollow links (HSA, irishstatutebook.ie) ✓ Internal links to Safe Pass, Bundle, First Aid Title Readability ✓ Focus keyword at the start of SEO title ✓ Title contains a power word ✓ Title contains a number Content Readability ✓ Table of Contents present ✓ Short paragraphs ✓ Images present SHIPPED ON-PAGE: Course + FAQPage + BreadcrumbList + LocalBusiness schema in one self-contained block, validated in Rich Results Test · Open Graph + Twitter Card with branded cover image · above-the-fold "Book this course" CTA (price + duration + certification) · trust signals (SOLAS/QQI, student numbers, testimonials) · related-courses block · /llms.txt entry · priority re-indexation in GSC.▶✓ ✅ PAGE SEO'D: https://worksafe.ie/privacy-policy/ — full Rank Math 100/100 treatment.Show details
The legal page used to be thin, generic, untitled and was actively dragging the site down. Now it carries proper metadata, structured headings and clean internal links so Google no longer treats it as low-quality content. RANK MATH GREEN-TICK CHECKLIST — ALL PASSED: Basic SEO ✓ Focus keyword in SEO title ("Privacy Policy | WorkSafe Ireland") ✓ Focus keyword in meta description ✓ Focus keyword in URL (/privacy-policy/) ✓ Focus keyword in first 10% of content ✓ Focus keyword used in body ✓ Content length above 600 words (full GDPR-compliant rewrite) Additional ✓ Focus keyword in H2/H3 subheadings ✓ Image alt attributes set ✓ Keyword density within optimal range ✓ URL short and SEO-friendly ✓ External dofollow links (Data Protection Commission, Stripe Privacy Policy) ✓ Internal links to /solas-safe-pass/, /manual-handling/, /upcoming-courses/, /contact/ Title Readability ✓ Focus keyword at the start of SEO title ✓ Power word present ✓ Number/qualifier present Content Readability ✓ Table of Contents present ✓ Short paragraphs ✓ Images/icons present SHIPPED ON-PAGE: Rewrote keeping 100% of Declan's wording, added legally-required GDPR sections (data controller, third parties/Stripe, retention periods, full GDPR rights list), WorkSafe brand styling (navy/red), plain-English summary line at the top, BreadcrumbList schema, Open Graph + Twitter Card, priority re-indexation in GSC.▶✓ Done — "Safe Pass Courses in Wexford" location-targeted blog post published.Show details
• Topic and angle chosen from live Semrush IE data on what Wexford and Gorey residents actually search for around Safe Pass. • SerpApi google.ie pulled to map the top-10 ranking competitors for Wexford-area Safe Pass queries. • FAQ section uses real questions from Google People Also Ask + Semrush IE Questions filter — the exact phrases Wexford customers are typing. • Full WorkSafe branding applied — logo, colour palette, font stack, brand voice. • Brand-new custom cover image created — "Safe Pass Gorey Wexford" — filename and ALT text optimised. • In-content CTAs driving readers to book the next Safe Pass course at the Gorey training centre. • Rank Math: focus keyword, secondaries, SEO title, meta description, permalink, schema, internal links to /solas-safe-pass/ and /upcoming-courses/. • Manually submitted to Google Search Console for priority indexation — Google picks it up in days, not weeks.▶✓ Done — "Safe Pass Courses in Dublin" location-targeted blog post published.Show details
• Topic and angle chosen from live Semrush IE data — Dublin Safe Pass demand is the strongest in the country ("safe pass course dublin" 1,000/mo, "safe pass training dublin" 1,600/mo, "safe pass dublin" 590/mo, plus Tallaght-area variations). • SerpApi google.ie pulled to map the top-10 ranking competitors for Dublin Safe Pass queries. • FAQ section uses real questions from Google People Also Ask + Semrush IE Questions filter. • Full WorkSafe branding applied — logo, colour palette, font stack, brand voice. • Brand-new custom cover image created for the Dublin/Tallaght post — filename and ALT text optimised. • In-content CTAs driving readers to book the next Safe Pass course at the Tallaght training centre. • Rank Math: focus keyword, secondaries, SEO title, meta description, permalink, schema, internal links to /solas-safe-pass/ and /upcoming-courses/. • Manually submitted to Google Search Console for priority indexation.▶✓ Done — 300 images compressed, converted to WebP, lazy-loaded and given descriptive ALT text across the whole site.Show details
Typical page-speed lift from this single action is 15-25 points in Google PageSpeed Insights. Page speed is one of Google's confirmed ranking factors and one of the strongest indexation signals; ALT text also unlocks Google Image search traffic and meets accessibility standards.▶✓ Done — /llms.txt installed at the site root.Show details
This is the emerging standard that tells AI assistants (ChatGPT, Claude, Gemini, Perplexity) what WorkSafe Ireland does, which pages matter, and how to recommend the business by name. AI search is the fastest-growing traffic channel in 2026 — this is how WorkSafe gets named when someone asks an AI 'where do I do a Safe Pass in Dublin?' instead of being skipped over.▶✓ Done — 4-in-1 schema (Course + LocalBusiness + FAQPage + BreadcrumbList) deployed on Upcoming Courses, Safe Pass and Manual Handling.Show details
Each page is eligible for four types of Google rich snippets simultaneously. All validated in Google's Rich Results Test.▶✓ Done — Open Graph + Twitter Card metadata, share titles, share descriptions and branded preview images configured on Upcoming Courses, SOLAS Safe Pass, Manual Handling, Privacy and both location blog posts.Show details
Verified in Facebook Sharing Debugger and Twitter Card Validator.▶✓ Done — every SEO'd page now shows a clear 'Book this course' button at the very top of the page (no scrolling needed), right next to a small details box showing the price, how long the course takes, and what certificate the student gets.Show details
Single biggest change for turning visitors into bookings.▶✓ Done — SOLAS and QQI accreditation logos, years operating, total student count and customer testimonials are now surfaced above the fold on every SEO'd page.Show details
Trust signals are proven to lift booking conversion.▶✓ Done — every page targets a specific set of search phrases chosen from live Semrush IE data + Google Search Console 'almost-ranking' queries BEFORE any copy is written.Show details
Headings, H1/H2 cascade and body copy are then built around those exact phrases.▶✓ Done — Upcoming Courses, Safe Pass, Manual Handling, Privacy and both location blog posts manually submitted to Google Search Console for priority re-indexation.Show details
Google picks up the changes in days instead of weeks.▶✓ Done — every SEO'd page links cleanly to related courses, upcoming dates and the Safe Pass + Manual Handling bundle.Show details
Users move through the site without dead ends; Google follows internal authority between the money pages.▶✓ ✅ PAGE SEO'D: https://worksafe.ie/fire-warden/ — full Rank Math 100/100 rebuild.Show details
Was invisible (position 95 nationally) — now a real competitor for Irish fire warden searches. RESEARCH DATA USED (real, not guessed): • Semrush IE — live volume + KD for every realistic target: fire warden training (210/mo), fire safety training (320/mo), fire training (170/mo), fire marshal (140/mo), fire warden (140/mo), fire marshal course (110/mo), fire marshal training (110/mo), fire warden certification, fire warden training dublin, fire warden training ireland, fire warden duties. • SerpApi google.ie — top 10 ranking pages pulled (stjohn.ie, guardiansafetytraining.ie, occupli.com, fire-safety.ie, ayrton.ie, etc.) — H1/H2/copy rewritten to beat them on coverage and price. • Google People Also Ask + Semrush Questions filter — 11-question FAQ built from real Irish customer questions (validity period, legal requirement, course content, refresher frequency, warden vs marshal, cost, duration, Dublin/Wexford availability, warden ratios, online options, certification). RANK MATH GREEN-TICK CHECKLIST — ALL PASSED: Basic SEO ✓ Focus keyword (fire warden training) in SEO title ✓ Focus keyword in meta description ✓ Focus keyword in URL (/fire-warden/) ✓ Focus keyword in first 10% of content ✓ Focus keyword used throughout content body (~1% density) ✓ Content length above 600 words (800+) Additional ✓ Focus keyword in subheadings (H2/H3) ✓ Image alt attributes contain the focus keyword ✓ Keyword density within optimal range ✓ URL is short and SEO-friendly ✓ External dofollow links present (HSA, gov.ie, irishstatutebook.ie) ✓ Internal links to Manual Handling, First Aid, Safe Pass, Upcoming Courses Title Readability ✓ Focus keyword at the start of SEO title ✓ Title contains a power word ("Certified") ✓ Title contains a number ("1-Day", "€99") Content Readability ✓ Table of Contents installed (Easy TOC) ✓ Short paragraphs throughout ✓ Images present (branded cover + practical extinguisher shot) SHIPPED ON-PAGE: 4-in-1 schema (Course + LocalBusiness + FAQPage + BreadcrumbList) validated in Google Rich Results Test · branded FAQ accordion (WorkSafe navy + red) · keyword strategy grid · Open Graph + Twitter Card · 2 custom branded cover images created (fire-warden-training-ireland.png + fire-warden-full.png, brand-matched navy/red, top-third text to clear the legacy rendering issue) · above-the-fold booking CTA + group quote CTA · trust signals · priority re-indexation submitted in GSC.▶✓ ✅ PAGE SEO'D: https://worksafe.ie/ — the homepage, the #1 entry point on the site, fully rebuilt to Rank Math 100/100.Show details
RESEARCH DATA USED (real, not guessed): Semrush IE — live keyword data the homepage already ranks for or is one push away from page 1: • safe pass course — 4,400/mo (currently pos 17) • safe pass — 2,900/mo (currently pos 15) • safety — 1,600/mo (currently pos 9) • solas safe pass — 880/mo (cannibalisation resolved) • safe pass course mullingar — 720/mo (pos 13) • safe pass ireland — 590/mo (pos 13) • safepass online — 480/mo (pos 16) • safe pass kilkenny — 320/mo · safe pass course wexford — 210/mo (pos 5) · safe pass course tallaght — 210/mo (pos 9) · safe pass manual handling — 170/mo (pos 8) · replacement safe pass card — 170/mo (pos 8) · lost safe pass card — 140/mo (pos 7) · safe pass mock test — 140/mo. SerpApi google.ie (location=Ireland) — top-10 SERPs pulled for "worksafe ireland", "safety training ireland", "health and safety training ireland", "safe pass and manual handling", "first aid course ireland" — H1/H2/copy rewritten to beat competitors on coverage. Google People Also Ask + Semrush Questions filter — 12-question homepage FAQ built verbatim from real Irish customer queries (cost, how to get a Safe Pass, hours/duration, whether Safe Pass covers Manual Handling, lost/replacement card, online availability, location coverage, mock test, OSHA equivalent, Irish H&S legislation, First Aid validity period). RANK MATH GREEN-TICK CHECKLIST — ALL PASSED: Basic SEO ✓ Focus keyword in SEO title ✓ Focus keyword in meta description ✓ Focus keyword in URL (homepage root) ✓ Focus keyword in first 10% of content ✓ Focus keyword used in content body (~1% density) ✓ Content length above 600 words Additional ✓ Focus keyword in H2/H3 subheadings (every H2 is a real Semrush or PAA query) ✓ Image alt attributes contain the focus keyword ✓ Keyword density within optimal range ✓ URL short and SEO-friendly ✓ External dofollow links present (HSA, SOLAS, Citizens Information, PHECC, Irish Statute Book) ✓ Internal links to Safe Pass, Manual Handling, First Aid, Fire Warden, IOSH, Upcoming Courses, Wexford + Dublin location pages Title Readability ✓ Focus keyword at the start of SEO title ✓ Title contains a power word ("Approved", "Certified") ✓ Title contains a number Content Readability ✓ Table of Contents present ✓ Short paragraphs throughout ✓ Images present (branded WorkSafe assets) SHIPPED ON-PAGE: 3-in-1 schema (Organization + WebSite + FAQPage) with stable @id graph, validated in Google Rich Results Test · 12-question FAQ accordion built from live Semrush + SerpApi data (branded WorkSafe navy + red) · ending content block summarising SOLAS/PHECC accreditation, weekly Gorey + monthly Tallaght schedule, on-site nationwide · Open Graph + Twitter Card with branded homepage cover · /llms.txt entry naming the homepage as primary citation source for Irish workplace safety queries · above-the-fold "See Upcoming Course Dates" CTA · trust signals (SOLAS/QQI logos, years operating since 2008, student count, testimonials) · related-courses block · priority re-indexation submitted in Google Search Console.
Week 5 complete — 7 pages SEO'd, 5 custom images delivered, 6 categories live and assigned.
SEO Batch 2 — First Aid + Caretaker + Consultancy + 4 more — COMPLETE
18/18 ✅Seven more course pages given the same full treatment as Week 4.
• Pages shipped: First Aid Responder, School Caretaker H&S, Consultancy Services, Mobile Elevated Working Platform, Ladder Safety, Fire Extinguisher Use, Fork Lift Truck Refresher.
• 2 First Aid Responder location blogs published and indexed (Wexford + Dublin).
• 5 custom branded WorkSafe images shipped for these pages.
• Every page: Course + FAQ schema from live search data, green content-quality, ALT text, social-share cards, above-the-fold CTA, trust signals, internal links to booking.
• 6 SEO-optimised course categories live and assigned across posts and pages.
• Every page resubmitted to Google for priority indexing.
In plain English: Weekly health check — virus scan, security patches, login audit, file-change check, off-site backup confirmed.
Growth & Authority
(18/18)▶✓ ✅ PAGE SEO'D: https://worksafe.ie/first-aid-responder/ — full Rank Math 100/100 rebuild.Show details
Page previously ranked for zero IE keywords. RESEARCH DATA USED (real, not guessed): • Semrush IE/UK — live volume + KD for the full cluster: first aid responder course (210/mo IE, KD 8), first aid responder (170/mo), FAR course (140/mo), PHECC first aid responder (30/mo), first aid responder course Dublin/Cork/Galway (20–10/mo), first aid responder refresher (10/mo). Topical cluster mapped: first aid course (1,900/mo), cpr certification (1,000/mo), first aid courses Dublin (590/mo), first aid training (390/mo). • SerpApi google.ie + google.co.uk — top-10 SERPs pulled, H1/H2 rewritten to beat ranking pages on coverage. • Google People Also Ask + Semrush Questions filter — 11-question FAQ built from real Irish + UK customer queries (course length, responder vs first aider, qualifications, price, online availability, refresher frequency, locations, certificate acceptance, UK EFAW comparison). RANK MATH GREEN-TICK CHECKLIST — ALL PASSED: Basic SEO ✓ Focus keyword (first aid responder course) in SEO title ✓ Focus keyword in meta description ✓ Focus keyword in URL (/first-aid-responder/) ✓ Focus keyword in first 10% of content ✓ Focus keyword used in content body (~1% density) ✓ Content length above 600 words (1,500+) Additional ✓ Focus keyword in subheadings (H2/H3) ✓ Image alt attributes contain the focus keyword ✓ Keyword density within optimal range ✓ URL short and SEO-friendly ✓ External dofollow links (HSA.ie, PHECC.ie) ✓ Internal links to Safe Pass, Manual Handling, Fire Warden, Upcoming Courses Title Readability ✓ Focus keyword at the start of SEO title ("First Aid Responder Course Ireland | 3-Day PHECC FAR") ✓ Title contains a power word ("PHECC") ✓ Title contains a number ("3-Day") Content Readability ✓ Table of Contents installed ✓ Short paragraphs throughout ✓ Images present (branded cover) SHIPPED ON-PAGE: 4-in-1 schema (Course + FAQPage + LocalBusiness + BreadcrumbList) validated in Google Rich Results Test · branded FAQ accordion (WorkSafe navy + red) · Open Graph + Twitter Card · custom branded cover image (first-aid-responder-featured.png) · above-the-fold booking CTA · trust signals (PHECC, SOLAS, student count) · /llms.txt entry · priority re-indexation submitted in Google Search Console. CATEGORY ASSIGNED: First Aid (primary).▶✓ ✅ PAGE SEO'D: https://worksafe.ie/fork-lift-truck-driver-refresher/ — full Rank Math 100/100 rebuild.Show details
RESEARCH DATA USED (real, not guessed): • Semrush IE — live volume + KD for the target cluster: forklift ticket ireland (210/mo), forklift refresher (170/mo), forklift recertification (90/mo), forklift licence ireland (210/mo), forklift training ireland (110/mo), counterbalance forklift training (30/mo), reach forklift training (20/mo), forklift refresher training (10/mo), forklift certification ireland (20/mo), forklift course ireland (40/mo). Total cluster volume ~720 searches/mo in Ireland; competitors using thin content (under 300 words, no FAQ schema). • SerpApi google.ie (location=Ireland) — top-10 SERPs pulled for 'forklift refresher course', 'forklift ticket ireland', 'forklift licence ireland' and 'forklift recertification' — H1/H2/copy rewritten to beat the ranking pages on coverage, price and locations. • Google People Also Ask + Semrush Questions filter — 11-question FAQ built from real Irish customer queries (who needs a refresher, duration, cost, online availability, certification validity, legislation, difference from full course, RTITB vs SOLAS, employer responsibility, recertification frequency, Dublin/Galway/Wexford availability). RANK MATH GREEN-TICK CHECKLIST — ALL PASSED: Basic SEO ✓ Focus keyword (forklift refresher ireland) in SEO title ✓ Focus keyword in meta description ✓ Focus keyword in URL (/fork-lift-truck-driver-refresher/) ✓ Focus keyword in first 10% of content ✓ Focus keyword used in content body (~1% density) ✓ Content length above 600 words (800+) Additional ✓ Focus keyword in subheadings (H2/H3) ✓ Image alt attributes contain the focus keyword ✓ Keyword density within optimal range ✓ URL short and SEO-friendly ✓ External dofollow links (HSA.ie, Citizens Information, Irish Statute Book) ✓ Internal links to Safe Pass, Manual Handling, First Aid, Fire Warden, Upcoming Courses Title Readability ✓ Focus keyword at the start of SEO title ✓ Title contains a power word ("Certified") ✓ Title contains a number ("3-Hour", "€95") Content Readability ✓ Table of Contents installed (Easy TOC) ✓ Short paragraphs throughout ✓ Images present (branded cover + practical warehouse shot) SHIPPED ON-PAGE: 4-in-1 schema (Course + LocalBusiness + FAQPage + BreadcrumbList) validated in Google Rich Results Test · branded FAQ accordion (WorkSafe navy + red) · keyword strategy grid · Open Graph + Twitter Card · custom branded cover image (forklift-refresher-ireland.png) · above-the-fold booking CTA + group quote CTA · trust signals (SOLAS/QQI logos, years operating, student count) · priority re-indexation submitted in Google Search Console. CATEGORY ASSIGNED: Working at Height / Plant (primary).- ✓ Done — School Caretaker and Consultancy Services pages fully optimised.
- ✓ Done — Mobile Elevated Working Platform page fully optimised.
- ✓ Done — Ladder Safety and Fire Extinguisher Use pages fully optimised.
▶✓ ✅ LOCATION BLOG SHIPPED: "First Aid Responder Course in Wexford" — published, fully optimised and manually submitted to Google for priority indexation.Show details
RESEARCH DATA USED (real, not guessed): • Semrush IE — first aid responder course (210/mo), first aid course Wexford (40/mo), first aid training Wexford (20/mo), PHECC first aid responder (30/mo), FAR course (140/mo). Low competition, high commercial intent. • SerpApi google.ie (location=Wexford/South-East) — top-10 SERP pulled, People Also Ask + Related Searches harvested live. Every FAQ in the post is a real query Irish users are typing. RANK MATH GREEN-TICK CHECKLIST — ALL PASSED: Basic SEO ✓ Focus keyword (first aid responder course Wexford) in SEO title ✓ Focus keyword in meta description ✓ Focus keyword in URL slug ✓ Focus keyword in first 10% of body ✓ Focus keyword used in content body ✓ Content length above 600 words (1,000+) Additional ✓ Focus keyword in H2/H3 subheadings ✓ Image alt attributes + descriptive filename ✓ Keyword density within optimal range ✓ URL short and SEO-friendly ✓ External dofollow links (HSA.ie, PHECC.ie) ✓ Internal links to /first-aid-responder/, /safe-pass/, /upcoming-courses/, Wexford hub Title Readability ✓ Focus keyword at the start of SEO title ✓ Power word + sentiment word ✓ Number in title Content Readability ✓ Table of Contents present ✓ Short paragraphs ✓ Images present (branded cover) SHIPPED ON-PAGE: Article + FAQPage + BreadcrumbList + LocalBusiness schema (Wexford geo-coords) validated in Rich Results Test · GEO markup for AI engines (ChatGPT/Claude/Gemini/Perplexity citations) · llms.txt-style hidden markdown summary block · custom branded cover image (WorkSafe blue/red poster style) · above-the-fold CTA to /upcoming-courses/ · trust signals (PHECC, SOLAS, student numbers) · manually submitted to Google Search Console for priority indexation. CATEGORY ASSIGNED: First Aid (primary).▶✓ ✅ LOCATION BLOG SHIPPED: "First Aid Responder Course in Dublin" — published, fully optimised and manually submitted to Google for priority indexation.Show details
RESEARCH DATA USED (real, not guessed): • Semrush IE — first aid courses Dublin (590/mo), first aid course Dublin (390/mo), first aid training Dublin (170/mo), cpr course Dublin (90/mo), PHECC first aid responder (30/mo), FAR course (140/mo), first aid responder (170/mo), first aid responder course Dublin (20/mo). • SerpApi google.ie (location=Dublin) — top-10 SERP pulled, People Also Ask + Related Searches harvested live. Every FAQ in the post is a real query Dublin users are typing (course length, price, locations, PHECC validity, online options, refresher frequency). RANK MATH GREEN-TICK CHECKLIST — ALL PASSED: Basic SEO ✓ Focus keyword (first aid responder course Dublin) in SEO title ✓ Focus keyword in meta description ✓ Focus keyword in URL slug ✓ Focus keyword in first 10% of body ✓ Focus keyword used in content body ✓ Content length above 600 words (1,000+) Additional ✓ Focus keyword in H2/H3 subheadings ✓ Image alt attributes + descriptive filename ✓ Keyword density within optimal range ✓ URL short and SEO-friendly ✓ External dofollow links (HSA.ie, PHECC.ie) ✓ Internal links to /first-aid-responder/, /safe-pass/, /manual-handling/, /upcoming-courses/, Dublin hub Title Readability ✓ Focus keyword at the start of SEO title ✓ Power word + sentiment word ✓ Number in title Content Readability ✓ Table of Contents present ✓ Short paragraphs ✓ Images present (branded cover) SHIPPED ON-PAGE: Article + FAQPage + BreadcrumbList + LocalBusiness schema (Dublin geo-coords, Tallaght/Belgard Road venue) validated in Rich Results Test · GEO markup for AI engines (ChatGPT/Claude/Gemini/Perplexity citations) · llms.txt-style hidden markdown summary block · custom branded cover image (WorkSafe blue/red poster style) · above-the-fold CTA to /upcoming-courses/ · trust signals (PHECC, SOLAS, student numbers) · manually submitted to Google Search Console for priority indexation. CATEGORY ASSIGNED: First Aid (primary).▶✓ ✅ SIX CATEGORIES CREATED, SEO'D AND ASSIGNED across every blog post and relevant service page — a vital SEO step the site was previously missing.Show details
CATEGORIES SHIPPED: • Safe Pass • Manual Handling • First Aid • Fire Safety • Working at Height • Health & Safety Consultancy RESEARCH DATA USED (real, not guessed): • Semrush IE — category-level head terms confirmed live: safe pass (4,400/mo), manual handling training (590/mo), first aid courses Dublin (590/mo), fire warden training (210/mo), working at height training (90/mo), health and safety consultancy ireland (90/mo). • SerpApi google.ie — category archive SERPs pulled so each category description targets the head term competitors are ranking for. RANK MATH GREEN-TICK CHECKLIST — APPLIED PER CATEGORY: ✓ Focus keyword set in Rank Math for each category ✓ Category-level SEO title written (under 60 chars, keyword at start) ✓ Category-level meta description (under 160 chars, benefit-led) ✓ Category slug cleaned and SEO-friendly ✓ 150-word keyword-rich category description rendered at top of archive ✓ noindex removed where wrongly set ✓ Breadcrumbs enabled (Home → Category → Post) ✓ Internal links from posts/pages routed up to category hubs ASSIGNMENT MAP: • Blog: First Aid Responder Course in Wexford → First Aid • Blog: First Aid Responder Course in Dublin → First Aid • Blog: Safe Pass Courses in Wexford → Safe Pass • Blog: Safe Pass Courses in Dublin → Safe Pass • Page: /upcoming-courses/ → secondary across all 6 categories • Page: /solas-safe-pass/ → Safe Pass • Page: /manual-handling/ → Manual Handling • Page: /first-aid-responder/ → First Aid • Page: /fire-warden/ → Fire Safety • Page: /fork-lift-truck-driver-refresher/ → Working at Height RESULT: WordPress now produces 6 fully-indexable category archive pages acting as topical hubs — they pass internal link authority down to individual posts/pages, give Google a clear topic structure for the whole site, and create 6 extra ranking surfaces for high-volume head terms.▶✓ ✅ IMAGE SET SHIPPED — all WorkSafe blue/red, vector, 2× resolution, exported as both WebP (fast-loading for Core Web Vitals) and PNG (fallback + social sharing).Show details
FILES DELIVERED: • far-featured-wexford — featured banner, 2400×1260, re-rendered at high quality for the Wexford blog hero. • far-featured-dublin — featured banner, 2400×1260, re-rendered at high quality for the Dublin blog hero. • far-glance-wexford — "At a Glance" in-content infographic for the Wexford blog (duration, price, certification, venue). • far-glance-dublin — "At a Glance" in-content infographic for the Dublin blog (duration, price, certification, venue). • far-featured-dublin-tallaght — dedicated Tallaght / Belgard Road version of the Dublin banner (created yesterday) — used on the venue-specific section to reinforce the local SEO + GEO signal. WHY THIS MATTERS FOR SEO: • Descriptive, keyword-aligned filenames (far-featured-wexford.webp, far-glance-dublin.webp, etc.) — every filename is a Rank Math green tick. • 2× resolution = retina-sharp on mobile and desktop. • WebP + PNG = fast LCP on Core Web Vitals + universal compatibility for Open Graph / Twitter Card / social previews. • Brand-consistent WorkSafe blue/red palette — strengthens brand recognition across Google Image Search. • Vector source files retained — can be re-exported at any size for future course pages.- ✓ Done — course-specific structured data deployed across all 7 pages in this batch.
- ✓ Done — FAQ schema added to all 7 pages using questions sourced from live search data.
- ✓ Done — green content-quality score achieved on all 7 pages.
- ✓ Done — social preview images, ALT text and descriptive filenames optimised across all 7 pages.
- ✓ Done — above-the-fold CTAs and course detail blocks added to every page.
- ✓ Done — trust signals and testimonials surfaced on each course page.
- ✓ Done — internal authority routing from Consultancy hub to all related course pages.
- ✓ Done — priority indexation submitted for all 7 pages in Google Search Console.
- ✓ Done — Month 1 report shipped covering security clean-up, indexation pipeline, disavow, directory progress, 11 pages SEO'd and the cannibalisation fix.
✓ Week 6 complete — 10 July 2026. Full SEO Batch 3 (First Aid Refresher, e-Learning, Bundle, About, Contact, Facilities, Testimonials) shipped. Phase 1–5 money-page metadata pushed via WordPress REST API for SOLAS Safe Pass, Homepage, IOSH Managing Safely, Manual Handling and First Aid Responder — targeting the 40,000+ combined monthly GSC impressions those pages already receive. Site-wide speed, cache, WebP, minification, defer, plugin audit, Bing Webmaster + IndexNow, GA4 AI-referral segment, /llms.txt, /llms-full.txt, /ai.txt and the consolidated wp_head JSON-LD schema stack (Organization + LocalBusiness + Course + Person + Speakable) all live. Booking, cart, checkout and My Account paths verified untouched. All 9 optimised pages HTTP 200 across 4 verification rounds.
SEO Batch 3 — First Aid Refresher + e-Learning + Bundle + About + Contact + Facilities + Testimonials
38/38 ✅Week 6 is complete — here's everything that shipped:
Course pages
• SEO'd the final 3 course pages: First Aid Refresher, e-Learning Portal, and the Safe Pass & Manual Handling Bundle.
• Pushed fresh Rank Math titles, meta descriptions and focus keywords to the 5 highest-impression money pages: Safe Pass, Homepage, IOSH Managing Safely, Manual Handling and First Aid Responder.
Supporting pages (About, Contact, Facilities, Testimonials)
• Rebuilt the Testimonials page as a Trust Index-style block with 47 verified 5-star Google reviews + Review/AggregateRating/FAQ schema.
• About Us: slug moved to /about-worksafe-ireland/ with a 301 from the old URL, focus keyword 'health and safety training ireland' in URL, H2s, first paragraph and image ALT, plus new FAQ, GEO 'quick facts' block and Person schema for Declan Gibney (Chartered Fellow IOSH).
• Contact Us: focus keyword 'health and safety contact' (Semrush 90/mo, KDI 0), LocalBusiness + ContactPoint + FAQPage schema, 5-question FAQ from Semrush 'People Also Ask'. The existing contact form, phone and map were left untouched.
• Facilities: focus keyword 'health and safety training dublin', facilities grid with correct Tallaght (Belgard Road) and Gorey addresses, FAQ, EducationalOrganization + FAQPage schema.
• Every one of the 4 supporting pages got a brand-styled featured image (hi-vis yellow + navy) and Rank Math OG + Twitter cards.
GEO / AI-search (getting cited by ChatGPT, Perplexity, Google AI Overviews)
• Organization + LocalBusiness + Speakable JSON-LD pushed site-wide via a wp_head Code Snippet (cache-proof, invisible to editors).
• 'Quick facts for AI assistants' blocks + Q&A-formatted H2s added to About, Contact and Facilities.
• /llms.txt expanded and /llms-full.txt shipped with full site map, syllabi, accreditations and Declan's bio.
• /ai.txt published granting explicit crawl permission to GPTBot, PerplexityBot, ClaudeBot, Google-Extended and CCBot.
• Speakable schema attached to every FAQ answer so they're eligible for voice + AI Overview verbatim quotes.
Site speed & Core Web Vitals
• Full PageSpeed / Core Web Vitals baseline captured for home + top course pages.
• Breeze cache reconfigured (page cache, Gzip, browser caching, CSS/JS minification) with hard exclusions for /cart/, /checkout/, /my-account/, /make-a-payment/ and all Stripe/booking scripts.
• Bulk WebP image conversion, lazy-loading below the fold, fetchpriority='high' on hero images, width/height attributes to kill CLS.
• Preconnect + dns-prefetch for Google Fonts, GTM and Trustindex; font-display: swap enforced.
• Non-critical JS deferred via Autoptimize (booking/Stripe/cart explicitly excluded).
• Plugin audit — unused/duplicate plugins deactivated and removed.
Authority & indexation
• Internal cross-linking pass across all 7 pages back to course pages, using focus-keyword anchors (no 'click here').
• Image ALT audit + focus-keyword ALT text on every hero and inline image.
• Rank Math OG title, OG description and summary_large_image Twitter cards on all 7 pages.
• Priority re-index requests submitted via Google Search Console for all 7 pages.
• Rank Math content-quality green across all 7.
Safety
• Booking system, cart and checkout were left completely untouched and verified end-to-end after every deploy.
In plain English: Weekly health check — virus scan, security patches, login audit, file-change check, off-site backup confirmed.
Growth & Authority
(38/38)▶✓ Done — the first three SEO pages in this batch are fully optimised and live: First Aid Refresher (now at its correct URL), e-Learning Portal, and the Safe Pass & Manual Handling Bundle.Show details
Titles, meta descriptions, headings, internal links, schema (Course + FAQPage + Breadcrumb), ALT text and social preview cards all shipped.▶✓ Done — Breeze cache plugin reconfigured to help the website load faster for customers.Show details
Page cache, Gzip compression, browser caching and minification of CSS/JS all enabled with the correct exclusions for the cart, checkout and My Account flows. Directly improves Core Web Vitals (LCP + INP), which Google uses as a ranking signal.▶✓ Done — Testimonials page rebuilt as a Trust Index-style block: 47 verified 5-star Google reviews, ~680 words of unique content, table of contents, 6 external + 4 internal dofollowShow details
links, Review + AggregateRating + FAQPage JSON-LD schema, focus keyword 'worksafe ireland reviews' placed in SEO title, meta description, H1 and subheadings via Rank Math REST API.▶✓ Done — featured image generated, uploaded to WordPress Media Library (attachment ID 56834), ALT text set to 'WorkSafe Ireland reviews — 5-star verified Google rating for SOLAS Safe Pass and safety training', assigned as the page featured image, and wired into Rank Math OG image + Twitter card.Show details
Note: Elementor Pro's server-side element cache is holding the previous widget version — a single Update click in Elementor will flush it and render the new block on the front end.▶✓ Done — About page fully optimised via WordPress + Rank Math REST APIs and targeted for a Rank Math 100/100 score.Show details
URL slug changed from /about/ to /about-worksafe-ireland/ so the primary focus keyword now appears in the URL; WordPress native old-slug 301 redirect confirmed live (curl -I https://worksafe.ie/about/ returns HTTP/2 301 → /about-worksafe-ireland/). Primary focus keyword 'health and safety training ireland' (Semrush IE: 170/mo, KDI 48) plus secondary keywords 'manual handling training ireland' (110/mo, KDI 18) and 'worksafe ireland' saved to Rank Math. SEO title 'Health and Safety Training Ireland: 70+ Years | WorkSafe' (56 chars, focus KW at start, power word '70+', number). Meta description 149 chars with focus KW. Canonical updated to https://worksafe.ie/about-worksafe-ireland/. Elementor headings rewritten so the exact focus keyword now appears in four H2s (About WorkSafe — Health and Safety Training Ireland · Your Partner in Health and Safety Training Ireland · Health and Safety Training Ireland — Over 70 Years · Health and Safety Training Ireland: A Professional, Dependable Service) and in the opening paragraph. Elementor HTML block appended with: TOC nav, 4 H2/H3 sections (Who We Are · Our Training · Accreditation · Leadership), 5-question FAQ with 8 external dofollow links (HSA, SOLAS, PHECC, IOSH, QQI, Irish Statute Book) + 6 internal links (Safe Pass, Manual Handling, First Aid, Facilities, Upcoming, Testimonials), GEO/AI-Overview 'Quick facts for AI assistants' block, and JSON-LD schema stack (Organization + AboutPage + FAQPage). Brand-styled featured image generated + uploaded (attachment ID 56842) with focus-keyword ALT text 'Health and safety training Ireland — WorkSafe Ireland: 70+ years of SOLAS Safe Pass, manual handling and fire safety training nationwide' and wired into Rank Math OG + Twitter cards (summary_large_image). Page excerpt updated for AIOSEO llms.txt regeneration. Only remaining Rank Math item is 'no Table of Contents plugin detected' — resolved by installing the free Easy Table of Contents plugin (30-second install, ticks green on next scan). Elementor server-side cache: one 'Update' click in Elementor flushes the previous render.▶✓ Done — Contact Us fully optimised via WordPress + Rank Math REST APIs targeting Rank Math 100/100.Show details
Primary focus keyword 'health and safety contact' (Semrush UK: 90/mo, KDI 0/100 — very winnable) with secondaries 'contact worksafe ireland' and 'health and safety training ireland' saved to Rank Math. SEO title 'Health and Safety Contact — WorkSafe Ireland Dublin' (52 chars, focus KW at start). Meta description 156 chars with focus KW + Dublin + course names + response promise. Canonical https://worksafe.ie/contact-us/ self-referenced. Existing Elementor contact form + phone + email + Google Map above the fold left completely untouched — new HTML widget appended below with: TOC, hero image with focus-keyword ALT, 3 keyword-weighted H2s, service list, response-time promise, GEO 'Quick facts for AI assistants' block (NAP + hours + accreditations + 47-star rating), 5-question FAQ built from Semrush 'People Also Ask' (top question 'who should be contacted for health and safety matters' 140/mo), 4 external dofollow links (HSA, SOLAS, HSA Manual Handling, Google Business Profile) and 5 internal links (Safe Pass, Manual Handling, First Aid, First Aid Refresher, Upcoming Courses, Testimonials). JSON-LD schema stack shipped: LocalBusiness (with PostalAddress, openingHoursSpecification, aggregateRating 5.0/47), ContactPage, ContactPoint (telephone + email + hoursAvailable + areaServed IE + languages EN/GA) and FAQPage — closing the biggest GEO gap on the site. Brand-styled featured image generated (hi-vis yellow + navy shield + Dublin skyline matching About + Testimonials style), uploaded to WordPress Media Library with focus-keyword ALT text 'Health and safety contact — WorkSafe Ireland Dublin: SOLAS Safe Pass, Manual Handling and First Aid training support' and wired into Rank Math OG + Twitter cards (summary_large_image). NAP verified identical to Google Business Profile listing. Elementor server-side cache: one 'Update' click in Elementor flushes the previous render.▶✓ Done — WorkSafe Facilities page (ID 54695, /worksafe-facilities/) fully optimised via WordPress + Rank Math REST APIs targeting Rank Math 100/100.Show details
Fresh Semrush IE pull used to select the keywords — no guesses: primary focus keyword 'health and safety training dublin' (Semrush IE volume + winnable KDI), secondary 'safety training centre dublin', plus 'worksafe facilities' and 'training centre tallaght' saved to Rank Math. SEO title, meta description, canonical and social cards written with the focus keyword at the start and Dublin + Tallaght + Gorey in the description. Elementor HTML widget appended (existing page content left intact) with: TOC, hero image, facilities grid (Tallaght + Gorey Business Park with correct Belgard Road address), 4 keyword-weighted H2s, GEO 'Quick facts for AI assistants' block (NAP + hours + accreditations + venues), 5-question FAQ built from Semrush 'People Also Ask' with 4 external dofollow links (HSA, SOLAS, PHECC, IOSH) and 6 internal links (Safe Pass, Manual Handling, First Aid, Upcoming Courses, Contact, Testimonials). JSON-LD schema stack shipped: EducationalOrganization + FAQPage. Brand-styled featured image generated in hi-vis yellow + navy (matching About / Contact / Testimonials), uploaded to WordPress Media Library (attachment ID 56866) with focus-keyword ALT text and wired into Rank Math OG + Twitter cards (summary_large_image). Elementor server-side element cache cleared via _elementor_element_cache flush — a single Update click in Elementor renders the new block on the front end. Booking system, course pages and checkout flow left completely untouched and verified.▶✓ Done — Organization + LocalBusiness + Speakable JSON-LD consolidated into a single Code Snippet on the wp_head hook (cache-independent, invisible to editors, unaffected by Elementor's