diff --git a/astro.config.mjs b/astro.config.mjs index 0144af0..ebecc7c 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -2,6 +2,7 @@ import { defineConfig } from 'astro/config'; export default defineConfig({ + site: 'https://moreminimore.com', output: 'static', image: { layout: 'constrained', responsiveStyles: true }, devToolbar: { enabled: false }, diff --git a/public/images/portfolio/leudjorakhe.png b/public/images/portfolio/leudjorakhe.png new file mode 100644 index 0000000..a50eef0 Binary files /dev/null and b/public/images/portfolio/leudjorakhe.png differ diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..bd6c8e6 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,6 @@ +User-agent: * +Allow: / +Disallow: /google-apps-script/ +Disallow: /_archive/ + +Sitemap: https://moreminimore.com/sitemap.xml diff --git a/public/sitemap.xml b/public/sitemap.xml new file mode 100644 index 0000000..23653e4 --- /dev/null +++ b/public/sitemap.xml @@ -0,0 +1,16 @@ + + + https://moreminimore.com/weekly1.0 + https://moreminimore.com/about/monthly0.7 + https://moreminimore.com/services/weekly0.9 + https://moreminimore.com/services/website-development/monthly0.8 + https://moreminimore.com/services/marketing-consult/monthly0.8 + https://moreminimore.com/services/automation-workflow/monthly0.8 + https://moreminimore.com/services/ai-consult/monthly0.8 + https://moreminimore.com/portfolio/monthly0.8 + https://moreminimore.com/blog/weekly0.8 + https://moreminimore.com/contact/monthly0.7 + https://moreminimore.com/faq/monthly0.6 + https://moreminimore.com/privacy/yearly0.3 + https://moreminimore.com/terms/yearly0.3 + diff --git a/src/components/Footer.astro b/src/components/Footer.astro index 13bbe2a..15dd09c 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -13,14 +13,21 @@ const currentYear = new Date().getFullYear(); LINE @moreminimore + + + 080-995-5945 + contact@moreminimore.com - © {currentYear} MoreminiMore @@ -51,11 +58,21 @@ const currentYear = new Date().getFullYear(); } .footer-link { + display: inline-flex; + align-items: center; + gap: 6px; color: var(--ink); text-decoration: none; transition: opacity .2s var(--ease); } + .footer-phone-icon { + width: .82em; + height: .82em; + fill: currentColor; + flex: 0 0 auto; + } + .footer-link:hover { opacity: .6; } diff --git a/src/components/LegalPageShell.astro b/src/components/LegalPageShell.astro new file mode 100644 index 0000000..a803ef9 --- /dev/null +++ b/src/components/LegalPageShell.astro @@ -0,0 +1,154 @@ +--- +// Shared layout for legal pages (Privacy Policy, Terms of Service) +// Provides the legal-layout grid + scoped CSS +--- + + + diff --git a/src/components/PageShell.astro b/src/components/PageShell.astro index 1fe9a40..fa499e4 100644 --- a/src/components/PageShell.astro +++ b/src/components/PageShell.astro @@ -3,9 +3,12 @@ import '../styles/global.css'; import Footer from './Footer.astro'; import { formEndpoint, problems, services } from '../data/site.js'; +const canonicalURL = new URL(Astro.url.pathname, Astro.site).toString(); + const { title = 'MoreminiMore', description = 'MoreminiMore ช่วย SME ดูข้อมูลจริงก่อนตัดสินใจทำเว็บ การตลาด AI หรือระบบอัตโนมัติ', + image = '/images/logos/logo-long-black.png', } = Astro.props; --- @@ -17,6 +20,37 @@ const { {title} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

เครื่องมือ

+

เลือกเครื่องมือจากโจทย์ ไม่ใช่จากกระแส

+

+ เราใช้ stack หลายแบบ แต่หลักคิดมีข้อเดียว: เครื่องมือต้องช่วยเพิ่มยอดขาย ลดต้นทุน หรือทำให้ทีมตัดสินใจเร็วขึ้น ถ้าไม่ช่วย เราไม่ยัดใส่โปรเจกต์ให้ดูเท่ +

+
+ +
+ + +
+ + + + 02 +

Build Stack

+

Astro, WordPress, Python, PHP, Node.js — เลือกตามงานจริง ไม่ล็อกลูกค้ากับของที่ดูแพงแต่ดูแลยาก

+
+ +
+ + + + 03 +

Automation + AI

+

n8n, Make, OpenAI API, Meta API, Local LLM — ใช้เมื่อช่วยลดงานซ้ำหรือปิดช่องว่างข้อมูลได้จริง

+
+
+
+
+
@@ -71,3 +112,95 @@ import { process } from '../data/site.js';
+ + diff --git a/src/pages/blog.astro b/src/pages/blog.astro index 6795925..64945a0 100644 --- a/src/pages/blog.astro +++ b/src/pages/blog.astro @@ -31,7 +31,7 @@ const posts = (await getCollection('blog', ({ data }) => !data.draft)).sort( - {post.data.category} + {post.data.category}

{post.data.title}

{post.data.description}

อ่านบทความ diff --git a/src/pages/blog/[slug].astro b/src/pages/blog/[slug].astro index c7ddb3c..63b5b03 100644 --- a/src/pages/blog/[slug].astro +++ b/src/pages/blog/[slug].astro @@ -23,18 +23,18 @@ const formattedDate = new Intl.DateTimeFormat('th-TH', {
- บทความทั้งหมด -

{post.data.category} · {formattedDate}

+ ← บทความทั้งหมด +

{post.data.title}

-

{post.data.description}

+

{post.data.description}

-
- - - +
diff --git a/src/pages/index.astro b/src/pages/index.astro index 1c61cd8..724418a 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,468 +1,212 @@ --- -import '../styles/global.css'; -import Footer from '../components/Footer.astro'; - -const formEndpoint = ''; - -const problems = [ - ['website_no_leads', 'เว็บมีอยู่แล้ว แต่ไม่ค่อยมีลูกค้าทัก'], - ['ads_not_worth_it', 'ยิงแอดอยู่ แต่ยอดขายไม่คุ้ม'], - ['wrong_leads', 'มีคนทักมา แต่ไม่ใช่ลูกค้าที่ใช่'], - ['slow_or_error_work', 'ทีมงานทำงานเดิม ๆ แต่ทำงานช้า หรือผิดพลาดบ่อย'], - ['ai_not_sure', 'อยากใช้ AI แต่ไม่รู้เริ่มตรงไหน'], - ['not_sure', 'ยังไม่แน่ใจว่าควรแก้อะไรก่อน'], -]; - -const services = [ - { - name: 'Website Development', - slug: 'website-development', - headline: 'เว็บที่ช่วยให้ลูกค้ารู้ว่าควรทักเรื่องอะไร', - copy: 'เหมาะกับธุรกิจที่มีเว็บแล้วแต่ลูกค้ายังไม่ค่อยติดต่อ หรืออยากเริ่มเว็บใหม่ให้วัดผลได้ตั้งแต่วันแรก', - }, - { - name: 'Marketing Consult', - slug: 'marketing-consult', - headline: 'การตลาดที่ใช้งบคุ้มขึ้นจากข้อมูลจริง', - copy: 'เหมาะกับธุรกิจที่ยิงแอดอยู่ แต่ยอดขายไม่คุ้ม หรือมีคนทักมาแล้วไม่ใช่ลูกค้าที่ควรได้', - }, - { - name: 'Automation Workflow', - slug: 'automation-workflow', - headline: 'ระบบที่ลดงานช้าและงานผิดพลาด', - copy: 'เหมาะกับทีมที่ทำงานเดิม ๆ ซ้ำทุกวัน ใช้เวลานาน หรือมีจุดผิดพลาดที่แก้ไม่จบ', - }, - { - name: 'AI Consult', - slug: 'ai-consult', - headline: 'AI ที่ช่วยทีมทำงาน ไม่ใช่แค่ของเล่นใหม่', - copy: 'เหมาะกับธุรกิจที่อยากใช้ AI แต่ยังไม่แน่ใจว่างานไหนควรเริ่มก่อนและใช้อย่างไรให้ปลอดภัย', - }, -]; - -const portfolio = [ - { - name: 'Jet Industries', - image: '/images/portfolio/jetindustries.png', - href: 'https://jetindustries.co.th', - tag: 'Featured credibility', - description: 'เว็บไซต์องค์กรผู้ผลิตพลาสติกฉีดขึ้นรูป ประสบการณ์กว่า 40 ปี', - featured: true, - }, - { - name: 'เทรนเนอร์ซันนี่', - image: '/images/portfolio/trainersunny.png', - href: 'https://trainersunny.com', - tag: 'Featured visual', - description: 'เว็บไซต์ personal brand และหลักสูตรอบรมที่มีภาพจำชัด', - featured: true, - }, - { - name: 'Dealplustech', - image: '/images/portfolio/dealplustech.png', - href: 'https://www.dealplustech.co.th', - tag: 'Website Development', - description: 'เว็บไซต์ระบบน้ำและสุขภัณฑ์คุณภาพสูงสำหรับโรงงานและบ้านเรือน', - }, - { - name: 'Underdog Marketing', - image: '/images/portfolio/underdog.png', - href: 'https://underdog.run', - tag: 'Website Development', - description: 'แพลตฟอร์มบทความการตลาดที่ใช้งานง่ายและ SEO friendly', - }, - { - name: 'ทวนทอง 99', - image: '/images/portfolio/tuanthong.png', - href: 'https://tuanthong99.com', - tag: 'E-commerce', - description: 'เว็บไซต์สินค้าอุปโภคบริโภคและสมุนไพรไทย', - }, - { - name: 'สำนักงานกฎหมาย ตถาตา', - image: '/images/portfolio/lawyernoom.png', - href: 'https://lawyernoom.com', - tag: 'Website Development', - description: 'เว็บไซต์สำนักงานกฎหมายที่เน้นความน่าเชื่อถือ', - }, -]; - -const process = [ - ['เข้าใจธุรกิจ', 'ทำความรู้จักเป้าหมาย ลูกค้า และปัญหาที่เจอจริง'], - ['ดูข้อมูล', 'เช็กเว็บ แอด ลูกค้า ขั้นตอนทำงาน หรือข้อมูลที่มีอยู่'], - ['เลือกทางที่คุ้ม', 'เสนอสิ่งที่ควรทำก่อน ไม่ทำทุกอย่างพร้อมกัน'], - ['ลงมือและวัดผล', 'ทำให้ใช้งานได้จริง แล้วดูผลเพื่อปรับต่อ'], -]; +import PageShell from '../components/PageShell.astro'; +import { portfolio, process, problems, services } from '../data/site.js'; --- - - - - - - - - MoreminiMore | เป้าหมายของเราคือการเพิ่มกำไรให้ลูกค้า - - -
-
-
-

ขั้นตอนวินิจฉัย

-

Dataroot: ก่อนแก้ ต้องรู้ก่อนว่าข้อมูลกำลังบอกอะไร

+
+ Dataroot website screenshot +
+ +373% + impression
+
+ +114.2% + click +
+
+ -28.3% + ad spend +
+
+
+
-
-
- - - -
- 01 -

ปัญหา

-

ยิงโฆษณาและทำการตลาดอยู่แล้ว แต่ต้องดูให้ชัดว่าคนที่เข้ามาใช่ลูกค้าที่ควรได้หรือไม่

-
-
- 02 -

สิ่งที่พบ

-

กลุ่มเป้าหมายและข้อความบางส่วนดึงความสนใจได้ แต่ยังไม่พาคนที่มี intent ตรงพอเข้ามา

-
-
- 03 -

สิ่งที่ปรับ

-

ปรับการมองกลุ่มเป้าหมายและการวัดผลจากข้อมูลจริง ไม่ใช่เลือกจากสิ่งที่ดูน่าจะคลิกง่าย

-
-
+
+
+

บริการของเรา

+

บริการเพื่อตอบโจทย์ปัญหาของคุณ

+
-
- Dataroot website screenshot -
- +373% - impression -
-
- +114.2% - click -
-
- -28.3% - ad spend -
-
-
- - -
-
-

บริการ

-

บริการมีไว้ให้เราเลือกให้เหมาะกับปัญหา ไม่ใช่ให้คุณเดาเอง

-
- -
- {services.map((service) => ( -
- - - - {service.name} -

{service.headline}

-

{service.copy}

-
- ))} -
-
- -
-
-

ผลงาน

-

งานเว็บที่ต้องดูน่าเชื่อถือก่อน แล้วค่อยสวยแบบมีเหตุผล

-
- -
- {portfolio.slice(0, 5).map((item) => ( - - {`${item.name} -
- {item.tag} -

{item.name}

-

{item.description}

-
-
- ))} -
-
- ไปหน้า ผลงาน -
-
- -
-
-

วิธีการทำงาน

-

ไม่เริ่มจากขายของ เริ่มจากเข้าใจธุรกิจก่อน

-
-
- {process.map(([title, copy], index) => ( -
- - - - {String(index + 1).padStart(2, '0')} -

{title}

-

{copy}

-
- ))} -
-
- -
-
+
+ {services.map((service) => ( +
-

เริ่มต้นง่าย ๆ

-

ส่งโจทย์สั้น ๆ มาก่อนก็ได้ เดี๋ยวเราช่วยดูว่าควรเริ่มตรงไหน

- -
-
- + {service.name} +

{service.headline}

+

{service.copy}

+ + + ))} + + -