2014-09-02 6 views
6

के लिए फायरबेस होस्टिंग एसईओ एकल पेज ऐप्स के लिए, जावास्क्रिप्ट एसपीए सामग्री के पूर्व-प्रस्तुत संस्करणों को कैश करने के लिए प्रॉक्सी वेब क्रॉलर्स और सोशल मीडिया बॉट्स को कुछ उन्नत पुनर्लेखन नियमों को लागू करने की आवश्यकता है।एसपीए के

का उपयोग http://prerender.io

की तरह एक सेवा आप विभिन्न सर्वर विन्यास यहाँ टेम्प्लेट की गई यह कहता है कि प्रॉक्सी का प्रदर्शन देखेंगे: https://prerender.io/getting-started#install-it

का उपयोग https://www.firebase.com/docs/hosting/guide/url-redirects-rewrites.html करता Firebase समर्थन मिलावट के इस स्तर?

उदाहरण के लिए - कैसे मैं this nginx config का उपयोग कर Firebase पुनर्लेखन-नियम लागू करना होगा: -:

"rewrites": [ { 
    "source": "**", 
    "destination": "/index.html" 
}] 
मुझे लगता है कि तुम लोगों की तरह काम करने के लिए अब समर्थन किया है कि बहुत अच्छा है

server { 
    listen 80; 
    server_name example.com; 

    root /path/to/your/root; 
    index index.html; 

    location/{ 
     try_files $uri @prerender; 
    } 

    location @prerender { 
     #proxy_set_header X-Prerender-Token YOUR_TOKEN; 

     set $prerender 0; 
     if ($http_user_agent ~* "baiduspider|twitterbot|facebookexternalhit|rogerbot|linkedinbot|embedly|quora link preview|showyoubot|outbrain|pinterest") { 
      set $prerender 1; 
     } 
     if ($args ~ "_escaped_fragment_") { 
      set $prerender 1; 
     } 
     if ($http_user_agent ~ "Prerender") { 
      set $prerender 0; 
     } 
     if ($uri ~ "\.(js|css|xml|less|png|jpg|jpeg|gif|pdf|doc|txt|ico|rss|zip|mp3|rar|exe|wmv|doc|avi|ppt|mpg|mpeg|tif|wav|mov|psd|ai|xls|mp4|m4a|swf|dat|dmg|iso|flv|m4v|torrent)") { 
      set $prerender 0; 
     } 

     if ($prerender = 1) { 
      rewrite .* /$scheme://example.com$request_uri? break; 
      proxy_pass http://service.prerender.io; 
     } 
     if ($prerender = 0) { 
      rewrite .* /index.html break; 
     } 
    } 
} 

एक पक्ष नोट के रूप में

लेकिन यह वास्तव में केवल एसपीए के चेहरे की आधा लड़ाई को हल करने के लिए ढूंढें।

+0

धन्यवाद दान! एक तरफ ध्यान दें, यह [email protected] या मेलिंग सूची के लिए अधिक उपयुक्त प्रतिक्रिया जैसा दिखता है। क्या यहां एक विशिष्ट सवाल है जिसे एसओ के क्यू एंड ए प्रारूप का उपयोग करके संबोधित किया जाना चाहिए? – Kato

+0

@ काटो हाँ हाहा, क्या आपके रीराइट नियम नियम इंजन का उपयोग करके जुड़े नमूना टेम्पलेट्स में देखे गए प्रॉक्सी नियमों को लागू करना संभव है? मैंने सवाल को और स्पष्ट करने के लिए अद्यतन किया है। –

+0

अफसोस की बात है कि वर्तमान पुनर्लेखन नियमों की पहुंच से थोड़ा सा है। मेरे यहां हमारे होस्टिंग गुरु ड्रॉप में से एक होगा और सत्यापित करें। – Kato

उत्तर

1

अक्टूबर 10, 2014 से, Firebase आधिकारिक तौर पर कहते हैं कि "नहीं" लगता है: https://github.com/firebase/firebase-tools/issues/33

एक वैकल्पिक Divshot होस्टिंग है। http://docs.divshot.com/services/prerender

+1

अक्टूबर 2015 तक। डिवॉट पहले से ही फायरबेस में शामिल हो चुका है। – Maki

+0

क्या किसी को प्रीरेंडर पर फायरबेस से फीडबैक है? –

12

Firebase कोर यहाँ डेवलपर

Firebase बुनियादी एसईओ समर्थन है जो इसे मार्च में एनजी-conf 2015 में Googlebot के साथ काम करता है की घोषणा की: वे एक प्रीरेंडर समाधान लागू करने के लिए बहुत आसान है कि पेशकश करते हैं। घोषणा के लिए 16:30 अंक के आसपास this presentation देखें।

फ़ायरबेस अभी भी एसईओ के लिए और अधिक परिष्कृत विकल्पों की अनुमति देने के लिए प्रीरेंडर.ओ और ब्रंबोन जैसे पूर्व-प्रतिपादन उपकरण के साथ काम करने का लक्ष्य रख रहा है। लेकिन अगर आप फायरबेस क्लाइंट के नवीनतम संस्करण (इस पोस्ट के समय 2.2.4) में अपग्रेड करते हैं तो इसे "बस काम करना चाहिए"।

+7

** क्रिसमस की इच्छा ** - पूर्ण समर्थन की उम्मीद (गैर-Google सर्च इंजन, फेसबुक ओपनग्राफ टैग, ट्विटर कार्ड इत्यादि) और न सिर्फ Google के खोज इंजन। – JisuKim82

+0

हाय @ जेकोबावागर इस पर कोई अपडेट है? एक फेरबेस होस्ट किया गया एसपीए स्लैक या एफबी जैसे टूल साझा करने के साथ अच्छी तरह से काम नहीं कर रहा है। क्या उपकरण या प्लगइन हम जोड़ सकते हैं? –

+0

https://firebase.googleblog.com/2017/06/serving-dynamic-content-with-cloud.html देखें। – jwngr

संबंधित मुद्दे