هل تجاوزت WordPress؟ خريطة الهجرة Next.js + Supabase
لوحة تحكم WordPress الخاصة بك تفتح وأيقونة التحديث تتوهج بالأحمر - مرة أخرى. تضغط. ثلاث إضافات تتضارب. نموذج الاتصال يتوقف عن العمل. يرسل لك عميلك بريداً إلكترونياً في الساعة 11 مساءً لأن الموقع يبدو بطيئاً، وأنت تعرف بالفعل: ستة ثوان إلى التفاعل، ربما سبع إذا كان شخص ما على جهاز محمول. إشعار أمان يصل في صباح اليوم التالي - CVE-2022-شيء ما - ومؤلف الإضافة اختفى منذ سنتين. أنت تصلح ما يمكنك، وتؤجل ما لا يمكنك، وتعد نفسك بأن هذه هي آخر مرة. لكن دورة التحديث التالية بعد أسبوعين فقط، وأنت تحدق في نفس المقايضة: الاستقرار أو الميزات، لا أبداً كليهما. هناك مكدس أفضل ينتظر - واحد لا يجبرك على الاختيار.
إليك الشيء - WordPress يقوي أكثر من 40% من الويب، وبسبب وجيه. إنه سهل الوصول إليه، ولديه نظام بيئي ضخم، وأحضر الكثير من الشركات على الإنترنت بسرعة. لكن هناك فرق بين أداة تبدأك وأداة تنمو معك. إذا كنت تقرأ هذا، فأنت ربما وصلت إلى هذا الحد. دعني أرشدك من خلال ما تبدو عليه الهجرة الحقيقية من WordPress إلى بنية Next.js + Supabase بدون رأس - ليس نسخة التسويق، بل دليل الهندسة الفعلي.
جدول المحتويات
- علامات أنك تجاوزت WordPress فعلاً
- ضريبة WordPress: ما الذي يكلفه地獄الإضافات فعلاً
- لماذا Next.js + Supabase هو المكدس الذي يحقق النتيجة
- دليل الهجرة: مرحلة تلو الأخرى
- هجرة البيانات: الحصول على المحتوى الخاص بك من WordPress
- بناء الواجهة الأمامية باستخدام Next.js
- إعداد Supabase كخادم الخلفية الخاص بك
- معالجة المصادقة وبيانات المستخدم
- الحفاظ على SEO: لا تفقد ما بنيته
- معايير الأداء: قبل وبعد
- مقارنة التكاليف: WordPress مقابل المكدس بدون رأس
- الأسئلة الشائعة

علامات أنك تجاوزت WordPress فعلاً
ليس كل شخص يحتاج إلى مغادرة WordPress. أريد أن أكون صريحاً حول ذلك. إذا كنت تشغل مدونة شخصية أو موقع كتيب لعمل محلي، فإن WordPress مع موضوع لائق وحفنة من الإضافات ربما لا يزال الخيار الصحيح. لكن هناك علامات واضحة على أنك تجاوزته:
تعارضات الإضافات تكسر الأشياء شهرياً
أنت تحدّث WooCommerce، وبناء الصفحة الخاص بك ينكسر. أنت تحدّث بناء الصفحة الخاص بك، وإضافة SEO الخاصة بك تطرح تحذيرات. أنت تحدّث PHP إلى 8.2 لأن مضيفك يتطلبه، وثلاث إضافات تتوقف عن العمل تماماً. هذا ليس خللاً - إنها البنية. جميع إضافات WordPress تشارك نفس النطاق العام، نفس الخطافات، نفس قاعدة البيانات. كل إضافة هي احتمالية صراع مع كل إضافة أخرى.
لقد دققت في مواقع WordPress تقوم بتشغيل 30، 40، وحتى 60+ إضافة نشطة. في هذه النقطة، أنت لا تصيانة موقع ويب. أنت تصيانة برج Jenga.
أصبحت الأداء وظيفة بدوام كامل
نتيجة PageSpeed الخاصة بك هي 30s. لقد قمت بتثبيت إضافة التخزين المؤقت، وإضافة تحسين الصور، وإضافة التصغير، وإضافة CDN - كل هذا لإصلاح مشاكل الأداء الناتجة عن الإضافات الأخرى الـ 25. السخرية سميكة.
WordPress ينتج صفحات ديناميكياً في كل طلب (ما لم يتم تخزينها مؤقتاً). يمكن لكل إضافة حقن ملفات CSS و JavaScript الخاصة بها. تحمّل صفحة WordPress نموذجية مع الإضافات الشهيرة 15-30 مورد منفصل يحجب العرض. تُظهر بيانات Google Core Web Vitals أن مواقع WordPress لها معدل نجاح بنسبة 33% على جميع معايير CWV الثلاثة، مقابل 52% للمواقع المبنية بأطر عمل JavaScript الحديثة.
ثغرات أمنية تبقيك مستيقظاً في الليل
تتبعت قاعدة بيانات ثغرات WPScan آلاف ثغرات WordPress - الأغلبية في الإضافات والمواضيع. إذا كنت تقوم بتشغيل موقع يتعامل مع بيانات المستخدم أو المدفوعات أو أي نوع من المعلومات الحساسة، فإن كل إضافة هي سطح هجوم. أبلغت Patchstack أن 97% من ثغرات أمان WordPress تأتي من الإضافات.
أنت في الأساس تثق بعشرات المطورين المستقلين - كثير منهم يحافظ على الإضافات كمشاريع جانبية - بموقفك الأمني.
فريق Dev الخاص بك يكره العمل عليها
هذا واحد غير مقدّر. المطورون الجيدون لا يريدون العمل في WordPress بعد الآن. سير عمل PHP-template-spaghetti-with-ACF-fields مؤلم مقارنة بتطوير عناصر حديثة. إذا كنت تحاول جذب والاحتفاظ بالمواهب الهندسية، فإن المكدس التكنولوجي الخاص بك مهم.
ضريبة WordPress: ما الذي يكلفه جحيم الإضافات فعلاً
دعني أضع بعض الأرقام على هذا. بالنسبة لموقع WordPress متوسط الحجم (لنقل موقع تجارة إلكترونية أو موقع تسويق SaaS مع مدونة وحسابات مستخدمين وميزات مخصصة)، إليك ما تبدو عليه "ضريبة WordPress" عادة سنوياً:
| فئة التكلفة | التقدير السنوي |
|---|---|
| تراخيص الإضافات المميزة (15-20 إضافة) | 1,500 - 4,000 دولار |
| استضافة WordPress المُدارة (WP Engine, Kinsta) | 1,200 - 6,000 دولار |
| مراقبة الأمان + التنظيف (Sucuri, Wordfence) | 300 - 500 دولار |
| وقت تحسين الأداء (ساعات المطور) | 3,000 - 8,000 دولار |
| تصحيح أخطاء تعارض الإضافات (ساعات المطور) | 2,000 - 6,000 دولار |
| إصلاحات طوارئ من التحديثات التي تكسر الأشياء | 1,000 - 4,000 دولار |
| إجمالي ضريبة WordPress السنوية | 9,000 - 28,500 دولار |
هذا قبل أن تبني ميزة واحدة جديدة. إنها تكلفة الحفاظ على الأضواء فقط.
لماذا Next.js + Supabase هو المكدس الذي يحقق النتيجة
هناك عشرة طرق للذهاب بدون رأس. يمكنك استخدام Gatsby (على الرغم من أنه في الأساس في وضع الصيانة منذ استحوذت Netlify عليه). يمكنك استخدام Remix أو Astro أو SvelteKit. للخلفية، يمكنك استخدام Firebase أو PlanetScale أو API مخصص.
لكن بالنسبة للفرق التي تهاجر من WordPress في عام 2026، فإن Next.js + Supabase يضرب منطقة حلوة يصعب التغلب عليها. إليك السبب.
Next.js: الواجهة الأمامية التي تفعل كل شيء
Next.js 15 (مستقر منذ أكتوبر 2024) يعطيك مكونات الخادم بشكل افتراضي، مما يعني أنك تحصل على أداء المواقع الثابتة مع مرونة المواقع الديناميكية. يمكنك توليد مشاركات مدونتك بشكل ثابت وقت البناء، وعرض الخادم لصفحاتك الديناميكية، وعرض المكونات التفاعلية من جانب العميل - كل هذا في نفس التطبيق.
بالنسبة للفرق القادمة من WordPress، الفوائد الرئيسية هي:
- تحسين الصور المدمج - يحل محل 2-3 إضافات WordPress
- تقسيم الكود التلقائي - تحمل كل صفحة فقط JS التي تحتاجها
- Edge middleware - معالجة إعادة التوجيه والمصادقة واختبارات A/B على مستوى CDN
- Incremental Static Regeneration (ISR) - إعادة بناء الصفحات الفردية بدون نشرات كاملة
- App Router مع React Server Components - تقليل جافا سكريبت من جانب العميل بشكل كبير
نبني الكثير من مشاريع Next.js في Social Animal (تحقق من إمكانيات تطوير Next.js)، والفرق في الأداء مقابل WordPress ملحوظ باستمرار.
Supabase: الخلفية التي تمنى WordPress أن تكون لديها
Supabase هو بديل Firebase مفتوح المصدر مبني على PostgreSQL. يعطيك:
- قاعدة بيانات Postgres كاملة مع REST وGraphQL API مُنشأة تلقائياً من مخطط البيانات الخاص بك
- مصادقة مدمجة (بريد إلكتروني وOAuth وروابط سحرية وSSO)
- سياسات أمان على مستوى الصفوف للتحكم الدقيق في الوصول
- الاشتراكات في الوقت الفعلي عبر WebSockets
- وظائف Edge للمنطق الخلفي الخادم
- التخزين لتحميلات الملفات مع تسليم CDN
بالنسبة لهجرات WordPress على وجه التحديد، Supabase رائعة لأن WordPress يستخدم MySQL، وطراز بيانات WordPress يرسم بشكل مفاجئ بشكل جيد إلى PostgreSQL. أنواع المشاركات المخصصة تصبح جداول. metadata المشاركة تصبح أعمدة JSONB. بيانات المستخدم ترسم تقريباً 1:1.
مستوى Supabase المجاني يتضمن 500MB قاعدة بيانات، و1GB تخزين، و50,000 مستخدم نشط شهري على المصادقة. خطتهم Pro بـ 25 دولار/شهر تغطي معظم المواقع الإنتاجية. قارن ذلك مع 30-100 دولار/شهر الذي تدفعه لاستضافة WordPress المُدارة وحدها.

دليل الهجرة: مرحلة تلو الأخرى
إليك الطريقة التي صقلتها على مدى عشرات هجرات WordPress. إنها ليست مشروع نهاية الأسبوع - ميزانية 4-12 أسبوع حسب التعقيد - لكنها يمكن التنبؤ بها ومنخفضة المخاطر إذا اتبعت المراحل.
المرحلة 1: التدقيق والبنية (الأسبوع 1)
قبل أن تكتب سطر واحد من التعليمات البرمجية:
- تصدير قائمة إضافات كاملة باستخدام
wp plugin list --status=active(WP-CLI) - رسم كل إضافة إلى استبدالها في المكدس الجديد
- تصدير هيكل عنوانك الكامل بما في ذلك جميع المشاركات والصفحات والتصنيفات وأنواع المشاركات المخصصة
- توثيق كل النماذج والتكاملات والاتصالات بجهات خارجية
- تحديد الميزات المخصصة التي تعيش في
functions.phpالخاص بموضوعك
تمرين رسم الإضافة حاسم. إليك ما تبدو عليه الاستبدالات الشائعة:
| إضافة WordPress | استبدال بدون رأس |
|---|---|
| Yoast SEO | Next.js metadata API المدمج + generateMetadata() |
| WP Super Cache / W3 Total Cache | غير مطلوب (ثابت بشكل افتراضي) |
| Wordfence / Sucuri | Supabase RLS + حماية DDoS المدمجة في Vercel |
| Contact Form 7 / Gravity Forms | React Hook Form + Supabase Edge Function |
| WooCommerce | Saleor أو Medusa.js أو Shopify Storefront API |
| ACF / Custom Fields | جداول Supabase مع مخططات آمنة |
| WP Migrate DB | سكريبت هجرة Supabase الواحد |
| Smush / ShortPixel | مكون Next.js Image (مدمج) |
| Elementor / WPBakery | مكونات React (لن تفتقدهم) |
المرحلة 2: إعداد المكدس الجديد (الأسبوع 2)
# إنشاء مشروع Next.js الخاص بك
npx create-next-app@latest my-site --typescript --tailwind --app --src-dir
# تثبيت Supabase
npm install @supabase/supabase-js @supabase/ssr
# إعداد متغيرات البيئة
cp .env.example .env.local
.env.local الخاص بك:
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
نشر إلى Vercel على الفور. نعم، قبل أن تبني أي شيء ذو معنى. وجود عنوان URL معاينة مباشر من اليوم الأول يغير كيفية عملك - أصحاب المصلحة يمكنهم رؤية التقدم، وتكتشف مشاكل النشر مبكراً.
هجرة البيانات: الحصول على المحتوى الخاص بك من WordPress
هنا حيث معظم أدلة الهجرة تصبح غامضة. دعني أكون محدداً.
الخطوة 1: تصدير بيانات WordPress
لا تستخدم تصدير XML المدمج في WordPress. إنه غير كامل وبه هيكل سيء. بدلاً من ذلك، استخدم WP-CLI والاستعلامات المباشرة لقاعدة البيانات:
# تصدير المشاركات كـ JSON
wp post list --post_type=post --format=json --fields=ID,post_title,post_content,post_excerpt,post_date,post_status,post_name > posts.json
# تصدير الصفحات
wp post list --post_type=page --format=json --fields=ID,post_title,post_content,post_excerpt,post_date,post_status,post_name > pages.json
# تصدير أنواع المشاركات المخصصة
wp post list --post_type=your_cpt --format=json > cpt.json
# تصدير metadata المشاركة (حقول ACF، إلخ)
wp eval 'global $wpdb; $results = $wpdb->get_results("SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE meta_key NOT LIKE \"_%\""); echo json_encode($results);' > postmeta.json
الخطوة 2: تحويل وتحميل إلى Supabase
كتابة سكريبت الهجرة. أفضل TypeScript لهذا:
import { createClient } from '@supabase/supabase-js'
import posts from './exports/posts.json'
const supabase = createClient(
process.env.SUPABASE_URL!,
process.env.SUPABASE_SERVICE_ROLE_KEY!
)
async function migratePosts() {
for (const post of posts) {
const { error } = await supabase.from('posts').insert({
wp_id: post.ID,
title: post.post_title,
slug: post.post_name,
content: convertWpContentToMdx(post.post_content),
excerpt: post.post_excerpt,
published_at: post.post_date,
status: post.post_status === 'publish' ? 'published' : 'draft',
})
if (error) console.error(`Failed to migrate post ${post.ID}:`, error)
}
}
function convertWpContentToMdx(html: string): string {
// استخدم turndown أو rehype للتحويل من HTML إلى MDX في WordPress
// معالجة الاختصارات والتضمينات وكتل Gutenberg
// هنا حيث يعيش 80% من تعقيد الهجرة
}
دالة convertWpContentToMdx هي حيث ستقضي معظم الوقت. محتوى WordPress هو فوضى من HTML واختصارات وتعليقات كتل Gutenberg وعناوين oEmbed المضمنة. تتعامل مكتبات مثل turndown مع تحويل HTML-to-Markdown الأساسي، لكنك ستحتاج إلى قواعد مخصصة للاختصارات والكتل.
الخطوة 3: هجرة الوسائط
import { createClient } from '@supabase/supabase-js'
import fetch from 'node-fetch'
async function migrateMedia(mediaItems: any[]) {
for (const item of mediaItems) {
const response = await fetch(item.source_url)
const buffer = await response.buffer()
const { error } = await supabase.storage
.from('media')
.upload(`uploads/${item.slug}.${item.mime_type.split('/')[1]}`, buffer, {
contentType: item.mime_type,
})
if (error) console.error(`Failed to upload ${item.slug}:`, error)
}
}
بناء الواجهة الأمامية باستخدام Next.js
مع بيانات Supabase لديك، بناء الواجهة الأمامية هو الجزء الممتع. إليك صفحة مشاركة مدونة نموذجية باستخدام Next.js App Router:
// src/app/blog/[slug]/page.tsx
import { createClient } from '@/lib/supabase/server'
import { notFound } from 'next/navigation'
import { MDXRemote } from 'next-mdx-remote/rsc'
export async function generateMetadata({ params }: { params: { slug: string } }) {
const supabase = createClient()
const { data: post } = await supabase
.from('posts')
.select('title, excerpt, og_image')
.eq('slug', params.slug)
.single()
if (!post) return {}
return {
title: post.title,
description: post.excerpt,
openGraph: { images: [post.og_image] },
}
}
export default async function BlogPost({ params }: { params: { slug: string } }) {
const supabase = createClient()
const { data: post } = await supabase
.from('posts')
.select('*')
.eq('slug', params.slug)
.eq('status', 'published')
.single()
if (!post) notFound()
return (
<article className="prose lg:prose-xl mx-auto">
<h1>{post.title}</h1>
<time dateTime={post.published_at}>
{new Date(post.published_at).toLocaleDateString()}
</time>
<MDXRemote source={post.content} />
</article>
)
}
لاحظ عدم وجود إضافة التخزين المؤقت، لا إضافة الأداء، لا إضافة SEO. معالجة metadata SEO. مكونات الخادم معالجة الأداء. يتعامل CDN مع التخزين المؤقت. كل هذا مدمج.
إعداد Supabase كخادم الخلفية الخاص بك
ينبغي تصميم مخطط Supabase الخاص بك حول احتياجات بيانات فعلية، وليس بنية WordPress الجنيرالية wp_posts / wp_postmeta. إليك مخطط أنظف:
-- جدول المشاركات
create table posts (
id uuid default gen_random_uuid() primary key,
title text not null,
slug text unique not null,
content text,
excerpt text,
featured_image text,
status text default 'draft' check (status in ('draft', 'published', 'archived')),
author_id uuid references auth.users(id),
published_at timestamptz,
created_at timestamptz default now(),
updated_at timestamptz default now(),
metadata jsonb default '{}'
);
-- التصنيفات
create table categories (
id uuid default gen_random_uuid() primary key,
name text not null,
slug text unique not null,
description text
);
-- أمان على مستوى الصفوف
alter table posts enable row level security;
create policy "المشاركات المنشورة مرئية للجميع"
on posts for select
using (status = 'published');
create policy "يمكن للمؤلفين إدارة مشاركاتهم الخاصة"
on posts for all
using (auth.uid() = author_id);
عمود metadata jsonb هو مخرجك الأخير. أي حقول مخصصة لا تستحق عمودها الخاص يمكن أن تعيش هناك. إنه مفهرس، قابل للاستعلام، ومرن بلا حدود - مثل حقول ACF لكن بدون الإضافة.
معالجة المصادقة وبيانات المستخدم
إذا كان موقع WordPress الخاص بك يحتوي على حسابات مستخدم، فإن Supabase Auth يتعامل مع الهجرة بنظافة. لا يمكنك ترحيل بكلمات المرور (WordPress يستخدم phpass، Supabase يستخدم bcrypt)، لكن يمكنك:
- استيراد رسائل البريد الإلكتروني والملفات الشخصية للمستخدمين إلى Supabase
- تشغيل تدفق "أعد تعيين كلمة المرور الخاصة بك" لجميع المستخدمين عند أول تسجيل دخول
- أو استخدم مصادقة الرابط السحري حتى لا تكون كلمات المرور مطلوبة على الإطلاق
Supabase يدعم البريد الإلكتروني وكلمة المرور و Google و GitHub و Apple وعشرات موفري OAuth الآخرين بدون صندوق. لا توجد إضافة مطلوبة.
الحفاظ على SEO: لا تفقد ما بنيته
هذا غير قابل للتفاوض. قد تؤدي الهجرة سيئة التنفيذ إلى تدمير سنوات من حقوق SEO بين عشية وضحاها. إليك قائمة المراجعة:
رسم كل عنوان URL قديم إلى عنوان URL جديد. WordPress يستخدم
/2024/01/post-title/افتراضياً. قد يستخدم موقعك الجديد/blog/post-title. كل عنوان URL قديم واحد يحتاج إلى إعادة توجيه 301.تنفيذ إعادات التوجيه في Next.js:
// next.config.js
module.exports = {
async redirects() {
return [
// عناوين WordPress المستندة إلى التاريخ إلى فتات نظيفة
{
source: '/:year(\\d{4})/:month(\\d{2})/:slug',
destination: '/blog/:slug',
permanent: true,
},
// صفحات الفئة
{
source: '/category/:slug',
destination: '/blog/category/:slug',
permanent: true,
},
]
},
}
- الحفاظ على جميع علامات META والأوصاف والبيانات المنظمة. صدّرها من Yoast قبل الهجرة.
- قدم الخريطة الموقع الجديدة إلى Google Search Console مباشرة بعد الإطلاق.
- أبقِ الموقع القديم يعمل على نطاق فرعي (old.yoursite.com) لمدة 30 يوم كنسخة احتياطية.
معايير الأداء: قبل وبعد
إليك أرقام حقيقية من الهجرات التي أجريناها في Social Animal (هذه متوسطات عبر مشاريع الهجرة):
| المقياس | WordPress (قبل) | Next.js + Supabase (بعد) | التحسن |
|---|---|---|---|
| درجة Lighthouse الأداء | 38 | 94 | +147% |
| Largest Contentful Paint (LCP) | 4.2s | 0.9s | -79% |
| First Input Delay (FID) | 180ms | 12ms | -93% |
| Cumulative Layout Shift (CLS) | 0.25 | 0.02 | -92% |
| Time to First Byte (TTFB) | 1.8s | 0.15s | -92% |
| إجمالي وزن الصفحة | 3.2MB | 420KB | -87% |
| طلبات HTTP | 47 | 8 | -83% |
هذه ليست مختارة بعناية. إنها متسقة. عندما تلغي 30+ إضافة، كل واحد يحقن CSS و JS الخاصة بهم، واستبدل العرض الديناميكي PHP مع مكونات React ثابتة/تقدم من جانب الخادم على CDN عام، النتائج يمكن التنبؤ بها.
إذا كنت فضولياً حول ما قد تبدو عليه هذه الأنواع من النتائج لمشروعك، صفحة التسعير توضح ما عادة ما تكلفه مشاريع هجرة headless.
مقارنة التكاليف: WordPress مقابل المكدس بدون رأس
| WordPress (سنوي) | Next.js + Supabase (سنوي) | |
|---|---|---|
| الاستضافة | 1,200 - 6,000 دولار (WP Engine/Kinsta) | 0 - 240 دولار (Vercel Pro) |
| قاعدة البيانات/الخلفية | مضمن في الاستضافة | 0 - 300 دولار (Supabase Pro) |
| تراخيص الإضافات | 1,500 - 4,000 دولار | 0 دولار |
| أدوات الأمان | 300 - 500 دولار | 0 دولار (مدمج) |
| CDN | 0 - 600 دولار | 0 دولار (مضمن مع Vercel) |
| ساعات تطوير الصيانة | 6,000 - 18,000 دولار | 1,000 - 4,000 دولار |
| الإجمالي | 9,000 - 29,100 دولار | 1,000 - 4,540 دولار |
مكدس headless أرخص بنسبة 70-85% للعمل سنوياً. الهجرة نفسها لديها تكلفة أولية بالتأكيد - عادة 15,000-60,000 دولار حسب التعقيد لبناء احترافي (انظر إلى خدمات تطوير headless CMS للتفاصيل). لكنها تدفع نفسها خلال 6-18 شهراً من خلال تكاليف التشغيل المنخفضة وحدها، قبل أن تأخذ في الاعتبار تأثير الإيرادات لأداء وSEO أفضل.
الأسئلة الشائعة
هل أحتاج إلى تعلم React/Next.js لإدارة المحتوى الخاص بي بعد الهجرة؟ لا. معظم الفرق تزاوج Next.js مع headless CMS مثل Sanity أو Contentful أو حتى WordPress نفسه يُستخدم بحتة كـ headless CMS (عبر REST API). محررو المحتوى لا يلمسون الكود أبداً. يحصلون على واجهة تحرير نظيفة، والواجهة الأمامية تسحب المحتوى عبر API. إذا كنت تريد الاحتفاظ بمحرر WordPress الذي يعرفه فريقك، يمكنك بالتأكيد - فقط أزل واجهة WordPress الأمامية واستخدمه كخلفية محتوى.
كم من الوقت تستغرق هجرة WordPress إلى Next.js النموذجية؟ للموقع الموجه للمحتوى مع مدونة وصفحات قياسية: 4-6 أسابيع. لموقع مع تجارة إلكترونية وحسابات مستخدم وأنواع مشاركات مخصصة وميزات معقدة: 8-14 أسبوع. المتغير الأكبر هو تعقيد المحتوى - المواقع ذات محتوى يعتمد على الاختصارات الثقيلة أو كتل Gutenberg المخصصة بعمق تستغرق وقتاً أطول للهجرة بنظافة.
هل سأفقد تصنيفات Google الخاصة بي أثناء الهجرة؟ لا إذا تعاملت مع إعادة التوجيه بشكل صحيح. تحافظ إعادات التوجيه 301 على 90-99% من حقوق الروابط. نرى عادة انخفاض صغير في الأسبوع الأول أو الثاني بعد الهجرة (Google تحتاج إلى إعادة الزحف)، متبوعاً بتصنيفات محسنة بسبب درجات Core Web Vitals أفضل. المفتاح هو رسم كل عنوان URL واحد ولا تطلق حتى تكون خريطة إعادة التوجيه كاملة.
هل Supabase جاهز للإنتاج للمواقع عالية الحركة؟ نعم. يعمل Supabase على بنية AWS وتم استخدامه في الإنتاج من قبل شركات تتعامل مع ملايين الطلبات. قاعدة البيانات الخاصة بهم هي مجرد PostgreSQL - ربما أكثر قاعدة بيانات معركة تم اختبارها في الوجود. يخدم Supabase أكثر من 1 مليون قاعدة بيانات ويعالج مليارات طلبات API يومياً. للحجم الإضافي، الخطط الخاصة بهم Pro ($25/شهر) و Team ($599/شهر) تتضمن موارد مخصصة وحجم الأولوية.
هل يمكنني هجرة WooCommerce إلى هذا المكدس؟ يمكنك، لكن التجارة الإلكترونية تضيف تعقيد كبير. معظم الفرق التي تهاجر من WooCommerce تذهب إما إلى Shopify (باستخدام Storefront API مع واجهة أمامية Next.js) أو حل مفتوح المصدر مثل Medusa.js أو Saleor. يمكن لـ Supabase التعامل مع فهارس المنتجات وإدارة الطلبات، لكن ستحتاج إلى بناء الدفع ومعالجة الدفع وإدارة المخزون وحسابات الضرائب بنفسك. بالنسبة لمعظم الشركات، استخدام خلفية تجارة إلكترونية مخصصة والاتصال بـ Next.js أكثر معنى.
ماذا عن متعدد الموقع WordPress - هل يمكن لهذا المكدس استبداله؟ قطعاً. لـ Next.js دعم ممتاز لبنى متعددة المستأجرين باستخدام middleware والتوجيه الديناميكي. يجعل Row Level Security من Supabase من الممل الفصل بين البيانات حسب المستأجر. لقد هاجرنا شبكات متعددة الموقع WordPress مع 50+ موقع إلى تطبيق Next.js واحد بتوجيه خاص بالمستأجر، وكان التبسيط التشغيلي ضخماً.
هل لا تزال بحاجة إلى CMS، أو هل يمكنني فقط استخدام Supabase مباشرة؟ Supabase يعطيك محرر الجدول الذي يعمل للمطورين، لكن محررو المحتوى عادة ما يريدون شيئاً أكثر لمعاناً. الأساليب الأكثر شيوعاً هي: (1) استخدم headless CMS مخصص مثل Sanity أو Storyblok للمحتوى و Supabase لبيانات التطبيق، (2) بناء واجهة إدارة بسيطة باستخدام Next.js + Supabase Auth، أو (3) الاحتفاظ بـ WordPress كخلفية headless CMS. الخيار 1 هو الأكثر شهرة بين المواقع الموجهة للمحتوى. إذا كنت تستكشف الخيارات، فإننا نقسم المقايضات في صفحات تطوير Astro و headless CMS.
ماذا لو ذهبت الهجرة بشكل خاطئ - هل يمكنني العودة إلى WordPress؟ نعم، وينبغي أن تخطط لهذا. احتفظ بموقع WordPress الخاص بك على نطاق فرعي طوال عملية الهجرة. استخدم التبديل على مستوى DNS (غيّر سجل A أو CNAME) حتى تتمكن من العودة في دقائق. نوصي بإبقاء المثيل القديم WordPress يعمل لمدة 30 يوم على الأقل بعد الإطلاق. فقط أزل الخدمة بعد أن أكدت أن جميع إعادات التوجيه تعمل وتصنيفات البحث مستقرة وتم التحقق من جميع الميزات. إذا كنت تريد المساعدة في التخطيط لهجرة مع إجراءات النسخ الاحتياطي المناسبة، اتصل بفريقنا - لقد فعلنا هذا بما يكفي لنعرف أين تكمن الحفر.