Commit Graph

18 Commits

Author SHA1 Message Date
Kunthawat Greethong
5d5e12d7e7 fix: รูปหลักบทความ plastic-grilles-guide path ถูกต้อง (blog/grilles -> grilles)
- featured_image: /images/grilles/air-grille-content.jpg
- สินค้าใหม่ SCG page 2: UBB-G, FRK-G, FRKF-G, Cylence Zandera Scenera, SUPERCOOL-G (6 รายการ)
- สินค้าใหม่ Microfiber page 2: FSF, Pipe Cover, GWPF (3 รายการ)
- รูปสินค้าใหม่ทั้งหมดจาก 3t-insulation.com
- Solar -> NO-CLAD (thermobreak-series-guide)
- Facebook icon + ชื่อ Dealplustech ที่ footer
2026-06-15 12:36:26 +07:00
Kunthawat Greethong
900ffe0f06 feat(seo): add FAQPage JSON-LD schema to pipe-coupling
pipe-coupling.astro has a FAQ UI section (4 Q&A) but was missing
the FAQPage structured data. Added faq prop to BaseLayout so the
schema renders automatically via the existing JsonLd.astro
component.

Now all 3 pages with FAQ UI (realflex, เทอร์โมเบรค-thermobreak,
pipe-coupling) have matching FAQPage JSON-LD schema, which helps
Google rich results + GEO (Google AI Overview, Perplexity, etc.)
surface the FAQ content.

FAQPage schema renders as:
{
  "@type": "FAQPage",
  "mainEntity": [
    {"@type": "Question", "name": "...", "acceptedAnswer": {"@type": "Answer", "text": "..."}},
    ...
  ]
}
2026-06-10 19:31:57 +07:00
Kunthawat Greethong
d5d4574683 fix(hero): replace product pill with category from all-products
Each product page's hero pill now shows the category from
all-products.astro instead of the product-specific sub-pill.

Updated 25 pages:
- ระบบท่อ (6): ppr-thai-ppr, ppr-scg, hdpe, upvc, syler, xy-lent
- เครื่องเชื่อมท่อ (2): pipe-coupling, เม็กกรู๊ฟ-คับปลิ้ง
- ระบบน้ำ (3): วาล์ว-valve, water-pump, water-treatment
- อุปกรณ์ปรับอากาศ (3): grilles, durgo-avvs, หัวจ่าย-ball-jet
- อุปกรณ์ดับเพลิง (2): ตู้ดับเพลิง, realflex
- ฉนวนหุ้มท่อ (7): armflex, aeroflex, maxflex, thermobreak, rockwool, microfiber, scg
- ระบบรั้ว (1): รั้วเทวดา
- เดิม: ระบบรั้วไวน์แมน, เครื่องเชื่อม-hdpe, เครื่องเชื่อม-ppr
2026-06-10 14:34:42 +07:00
Kunthawat Greethong
1e4fa53fb2 fix(pipe-coupling): use MJG80A screenshot as hero image
User provided screenshot of RNT Smart Clamp MJG80A (with SUS304
material, NBR seal, 89.1mm pipe OD, 67.8-91.9mm range) as the
canonical hero image for this product.

Changes:
- public/images/pipe-coupling/mjg80a-hero.png: new hero image
  (copied from user's Desktop screenshot)
- pipe-coupling.astro: hero <img src> updated to mjg80a-hero.png
- all-products.astro: card image updated to mjg80a-hero.png

Other 5 model images (mjg/mjh/mjd/mjer/mjcx/rnt-e009) unchanged
as those are individual model photos from ranotech.com.
2026-06-10 14:21:47 +07:00
Kunthawat Greethong
8346a731a6 feat(pipe-coupling): rewrite as RNT Smart Clamp from Rano Tech
Replaced SMC content with RNT Smart Clamp (Rano Tech) per
supplier data from https://www.ranotech.com/rnt-smart-clamp/

Changes:
1 Content rewrite — pipe-coupling.astro now shows:
   - Hero: RNT Smart Clamp (แคลมป์รัดท่อ Rano Tech)
   - 5 product models with descriptions:
     * MJG — same-size coupling (ต่อท่อขนาดเท่ากัน)
     * MJH — repair clamp with hinge (ซ่อมรั่วแบบบานพับ)
     * MJD — hybrid repair/coupling (ไฮบริด)
     * MJER — elbow repair (ซ่อมส่วนโค้ง)
     * MJCX — custom series
   - FAQ section (4 questions)
   - Installation details

2) Images — Downloaded 12 real RNT product photos from
   ranotech.com/wp-content/uploads/ to
   public/images/pipe-coupling/. Old SMC images removed.

3) all-products.astro — Pipe Coupling card now uses smc-02.jpg
   (new RNT main image) instead of old BG-SMC02.png

4) Sitemap — pipe-coupling URL unchanged (no change needed)
EOF
)
2026-06-10 14:18:58 +07:00
Kunthawat Greethong
ea36f28c17 fix(hero): remove duplicate old CTAs from 19 product pages
Old CTAs (e.g. 'สนใจสินค้าของเรา?', 'สอบถามราคาและสั่งซื้อ',
'sนใจรั้วเทวดา?') were still present above the canonical CTA
section added in 17f4eb7. Each page now has exactly one CTA.

Deleted section types:
  - 12x section gradient (สนใจสินค้าของเรา?)
  -  5x section gradient (สนใจสินค้านี้? — different buttons)
  -  3x box bg-primary-50 (สอบถามราคาและสั่งซื้อ)
  -  2x accent gradient sections
  -  1x div-based (ตู้ดับเพลิง — special format)

Verified: new CTA intact, no duplicate headings, build 40/40 OK,
HTML render: 20/20 have correct single CTA with 2 buttons.
2026-06-10 10:30:00 +07:00
Kunthawat Greethong
17f4eb752b fix(content): drop @ prefix from JPPSELECTION in text + add CTA to 20 products
Two changes driven by content review:

1) @JPPSELECTION → JPPSELECTION in user-visible text only
   - 19 page files: drop @ from inline JPPSELECTION in <p> tags
   - BaseLayout.astro + Footer.astro: drop @ from companyInfo.line
     (rendered as "LINE: @JPPSELECTION" in mobile CTA + footer)
   - URL line.me/ti/p/~JPPSELECTION left unchanged (the @ belongs
     in the URL per line.me convention)

2) Add missing CTA section to all 20 product pages
   - 16 pages had no CTA at all
   - 4 pages (armflex, aeroflex, maxflex, xy-lent) had bespoke
     CTA variants; replaced with canonical template
   - Template copied from ppr-thai-ppr
   - CTA inserted before </main> in all 20 product pages

Verified rendered HTML:
- @JPPSELECTION in <p> text = 0 across all 20 pages
- "LINE: JPPSELECTION" rendered in footer / mobile CTA
- heading + contact + line buttons present in all 20

Files touched: 30
2026-06-10 09:44:28 +07:00
Kunthawat Greethong
d8ff358dd7 refactor(hero): rewrite 9 product hero sections to canonical template
- Extract data from each page (pill, title, image, features, hasPricelist)
- Generate hero from canonical template (text-LEFT, image-RIGHT, animated bg)
- Remove dead <Header slot=Footer slot= StickyBottomCTA slots (BaseLayout renders defaults)
- Remove dead data-price-button when id="pricelist" missing (auto-detect hides it)
- Drop legacy justify-center/max-w-md workarounds; use canonical classes
- Apply consistent TEXT-LEFT order across all product heroes
- Drop unused mobile-only sections in ตู้ดับเพลิง (page now follows template)
- Add overflow-x-clip on header/footer (submenu overflow fix)
- Add .submenu-anchor class for submenu positioning

Verified: 9 pages render with valid HTML, TEXT-LEFT, correct features, no dead links.
2026-06-10 08:16:06 +07:00
hermes
b34f8fc2fb feat(blog): Phase 5 SEO/GEO content with 5 new blog posts
Add 5 long-form Thai blog posts (1,200-2,500 words each) with SEO + GEO
optimization for the dealplustech water-systems site. Each post targets
a specific audience (contractors, engineers, project managers) and
follows a content-quality workflow: source real product specs, verify
Thai text, dedupe images, link back to product pages.

## New blog posts (src/content/blog/)
- thermobreak-guide.md (Thermobreak closed-cell insulation overview)
- plastic-grilles-guide.md (ABS plastic grilles for HVAC)
- ppr-pipe-guide.md (PPR pipe properties + heat-fusion welding)
- ppr-vs-hdpe-vs-upvc.md (3-way pipe comparison with PE80/PE100)
- thermobreak-series-guide.md (Thermobreak LS vs Solar series)
- 10-things-checklist-pipe-ordering.md (10-point pre-order checklist)

## Removed legacy posts
- pipe-knowledge.md, valve-guide.md, welcome-post.md (orphans)

## Hero images (public/images/blog/)
~20 product photos sourced from manufacturers (Thermobreak, Thai PPR,
thaiconsupply) plus Nano Banana Pro infographics. All resized to
3:2 aspect ratio per user preference. Source folder preserved for
re-derivation.

## Astro layout/SEO work
- src/components/seo/SEO.astro, JsonLd.astro (new SEO components)
- src/layouts/BaseLayout.astro, Layout.astro (OG/Twitter/JSON-LD wiring)
- src/pages/404.astro
- Product pages (8): added #pricelist anchors + schema work
- src/styles/global.css: scroll-padding for sticky-header anchors

## Automation scripts (scripts/)
- build_og_image.py (OG image builder)
- inject_faq_schema.py, inject_product_schema.py (JSON-LD injection)

## Misc
- public/robots.txt, public/images/og/default-og.jpg
- .gitignore: exclude scripts/__pycache__/
2026-06-08 12:45:32 +07:00
Kunthawat Greethong
c8cf03a725 Add EmDash CMS blog + hero standardization + seed fix
- Add EmDash CMS integration with SQLite and local storage
- Add blog collection (seed/seed.json) with 3 sample posts
- Add /บทความ list page and /บทความ/[slug] detail page
- Add blog section to homepage
- Fix reserved field slugs (slug, published_at removed from fields)
- Fix date field mapping (publishedAt camelCase)
- Fix featured image URL for admin-uploaded images (meta.storageKey)
- Standardize all product page hero sections
- Update navigation with 'บทความ' link
- Configure Google OAuth provider
2026-06-01 15:44:02 +07:00
Kunthawat Greethong
daa3d56027 Fix hero section structure - remove order classes, add missing classes
Changes:
- Removed order-2 lg:order-1 from 9 pages (image now on LEFT)
- Added bg-white/10 p-2 to image containers in 8 pages
- Added lg:py-24 padding to sections in 8 pages

Pages fixed: durgo-avvs, grilles, water-pump, pipe-coupling,
ท่อ-hdpe, ท่อ-ppr-scg, ท่อ-ppr-thai-ppr, ท่อ-syler, ท่อ-upvc,
ระบบน้ำ, วาล์ว-valve, เครื่องเชื่อม-hdpe, เครื่องเชื่อม-ppr
2026-05-24 21:09:15 +07:00
Kunthawat Greethong
9fc6951dd4 Standardize hero layout with sticky image across all product pages
- All product pages now have lg:sticky lg:top-24 on image container
- LINE button: bg-accent-500 orange
- Phone button: bg-white green
- Grid alignment: items-start
2026-05-24 20:10:32 +07:00
Kunthawat Greethong
f9161ab984 Standardize hero grid to items-start for all product pages 2026-05-24 20:07:20 +07:00
Kunthawat Greethong
7eec86d7c5 Standardize hero section buttons across all product pages
- LINE button: orange accent-500
- Phone button: white with green text
- Price list button: white (shown only when pricelist section exists)
2026-05-24 20:04:58 +07:00
Kunthawat Greethong
67c53fa421 Fix broken overflow-hidden pattern in all product pages 2026-05-24 19:37:51 +07:00
Kunthawat Greethong
e82f4b39f2 Fix animated hero background position and update Header menu
1. Fixed animated hero background - now inside the hero section with proper class structure
2. Changed อุปกรณ์ดับเพลิง to ตู้ดับเพลิง in Header main menu
2026-05-24 11:57:17 +07:00
Kunthawat Greethong
882fa7f819 Update insulation brand pages (Armaflex, Aeroflex, Maxflex)
- Added 3 new brand pages: armflex.astro, aeroflex.astro, maxflex.astro
- Updated hero images with product photos from 3t-insulation.com
- Enhanced content with product specifications and benefits
- Added standard certifications (FM Approved, UL 94, GREENGUARD)
- Added product gallery sections
- Shortened menu names to brand only (Armaflex, Aeroflex, Maxflex)
- Removed old ฉนวนหุ้มท่อ.astro page
- Updated Header and BaseLayout navigation
- Downloaded product images for all 3 brands
2026-05-22 12:50:17 +07:00
Kunthawat Greethong
5219cf8f72 Part 1: Source code - Astro project structure and components 2026-05-21 16:33:59 +07:00