Career Vettai
Technical audit · 30 September 2026

SEO and answer discoverability audit

A code and local-render review of the Next.js site, followed by targeted changes to make public pages easier to crawl, identify, and understand.

Scope: local website and public feedsFocus: SEO + AEOProduction domain: careervettai.me (configured)
Latest redesign - 27 October 2026

This document records an earlier release. The navy-and-orange redesign adds dedicated career tools, remote eligibility groups, browser-stored notes and manual stages, Career Arcade, guides and more source adapters. Read the current redesign release notes for the latest implementation and source review.

Update - 26 October 2026

Domain configured. Sri Lanka and Singapore now have dedicated pages.

The GitHub Pages build sets SITE_URL=https://careervettai.me. Canonical URLs, social metadata and the sitemap are generated with this domain. New country pages contain factual market context and real listings, and the Sources page exposes source credit and collection times. About-page answers now cover Career Compass, Offer Lens and both main markets. The new collection includes ITPro.lk and public IFS, Grab and Wise employer feeds alongside international sources.

The sections below record the original 30 September audit. Their domain-pending and limited-local-inventory observations are historical. Search Console indexing, rich-result eligibility, production performance and answer-engine citations are not verified by these code changes. JobPosting markup remains deferred until expiry and application status can be verified. See the new source and product research report for the October release.

Assessment

The technical foundation is improved; exact canonical URLs need the final domain.

Page-specific metadata, canonical logic, crawl files, source-aware job URLs, and clear answers are now in the code. Public pages remain crawlable while the domain is pending; setting SITE_URL activates canonical URLs and a populated sitemap.

One deployment action remains

Set SITE_URL=https://your-public-domain before the production build. Without it, public pages can still be indexed, but canonical links, absolute social image URLs, and sitemap entries are unavailable.

Findings and fixes

What changed

Severity reflects likely crawl or content impact, not an estimate of search ranking.

High

No explicit public URL or canonical tags

Added validated SITE_URL configuration and self-referencing canonicals for indexable home, About, and qualifying job detail pages. Filter and saved pages have no canonical because they are noindex.

Implemented
High

No crawl files or index policy

Added /robots.txt and /sitemap.xml. Search/filter pages and saved jobs are noindex, follow; API routes are disallowed. The sitemap excludes search variants and lists current qualifying job details.

Implemented
Medium

Incomplete page and sharing metadata

Added distinct titles, descriptions, Open Graph and Twitter metadata, favicon and touch icon references. Job detail descriptions now include the actual role, employer, location, and source.

Implemented
Medium

Brand assets unused

The provided icon.png is now the visible header mark and site icon. The provided logo.png supplies the wordmark and social sharing image.

Implemented
Medium

Answers were hard to extract

Added concise, visible questions and answers on the About page about the service, source listings, applications, and Sri Lankan coverage. The wording is factual and matches the product behavior.

Implemented
Low

Site identity lacked structured context

Added Organization JSON-LD, homepage WebSite JSON-LD, and job-page BreadcrumbList. Values are generated only from the configured public URL and escaped before output.

Implemented
High

JobPosting eligibility cannot yet be verified

Structured job markup is withheld. The current feeds do not consistently provide verified expiry, complete descriptions, precise locations, or confirmed application status. Add it after source validation and stale-job handling exist.

Deferred
Medium

Local inventory and original content are limited

The current feeds may offer few Sri Lankan roles, and job descriptions mainly reproduce source text. Add approved local sources and verified, useful job context before creating indexable country landing pages or expecting broad non-brand discovery.

Data work
Answer discoverability

What AEO means here

Clear, supported answers

The About page now answers common product questions in visible HTML. The source and external application flow are stated plainly, so a person or an answer system can identify what the site actually does.

No “AI-only” markup

Google says its AI search features use the same search fundamentals and require no special schema or machine-readable AI file. The site uses ordinary crawl access, textual content, consistent entity metadata, and accurate structured data instead of speculative tags.

Validation

What was checked

✓ TypeScript and lintnpm.cmd run typecheck and npm.cmd run lint completed successfully.
✓ Production buildnpm.cmd run build completed with metadata, robots, and sitemap routes.
✓ Rendered metadataWith a temporary example URL, home and About returned canonical and social tags; filtered search and saved pages returned noindex, follow.
✓ Crawl outputThe generated robots file linked to the sitemap. The sitemap contained home, About, and qualifying job URLs, with no filtered-search URLs.
✓ Job detail behaviorA live detail page returned a unique title, self canonical, original-source Apply link, and breadcrumb data. No unverified JobPosting schema was emitted.
✓ Brand renderingDesktop visual review confirmed the supplied mark and wordmark render cleanly in the header.
✓ Missing-domain fallbackWithout SITE_URL, public pages remained crawlable, search pages remained noindex, assets returned 200, and the sitemap stayed empty.
Next checks after deployment

What still needs real-world evidence

  • Set the final SITE_URL, deploy, and confirm that its canonical URLs, robots file, and sitemap all use the same origin.
  • Verify the public property in Google Search Console, submit the sitemap, inspect representative home and job URLs, and monitor indexing and crawl errors.
  • Measure Core Web Vitals and mobile usability on the deployed site. This local audit did not include field performance data or a production crawl.
  • Add a durable ingestion store, expiry checks, source verification, and fuller Sri Lankan inventory before claiming broad local coverage or enabling JobPosting markup.
  • Review whether copied job descriptions provide enough value for search visitors. Source attribution and direct links should remain visible.
Standards and guidance

Primary references

Google: canonical URLs

Canonical signals and duplicate URL handling.

Google: build a sitemap

Absolute URLs, indexable pages, and truthful modification dates.

Google: JobPosting structured data

Single-job pages, complete content, and expired listing policy.

Google: AI features and websites

AI search uses existing crawl and content fundamentals.

Google: site names

Homepage WebSite data and consistent brand naming.

Google: snippets and descriptions

Unique descriptions that reflect the page content.