2013-10-30 8 views
7

मैं AJAX क्रॉलिंग के बारे में Google विनिर्देशों के बारे में पढ़ रहा हूं; मैं अवधारणा समझा, लेकिन मैं कुछ और स्पष्टीकरण की जरूरत:एम्बर ऐप क्रॉल करने योग्य बनाएं

अपने URL सब इस तरह हैं:

http://www.website.com/?_escaped_fragment_=/eng/home 
http://www.website.com/?_escaped_fragment_=/eng/contacts 
... 

यह है:

http://www.website.com/#!/eng/home 
http://www.website.com/#!/eng/contacts 
... 

मैं इन पतों पर एचटीएमएल स्नैपशॉट प्रदान करने के लिए सही बात? या मुझे "escaped_fragment" URL (ex। http://www.website.com/?_escaped_fragment_=eng/home या कुछ और में) "/" को हटा देना चाहिए?

मैं phantomjs के साथ HTML स्नैपशॉट जेनरेट करता हूं, लेकिन फिर क्रॉलर को इन स्नैपशॉट्स को प्रदान करने का सबसे अच्छा तरीका कौन सा है ? नोड जेएस का उपयोग करना? Htaccess rewrite नियमों का उपयोग करना?

उत्तर

5

ठीक है, के बाद से मैं अंत में इस से छुटकारा मिला, मैं साझा करना चाहते हैं जिस तरह से मैंने पाया;

सभी HTML स्नैपशॉट के पहले एक विशिष्ट URL जहां

?_escaped_fragment_= 

#! 

को बदल रहा है तो अगर आप पर क्रॉलर के लिए प्रदान किया जाना चाहिए:

http://www.website.com/#!/eng/home 

अपने सर्वर को स्नैपशॉट प्रदान करना होगा:

http://www.website.com/?_escaped_fragment_=/eng/home 

यदि कोई व्यक्ति स्नैपशॉट उत्पन्न करने के लिए उपयोग की जाने वाली विधि में रूचि रखता है, तो मैं बस जूडो नामक एक नोड मॉड्यूल का उपयोग करता हूं (https://npmjs.org/package/judo); इसका उपयोग करने के लिए आपको अपने सर्वर phantomjs (http://phantomjs.org/) और नोड (http://nodejs.org/) पर होना चाहिए; (सर्वर पर phantomjs को स्थापित करने के तरीके के बारे में अधिक जानकारी: How can I setup & run PhantomJS on Ubuntu?)

एक बार जब आप सब कुछ स्थापित कर लेंगे तो आपको जूडो (उदा। judo.js) का उपयोग करके एक जेएस फ़ाइल लिखनी होगी (उस दस्तावेज़ पृष्ठ के बाद जो मैंने लिंक किया है इससे पहले कि आप 5 मिनट में तैयार हों); सर्वर पर फ़ाइल अपलोड करें और स्नैपशॉट्स और साइटमैप बनाने के लिए इसे नोड के साथ निष्पादित करें;

इसके बाद, आपको HTML स्नैपशॉट्स के साथ Google के क्रॉलर की सेवा करने की आवश्यकता है जब वह पूछे? _escaped_fragment_ = URL; मेरी राय में सबसे आसान तरीका है। htaccess फ़ाइल द्वारा; विशेष रूप से आप कोड की सिर्फ 3 लाइनों की जरूरत है, कि मेरे मामले में कर रहे हैं:

RewriteEngine On 
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=/(.*)$ 
RewriteRule ^$ /seo/snapshots/%1\.html [L] 

(के बाद से मेरी judo.js में फ़ाइल स्नैपशॉट बनाता है/एसईओ/स्नैपशॉट निर्देशिका में)

अंत में, आप जाँच कर सकते हैं कि Google वेबमास्टर टूल्स 'पैनल में "Google के रूप में लाने" विकल्प का उपयोग करके सबकुछ काम करता है; यदि आपने सही तरीके से किया है, तो आप देखेंगे कि परिणाम HTML स्नैपशॉट है ...

+0

पर विचार करने के लिए एक अतिरिक्त बात यह है कि _escaped_fragment_ को urlencoded किया जाएगा और इसलिए phantomjs के लिए 'सुंदर url' बनाने के लिए डीकोड किया जाना चाहिए प्रस्तुत करना। मैंने हाल ही में crawlspa.com लॉन्च किया जो सब कुछ एक सेवा के रूप में प्रदान करता है। – DanS

1

आमतौर पर मैं एक भुगतान सेवा का सुझाव देकर अतः पदों का जवाब नहीं है, लेकिन इस मामले में आप वास्तव में BromBone उपयोग करने पर विचार करना चाहिए लगता है - http://www.emberjsseo.com

+0

आपके सुझाव के लिए धन्यवाद, लेकिन मुझे यह सीखने में रूचि है; स्क्रैच से शुरू, चरण-दर-चरण मैं समझ गया कि स्नैपशॉट कैसे बनाएं, और अब मैं इस अंतिम चरण से छुटकारा पाना चाहता हूं ... –

+0

यहां तक ​​कि https://prerender.io/ भी बहुत अच्छा है मुझे लगता है और यह भी – wallop

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