I'm always excited to take on new projects and collaborate with innovative minds.

Phone

+20 115 052 9992

Website

https://ibrahimahmed.online/

Social Links

إزاي تخلي مشروعك بـ Inertia صديق لمحركات البحث عن طريق الـ SSR

إزاي تخلي مشروعك بـ Inertia صديق لمحركات البحث عن طريق الـ SSR أكيد مريت بالموقف ده: بدأت مشروعك بـ Laravel و Inertia.js، الدنيا ماشية زي الفل والـ Single Page

إزاي تخلي مشروعك بـ Inertia صديق لمحركات البحث عن طريق الـ SSR
Reading Count: 2

إزاي تخلي مشروعك بـ Inertia صديق لمحركات البحث عن طريق الـ SSR

أكيد مريت بالموقف ده: بدأت مشروعك بـ Laravel و Inertia.js، الدنيا ماشية زي الفل والـ Single Page Application (SPA) بيخلي تجربة المستخدم سريعة وممتعة. فجأة، العميل أو مديرك يقولك "يا هندسة، إحنا محتاجين السيو (SEO) يكون قوي، ومحتاجين محركات البحث زي جوجل (Google) تقرأ محتوى الصفحات عشان نتصدر نتائج البحث". هنا بتتصدم إن الـ SPA العادي بيعتمد على الجافاسكريبت عشان يرندر الصفحة، وجوجل مش دايماً بياخد وقته عشان يقرأ الصفحة دي بالكامل. الحل؟ هو الـ Server-Side Rendering أو (SSR).

يعني إيه SSR وليه إنرشيا محتاجاه؟

بص يا سيدي، في الـ SPA التقليدي، المتصفح بيحمل صفحة فاضية وبعدين الـ JavaScript بيبدأ يبني الصفحة عندك على الجهاز. لكن الـ SSR بيخلي السيرفر هو اللي يجهز الـ HTML بالكامل ويبعته جاهز للمتصفح. ده بيخلي الـ Crawler بتاع جوجل يشوف المحتوى فوراً، وده بيعلي ترتيبك في السيو (SEO) بشكل رهيب.

تجهيز بيئة العمل (Setting up SSR in Inertia)

عشان تشغل الـ SSR في مشروع إنرشيا، الموضوع مش معقد بس محتاج شوية تركيز. أول حاجة محتاجينها هي Node.js على السيرفر، لأن لارافيل (Laravel) هينادي على ملف جافاسكريبت عشان يرندر الـ Component.

نفذ الأمر ده في التيرمينال عشان تنزل الـ SSR package:

composer require inertiajs/inertia-laravel

بعد كدة محتاجين نجهز الـ ssr.js. ده الملف اللي هيشتغل على السيرفر عشان يحول الـ Vue أو React components لـ HTML.

خطوات تفعيل الـ SSR في لارافيل

الخطوة التانية هي التأكد إن الـ package.json عندك فيها الإضافات اللازمة. افتح ملف الـ vite.config.js وتأكد إنك مفعل الـ SSR:

import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; import vue from '@vitejs/plugin-vue'; export default defineConfig({ plugins: [ laravel({ input: 'resources/js/app.js', ssr: 'resources/js/ssr.js', // هنا بنعرف ملف الـ SSR refresh: true, }), vue(), ], });

بعدين في ملف resources/js/ssr.js، لازم تعمل إعداد للـ CreateInertiaApp عشان يشتغل في بيئة Node:

import { createInertiaApp } from '@inertiajs/vue3'; import createServer from '@inertiajs/vue3/server'; import { renderToString } from '@vue/server-renderer'; createServer((page) => createInertiaApp({ page, render: renderToString, resolve: name => { const pages = import.meta.glob('./Pages/**/*.vue', { eager: true }); return pages[`./Pages/${name}.vue`]; }, setup({ App, props, plugin }) { return createSSRApp({ render: () => h(App, props) }).use(plugin); }, }));

تشغيل الـ SSR في بيئة التطوير والإنتاج

في بيئة التطوير (Development)، عشان تشوف النتيجة وتعمل Debug، افتح تيرمينال جديد وشغل الأمر ده:

php artisan inertia:start-ssr

وفي نفس الوقت لازم تشغل الـ npm run dev. كدة أنت بتخلي الـ Laravel بيوجه الطلبات للسيرفر اللي شغال بالـ Node عشان يجهز الـ HTML.

نصيحة من أخ لمبرمج

بص يا هندسة، الـ SSR تقنية ممتازة، بس خلي بالك هي بتزود الضغط على السيرفر (Server Load). مش كل الصفحات محتاجة SSR. الصفحات اللي فيها محتوى ثابت ومهم للأرشفة زي الـ Landing Pages أو صفحات المقالات (Blogs) هي دي اللي تستاهل تتعب فيها وتطبق عليها SSR. صفحات الداشبورد (Dashboard) أو الحاجات اللي بعد تسجيل الدخول، ممكن تسيبها SPA عادي عشان توفر موارد السيرفر وتخلي الأداء أسرع.

طور نفسك دايماً في فهم الـ Lifecycle بتاع الـ Vue والـ Laravel، لأن كل ما فهمت "خلف الكواليس" بيحصل إيه، كل ما عرفت تحل المشاكل التقنية أسرع وتكتب كود أداءه عالي.


Share

Related posts

May 12, 2026 • 1 min read
Reading Count: 6
إدارة الحالة (State Management) في تطبيقات Laravel Inertia.. هل لسه محتاج Redux أو Vuex؟

إدارة الحالة (State Management) في تطبيقات Laravel Inertia.. هل لسه محتاج Redux أو Vuex؟ لو أنت مبرم...

May 12, 2026 • 1 min read
Reading Count: 6
دليل احتراف Laravel مع Inertia و React: بناء تطبيقات Single Page بدون تعقيدات الـ API

دليل احتراف Laravel مع Inertia و React: بناء تطبيقات Single Page بدون تعقيدات الـ API كثير مننا كمبر...

May 12, 2026 • 1 min read
Reading Count: 8
ليه Inertia.js هي الحل السحري لمطوري Laravel؟

ليه Inertia.js هي الحل السحري لمطوري Laravel؟ لو أنت مطور لارافيل (Laravel)، أكيد مريت بالتجربة دي:...