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": "..."}},
...
]
}
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.
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.
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
- 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.
- 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
- 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
1. Fixed animated hero background - now inside the hero section with proper class structure
2. Changed อุปกรณ์ดับเพลิง to ตู้ดับเพลิง in Header main menu
- 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