﻿# SEO Standards Reference

## 1. TDK (Title, Description, Keywords)

### Title
- 50-60 characters max
- Format: SiteName - CoreKeyword | Location
- Each language must have its own localized title
- Example (EN): Black Water King - Shooting Club | Pattaya Thailand
- Example (KR): 블랙워터킹 - 사격장 | 파타야 태국

### Description
- 150-160 characters max
- Include: core selling point + location + call to action
- Each language must have its own localized description

### Keywords
- 5-10 keywords, comma-separated
- Include: site name, type, location, activity keywords
- Mix of short-tail and long-tail

## 2. Schema.org Structured Data

### Primary Schema: Choose based on venue type
| Venue Type | @type |
|---|---|
| Scenic spot / Attraction | TouristAttraction |
| Restaurant / Cafe | Restaurant or CafeOrCoffeeShop |
| Hotel / Resort | Hotel or Resort |
| Entertainment | EntertainmentBusiness or LocalBusiness |
| Zoo / Aquarium | Zoo |
| Theme park | AmusementPark |
| Museum | Museum |

### Required fields
- @context, @type, name, description, url, image
- address (PostalAddress)
- geo (GeoCoordinates) - critical for local SEO

### Recommended fields
- openingHours, priceRange, telephone
- sameAs (social media links)
- potentialAction (booking action)

### Product/Offer Schema (for tickets)
Use AggregateOffer when multiple tickets exist.

## 3. hreflang Tags

### Language code mapping
| Language | hreflang code | URL path |
|---|---|---|
| English | en | /en |
| Korean | ko | /kr |
| Japanese | ja | /jp |
| Chinese (Simplified) | zh | /zh |
| Chinese (Traditional) | zh-HK | /zh-HK |
| Thai | th | /th |
| Russian | ru | /ru |

### Rules
- Always include x-default pointing to the primary language
- Every page must reference all other language versions
- URLs in hreflang must be crawlable

## 4. Open Graph and Twitter Card
- og:title, og:description, og:image (1200x630px), og:url, og:site_name, og:locale
- og:locale:alternate for each additional language
- twitter:card = summary_large_image

## 5. Semantic HTML
- header for navigation
- main for primary content
- section with aria-label for each content block
- footer for footer
- h1 only once per page (site name in hero)
- h2 for section titles
- img with meaningful alt text in every language
- loading=lazy for below-fold images

## 6. URL Path Multi-language Strategy
- www.example.com/en for English
- www.example.com/kr for Korean
- www.example.com/jp for Japanese
- Each language path serves complete HTML with its own TDK
- hreflang tags connect all versions
- Internal links use language-prefixed paths
