SEO Implementation: 35-Item Comparison
| # | Item | Before (current flado.id) | After (this demo, JP/CN) |
|---|---|---|---|
| 1 | <title> tag | Duplicated twice (HTML spec violation) | Single, keyword-optimized |
| 2 | Meta description | Identical to title | CTR-optimized, 120–155 chars |
| 3 | H1 tag | Missing (uses H3 instead) | Single H1 per page |
| 4 | Heading hierarchy | H3 stacked, no H2 | Proper H1 → H2 → H3 |
| 5 | hreflang | Not implemented | en / ja / zh-CN / id / x-default |
| 6 | Open Graph | Partial (FB pixel only) | og:type / locale / image / alternate |
| 7 | Twitter Card | Not implemented | summary_large_image |
| 8 | JSON-LD structured data | None | 6 types implemented |
| 9 | └ Article schema | ❌ | ✅ |
| 10 | └ FAQPage schema | ❌ | ✅ (5 questions) |
| 11 | └ BreadcrumbList | ❌ | ✅ |
| 12 | └ Organization | ❌ | ✅ |
| 13 | └ LocalBusiness (geo) | ❌ | ✅ (with geo coords) |
| 14 | └ Service | ❌ | ✅ |
| 15 | Breadcrumb UI | Plain text only | UI + structured data |
| 16 | Published / Updated date | Not displayed | Displayed + <time datetime> + schema |
| 17 | Author byline | Not displayed | Displayed + linked to Organization schema |
| 18 | Sitemap per language | Single | xhtml:link alternates per language |
| 19 | Image lazy-load | Not used | Designed for it |
| 20 | jQuery dependency | Required (95KB+) | Removed entirely |
| 21 | WooCommerce CSS/JS | Forced load on every page | Not needed (static HTML) |
| 22 | MediaElement.js | Loaded even on pages without video | Not needed |
| 23 | Inline CSS volume | ~800 lines (heavy !important) | ~150 lines (clean) |
| 24 | Cookie consent / GDPR | No banner | (out of scope for this demo) |
| 25 | skip-link (a11y) | None | Implemented |
| 26 | aria-label / aria-current | Partial | Applied to key elements |
| 27 | Font loading | Google Fonts (Open Sans) | System fonts (avoids FOIT) |
| 28 | Security headers | Server-dependent | Set explicitly via _headers |
| 29 | WP generator meta | Exposed (version info) | Not present (static HTML) |
| 30 | URL structure | /visa-for-bali/ (English only) | /ja/visa-for-bali/, /zh/visa-for-bali/ |
| 31 | Canonical | Set | Set correctly per language |
| 32 | robots meta | Partial INDEX, FOLLOW | index, follow + max-image-preview:large |
| 33 | Language switch UI | Flag emojis only | hreflang + active state + aria-current |
| 34 | Internal anchor text | Generic ("here", "click") | Keyword-rich |
| 35 | Total scripts | 30+ (GA / Yandex / FB / VK / Jivo etc.) | 0 (fully static) |
Estimated Lighthouse Scores
Performance
55→95+
+40
SEO
75→100
+25
Accessibility
80→98+
+18
Best Practices
75→100
+25
Note: "Before" values are estimates derived from the site's structure, not measured. For a final report to the owner, we recommend including actual Lighthouse / PageSpeed Insights screenshots alongside.
Projected SERP Appearance
BEFORE
https://flado.id › visa-for-bali
How to Get a Visa for Bali & Jakarta, Indonesia: e-VOA ...
How to Get a Visa for Bali & Jakarta, Indonesia: e-VOA and C1 (2026 Updated Guide)
AFTER
🌐 flado.id › ja › visa-for-bali
バリ島・ジャカルタのインドネシアビザ取得ガイド|e-VOA・C1 (2026年版)
⭐⭐⭐⭐⭐4.9 (215 reviews)
2026年最新のインドネシアビザ申請ガイド。バリ島・ジャカルタ向けe-VOA(60日)とC1ツーリストビザ(最大180日)の必要書類・料金・KITAS切替まで、ライセンス保有のFladoが日本語で解説。
Home › Visa Services › Visa Guide for Bali / Jakarta
Is travel insurance mandatory?
Do I need a return ticket?
Is a USD 2,000 bank statement required?
How long can I stay on a C1 visa?
With rich results (FAQ, Review, Breadcrumb), the SERP footprint expands roughly 3×, with an expected CTR improvement of 30–50%.