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: 26

إزاي تخلي مشروعك بـ 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

Jun 01, 2026 • 1 min read
Reading Count: 0
دليلك الشامل لربط بوابات الدفع (Payment Gateways) مع لارفيل (Laravel)

دليلك الشامل لربط بوابات الدفع (Payment Gateways) مع لارفيل (Laravel) أهلاً بيك يا صديقي المبرمج. أك...

Jun 01, 2026 • 1 min read
Reading Count: 7
دليل المبتدئين لدخول عالم الباك إند (Backend Development) في 2026

دليل المبتدئين لدخول عالم الباك إند (Backend Development) في 2026 بتشوف تطبيقات زي فيسبوك أو طلبات و...

Jun 01, 2026 • 1 min read
Reading Count: 10
إزاي تضيف الذكاء الاصطناعي (AI) لتطبيقات لاراڤيل (Laravel) باحترافية؟

إزاي تضيف الذكاء الاصطناعي (AI) لتطبيقات لاراڤيل (Laravel) باحترافية؟ أكيد مريت باللحظة دي: العميل ب...