ਜਾਣੋ ਕਿ SSR (ਸਰਵਰ-ਸਾਈਡ ਰੈਂਡਰਿੰਗ) ਦਾ ਕੀ ਮਤਲਬ ਹੈ, ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ, ਅਤੇ SEO, ਤੇਜ਼ੀ ਅਤੇ ਯੂਜ਼ਰ ਅਨੁਭਵ ਲਈ CSR ਜਾਂ SSG ਦੇ ਮੁਕਾਬਲੇ ਕਦੋਂ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ।

Server-side rendering (SSR) ਇੱਕ ਤਰੀਕਾ ਹੈ ਜਿਹੜੇ ਵਿੱਚ ਸਰਵਰ ਕਿਸੇ ਪੇਜ ਦੀ HTML ਉਸ ਵੇਲੇ ਤਿਆਰ ਕਰਦਾ ਹੈ ਜਦੋਂ ਕੋਈ ਇਸ ਨੂੰ ਮੰਗਦਾ ਹੈ, ਫਿਰ ਉਹ ਤਿਆਰ-ਦਿਖਾਈ ਦੇਣ ਵਾਲੀ HTML ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਭੇਜ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ।
ਆਮ ਸ਼ਬਦਾਂ ਵਿੱਚ, SSR ਉਹ ਆਮ “ਖਾਲੀ ਸ਼ੈੱਲ ਪਹਿਲਾਂ” ਪੈਟਰਨ ਨੂੰ ਉਲਟ ਦਿੰਦਾ ਹੈ: ਖਾਲੀ ਪੇਜ ਭੇਜਣ ਦੀ ਥਾਂ ਸਰਵਰ ਪਹਿਲੀ ਰੇਂਡਰਿੰਗ ਦਾ ਕੰਮ ਕਰਦਾ ਹੈ।
SSR ਨਾਲ ਲੋਕ ਅਮੂਮਨ ਸਮੱਗਰੀ ਨੂੰ ਜਲਦੀ ਦੇਖ ਲੈਂਦੇ ਹਨ—ਟੈਕਸਟ, ਹੈਡਿੰਗ ਅਤੇ ਲੇਆਉਟ ਤੇਜ਼ੀ ਨਾਲ ਆ ਸਕਦੇ ਹਨ ਕਿਉਂਕਿ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਤੁਰੰਤ ਅਸਲੀ HTML ਮਿਲ ਜਾਂਦੀ ਹੈ।
ਇਸ ਤੋਂ ਬਾਅਦ, ਪੇਜ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਇੰਟਰਐਕਟਿਵ ਬਣਨ ਲਈ JavaScript ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ (ਬਟਨ, ਮੇਨੂ, ਫਾਰਮ ਆਦਿ). ਇਸ ਲਈ ਆਮ ਪ੍ਰਵਾਹ ਹੈ:
ਇਹ “ਪਹਿਲਾਂ ਸਮੱਗਰੀ ਦਿਖਾਓ, ਫਿਰ ਇੰਟਰਐਕਟਿਵਿਟੀ ਜੋੜੋ” ਪੈਟਰਨ ਹੀ SSR ਨੂੰ ਪ੍ਰਦਰਸ਼ਨ ਗੱਲਬਾਤਾਂ ਵਿੱਚ ਬਹੁਤ ਆੰਨਦਾ ਹੈ (ਖਾਸ ਕਰਕੇ ਮਹਿਸੂਸ ਕੀਤੇ ਗਏ ਤੇਜ਼ੀ ਲਈ)।
SSR ਦਾ ਮਤਲਬ ਇਹ ਨਹੀਂ ਕਿ “ਸਾਈਟ ਸਰਵਰ 'ਤੇ ਹੋਸਟ ਹੈ” (ਲਗਭਗ ਹਰ ਚੀਜ਼ ਹੈ). ਇਹ ਖਾਸ ਕਰਕੇ ਇਸ ਬਾਰੇ ਹੈ ਕਿ ਸ਼ੁਰੂਆਤੀ HTML ਕਿੱਥੇ ਬਣਾਈ ਜਾਂਦੀ ਹੈ:
ਤਾਂ ਤੁਸੀਂ SSR ਨੂੰ ਕਈ ਹੋਸਟਿੰਗ ਸੈਟਅਪਾਂ 'ਤੇ ਵਰਤ ਸਕਦੇ ਹੋ—ਪਾਰੰਪਰਿਕ ਸਰਵਰ, ਸਰਵਰਲੈਸ ਫੰਕਸ਼ਨ ਜਾਂ ਐਜ ਰਨਟਾਈਮ—ਤੁਹਾਡੇ ਫਰੇਮਵਰਕ ਅਤੇ ਡਿਪਲੋਇਮੈਂਟ ਉੱਤੇ ਨਿਰਭਰ ਕਰਕੇ।
SSR ਸਿਰਫ਼ ਇੱਕ ਵਿਕਲਪ ਹੈ ਆਮ ਰੇਂਡਰਿੰਗ ਰਣਨੀਤੀਆਂ ਵਿੱਚੋਂ। ਅੱਗੇ ਅਸੀਂ SSR vs CSR ਅਤੇ SSR vs SSG ਦੀ ਤੁਲਨਾ ਕਰਾਂਗੇ, ਅਤੇ ਸਮਝਾਵਾਂਗੇ ਕਿ ਤੇਜ਼ੀ, UX, ਕੈਸ਼ਿੰਗ ਰਣਨੀਤੀ ਅਤੇ SEO ਨਤੀਜਿਆਂ ਲਈ ਕੀ ਫਰਕ ਪੈਂਦਾ ਹੈ।
SSR ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਸਰਵਰ ਪੇਜ ਦੀ HTML ਬ੍ਰਾਊਜ਼ਰ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਤਿਆਰ ਕਰਦਾ ਹੈ। ਖਾਲੀ HTML ਸ਼ੈੱਲ ਭੇਜਣ ਤੇ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਪੇਜ ਬਨਾਉਣ ਦੇ ਥਾਂ, ਸਰਵਰ ਇੱਕ "ਪੜ੍ਹਨਯੋਗ" ਵਰਜ਼ਨ ਭੇਜਦਾ ਹੈ।
/products/123). ਬ੍ਰਾਊਜ਼ਰ ਤੁਹਾਡੀ ਵੈੱਬ ਸਰਵਰ ਨੂੰ ਰਿਕਵੇਸਟ ਭੇਜਦਾ ਹੈ।SSR ਆਮਤੌਰ 'ਤੇ HTML ਨਾਲ ਇੱਕ JavaScript ਬੰਡਲ ਭੇਜਦਾ ਹੈ। HTML ਤੁਰੰਤ ਡਿਸਪਲੇ ਲਈ ਹੈ; JavaScript ਕਲਾਇਂਟ-ਸਾਈਡ ਬਿਹੇਵਿਯਰ ਜਿਵੇਂ ਕਿ ਫਿਲਟਰ, ਮੋਡਲ ਅਤੇ " ਕਾਰਟ ਵਿੱਚ ਸ਼ਾਮਿਲ ਕਰੋ" ਵਰਗੀਆਂ ਇੰਟਰਐਕਸ਼ਨ ਲਈ ਜ਼ਰੂਰੀ ਹੈ।
HTML ਲੋਡ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਬ੍ਰਾਊਜ਼ਰ JavaScript ਬੰਡਲ ਡਾਊਨਲੋਡ ਕਰਦਾ ਹੈ ਅਤੇ ਮੌਜੂਦਾ ਮਾਰਕਅੱਪ ਨਾਲ ਇਵੈਂਟ ਹੈਂਡਲਰ ਜੁੜਦੇ ਹਨ। ਇਹ ਹandoff ਉਹੀ ਹੈ ਜਿਸ ਨੂੰ ਕਈ ਫਰੇਮਵਰਕ ਹਾਈਡਰੇਸ਼ਨ ਕਹਿੰਦੇ ਹਨ।
SSR ਨਾਲ, ਤੁਹਾਡਾ ਸਰਵਰ ਹਰ ਰਿਕਵੇਸਟ 'ਤੇ ਵੱਧ ਕੰਮ ਕਰਦਾ ਹੈ—ਡੇਟਾ ਫੈਚ ਅਤੇ ਮਾਰਕਅੱਪ ਰੈਂਡਰ ਕਰਨਾ—ਇਸ ਲਈ ਨਤੀਜੇ ਬਹੁਤ ਹੱਦ ਤੱਕ API/DB ਦੀ ਗਤੀ ਅਤੇ ਤੁਸੀਂ ਕਿਵੇਂ ਕੈਸ਼ ਕਰਦੇ ਹੋ, ਉੱਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹਨ।
SSR ਸਰਵਰ ਤੋਂ "ਪੜ੍ਹਨਯੋਗ" HTML ਭੇਜਦਾ ਹੈ। ਇਹ ਸਮੱਗਰੀ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਦਿਖਾਉਂਦਾ ਹੈ, ਪਰ ਇਸ ਨਾਲ ਪੇਜ ਅਪਨਾ ਇੰਟਰਐਕਟਿਵ ਸੁਭਾਂ ਨਹੀਂ ਹਾਸਲ ਕਰ ਲੈਂਦੀ।
ਬਹੁਤ ਆਮ ਸੈੱਟਅਪ:
SSR ਲੋਕਾਂ ਨੂੰ ਵੇਖਣ ਵਿੱਚ ਤੇਜ਼ੀ ਦੇ ਸਕਦਾ ਹੈ, ਜਦਕਿ ਹਾਈਡਰੇਸ਼ਨ ਪੇਜ ਨੂੰ ਐਪ ਵਰਗਾ ਚਲਣ ਯੋਗ ਬਣਾਉਂਦੀ ਹੈ।
ਹਾਈਡਰੇਸ਼ਨ ਉਹ ਪ੍ਰਕਿਰਿਆ ਹੈ ਜਿੱਥੇ ਕਲਾਇੰਟ-ਸਾਈਡ JavaScript ਸਟੇਟਫੁੱਲ UI ਬਣਾਉਂਦਾ ਅਤੇ ਮੌਜੂਦਾ static HTML ਨਾਲ ਜੋੜਦਾ: ਕਲਿੱਕ ਹੈਂਡਲਰ, ਫਾਰਮ ਵੇਰੀਫਿਕੇਸ਼ਨ, ਮੇਨੂ, ਡਾਇਨੈਮਿਕ ਫਿਲਟਰ ਆਦਿ।
ਇਹ ਵਾਧੂ ਕਦਮ ਉਪਭੋਗਤਾ ਡਿਵਾਈਸ ਤੇ CPU ਸਮਾਂ ਅਤੇ ਮੈਮੋਰੀ ਖਪਾਉਂਦਾ ਹੈ। ਧੀਮੀ ਫੋਨ ਜਾਂ ਬਹੁਤ ਸਰਗਰਮ ਟੈਬਾਂ 'ਤੇ ਹਾਈਡਰੇਸ਼ਨ ਦੇਰੀ ਨਾਲ ਹੋ ਸਕਦਾ ਹੈ, ਭਾਵੇਂ HTML ਜਲਦੀ ਮਿਲ ਗਈ ਹੋਵੇ।
ਜਦੋਂ JavaScript ਲੋਡ ਹੋਣ ਵਿੱਚ ਧੀਮਾ ਹੈ, ਯੂਜ਼ਰ ਸਮੱਗਰੀ ਤਾਂ ਵੇਖ ਸਕਦੇ ਹਨ ਪਰ UI 'ਮੁਰਦਾ' ਰਹਿ ਸਕਦਾ ਹੈ: ਬਟਨ ਜਵਾਬ ਨਹੀਂ ਦੇਂਦੇ, ਮੇਨੂ ਨਹੀਂ ਖੁਲਦੇ, ਇਨਪੁੱਟ ਲੈਟ ਹੋ ਸਕਦੇ ਹਨ।
ਜੇ JavaScript ਪੂਰੀ ਤਰ੍ਹਾਂ ਫੇਲ ਹੋ ਜਾਵੇ (ਬਲਾਕ, ਨੈੱਟਵਰਕ ਐਰਰ ਜਾਂ ਸਕ੍ਰਿਪਟ ਕ੍ਰੈਸ਼), SSR ਫਿਰ ਵੀ ਕੋਰ ਸਮੱਗਰੀ ਦਿਖਾ ਸਕਦਾ ਹੈ। ਪਰ JavaScript ਤੇ ਆਧਾਰਿਤ ਐਪ-ਨੁਮਾ ਫੀਚਰ ਕੰਮ ਨਹੀਂ ਕਰਨਗੇ ਜੇ ਤੁਸੀਂ ਫੌਲਬੈਕ ਡਿਜ਼ਾਈਨ ਨਹੀਂ ਕੀਤੇ (ਜਿਵੇਂ ਕਿ ਆਮ ਲਿੰਕ ਮੁੜ-ਨੈਵੀਗੇਸ਼ਨ ਕਰਦੇ ਹੋਣ, ਫਾਰਮ ਸਰਵਰ ਸਾਈਡ ਤੋਂ ਸਬਮਿਟ ਹੋ ਸਕਣ)।
SSR ਇਸ ਬਾਰੇ ਹੈ ਕਿ HTML ਕਿੱਥੇ ਤਿਆਰ ਹੁੰਦੀ ਹੈ। ਬਹੁਤ SSR ਸਾਈਟਾਂ ਬਹੁਤ ਸਾਰਾ JavaScript ਵੀ ਭੇਜਦੀਆਂ ਹਨ—ਕਦੇ-ਕਦੇ ਲਗਭਗ ਇੱਕ CSR ਐਪ ਦੇ ਬਰਾਬਰ—ਕਿਉਂਕਿ ਇੰਟਰਐਕਟੀਵਿਟੀ ਲਈ ਕੋਡ ਬ੍ਰਾਊਜ਼ਰ 'ਚ ਚੱਲਣਾ ਹੀ ਪੈਂਦਾ ਹੈ।
Server-side rendering (SSR) ਅਤੇ client-side rendering (CSR) ਦੋਹਾਂ ਇਕੋ ਜਿਹੇ ਦਿਖਣ ਵਾਲੇ ਪੇਜ ਬਣਾ ਸਕਦੇ ਹਨ, ਪਰ ਕੰਮ ਕਰਨ ਦੀ ਕ੍ਰਮਵਾਰਤਾ ਵੱਖਰੀ ਹੁੰਦੀ ਹੈ—ਅਤੇ ਇਹ ਫੈਸਲਾ ਕਰਦਾ ਹੈ ਕਿ ਪੇਜ ਕਿੰਨਾ ਤੇਜ਼ ਮਹਿਸੂਸ ਹੁੰਦਾ ਹੈ।
CSR ਨਾਲ, ਬ੍ਰਾਊਜ਼ਰ ਆਮ ਤੌਰ 'ਤੇ ਪਹਿਲਾਂ JavaScript ਬੰਡਲ ਡਾਊਨਲੋਡ ਕਰਦਾ ਅਤੇ ਫਿਰ ਉਸਨੂੰ ਚਲਾਕਰ HTML ਬਣਾਉਂਦਾ ਹੈ। ਜਦ ਤੱਕ ਇਹ ਕੰਮ ਪੂਰਾ ਨਹੀਂ ਹੁੰਦਾ, ਯੂਜ਼ਰ ਖਾਲੀ ਸਕ੍ਰੀਨ, ਸਪਿਨਰ ਜਾਂ ਸ਼ੈੱਲ ਦੇਖ ਸਕਦੇ ਹਨ।
SSR ਨਾਲ, ਸਰਵਰ ਪਹਿਲਾਂ ਤੋਂ ਦਿਖਾਉਣ ਯੋਗ HTML ਭੇਜਦਾ ਹੈ। ਯੂਜ਼ਰ ਹੈਡਿੰਗ, ਟੈਕਸਟ ਅਤੇ ਲੇਆਉਟ ਤੇਜ਼ੀ ਨਾਲ ਦੇਖ ਸਕਦੇ ਹਨ, ਜੋ ਮਹਿਸੂਸ ਕੀਤੀ ਤੇਜ਼ੀ ਨੂੰ ਸੁਧਾਰਦਾ ਹੈ—ਖਾਸ ਕਰਕੇ ਧੀਮੇ ਡਿਵਾਈਸ ਜਾਂ ਨੈੱਟਵਰਕ 'ਤੇ।
CSR ਅਕਸਰ ਪਹਿਲੀ ਲੋਡ ਮਗਰੋਂ ਚਮਕਦਾਰ ਹੁੰਦਾ ਹੈ: ਏਪ ਪਹਿਲਾਂ ਹੀ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਚਲ ਰਹੀ ਹੁੰਦੀ ਹੈ, ਇਸ ਲਈ ਸਕ੍ਰੀਨਾਂ ਵਿਚਕਾਰ ਨੈਵੀਗੇਸ਼ਨ ਬਹੁਤ ਤੇਜ਼ ਹੁੰਦੀ ਹੈ।
SSR ਪਹਿਲਾਂ ਜ਼ਿਆਦਾ ਤੇਜ਼ ਮਹਿਸੂਸ ਹੋ ਸਕਦਾ ਹੈ, ਪਰ ਪੇਜ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਇੰਟਰਐਕਟਿਵ ਬਣਨ ਲਈ ਫਿਰ ਵੀ JavaScript ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਜੇ JavaScript ਭਾਰੀ ਹੈ, ਤਾਂ ਯੂਜ਼ਰ ਸਮੱਗਰੀ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਦੇਖਣ ਦੇ ਬਾਵਜੂਦ ਚੰਦ ਸਮੇਂ ਲਈ ਇੰਟਰਐਕਸ਼ਨ ਵਿਹਲੇ ਹੋ ਸਕਦੀ ਹੈ।
SSR ਅਤੇ SSG ਦੋਹਾਂ ਯੂਜ਼ਰ ਲਈ ਮਿਲਦੇ-ਜੁਲਦੇ ਨਤੀਜੇ ਦੇ ਸਕਦੇ ਹਨ—ਬਹੁਤ ਵਾਰ ਦੋਹਾਂ ਹੀ ਅਸਲੀ HTML ਭੇਜਦੇ ਹਨ। ਮੁੱਖ ਫਰਕ ਇਹ ਹੈ ਕਿ HTML ਕਦੋਂ ਬਣਦੀ ਹੈ।
SSG ਨਾਲ, ਤੁਹਾਡੀ ਸਾਈਟ ਡਿਪਲੋਏਮੈਂਟ ਵੇਲੇ ਪਹਿਲਾਂ ਤੋਂ HTML ਜਨਰੇਟ ਕਰਦੀ ਹੈ। ਉਹ ਫਾਇਲਾਂ CDN ਵਾਂਗ ਹੀ ਸਰਵ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ।
SSG ਬਣਾਉਂਦਾ ਹੈ:
ਟਰੇਡ-ਆਫ: ਤਾਜ਼ਗੀ—ਜੇ ਸਮੱਗਰੀ ਬਹੁਤ ਵਾਰੀ ਬਦਲਦੀ ਹੈ, ਤਾਂ ਤੁਹਾਨੂੰ ਰੀਬਿਲਡ/ਰੀਡਿਪਲੋਏ ਕਰਨ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ ਜਾਂ ਇੰਕ੍ਰਿਮੈਂਟਲ ਤਕਨੀਕ ਵਰਤਣੀ ਪਵੇ।
SSR ਵਿੱਚ, ਸਰਵਰ ਹਰ ਰਿਕਵੇਸਟ 'ਤੇ (ਜਾਂ ਕੈਸ਼ ਮਿਸ 'ਤੇ) HTML ਜਨਰੇਟ ਕਰਦਾ ਹੈ। ਇਹ ਉਨ੍ਹਾਂ ਸਥਿਤੀਆਂ ਲਈ ਵਧੀਆ ਹੈ ਜਿੱਥੇ ਸਮੱਗਰੀ ਨੂੰ ਹਰ ਦੌਰਾਨ ਤਾਜ਼ਾ ਰਹਿਣਾ ਚਾਹੀਦਾ ਹੈ ਜਾਂ ਵਿਸ਼ੇਸ਼ ਯੂਜ਼ਰ ਲਈ ਪਰਸਨਲਾਈਜ਼ਡ ਹੋਵੇ।
SSR ਵਧੀਆ ਹੁੰਦਾ ਹੈ:
ਟਰੇਡ-ਆਫ: ਤੁਸੀਂ ਲੰਬੇ ਬਿਲਡਸ ਤੋਂ ਬਚਦੇ ਹੋ, ਪਰ ਸਰਵਰ ਉੱਤੇ ਪ੍ਰਤੀ-ਰਿਕਵੇਸਟ ਕੰਮ ਹੋ ਜਾਂਦਾ ਹੈ—ਜੋ TTFB ਅਤੇ ਓਪਰੇਟਿੰਗ ਖਰਚ 'ਤੇ ਅਸਰ ਪਾ ਸਕਦਾ ਹੈ।
ਕਈ ਮਾਡਰਨ ਸਾਈਟ ਹਾਈਬ੍ਰਿਡ ਹੁੰਦੀਆਂ ਹਨ: ਮਾਰਕੀਟਿੰਗ/ਡੌਕਸ SSG ਨਾਲ, ਅਕਾਉਂਟ ਖੇਤਰ ਜਾਂ ਸਰਚ ਨਤੀਜੇ SSR ਨਾਲ।
ਪ੍ਰੈਕਟਿਕਲ ਤਰੀਕਾ:
ਰੂਟ-ਧਰੋਹੀ ਰੇਂਡਰਿੰਗ ਨਿਰਣਿਆਂ ਨਾਲ ਅਕਸਰ ਤੇਜ਼ੀ, ਲਾਗਤ ਅਤੇ ਅਪ-ਟੂ-ਡੇਟ ਸਮੱਗਰੀ ਵਿਚ ਵਧੀਆ ਸੰਤੁਲਨ ਮਿਲਦਾ ਹੈ।
SSR ਆਮਤੌਰ 'ਤੇ SEO ਸੁਧਾਰਦਾ ਹੈ ਕਿਉਂਕਿ ਖੋਜ ਇੰਜਣ ਜਦੋਂ ਪੇਜ ਨੂੰ ਰਿਕਵੇਸਟ ਕਰਦੇ ਹਨ ਤਾਂ ਉਹ ਤੁਰੰਤ ਅਰਥਪੂਰਕ ਸਮੱਗਰੀ ਵੇਖ ਲੈਂਦੇ ਹਨ। ਖਾਲੀ HTML ਸ਼ੈੱਲ ਭੇਜਣ ਅਤੇ JS 'ਤੇ ਨਿਰਭਰ ਰਹਿਣ ਦੀ ਥਾਂ, ਕ੍ਰੌਲਰਾਂ ਕੋਲ ਪੂਰਾ ਟੈਕਸਟ, ਹੈਡਿੰਗ ਅਤੇ ਲਿੰਕ ਹੁੰਦੇ ਹਨ।
ਪਹਿਲੇ ਸਮੇਂ ਸਮੱਗਰੀ ਦੀ ਖੋਜ। ਜਦੋਂ HTML ਪਹਿਲਾਂ ਹੀ ਤੁਹਾਡੀ ਪੇਜ ਸਮੱਗਰੀ ਰੱਖਦੀ ਹੈ, ਕ੍ਰੌਲਰ ਇਸਨੂੰ ਤੇਜ਼ ਅਤੇ ਮਜ਼ਬੂਤੀ ਨਾਲ ਇੰਡੈਕਸ ਕਰ ਸਕਦੇ ਹਨ—ਖਾਸ ਕਰਕੇ ਵੱਡੀਆਂ ਸਾਈਟਾਂ ਜਿੱਥੇ crawl budget ਮਹੱਤਵਪੂਰਕ ਹੁੰਦਾ ਹੈ।
ਜ਼ਿਆਦਾ ਭਰੋਸੇਯੋਗ ਰੈਂਡਰਿੰਗ। ਆਧੁਨਿਕ ਖੋਜ ਇੰਜਣ JavaScript ਚਲਾ ਸਕਦੇ ਹਨ, ਪਰ ਇਹ ਹਮੇਸ਼ਾ ਤੁਰੰਤ ਜਾਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਨਹੀਂ ਹੁੰਦਾ। ਕੁਝ ਬੋਟ ਜਾਵਾਸਕ੍ਰਿਪਟ ਚਲਾਉਣ ਨੂੰ ਮੌੜ ਦੇ ਸਕਦੇ ਹਨ, ਧੀਮੇ ਕਰ ਸਕਦੇ ਹਨ ਜਾਂ ਰਾਹਤ ਦੇਣ। SSR ਤੁਹਾਡੀ ਉਮੀਦ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ ਕਿ crawler ਮੇਰਾ JS ਚਲਾਏਗਾ।
ਪੇਜ-ਅੰਦਰੂਨੀ SEO ਮੂਲ-ਤੱਤ। SSR ਦੀ ਮਦਦ ਨਾਲ ਤੁਸੀਂ ਸ਼ੁਰੂਆਤੀ HTML ਵਿੱਚ ਅਸਾਨੀ ਨਾਲ ਮੁੱਖ ਸੰਕੇਤ ਰੱਖ ਸਕਦੇ ਹੋ, ਜਿਵੇਂ:
ਸਮੱਗਰੀ ਦੀ ਗੁਣਵੱਤਾ ਅਤੇ ਉਦੇਸ਼। SSR ਖੋਜ ਇੰਜਣਾਂ ਨੂੰ ਤੁਹਾਡੀ ਸਮੱਗਰੀ ਤੱਕ ਪਹੁੰਚ ਵਧਾਉਂਦਾ ਹੈ, ਪਰ ਇਹ ਸਮੱਗਰੀ ਨੂੰ ਉਪਯੋਗੀ, ਅਸਲੀ ਜਾਂ ਖੋਜ ਸਬੰਧੀ ਨਹੀਂ ਬਣਾਉਂਦਾ।
ਸਾਈਟ ਢਾਂਚਾ ਅਤੇ ਅੰਦਰੂਨੀ ਲਿੰਕਿੰਗ। ਸਾਫ਼ ਨੈਵੀਗੇਸ਼ਨ, ਤਰਕਸੰਗਤ URL ਰਚਨਾ ਅਤੇ ਮਜ਼ਬੂਤ ਅੰਦਰੂਨੀ ਲਿੰਕਿੰਗ ਅਜੇ ਵੀ ਜ਼ਰੂਰੀ ਹਨ।
ਟੈਕਨੀਕਲ SEO ਸਫਾਈ। ਪਤਲੇ ਪੇਜ, ਡੁਪਲੀਕੇਟ URL, ਟੁੱਟੇ canonical ਜਾਂ ਗਲਤ noindex ਨਿਯਮ ਵਰਗੀਆਂ ਸਮੱਸਿਆਵਾਂ ਅਜੇ ਵੀ ਰੈਂਕਿੰਗ ਰੋਕ ਸਕਦੀਆਂ ਹਨ—SSR ਹੋਣ ਦੇ ਬਾਵਜੂਦ।
SSR ਨੂੰ crawl-and-render ਭਰੋਸੇਯੋਗਤਾ ਬਢ਼ਾਉਣ ਲਈ ਸੋਚੋ—ਇਹ ਰੈਂਕਿੰਗ ਲਈ ਇੱਕ ਮਜ਼ਬੂਤ ਬੁਨਿਆਦ ਹੈ, ਪਰ ਇੱਕ ਛੋਟਾ ਰਾਹ ਨਹੀਂ।
SSR ਚਰਚਾ ਆਮਤੌਰ 'ਤੇ ਕੁਝ ਮੁੱਖ ਮੈਟ੍ਰਿਕਸ ਤੇ ਇੱਕ ਯੂਜ਼ਰ ਅਨੁਭਵ ਉਤੇ ਆਧਾਰਿਤ ਹੁੰਦੀ ਹੈ: “ਕੀ ਪੇਜ ਤੇਜ਼ੀ ਨਾਲ ਦਿਖਿਆ?” SSR ਜੋ ਕੁਝ ਹਿੱਸੇ ਤੇਜ਼ ਕਰਦਾ ਹੈ ਪਰ ਇਹ ਕੰਮ ਸਰਵਰ ਅਤੇ ਹਾਈਡਰੇਸ਼ਨ ਉੱਤੇ ਭੀ ਲਾਉਂਦਾ ਹੈ।
TTFB (Time to First Byte): ਸਰਵਰ ਤੋਂ ਕੁਝ ਵੀ ਭੇਜਣ ਸ਼ੁਰੂ ਕਰਨ ਤੱਕ ਦਾ ਸਮਾਂ। SSR ਵਿੱਚ ਇਹ ਮਹੱਤਵਪੂਰਕ ਹੁੰਦਾ ਹੈ ਕਿਉਂਕਿ ਸਰਵਰ ਨੂੰ ਡੇਟਾ ਲੈ ਕੇ HTML ਰੈਂਡਰ ਕਰਨੀ ਪੈਂਦੀ ਹੈ। ਜੇ ਸਰਵਰ ਧੀਮਾ ਹੈ, SSR TTFB ਨੂੰ ਖਰਾਬ ਕਰ ਸਕਦਾ ਹੈ।
FCP (First Contentful Paint): ਜਦੋਂ ਬ੍ਰਾਊਜ਼ਰ ਪਹਿਲੀ ਵਾਰੀ ਕੋਈ ਵੀ ਸਮੱਗਰੀ (ਟੈਕਸਟ, ਬੈਕਗ੍ਰਾਊਂਡ ਆਦਿ) ਪੈਂਟ ਕਰਦਾ ਹੈ। SSR ਆਮਤੌਰ 'ਤੇ FCP ਨੂੰ ਸੁਧਾਰਦਾ ਹੈ ਕਿਉਂਕਿ ਤਿਆਰ HTML ਮਿਲਦੀ ਹੈ।
LCP (Largest Contentful Paint): ਜਦੋਂ ਸਭ ਤੋਂ ਵੱਡਾ ਮੁੱਖ ਤੱਤ (ਅਕਸਰ ਇੱਕ ਹੀਰੋ ਹੈਡਿੰਗ, ਇਮੇਜ ਜਾਂ ਪ੍ਰੋਡਕਟ ਟਾਈਟਲ) ਵਿਖਾਈ ਦਿੰਦਾ ਹੈ। SSR LCP ਨੂੰ بہتر ਕਰ ਸਕਦਾ ਹੈ—ਜੇ HTML ਤੇਜ਼ੀ ਨਾਲ ਆਏ ਅਤੇ ਜ਼ਰੂਰੀ CSS/assets ਰੇਂਡਰਿੰਗ ਨੂੰ ਰੋਕਣ ਨਾ ਕਰ ਰਹੇ ਹੋਣ।
SSR ਹਰ ਰਿਕਵੇਸਟ 'ਤੇ ਸਰਵਰ ਕੰਮ ਵਧਾ ਦਿੰਦਾ (ਜੇਕਰ ਕੈਸ਼ ਨਾ ਹੋਵੇ). ਦੋ ਆਮ ਬੋਟਲਨੇਕ ਹਨ:
ਪ੍ਰਯੋਗਕ ਸੁਝਾਅ: SSR ਪ੍ਰਦਰਸ਼ਨ ਆਮਤੌਰ 'ਤੇ ਫਰੇਮਵਰਕ ਤੋਂ ਵੱਧ ਤੁਹਾਡੇ ਡੇਟਾ ਪਾਥ ਉੱਤੇ ਨਿਰਭਰ ਹੁੰਦਾ ਹੈ। API ਰਾਊਂਡ-ਟ੍ਰਿਪ ਘਟਾਉਣਾ, ਤੇਜ਼ ਕਵੇਰੀਆਂ ਜਾਂ ਕਿਛੇ ਪੇਜ਼ ਹਿੱਸਿਆਂ ਨੂੰ ਪਹਿਲਾਂ ਗਣਨਾ ਕਰਨਾ ਅਕਸਰ ਬਹੁਤ ਵੱਡਾ ਪ੍ਰਭਾਵ ਰੱਖਦਾ ਹੈ।
SSR ਪਹਿਲੀ ਨਜ਼ਰ ਦੀ ਤੇਜ਼ੀ ਲਈ ਮਹਾਨ ਹੈ: ਯੂਜ਼ਰ ਸਮੱਗਰੀ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਵੇਖ ਸਕਦੇ ਹਨ ਅਤੇ ਸਕ੍ਰੋਲ ਕਰ ਸਕਦੇ ਹਨ। ਪਰ ਹਾਈਡਰੇਸ਼ਨ ਫਿਰ ਵੀ JavaScript ਨਾਲ ਬਟਨ, ਮੇਨੂ ਅਤੇ ਫਾਰਮ ਨੂੰ ਵਰਕ ਕਰਨ ਲਿਆਂਦਾ ਹੈ।
ਇਸ ਨਾਲ ਟਰੇਡ-ਆਫ ਬਣਦਾ ਹੈ:
ਸਭ ਤੋਂ ਤੇਜ਼ SSR ਆਮਤੌਰ 'ਤੇ ਕੈਸ਼ਡ SSR ਹੁੰਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਰੈਂਡਰ ਕੀਤੀ HTML ਨੂੰ (CDN, ਰਿਵਰਸ ਪ੍ਰਾਕਸੀ ਜਾਂ ਐਪ ਲੇਅਰ) 'ਤੇ ਕੈਸ਼ ਕਰ ਸਕਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਹਰ ਰਿਕਵੇਸਟ ਲਈ ਦੁਬਾਰਾ ਰੈਂਡਰਿੰਗ ਅਤੇ ਵਾਰ-ਵਾਰ ਡੇਟਾ ਫੈਚਿੰਗ ਤੋਂ ਬਚ ਸਕਦੇ ਹੋ—ਇਸ ਨਾਲ TTFB ਅਤੇ LCP ਸੁਧਰਦੇ ਹਨ।
ਕੰਜੀ ਹੈ ਕਿ ਤੁਸੀਂ ਆਪਣੀ ਸਮੱਗਰੀ ਲਈ ਇੱਕ ਉਚਿਤ ਕੈਸ਼ਿੰਗ ਰਣਨੀਤੀ ਚੁਣੋ ਤਾਂ ਜੋ ਤੇਜ਼ੀ ਮਿਲੇ ਬਿਨਾਂ ਗਲਤ ਯੂਜ਼ਰ ਡੇਟਾ ਦੇ ਦਿੱਤੇ।
SSR ਉਹ ਵੇਲੇ ਸਲੋ محسوس ਹੁੰਦਾ ਹੈ ਜਦ ਹਰ ਰਿਕਵੇਸਟ 'ਤੇ ਸਰਵਰ ਤੋਂ ਨਵੀਂ HTML ਬਣਨੀ ਪਵੇ। ਕੈਸ਼ਿੰਗ ਇਸ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਦਾ ਹੈ—ਪਰ ਸਿਰਫ਼ ਜੇ ਧਿਆਨ ਨਾਲ ਲਾਗੂ ਕੀਤਾ ਜਾਵੇ।
ਅਧਿਕਤਮ SSR ਸਟੈਕ ਕਈ ਕੈਸ਼ ਮਿਲਾ ਕੇ ਵਰਤੋਂ ਕਰਦੇ ਹਨ:
ਕੈਸ਼ ਕੀਤਾ ਰੈਸਪਾਂਸ ਸਿਰਫ਼ ਤਦ ਸਹੀ ਹੈ ਜਦੋਂ ਕੈਸ਼ ਕੀ ਉਸ ਸਾਰੀ ਚੀਜ਼ ਨਾਲ ਮੇਲ ਖਾਂਦੀ ਹੈ ਜੋ ਆਉਟਪੁਟ ਬਦਲਦੀ ਹੈ। URL ਦੇ ਇਲਾਵਾ ਆਮ ਵੈਰੀਏਸ਼ਨ ਹਨ:
HTTP ਸਿਰਲੇਖ ਇੱਥੇ ਮਦਦ ਕਰਦੇ ਹਨ: ਜੇ ਰਿਕਵੇਸਟ ਹੈਡਰ 'ਤੇ ਨਿਰਭਰ ਹੈ ਤਾਂ Vary ਹੈਡਰ ਵਰਤੋ (ਜਿਵੇਂ Vary: Accept-Language). Vary: Cookie ਨਾਲ احتیاط ਕਰੋ—ਇਹ cache hit rate ਨੂੰ ਖਤਮ ਕਰ ਸਕਦਾ ਹੈ।
Cache-Control ਵਰਤ ਕੇ ਵਿਵਹਾਰ ਨਿਰਧਾਰਤ ਕਰੋ:
public, max-age=0, s-maxage=600 (CDN/ਪ੍ਰਾਕਸੀ ਤੇ 10 ਮਿੰਟ ਲਈ ਕੈਸ਼)stale-while-revalidate=30 (ਥੋੜੀ ਪੁਰਾਣੀ HTML ਦਿਖਾਉਂਦੇ ਹੋਏ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਤਾਜਾ ਕਰੋ)ਜਦ HTML ਵਿੱਚ ਨਿੱਜੀ ਯੂਜ਼ਰ ਡੇਟਾ ਹੋਵੇ ਤਾਂ ਕਦੇ ਵੀ ਉਹ HTML ਸਾਰਵਜਨਿਕ ਤੌਰ 'ਤੇ ਕੈਸ਼ ਨਾ ਕਰੋ, ਬਿਨਾਂ ਇਹ ਯਕੀਨੀ ਬਣਾਏ ਕਿ ਕੈਸ਼ ਹਰ-ਯੂਜ਼ਰ ਲਈ ਵੱਖਰਾ ਹੈ। ਇੱਕ ਸੁਰੱਖਿਅਤ ਪੈਟਰਨ ਹੈ: ਇੱਕ public shell SSR ਰੂਪ ਕੈਸ਼ ਕਰੋ, ਫਿਰ ਲੋਡ ਤੋਂ ਬਾਅਦ ਪਰਸਨਲ ਡੇਟਾ ਲਿਆਓ (ਜਾਂ ਸਰਵਰ-ਸਾਈਡ ਰੇਂਡਰ ਕਰੋ ਪਰ ਜਵਾਬ ਨੂੰ private, no-store ਨਿਸ਼ਾਨ ਲੱਗਾ ਦਿਓ)। ਇੱਕ ਗਲਤੀ ਨਾਲ ਇੱਕ ਯੂਜ਼ਰ ਦੀ ਲਾਈਵੇਂਸ ਦੂਜੇ ਨੂੰ ਦਿਖ ਸਕਦੀ ਹੈ।
SSR ਪੇਜ਼ਾਂ ਨੂੰ ਪਹਿਲੀ ਨਜ਼ਰ ਤੇ ਤੇਜ਼ ਤੇ ਪੂਰੇ ਦਿਖਾ ਸਕਦਾ ਹੈ, ਪਰ ਇਹ ਜਟਿਲਤਾਵਾਂ ਵੀ ਲਿਆਉਂਦਾ ਹੈ। ਇਨ੍ਹਾਂ ਨੂੰ ਜਾਣਨਾ ਅਤੇ ਤਿਆਰ ਰਹਿਣਾ ਸਫ਼ਲਤਾ ਲਈ ਜ਼ਰੂਰੀ ਹੈ।
SSR ਨਾਲ, ਤੁਹਾਡੀ ਸਾਈਟ ਸਿਰਫ਼ CDN 'ਤੇ ਸਟੈਟਿਕ ਫਾਇਲਾਂ ਨਹੀਂ ਰਹਿੰਦੀ। ਹੁਣ ਤੁਹਾਡੇ ਕੋਲ ਸਰਵਰ (ਜਾਂ ਸਰਵਰਲੈਸ ਫੰਕਸ਼ਨ) ਹੁੰਦਾ ਹੈ ਜੋ ਮੰਗ ਤੇ HTML ਰੈਂਡਰ ਕਰਦਾ ਹੈ।
ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਤੁਸੀਂ ਰਨਟਾਇਮ ਕੰਫਿਗਰੇਸ਼ਨ, ਸੁਰੱਖਿਅਤ ਡਿਪਲੋਏਮੈਂਟ (ਰੋਲਬੈਕ ਜ਼ਰੂਰੀ), ਅਤੇ ਰੀਅਲ-ਟਾਈਮ ਮੋਨੀਟਰਿੰਗ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਹੋ: error rates, slow requests, memory ਵਰਗੀਆਂ ਚੀਜ਼ਾਂ। ਇੱਕ ਖ਼ਰਾਬ ਰਿਲੀਜ਼ ਹਰ ਪੇਜ ਰਿਕਵੇਸਟ ਨੂੰ ਤੁਰੰਤ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦੀ ਹੈ।
SSR ਅਕਸਰ ਪ੍ਰਤੀ-ਰਿਕਵੇਸਟ ਕਮਪਿਊਟ ਵੱਧ ਕਰ ਦਿੰਦਾ ਹੈ। ਭਾਵੇਂ ਰੈਂਡਰਿੰਗ ਤੇਜ਼ ਹੋਵੇ, ਇਹ ਫਿਰ ਵੀ ਤੁਹਾਡੇ ਸਰਵਰਾਂ ਲਈ ਕੰਮ ਹੈ।
ਪੂਰੀ ਸਟੈਟਿਕ ਹੋਸਟਿੰਗ ਨਾਲ ਤੁਲਨਾਤਮਕ ਤੌਰ 'ਤੇ ਖਰਚੇ ਵੱਧ ਸਕਦੇ ਹਨ:
ਕਿਉਂਕਿ SSR ਰਿਕਵੇਸਟ ਸਮੇਂ ਹੁੰਦਾ ਹੈ, ਤੁਸੀਂ ਨੂੰ ਐਸੀ ਘਟਨਾਵਾਂ ਨੂੰ ਦੇਖ ਸਕਦੇ ਹੋ:
ਜੇ ਤੁਹਾਡਾ SSR ਕੋਡ ਬਾਹਰੀ API ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ, ਇੱਕ ਮੰਦ ਡਿਪੈਂਡੇਸੀ ਹੋਰ ਸਾਰੀ ਸਾਈਟ ਨੂੰ ਧੀਮਾ ਕਰ ਸਕਦੀ ਹੈ—ਇਸ ਲਈ ਟਾਈਮਆਊਟ, ਫੌਲਬੈਕ ਅਤੇ ਕੈਸ਼ਿੰਗ ਬਿਨਾਂ ਵਿਕਲਪ ਨਾ ਸਮਝੋ।
ਆਮ ਡਿਵੈਲਪਰ ਮਿਸਟੇਕ ਇਹ ਹੈ ਕਿ ਸਰਵਰ ਨੇ ਜੋ HTML ਰੈਂਡਰ ਕੀਤਾ ਉਹ ਬ੍ਰਾਊਜ਼ਰ ਦੇ ਦੌਰਾਨ ਹਾਈਡਰੇਸ਼ਨ ਸਮੇਂ ਬਿਲਕੁਲ ਮਿਲਦਾ-ਜੁਲਦਾ ਨਾ ਹੋਵੇ। ਨਤੀਜੇ ਵਜੋਂ ਵਾਰਨਿੰਗ, ਫਲਿਕਰ ਜਾਂ ਟੁੱਟੀ ਹੋਈ ਇੰਟਰਐਕਟੀਵਿਟੀ ਹੋ ਸਕਦੀ ਹੈ।
ਆਮ ਕਾਰਨ: ਰੈਂਡਰ ਵਿੱਚ ਰੈਂਡਮ ਮੁੱਲ, ਟਾਈਮਸਟੈਂਪ, ਯੂਜ਼ਰ-ਨਿਰਧਾਰਿਤ ਡੇਟਾ ਜਾਂ ਬ੍ਰਾਊਜ਼ਰ-ਖਾਸ APIs ਨੂੰ ਬਿਨਾਂ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਵਰਤਣਾ।
"SSR" ਚੁਣਨਾ ਆਮਤੌਰ 'ਤੇ ਇਸਦਾ ਮਤਲਬ ਹੁੰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਐਸਾ ਫਰੇਮਵਰਕ ਚੁਣੋਗੇ ਜੋ ਸਰਵਰ 'ਤੇ HTML ਰੈਂਡਰ ਕਰ ਸਕੇ ਅਤੇ ਫਿਰ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਇੰਟਰਐਕਟਿਵ ਬਣਾਏ। ਹੇਠਾਂ ਆਮ ਵਿਕਲਪ ਹਨ ਅਤੇ ਉਹਨਾਂ ਨਾਲ ਜੁੜੇ ਸ਼ਬਦਾਂ ਦੀਆਂ ਛੋਟੀ ਵਿਆਖਿਆਵਾਂ।
Next.js (React): ਕਈ ਟੀਮਾਂ ਲਈ ਡਿਫੌਲਟ ਚੋਣ। ਇਹ ਹਰ ਰੂਟ ਲਈ SSR, ਸਟੈਟਿਕ ਜੈਨਰੇਸ਼ਨ, streaming ਅਤੇ ਕਈ ਡਿਪਲੋਇਮੈਂਟ ਟਾਰਗਟ (Node ਸਰਵਰ, ਸਰਵਰਲੈਸ, edge) ਸਪੋਰਟ ਕਰਦਾ ਹੈ।
Nuxt (Vue): Vue ਟੀਮਾਂ ਲਈ ਮਿਲਦੀ-ਜੁਲਦੀ ਅਨੁਭੂਤਿ, ਫਾਈਲ-ਅਧਾਰਤ ਰੂਟਿੰਗ ਅਤੇ ਲਚਕੀਲੇ ਰੈਂਡਰ ਮੋਡ।
Remix (React): ਵੈੱਬ ਸਟੈਂਡਰਡ ਅਤੇ nested routing 'ਤੇ ਜ਼ੋਰ ਦਿੰਦਾ। ਡੇਟਾ-ਭਾਰ ਅਪਸ ਲਈ ਚੁਣਿਆ ਜਾਂਦਾ ਹੈ ਜਿੱਥੇ ਰੂਟਿੰਗ ਅਤੇ ਡੇਟਾ ਲੋਡਿੰਗ ਕਰੀਬੀ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।
SvelteKit (Svelte): SSR, ਸਟੈਟਿਕ ਆਉਟਪੁੱਟ ਅਤੇ ਵੱਖ-ਵੱਖ ਹੋਸਟਾਂ ਲਈ ਐਡੈਪਟਰਾਂ ਦੇ ਨਾਲ ਇੱਕ ਹਲਕਾ ਅਤੇ ਸਿੱਧਾ ਅਨੁਭਵ ਦਿੰਦਾ ਹੈ।
ਟੀਮ ਦੀ UI ਲਾਇਬ੍ਰੇਰੀ, ਤੁਸੀਂ ਕਿਵੇਂ ਹੋਸਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ (Node, ਸਰਵਰਲੈਸ, edge) ਅਤੇ ਤੁਹਾਨੂੰ ਕਿੰਨਾ ਨਿਯੰਤਰਣ ਚਾਹੀਦਾ ਹੈ (ਕੈਸ਼ਿੰਗ, streaming, ਡੇਟਾ ਲੋਡਿੰਗ) ਦੇ ਆਧਾਰ ਤੇ ਚੁਣੋ।
ਜੇ ਤੁਸੀਂ ਪੂਰੇ SSR ਸਟੈਕ ਨਾਲ ਫੈਸਲਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਤੇਜ਼ੀ ਨਾਲ ਪ੍ਰਯੋਗ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਇੱਕ ਪਲੇਟਫਾਰਮ ਜਿਵੇਂ Koder.ai ਤੁਹਾਡੇ ਲਈ ਪ੍ਰੋਟੋ타입 ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ—ਆਮ ਤੌਰ 'ਤੇ React ਫਰੰਟਐਂਡ ਅਤੇ Go + PostgreSQL ਬੈਕਐਂਡ ਨਾਲ—ਫਿਰ planning mode, snapshots ਅਤੇ rollback ਵਰਗੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨਾਲ ਇਟਰੇਟ ਕਰੋ। ਪ੍ਰੋਟੋਟਾਈਪ-ਤੋਂ-ਡਿਪਲੋਏ ਤੱਕ ਦਾ ਲੂਪ ਅਸਲੀ TTFB/LCP ਪ੍ਰਭਾਵ ਨੂੰ ਮਾਪਣ ਲਈ ਸਹਾਇਕ ਹੁੰਦਾ ਹੈ।
SSR (server-side rendering) ਦਾ ਮਤਲਬ ਇਹ ਹੈ ਕਿ ਤੁਹਾਡਾ ਸਰਵਰ ਪੇਜ ਦੀ HTML ਉਸ ਵੇਲੇ ਤਿਆਰ ਕਰਦਾ ਹੈ ਜਦੋਂ ਕੋਈ ਯੂਜ਼ਰ ਕਿਸੇ URL ਨੂੰ ਰਿਕਵੇਸਟ ਕਰਦਾ ਹੈ, ਫਿਰ ਉਹ ਤਿਆਰ HTML ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਭੇਜ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ।
ਇਹ “ਸਰਵਰ ਤੇ ਹੋਣਾ” ਨਾਲ ਵੱਖਰਾ ਹੈ (ਲਗਭਗ ਹਰ ਚੀਜ਼ ਸਰਵਰ ਤੇ ਹੋਦੀ ਹੈ)। SSR ਖਾਸ ਕਰਕੇ ਇਹ ਵੇਰਵਾ ਦਿੰਦਾ ਹੈ ਕਿ ਸ਼ੁਰੂਆਤੀ HTML ਕਿੱਥੇ ਬਣਾਈ ਜਾਂਦੀ ਹੈ: ਪ੍ਰਤੀ ਬੇਨਤੀ (ਯਾ ਕੈਸ਼ ਮਿਸ) ਉੱਤੇ ਸਰਵਰ 'ਤੇ।
ਇੱਕ ਆਮ SSR ਫਲੋ ਇਸ ਤਰ੍ਹਾਂ ਹੁੰਦਾ ਹੈ:
/products/123).ਵੱਡਾ UX ਫਰਕ ਇਹ ਹੈ ਕਿ ਯੂਜ਼ਰ ਆਮਤੌਰ 'ਤੇ ਜ਼ਿਆਦਾ ਜਲਦੀ ਸਮੱਗਰੀ ਪੜ੍ਹ ਸਕਦੇ ਹਨ ਕਿਉਂਕਿ ਅਸਲੀ HTML ਪਹਿਲਾਂ ਆ ਜਾਂਦੀ ਹੈ।
SSR ਮੁੱਖ ਤੌਰ 'ਤੇ ਇਸ ਗੱਲ ਨੂੰ ਤੇਜ਼ ਕਰਦਾ ਹੈ ਕਿ ਯੂਜ਼ਰ ਸਮੱਗਰੀ ਕਿੰਨੀ ਜਲਦੀ ਵੇਖ ਸਕਦਾ ਹੈ, ਪਰ ਐਪ-ਨੁਮਾ ਵਰਤੋਂ ਲਈ JavaScript ਜ਼ਰੂਰੀ ਹੀ ਰਹਿੰਦੀ ਹੈ।
ਜ਼ਿਆਦਾਤਰ SSR ਸਾਈਟਾਂ ਇਹ ਭੇਜਦੀਆਂ ਹਨ:
ਇਸ ਲਈ SSR ਆਮਤੌਰ 'ਤੇ “ਪਹਿਲਾਂ ਸਮੱਗਰੀ, ਫਿਰ ਇੰਟਰਐਕਟੀਵੀਟੀ” ਹੁੰਦਾ ਹੈ — ਨਾ ਕਿ “JavaScript ਨਹੀਂ”।
ਹਾਈਡਰੇਸ਼ਨ ਉਹ ਸਟੈਪ ਹੈ ਜਿੱਥੇ ਬ੍ਰਾਊਜ਼ਰ ਵਰਤੇ ਜਾਂਦੇ JavaScript ਨਾਲ ਸਰਵਰ-ਰੈਂਡਰ ਕੀਤੀ ਗਈ HTML 'ਚ ਇੰਟਰਐਕਟੀਵਿਟੀ ਜੋੜਦਾ ਹੈ।
ਅਮਲੀ ਤੌਰ 'ਤੇ, ਹਾਈਡਰੇਸ਼ਨ:
ਧੀਮੀ ਡਿਵਾਈਸਾਂ ਜਾਂ ਵੱਡੇ ਬੰਡਲਾਂ 'ਤੇ, ਯੂਜ਼ਰ ਸਮੱਗਰੀ ਨੂੰ ਜਲਦੀ ਦੇਖ ਸਕਦੇ ਹਨ ਪਰ ਹਾਈਡਰੇਸ਼ਨ ਤੱਕ “ਮੁਰਦਾ UI” ਦਾ ਅਨੁਭਵ ਹੋ ਸਕਦਾ ਹੈ।
CSR ਆਮਤੌਰ 'ਤੇ ਪਹਿਲਾਂ JavaScript ਡਾਊਨਲੋਡ ਕਰਦਾ ਹੈ ਅਤੇ ਫਿਰ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ HTML ਬਣਾਉਂਦਾ ਹੈ, ਜਿਸ ਤਰ੍ਹਾਂ JS ਖਤਮ ਹੋਣ ਤੱਕ ਸਕ੍ਰੀਨ ਖਾਲੀ, ਸਪਿਨਰ ਜਾਂ ‘ਸ਼ੈੱਲ’ ਹੋ ਸਕਦੀ ਹੈ।
SSR ਪਹਿਲਾਂ ਦਿਖਾਉਣ ਯੋਗ HTML ਭੇਜਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਨਵੇਂ ਯੂਜ਼ਰਾਂ ਲਈ ਪ੍ਰਤੀਤਿ ਤੇਜ਼ ਹੁੰਦੀ ਹੈ।
ਸਧਾਰਨ ਨਿਯਮ:
SSG (Static Site Generation) ਬਿਲਡ/ਡਿਪਲੋਏਮੈਂਟ ਸਮੇਂ HTML ਤਿਆਰ ਕਰਦਾ ਹੈ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਸਧਾਰਨ ਸਟੈਟਿਕ ਫਾਇਲਾਂ ਵਾਂਗ ਸਰਵ ਕੀਤੇ ਜਾਂਦਾ ਹੈ—ਬਹੁਤ ਕੈਸ਼ਯੋਗ ਅਤੇ ਭਰੋਸੇਯੋਗ।
SSR ਰਿਕਵੈਸਟ ਸਮੇਂ (ਜਾਂ ਕੈਸ਼ ਮਿਸ 'ਤੇ) HTML ਬਣਾਉਂਦਾ ਹੈ, ਜੋ ਤਾਜ਼ਾ ਜਾਂ ਪਰਸਨਲਾਈਜ਼ਡ ਸਮੱਗਰੀ ਲਈ ਵਧੀਆ ਹੈ।
ਅਕਸਰ ਸਾਈਟਾਂ ਦੋਹਾਂ ਨੂੰ ਮਿਲਾ ਕੇ ਵਰਤਦੀਆਂ ਹਨ: SSG ਸਥਿਰ ਮਾਰਕੀਟਿੰਗ/ਡੌਕਸ ਲਈ, SSR ਖੋਜ ਨਤੀਜੇ, ਇਨਵੈਂਟਰੀ ਜਾਂ ਯੂਜ਼ਰ-ਕਾਂਟੈਕਸਟ ਪੇਜਾਂ ਲਈ।
SSR SEO ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ ਕਿਉਂਕਿ ਖੋਜ ਇੰਜਣ ਜਦੋਂ ਪੇਜ ਰਿਕਵੇਸਟ ਕਰਦੇ ਹਨ ਤਾਂ ਉਹ ਤੁਰੰਤ ਅਰਥਪੂਰਕ ਸਮੱਗਰੀ ਦੇਖ ਲੈਂਦੇ ਹਨ। JS 'ਤੇ ਨਿਰਭਰ ਹੋਣ ਦੀ ਜਗ੍ਹਾ, ਕ੍ਰੌਲਰਾਂ ਕੋਲ ਭਰਪੂਰ ਟੈਕਸਟ, ਹੈਡਿੰਗ ਅਤੇ ਲਿੰਕ ਹੁੰਦੇ ਹਨ।
SSR ਨਾਲ ਮਦਦ ਮਿਲਦੀ ਹੈ:
SSR ਇਹ ਨਹੀਂ ਕਰਦਾ:
ਮੁੱਖ ਮੈਟ੍ਰਿਕਸ ਜੋ ਗੱਲ ਬਣਾਉਂਦੇ ਹਨ:
SSR ਕਿੱਥੇ ਬੋਟਲਨੇਕ ਕਰ ਸਕਦਾ ਹੈ:
SSR ਜੇ ਹਰ ਰਿਕਵੇਸਟ 'ਤੇ ਸਿਰਫ਼ ਰੈਂਡਰ ਕਰਦਾ ਰਹੇ ਤਾਂ ਸਲੋ ਮਹਿਸੂਸ ਹੋ ਸਕਦਾ ਹੈ। ਕੈਸ਼ਿੰਗ ਇਸਦਾ ਮੁੱਖ ਹਥਿਆਰ ਹੈ—ਪਰ ਧਿਆਨ ਨਾਲ।
ਆਮ ਕੈਸ਼ ਲੇਅਰ:
ਕੈਸ਼ ਕੀਜ਼ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਸੋਚੋ: ਪਰਸੰਗ (URL), ਭਾਸ਼ਾ/ਲੋਕੇਲ, ਡਿਵਾਈਸ ਕਲਾਸ, auth state ਜਾਂ A/B ਬਕਟ—ਇਹ ਸਾਰੀਆਂ ਵੱਖਰਾ HTML ਦਿਖਾ ਸਕਦੀਆਂ ਹਨ।
ਨਿਆ ਧਿਆਨ: ਪਰਸਨਲਾਈਜ਼ਡ HTML ਨੂੰ ਦੂਜੇ ਯੂਜ਼ਰ ਨੂੰ ਨਾ ਰਿਲੀਜ਼ ਕਰੋ। ਇੱਕ ਸੁਰੱਖਿਅਤ ਪੈਟਰਨ public shell ਕੈਸ਼ ਕਰਕੇ ਪਰਸਨਲ ਡੇਟਾ ਲੋਡ ਬਾਅਦ ਵਿੱਚ ਕਰਨਾ ਹੈ।
SSR ਫਾਇਦੇ ਦੇ ਸਕਦਾ ਹੈ ਪਰ ਇਸ ਨਾਲ ਸਰਵਰ-ਸਾਈਡ ਜਟਿਲਤਾਵਾਂ ਵੀ ਆ ਜਾਂਦੀਆਂ ਹਨ। ਆਮ ਪਿਟਫਾਲ:
ਮਿਟੀਗੇਸ਼ਨ: ਟਾਈਮਆਊਟ ਅਤੇ ਫੌਲਬੈਕ ਰੱਖੋ, ਡੇਟਾ ਰਾਉਂਡ-ਟ੍ਰਿਪ ਘਟਾਓ, ਕੈਸ਼ ਲੇਅਰ ਸ਼ਾਮਲ ਕਰੋ, ਅਤੇ ਸਰਵਰ/ਕਲਾਇੰਟ ਰੈਂਡਰ ਨੂੰ ਨਿਰਧਾਰਿਤ ਰੱਖੋ।
ਕੁਝ ਪ੍ਰਸਿੱਧ SSR ਯੋਗ ਫਰੇਮਵਰਕ ਅਤੇ ਸ਼ਬਦ:
ਸੰਬੰਧਿਤ ਸ਼ਬਦ:
SSR ਉਹ ਵੇਲੇ ਵਧੀਯਾ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਤੁਹਾਨੂੰ ਪੇਜਾਂ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਰੀਡабਲ ਬਣਾਉਣਾ ਅਤੇ ਖੋਜ ਇੰਜਣ/ਸੋਸ਼ਲ ਪ੍ਰੀਵਿਊ ਬੋਟਾਂ ਲਈ ਭਰੋਸੇਯੋਗ ਬਣਾਉਣਾ ਹੋਵੇ।
ਚੰਗੇ ਉਪਯੋਗ-ਕੇਸ:
ਘੱਟ-ਉਪਯੋਗ:
SSR ਲਾਗੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਚੈੱਕਲਿਸਟ ਵਰਤੋ:
SSR crawl-and-render ਭਰੋਸਾ ਬਢ਼ਾਉਂਦਾ ਹੈ—ਪਰ ਇਹ ਰੈਂਕਿੰਗ ਦਾ ਤੁਰੰਤ ਜਾਦੂ ਨਹੀਂ ਹੈ।
ਅਮਲੀ ਸੁਝਾਅ: SSR ਦੇ ਪ੍ਰਦਰਸ਼ਨ ਬਹੁਤ ਜ਼ਿਆਦਾ ਤੁਹਾਡੀ ਡੇਟਾ ਪਾਥ 'ਤੇ ਨਿਰਭਰ ਹੁੰਦਾ ਹੈ—API ਘੁੰਮਣ-ਫਿਰਣ ਘਟਾਉਣਾ, ਤੇਜ਼ ਕਵੇਰੀਆਂ ਜਾਂ ਪੇਜ਼ ਦੇ ਹਿੱਸਿਆਂ ਦੀ ਪਹਿਲਾਂ ਗਣਨਾ ਕਰਨ ਨਾਲ ਵੱਡਾ ਫਾਇਦਾ ਮਿਲ ਸਕਦਾ ਹੈ।
ਚੁਣਾਈ ਦੇ ਸਮੇਂ ਆਪਣੀ ਟੀਮ ਦੀ ਲਾਇਬ੍ਰੇਰੀ, ਹੋਸਟਿੰਗ ਪਸੰਦੀ, ਕੈਸ਼ਿੰਗ ਅਤੇ ਡੇਟਾ ਲੋਡਿੰਗ ਤੇ ਧਿਆਨ ਦਿਓ।
ਆਮ ਨਿਯਮ:
ਟੈਸਟ ਕਰੋ—ਅਨੁਮਾਨ ਨਾ ਲਗਾਓ: ਸਬੰਧਤ ਮਾਪਦੰਡ ਪ੍ਰਾਪਤ ਕਰੋ (TTFB, LCP, crawlability) ਅਤੇ ਇੱਕ ਪ੍ਰੋਟੋਟਾਈਪ ਬਣਾਕੇ ਨਤੀਜੇ ਵੇਖੋ।
ਇੱਕ ਹਾਈਬ੍ਰਿਡ ਐਪ੍ਰੋਚ (SSG + SSR) ਆਮ ਤੌਰ 'ਤੇ ਸਭ ਤੋਂ ਸਮਤੋਲ ਰਾਹ ਹੁੰਦੀ ਹੈ।