City research package

Thailand city research package: 31 decision-ready city and town packets

This research layer sits between the source package and the public traveler product. It keeps the raw package downloadable, exposes every city packet, and shows which places should be first-class pages, merged destinations, support nodes, route anchors, or specialized verticals.

Package snapshot

Packet count

31 city and town packets from the 2026-05-15 package.

First-class or first-class candidate packets

23 packets are marked first-class, first-class candidates, or first-class anchors.

Support-node recommendations

6 packets stay support-node-oriented instead of competing as broad destination pages.

Merged or merge-aware packets

2 packets explicitly recommend a merge or merged model.

City strategy matrix

This table is the shortest product-level read of the package.

City strategy matrix
CityPage statusTraveler use caseStatic caveatDecision familiesConfidence
Bangkokfirst-class destinationarrival hub, stay-area choice, food, gold/shopping, rail/air pivotAQI, heat, rain flooding, event crowding are live signalstoday; where-to-stay; route-check; food-route; gold-buying-checkhigh
Ayutthayafirst-class destinationheritage day-trip / 1-night river baseheat exposure, lowland rain/flood, bike comforttoday; where-to-stay; route-check; food-routehigh
Buriramfirst-class destination, event-awareKhmer-route + MotoGP/football event baseevent dates radically change hotel/crowd logictoday; where-to-stay; route-checkmedium
Chanthaburispecialized vertical node + first-class candidategem/jewelry market, fruit route, old-town foodgem/gold pricing and shop trust cannot be statictoday; where-to-stay; route-check; food-route; gold-buying-check/gem-checkhigh
Cha-ammerged with another pagebudget/family beach fallback from Hua Hinweekend crowd, weaker food/stay depth than Hua Hintoday; where-to-stay; route-checkhigh
Chiang Maifirst-class destinationnorthern city base, culture, food, mountain pivotssmoke season/AQI cannot be static beyond risk framingtoday; where-to-stay; route-check; food-route; gold-buying-checkhigh
Chiang Raifirst-class destinationnorthern border/culture/mountain route basesmoke season and car-route dependencetoday; where-to-stay; route-check; food-routehigh
Chonburisupport node only / east-coast route nodeBangkok–Pattaya–Rayong route context, Si Racha/Ko Sichang supporttoo broad for one traveler pagetoday; route-check; food-route; ferry-checkhigh
Hat Yaifirst-class destinationsouth rail/air/border hub, food, shoppingflood/rain and event/border-route conditions are livetoday; where-to-stay; route-check; food-route; gold-buying-checkhigh
Hua Hinmerged destinationBangkok beach/rail weekend baseweekend crowd, rain/road congestiontoday; where-to-stay; route-check; food-routehigh
Kanchanaburifirst-class destinationriver/rail/history/nature basetown, Sai Yok, Erawan distance makes base choice materialtoday; where-to-stay; route-check; food-routehigh
Khon Kaenfirst-class destinationIsan urban hub, rail/air/business/foodheat/AQI and limited classic sightseeing depthtoday; where-to-stay; route-check; food-routemedium
Krabifirst-class destinationAndaman beach/island/ferry basemonsoon marine fragility; Railay is boat-dependenttoday; where-to-stay; route-check; ferry-check; food-routehigh
Lopburiroute anchor / support nodehistory stop, rail route, seasonal sunflower side-tripnot enough broad hotel-area depth for first-class pagetoday; route-checkmedium
Mae Hong Sonfirst-class route-heavy destinationroad-loop, mountain culture, slow travelwinding road, smoke, rain/landslide risktoday; where-to-stay; route-check; food-routemedium
Nanfirst-class destination candidatequiet northern culture/nature basesmoke season and low public live-signal densitytoday; where-to-stay; route-check; food-routemedium
Nakhon Phanomfirst-class Mekong-route candidateMekong river base, Laos-view route, slow urban stayweaker hotel-area complexity; event/live sources neededtoday; where-to-stay; route-check; food-routemedium
Nakhon Ratchasimafirst-class destination / route hubIsan gateway, Khao Yai/Phimai pivots, rail/road hubcity vs Khao Yai expectations must be separatedtoday; where-to-stay; route-check; food-routehigh
Nakhon Si Thammaratfirst-class culture/food candidatesouthern temple/culture/food routeGulf monsoon/flood timing needs live checkstoday; where-to-stay; route-check; food-routemedium
Nong Khaifirst-class route anchorMekong/Vientiane border rail-road baseborder/rail schedules and Naga event crowds are livetoday; where-to-stay; route-check; food-routehigh
Nonthaburisupport node onlyKo Kret / river day-trip / Bangkok-adjacent stayindistinct from Bangkok for most travelerstoday; route-check; food-routehigh
Paifirst-class destinationmountain small-town base, road-loop stoproute 1095 sickness/friction, winter crowds, smoketoday; where-to-stay; route-check; food-routehigh
Pattayafirst-class destinationbeach/nightlife/family inventory, Ko Lan, eventscrowd/event pressure, rain drainage, beach-water/marine checkstoday; where-to-stay; route-check; ferry-check; food-route; gold-buying-checkhigh
Pathum Thanisupport node onlynorth Bangkok route, museums, markets, university/industrial contextweak standalone traveler decision valuetoday; route-checkhigh
Phuketfirst-class destinationisland base, beaches, food, ferries, airportmonsoon surf/boat risk and island traffic cannot be statictoday; where-to-stay; route-check; ferry-check; food-route; gold-buying-checkhigh
Samut Prakansupport node only / airport-adjacentairport-adjacent stays, Bangkok edge attractionsnot a broad city-stay destinationtoday; where-to-stay; route-checkhigh
Songkhlasupport node / specialized old-town-food nodeold town, Samila/waterfront, food/culture26 km separation from Hat Yai changes base logictoday; where-to-stay; route-check; food-routemedium
Surat Thanifirst-class ferry/route anchorrail/air/bus-to-ferry gatewayferry/marine weather and schedule fragility dominatetoday; where-to-stay; route-check; ferry-check; food-routehigh
Sukhothaifirst-class destinationUNESCO heritage, old-city stay, cyclingheat and festival crowdingtoday; where-to-stay; route-check; food-routehigh
Trangfirst-class destinationfood city + Andaman island ferry basemonsoon boat fragility; city vs island base splittoday; where-to-stay; route-check; ferry-check; food-routehigh
Ubon Ratchathanifirst-class destinationIsan culture, Candle Festival, Mekong/Pha Taem routefestival crowding, heat, cross-border road spreadtoday; where-to-stay; route-check; food-routehigh

Promotion and gap analysis

This section republishes the main conclusions from the package-wide gap analysis.

Promote or keep first-class

  • Bangkok — unavoidable national gateway; high decision density across stay, AQI, route, food, gold.
  • Chiang Mai — strong city/base/food/smoke decision density.
  • Phuket — base-area + ferry + marine + food decision density.
  • Krabi — ferry/base/marine logic is too important for generic page.
  • Pattaya — must split from Chonburi; distinct hotel/crowd/ferry/event logic.
  • Hua Hin–Cha-am — merged page is valid; needs separate sub-base logic.
  • Pai — small but high decision density because route 1095, smoke, crowding and base choice matter.
  • Ayutthaya — heritage + day/overnight + heat/flood route decisions.
  • Kanchanaburi — high base-spread/route-friction value.
  • Chiang Rai — airport, border/mountain routes, smoke-season logic.
  • Khon Kaen — Isan urban hub; useful stay/route/food record.
  • Ubon Ratchathani — event/culture/Mekong route page justified.
  • Nakhon Ratchasima — gateway page needed to separate Khorat/Pak Chong/Khao Yai/Phimai.
  • Nong Khai — Laos/Mekong route anchor.
  • Surat Thani — ferry/route anchor, even if city tourism depth is modest.
  • Trang — food city + Andaman ferry node.
  • Hat Yai — southern rail/air/border food-shopping hub.
  • Sukhothai — UNESCO heritage and old/new city base split.
  • Chanthaburi — gem/fruit/old-town verticals justify promotion.
  • Buriram — event + Khmer route page justified.
  • Nan — promote if northern quiet-route coverage is a product goal.
  • Mae Hong Son — promote as route-heavy node, not generic city page.
  • Nakhon Phanom — promote if building Mekong route coverage.
  • Nakhon Si Thammarat — promote as southern culture/food candidate, but improve source coverage first.

Support nodes only

  • Nonthaburi — Bangkok metro river/Ko Kret support.
  • Pathum Thani — Bangkok north-route / market / museum support.
  • Samut Prakan — Bangkok airport-adjacent and east-coast route support.
  • Chonburi — province/east-coast support after splitting Pattaya.
  • Songkhla — Hat Yai-related old-town/food/culture node unless building a broader Hat Yai–Songkhla page.
  • Lopburi — route anchor rather than full city destination unless creating central heritage rail corridor.

Merged records

Merged records
Current mergeRecommendationReason
Pattaya + ChonburisplitPattaya has destination-specific hotel, event, ferry and crowd logic; Chonburi province is a broader support/east-coast corridor.
Hua Hin + Cha-amkeep mergedSame Bangkok beach-drive decision market; Cha-am is best modeled as quieter northern sub-base.
Hat Yai + Songkhlapartial mergeHat Yai should be first-class hub; Songkhla Old Town should be related support/specialized food-culture node.
Bangkok + metro provincesdo not merge as equal pagesNonthaburi, Pathum Thani and Samut Prakan should support Bangkok decisions, not compete as broad destination pages.

Dedicated stay-guide priorities

  • High priority: Bangkok, Chiang Mai, Phuket, Krabi, Pattaya, Hua Hin–Cha-am, Pai, Ayutthaya, Kanchanaburi, Chiang Rai, Surat Thani, Hat Yai, Trang, Sukhothai, Nakhon Ratchasima, Chanthaburi.
  • Medium priority: Khon Kaen, Ubon Ratchathani, Nong Khai, Buriram, Mae Hong Son, Nan, Nakhon Si Thammarat, Nakhon Phanom.
  • Do not create generic stay-guide pages yet: Nonthaburi, Pathum Thani, Samut Prakan, Lopburi, Chonburi province-wide, Songkhla standalone.

Specialized verticals

Specialized verticals
VerticalStrongest cities or nodes
food-routeBangkok, Chiang Mai, Phuket, Hat Yai, Trang, Chanthaburi, Nakhon Si Thammarat, Songkhla, Khon Kaen, Ubon Ratchathani
rail/route anchorBangkok, Ayutthaya, Kanchanaburi, Sukhothai via nearby rail/bus, Lopburi, Nakhon Ratchasima, Khon Kaen, Nong Khai, Ubon Ratchathani, Hat Yai, Surat Thani, Trang
ferry anchorPhuket, Krabi, Surat Thani, Trang, Pattaya/Ko Lan, Chonburi/Ko Sichang support
gold-buying-checkBangkok first; Chiang Mai, Phuket, Pattaya and Hat Yai as live-price/shop-directory support
gem-market / jewelryChanthaburi first; Bangkok jewelry/gold context second; Phuket/Pattaya/Hat Yai only if source coverage improves

Public-source foundation quality

Public-source foundation quality
Foundation levelCities
strongest official/public observation baseBangkok, Chiang Mai, Phuket, Krabi, Hat Yai, Surat Thani, Trang, Pattaya, Ayutthaya, Kanchanaburi, Sukhothai, Ubon, Nong Khai
strong static official base, medium live-observation baseChiang Rai, Nakhon Ratchasima, Khon Kaen, Buriram, Chanthaburi, Hua Hin–Cha-am
mostly static/editorial until better local feeds are addedNan, Mae Hong Son, Nakhon Phanom, Nakhon Si Thammarat, Lopburi, Songkhla
support-node source base onlyNonthaburi, Pathum Thani, Samut Prakan, Chonburi province-wide

How the package now affects the live site

  • Existing destination pages now use packet-backed base areas, hotel-base tables, and nearby pivots where a public destination page already exists.
  • Promoted cities from the package now have live destination pages, stay guides, entity records, and research briefs instead of living only inside the zip.
  • The merged Hua Hin / Cha-am and Pattaya / Chonburi pages still stay visible, but the package now makes their merge logic explicit and keeps the split question visible.

Open city packets

first-class destination Ayutthaya (พระนครศรีอยุธยา)

Ayutthaya is modeled as: heritage day-trip / 1-night river base. Static copy should foreground traveler decisions and avoid live claims.

heritage day-trip / 1-night river base
first-class destination Bangkok (กรุงเทพมหานคร)

Bangkok is modeled as: arrival hub, stay-area choice, food, gold/shopping, rail/air pivot. Static copy should foreground traveler decisions and avoid live claims.

arrival hub / stay-area choice / food
first-class destination, event-aware Buriram (บุรีรัมย์)

Buriram is modeled as: Khmer-route + MotoGP/football event base. Static copy should foreground traveler decisions and avoid live claims.

Khmer-route + MotoGP / football event base
merged with another page Cha-am (ชะอำ)

Cha-am is modeled as: budget/family beach fallback from Hua Hin. Static copy should foreground traveler decisions and avoid live claims.

budget / family beach fallback from Hua Hin
specialized vertical node + first-class candidate Chanthaburi (จันทบุรี)

Chanthaburi is modeled as: gem/jewelry market, fruit route, old-town food. Static copy should foreground traveler decisions and avoid live claims.

gem / jewelry market / fruit route
first-class destination Chiang Mai (เชียงใหม่)

Chiang Mai is modeled as: northern city base, culture, food, mountain pivots. Static copy should foreground traveler decisions and avoid live claims.

northern city base / culture / food
first-class destination Chiang Rai (เชียงราย)

Chiang Rai is modeled as: northern border/culture/mountain route base. Static copy should foreground traveler decisions and avoid live claims.

northern border / culture / mountain route base
support node only / east-coast route node Chonburi (ชลบุรี)

Chonburi is modeled as: Bangkok–Pattaya–Rayong route context, Si Racha/Ko Sichang support. Static copy should foreground traveler decisions and avoid live claims.

Bangkok–Pattaya–Rayong route context / Si Racha / Ko Sichang support
first-class destination Hat Yai (หาดใหญ่)

Hat Yai is modeled as: south rail/air/border hub, food, shopping. Static copy should foreground traveler decisions and avoid live claims.

south rail / air / border hub
merged destination Hua Hin (หัวหิน)

Hua Hin is modeled as: Bangkok beach/rail weekend base. Static copy should foreground traveler decisions and avoid live claims.

Bangkok beach / rail weekend base
first-class destination Kanchanaburi (กาญจนบุรี)

Kanchanaburi is modeled as: river/rail/history/nature base. Static copy should foreground traveler decisions and avoid live claims.

river / rail / history
first-class destination Khon Kaen (ขอนแก่น)

Khon Kaen is modeled as: Isan urban hub, rail/air/business/food. Static copy should foreground traveler decisions and avoid live claims.

Isan urban hub / rail / air
first-class destination Krabi (กระบี่)

Krabi is modeled as: Andaman beach/island/ferry base. Static copy should foreground traveler decisions and avoid live claims.

Andaman beach / island / ferry base
route anchor / support node Lopburi (ลพบุรี)

Lopburi is modeled as: history stop, rail route, seasonal sunflower side-trip. Static copy should foreground traveler decisions and avoid live claims.

history stop / rail route / seasonal sunflower side-trip
first-class route-heavy destination Mae Hong Son (แม่ฮ่องสอน)

Mae Hong Son is modeled as: road-loop, mountain culture, slow travel. Static copy should foreground traveler decisions and avoid live claims.

road-loop / mountain culture / slow travel
first-class Mekong-route candidate Nakhon Phanom (นครพนม)

Nakhon Phanom is modeled as: Mekong river base, Laos-view route, slow urban stay. Static copy should foreground traveler decisions and avoid live claims.

Mekong river base / Laos-view route / slow urban stay
first-class destination / route hub Nakhon Ratchasima (นครราชสีมา)

Nakhon Ratchasima is modeled as: Isan gateway, Khao Yai/Phimai pivots, rail/road hub. Static copy should foreground traveler decisions and avoid live claims.

Isan gateway / Khao Yai / Phimai pivots
first-class culture/food candidate Nakhon Si Thammarat (นครศรีธรรมราช)

Nakhon Si Thammarat is modeled as: southern temple/culture/food route. Static copy should foreground traveler decisions and avoid live claims.

southern temple / culture / food route
first-class destination candidate Nan (น่าน)

Nan is modeled as: quiet northern culture/nature base. Static copy should foreground traveler decisions and avoid live claims.

quiet northern culture / nature base
first-class route anchor Nong Khai (หนองคาย)

Nong Khai is modeled as: Mekong/Vientiane border rail-road base. Static copy should foreground traveler decisions and avoid live claims.

Mekong / Vientiane border rail-road base
support node only Nonthaburi (นนทบุรี)

Nonthaburi is modeled as: Ko Kret / river day-trip / Bangkok-adjacent stay. Static copy should foreground traveler decisions and avoid live claims.

Ko Kret / river day-trip / Bangkok-adjacent stay
first-class destination Pai (ปาย)

Pai is modeled as: mountain small-town base, road-loop stop. Static copy should foreground traveler decisions and avoid live claims.

mountain small-town base / road-loop stop
support node only Pathum Thani (ปทุมธานี)

Pathum Thani is modeled as: north Bangkok route, museums, markets, university/industrial context. Static copy should foreground traveler decisions and avoid live claims.

north Bangkok route / museums / markets
first-class destination Pattaya (พัทยา)

Pattaya is modeled as: beach/nightlife/family inventory, Ko Lan, events. Static copy should foreground traveler decisions and avoid live claims.

beach / nightlife / family inventory
first-class destination Phuket (ภูเก็ต)

Phuket is modeled as: island base, beaches, food, ferries, airport. Static copy should foreground traveler decisions and avoid live claims.

island base / beaches / food
support node only / airport-adjacent Samut Prakan (สมุทรปราการ)

Samut Prakan is modeled as: airport-adjacent stays, Bangkok edge attractions. Static copy should foreground traveler decisions and avoid live claims.

airport-adjacent stays / Bangkok edge attractions
support node / specialized old-town-food node Songkhla (สงขลา)

Songkhla is modeled as: old town, Samila/waterfront, food/culture. Static copy should foreground traveler decisions and avoid live claims.

old town / Samila / waterfront
first-class destination Sukhothai (สุโขทัย)

Sukhothai is modeled as: UNESCO heritage, old-city stay, cycling. Static copy should foreground traveler decisions and avoid live claims.

UNESCO heritage / old-city stay / cycling
first-class ferry/route anchor Surat Thani (สุราษฎร์ธานี)

Surat Thani is modeled as: rail/air/bus-to-ferry gateway. Static copy should foreground traveler decisions and avoid live claims.

rail / air / bus-to-ferry gateway
first-class destination Trang (ตรัง)

Trang is modeled as: food city + Andaman island ferry base. Static copy should foreground traveler decisions and avoid live claims.

food city + Andaman island ferry base
first-class destination Ubon Ratchathani (อุบลราชธานี)

Ubon Ratchathani is modeled as: Isan culture, Candle Festival, Mekong/Pha Taem route. Static copy should foreground traveler decisions and avoid live claims.

Isan culture / Candle Festival / Mekong