URL Path Strategy
Multi-Country rollout
Stick to jodapp.com (root) for SG market.
When expanding to other countries, prefix /{geo_country.iso2}/ for the new country pages.
| Timeframe | URL | Content | Technical Status |
|---|---|---|---|
| Now | jodapp.com/jobs | Singapore Jobs | country_code defaults to sg |
| Future | jodapp.com/jobs | Singapore Jobs | country_code defaults to sg |
| Future | jodapp.com/id/jobs | Indonesia Jobs | country_code explicitly id |
Backend Implications
Models need country reference
Models like Listings::Job, Org::Copmany Marketing::Campaign must have an associated country.
CurrentRequest needs country reference
# app/controllers/application_controller.rb
class ApplicationController < ActionController::API
around_action :set_market_context
private
def set_market_context
# If params[:country_code] is present, use it.
# IF NOT, default to 'sg'.
code = params[:country_code] || 'sg'
Current.country_code = code
yield
end
end
Frontend Implications
Phase 1: SG only
// routes.ts (Phase 1)
export default [
// No /:countryCode prefix here!
route("jobs", "routes/jobs/index.tsx"),
route("jobs/:company/:location/:role", "routes/jobs/show.tsx"),
];
Phase 2: Adding a new country (e.g. ID)
// routes.ts (Phase 2 - Future)
export default [
// 1. Singapore (Legacy/Default) - Keeps existing SEO URLs
route("jobs", "routes/jobs/index.tsx"),
// 2. Indonesia (New) - Uses the prefix
route("id/jobs", "routes/jobs/index.tsx"), // Reuses same component!
];
URL Paths
When migrating pages from jodapp.com (squarespace) to jodapp-web, we improve the urls.
Here's the jodapp-web-paths.gsheets
- use
pathstab
URL Path Groupings
Each URL Paths is part of a "grouping" to fulfil a business need.
- Job Engine
- Growth & Retention
- Corporate Identity
- Support
- Legal
Job Engine
Urls in this group serves the core purpose of our product.
/jobs: lists all jobs/jobs/company-a/location-x/cashier: lists details of a single job
Growth and Retention
Content that is our "sales pitch"
- our features like next-day payments, loyalty points for fulfilling jobs, insurance, etc.
These need to provide a strong signal to google, so we generally place them at the top level path.
Instead of /helpcenter/workerinsurance, we place it in the top level /insurance
We should also include FAQ for each "sales pitch" or "service offering" in each of these pages to increase time spent on the page to boost signals that it is an important page.
Support
Help pages, FAQ would be nested under /help, keeping it simple.