কীভাবে অনুসন্ধান ইঞ্জিনগুলি অ্যাঙ্গুলারজেএস অ্যাপ্লিকেশনগুলির সাথে ডিল করে?


697

আমি অনুসন্ধান ইঞ্জিন এবং এসইও সম্পর্কিত অ্যাংুলারজেএস অ্যাপ্লিকেশন সহ দুটি সমস্যা দেখছি:

1) কাস্টম ট্যাগগুলির সাথে কী ঘটে? অনুসন্ধান ইঞ্জিনগুলি কি এই ট্যাগগুলির মধ্যে পুরো সামগ্রীটিকে উপেক্ষা করে? যেমন ধরুন আমার কাছে আছে

<custom>
  <h1>Hey, this title is important</h1>
</custom>

<h1>কাস্টম ট্যাগের ভিতরে থাকা সত্ত্বেও কি সূচকযুক্ত হবে ?


২) ইনডেক্সিংয়ের অনুসন্ধান ইঞ্জিনগুলি আক্ষরিকভাবে বাঁধাই করার কোনও উপায় আছে কি? অর্থাত

<h2>{{title}}</h2>

আমি জানি আমি এরকম কিছু করতে পারি

<h2 ng-bind="title"></h2>

তবে আমি যদি আসলে ক্রলারের শিরোনামটি "দেখতে" দিতে পারি? সার্ভার-সাইড রেন্ডারিং কি একমাত্র সমাধান?


17
এই সমস্ত "সমাধানগুলি" কেবলমাত্র আমাকে AngularJS এর ​​মতো প্রযুক্তি থেকে দূরে সরিয়ে রাখতে চায়, গুগল এবং এগুলি আরও বুদ্ধিমান ক্রোলার না পাওয়া পর্যন্ত।
কোডমনকি

22
@ কোডমনকি: হ্যাঁ কেউ ভাবতে পারেন যে গুগলের একটি পণ্য যা সমস্ত অ্যাঙ্গুলার জেএস এর জন্য একটি বিল্ট-ইন সলিউশন নিয়ে আসে নি .. আসলেই উইন্ডড ..
রায় এমজে

11
আসলে গুগলের হয়ে কাজ করার আগে মিসকো অ্যাংুলার লিখেছিলেন। গুগল এখন প্রকল্পটি স্পনসর করে, তবে তারা উদ্ভাবক নয়।
সুপারলুমিনিয়ার

2
সম্ভবত এখানে কেউ এসপিএ-তে উইকিপিডিয়া নিবন্ধটি আপডেট করতে পারেন / যাতে বলা হয়েছে যে "এসপিএগুলি সাধারণত এমন প্রসঙ্গে ব্যবহৃত হয় না যেখানে অনুসন্ধান ইঞ্জিন সূচকের প্রয়োজন হয়, বা আকাঙ্ক্ষিত।" en.wikedia.org/wiki/Single-page_application [# সার্চ ইঞ্জিন অপ্টিমাইজেশন] ইসনট নামক একটি (অস্পষ্ট) জাভাভিত্তিক কাঠামো সম্পর্কে একটি বিশাল অনুচ্ছেদ রয়েছে তবে এসইও অ্যাঙ্গুলারজদের পছন্দ মতো সম্বোধন করেছে বলে কোনও পরামর্শ নেই।
লিনোজোন

3
@ রয় এমজে - কেন কেউ উদ্দেশ্য দেখে না? পেজস্পিড, কৌনিক ইত্যাদি হ'ল এসইআরপিগুলিতে প্রাকৃতিক, জৈব তালিকার সমস্ত শত্রু। ইচ্ছাপূর্বক। পে-পার-ক্লিকের উপর ভিত্তি করে যখন আপনার কাছে বিশাল ব্যবসায়ের মডেল রয়েছে ... একটি সম্পূর্ণ টুলবক্স তৈরি করার চেয়ে লোকেরা তাদের তালিকাগুলির জন্য অর্থ প্রদান করতে বাধ্য করা কত ভাল, যা তাদের কোনও বিকল্প দেয় না, তবে তা করার জন্য? মূল্যবান কন্টেন্ট দ্বারা ভরা মানের মানের ওয়েব সাইটগুলি তৈরির পরিবর্তে, এই শিল্পটি এখন প্রতারণা এবং সমাধানগুলির সাথে উপচে পড়েছে যা স্কোয়াটকে বা সফলভাবে সমাধান করে না।
স্টিভেন ভেন্টিমেগ্লিয়া

উত্তর:


403

আপডেট মে 2014

গুগল ক্রোলাররা এখন জাভাস্ক্রিপ্ট চালায় - আপনি গুগল ওয়েবমাস্টার সরঞ্জামগুলি ব্যবহার করতে পারেন গুগল দ্বারা আপনার সাইটগুলি কীভাবে রেন্ডার করা হয় তা আরও ভালভাবে বুঝতে আপনি ।

আসল উত্তর
আপনি যদি সার্চ ইঞ্জিনগুলির জন্য আপনার অ্যাপ্লিকেশনটি অনুকূল করতে চান তবে দুর্ভাগ্যক্রমে ক্রলারটিতে প্রাক-রেন্ডার সংস্করণ সরবরাহ করার কোনও উপায় নেই। আপনি এজাক্স আর জাভাস্ক্রিপ্ট ভারী সাইটগুলির জন্য Google এর সুপারিশ সম্বন্ধে আরও পড়তে পারেন এখানে

এটি যদি কোনও বিকল্প হয় তবে আমি এই নিবন্ধটি পড়ার পরামর্শ দেব সার্ভার-সাইড রেন্ডারিংয়ের সাথে অ্যাংুলারের জন্য কীভাবে এসইও সম্পর্কে ।

আমি নিশ্চিত নই যে ক্রলারটি যখন কাস্টম ট্যাগগুলির মুখোমুখি হয় what


13
এটি এখন আর বর্তমান নয়। পরিবর্তে আপনার এখন পুসস্টেট ব্যবহার করা উচিত। সাইটের আলাদা স্ট্যাটিক সংস্করণ পরিবেশন করার দরকার নেই।
সুপারলুমিনিয়ার

3
এমনকি গুগল আপডেটের সাথে, এনজিও-ভিউটি সঠিকভাবে রেন্ডার হবে না, যেমন আমি গুগল ওয়েবমাস্টার সরঞ্জামগুলিতে দেখতে পারি
tschiela

10
হ্যাঁ তারা জাভাস্ক্রিপ্ট কার্যকর করার অর্থ এই নয় যে আপনার পৃষ্ঠাটি যথাযথভাবে সূচিত হবে। সবচেয়ে নিরাপদ উপায় হ'ল গুগল বট ইউজারেজেন্ট শনাক্ত করা, ফ্যান্টমজসের মতো একটি হেডলেস ব্রাউজার ব্যবহার করা, page.contentস্ট্যাটিক এইচটিএমএল প্রাপ্ত এবং ফিরে পাওয়া।
পরীক্ষক

6
আমি বুঝতে পারি যে এই প্রশ্নটি এসইও-র সাথে সুনির্দিষ্ট, তবে মনে রাখবেন যে অন্যান্য ক্রলার (ফেসবুক, টুইটার ইত্যাদি) এখনও জাভাস্ক্রিপ্ট মূল্যায়ন করতে সক্ষম হয় নি। উদাহরণস্বরূপ, সোশ্যাল মিডিয়া সাইটগুলিতে পৃষ্ঠাগুলি ভাগ করে নেওয়া সার্ভার-সাইড রেন্ডারিং কৌশল ব্যতীত এখনও সমস্যা হবে।
স্টিফেন ওয়াটকিন্স

3
দয়া করে, কেউ গুগল ক্রলিং স্কিমের স্পেসিফিকেশন বাস্তবায়ন না করে অ্যাঙ্গুলারজেএস সাইটের সঠিকভাবে সূচকযুক্ত উদাহরণ দিতে পারে?
চেক_কাআ

470

পুশস্টেট এবং প্রাকম্পোজেশন ব্যবহার করুন

এটি করার বর্তমান (2015) উপায়টি জাভাস্ক্রিপ্ট পুশস্টেট পদ্ধতিটি ব্যবহার করছে।

পুশস্টেটটি পৃষ্ঠাটি পুনরায় লোড না করে শীর্ষ ব্রাউজার বারের URL টি পরিবর্তন করে। বলুন আপনার কাছে ট্যাবযুক্ত একটি পৃষ্ঠা রয়েছে। ট্যাবগুলি সামগ্রী লুকিয়ে রাখে এবং প্রদর্শন করে, এবং লিখিত সামগ্রীটি এজেএক্স ব্যবহার করে বা কেবল প্রদর্শন সেট করে: কিছুই নয় এবং প্রদর্শন: সঠিক ট্যাব সামগ্রীটি আড়াল করতে এবং প্রদর্শন করতে ব্লক করে।

যখন ট্যাবগুলি ক্লিক করা হয়, ঠিকানা বারে ইউআরএল আপডেট করতে পুশস্টেট ব্যবহার করুন। পৃষ্ঠাটি যখন রেন্ডার করা হয়, তখন কোন ট্যাবটি প্রদর্শন করতে হবে তা নির্ধারণ করতে ঠিকানা বারে মানটি ব্যবহার করুন। কৌণিক রাউটিং স্বয়ংক্রিয়ভাবে আপনার জন্য এটি করবে।

Precomposition

পুশস্টেট সিঙ্গল পেজ অ্যাপে (এসপিএ) হিট করার দুটি উপায় রয়েছে

  1. পুশস্টেটের মাধ্যমে, যেখানে ব্যবহারকারী একটি পুশস্টেট লিঙ্কটি ক্লিক করে এবং সামগ্রীটি এজেএক্সড ইন করা হয়েছে।
  2. সরাসরি ইউআরএল হিট করে।

সাইটে প্রাথমিক হিটটিতে সরাসরি ইউআরএল হিট করা জড়িত। পরবর্তী হিটগুলি পুশস্টেটের ইউআরএল আপডেট হওয়ার সাথে সাথে বিষয়বস্তুতে কেবল এজেএক্স হয়ে যাবে।

ক্রোলাররা কোনও পৃষ্ঠা থেকে লিঙ্ক সংগ্রহ করে তারপরে পরবর্তী প্রক্রিয়াকরণের জন্য তাদের একটি কাতারে যুক্ত করে। এর অর্থ হ'ল ক্রোলারের জন্য, সার্ভারে থাকা প্রতিটি হিট সরাসরি হিট, তারা পুষস্টেটের মাধ্যমে চলাচল করে না।

প্রাক-পজিশনটি সার্ভারের প্রথম প্রতিক্রিয়ায় প্রাথমিক পেইডকে বান্ডিল করে, সম্ভবত একটি জেএসএন অবজেক্ট হিসাবে। এটি সার্চ ইঞ্জিনকে এজেএক্স কলটি সম্পাদন না করেই পৃষ্ঠাটি রেন্ডার করতে দেয়।

গুগল এজেএক্স অনুরোধগুলি কার্যকর করতে পারে না এমন পরামর্শ দেওয়ার জন্য কিছু প্রমাণ রয়েছে। এখানে আরও:

https://web.archive.org/web/20160318211223/http://www.analog-ni.co/precomposing-a-spa-may-become-the-holy-grail-to-seo

অনুসন্ধান ইঞ্জিনগুলি জাভাস্ক্রিপ্টটি পড়তে এবং সম্পাদন করতে পারে

গুগল কিছু সময়ের জন্য জাভাস্ক্রিপ্টকে বিশ্লেষণ করতে সক্ষম হয়েছে, এ কারণেই তারা গুগল মাকড়সার জন্য সম্পূর্ণ বৈশিষ্ট্যযুক্ত হেডলেস ব্রাউজার হিসাবে কাজ করতে মূলত ক্রোম তৈরি করেছিল। যদি কোনও লিঙ্কটিতে একটি বৈধ href বৈশিষ্ট্য থাকে তবে নতুন URL টি সূচী করা যায়। আর কিছু করার নেই।

যদি অতিরিক্ত কোনও লিঙ্কে ক্লিক করা একটি পুশস্টেট কলকে ট্রিগার করে তবে ব্যবহারকারী পুশস্টেটের মাধ্যমে সাইটটি নেভিগেট করতে পারবেন।

পুশস্টেট URL গুলির জন্য অনুসন্ধান ইঞ্জিন সহায়তা

পুশস্টেট বর্তমানে গুগল এবং বিং দ্বারা সমর্থিত।

গুগল

এসইওর জন্য পুশস্টেট সম্পর্কে পল আইরিশের প্রশ্নের জবাব এখানে দেওয়া ম্যাট কাটস:

http://youtu.be/yiAF9VdvRPw

গুগল মাকড়সার জন্য সম্পূর্ণ জাভাস্ক্রিপ্ট সমর্থন ঘোষণা করছে:

http://googlewebmastercentral.blogspot.de/2014/05/understanding-web-pages-better.html

আপশটটি হ'ল গুগল পুশস্টেটকে সমর্থন করে এবং পুশস্টেট ইউআরএলগুলি সূচী করবে।

গুগলবোট হিসাবে গুগল ওয়েবমাস্টার সরঞ্জামগুলির আনয়নও দেখুন। আপনি দেখতে পাবেন আপনার জাভাস্ক্রিপ্ট (কৌনিক সহ) সম্পাদিত হয়েছে।

ঠন্ঠন্

মার্চ ২০১৩ তারিখে সুন্দর পুশস্টেট URL গুলির জন্য বিংয়ের সমর্থনের ঘোষণা এখানে দেওয়া হয়েছে:

http://blogs.bing.com/webmaster/2013/03/21/search-engine-optimization-best-practices-for-ajax-urls/

হ্যাশব্যাংস ব্যবহার করবেন না #!

হ্যাশবাং ইউআরএলগুলি একটি কুরুচিপূর্ণ স্টপগ্যাপ ছিল যা বিকাশকারীকে বিশেষ কোনও স্থানে সাইটের প্রাক-রেন্ডার সংস্করণ সরবরাহ করে requ তারা এখনও কাজ করে তবে আপনার সেগুলি ব্যবহার করার দরকার নেই।

হ্যাশবাং ইউআরএলগুলি দেখতে দেখতে:

domain.com/#!path/to/resource

এটি এই জাতীয় মেটাট্যাগের সাথে যুক্ত হবে:

<meta name="fragment" content="!">

গুগল তাদের এই ফর্মটি সূচক করবে না, পরিবর্তে _escaped_frations_ URL এবং সূচী থেকে সাইটটির একটি স্থিতিশীল সংস্করণ টানবে।

পুশস্টেট ইউআরএলগুলি কোনও সাধারণ ইউআরএলের মতো দেখায়:

domain.com/path/to/resource

পার্থক্যটি হ'ল অ্যাংুলার জাভাস্ক্রিপ্টে ডিল করে এটি ডকুমেন্টে স্থান পরিবর্তন করে আপনার জন্য হ্যান্ডেল করে।

আপনি যদি পুশস্টেট ইউআরএলগুলি ব্যবহার করতে চান (এবং আপনি সম্ভবত করেন) তবে সমস্ত পুরানো হ্যাশ স্টাইলের ইউআরএল এবং মেটাট্যাগগুলি বের করে নিন এবং আপনার কনফিগার ব্লকে কেবল HTML5 মোড সক্ষম করুন।

আপনার সাইট পরীক্ষা করা হচ্ছে

গুগল ওয়েবমাস্টার সরঞ্জামগুলিতে এখন একটি সরঞ্জাম রয়েছে যা আপনাকে গুগল হিসাবে একটি ইউআরএল আনতে এবং গুগল যেমনটি রেন্ডার করে জাভাস্ক্রিপ্ট রেন্ডার করে।

https://www.google.com/webmasters/tools/googlebot-fetch

কৌণিক মধ্যে পুশস্টেট URL গুলি তৈরি করা

কৌনিকটিতে সত্যিকারের ইউআরএলগুলি তৈরি করতে # প্রাক্সিকৃত পরিবর্তে আপনার $ অবস্থানপ্রভাইডার অবজেক্টটিতে HTML5 মোড সেট করুন।

$locationProvider.html5Mode(true);

সার্ভার সাইড

যেহেতু আপনি আসল ইউআরএল ব্যবহার করছেন তাই আপনার বৈধ ইউআরএলগুলির জন্য একই সার্ভারটি (আরও কিছু পূর্বনির্ধারিত সামগ্রী) আপনার সার্ভারের মাধ্যমে প্রেরণ করা নিশ্চিত করতে হবে। আপনি কীভাবে এটি করবেন তা আপনার সার্ভারের আর্কিটেকচারের উপর নির্ভর করে পরিবর্তিত হবে।

সাইটম্যাপ

আপনার অ্যাপ্লিকেশনটি নেভিগেশনের অস্বাভাবিক ফর্মগুলি ব্যবহার করতে পারে, উদাহরণস্বরূপ হোভার বা স্ক্রোল। গুগল আপনার অ্যাপ্লিকেশন চালাতে সক্ষম হয়েছে তা নিশ্চিত করতে, আমি সম্ভবত একটি সাইটম্যাপ তৈরি করার পরামর্শ দেব, আপনার অ্যাপ্লিকেশন যে সমস্ত url সাড়া দেয় তার একটি সহজ তালিকা list আপনি এটি ডিফল্ট লোকেশন (/ সাইটম্যাপ বা / সাইটম্যাপ.এক্সএমএল) এ রাখতে পারেন, বা ওয়েবমাস্টার সরঞ্জামগুলি ব্যবহার করে Google কে এটি সম্পর্কে বলতে পারেন।

যাইহোক সাইটম্যাপ রাখা ভাল ধারণা।

ব্রাউজার সমর্থন

পুশস্টেট আইই 10 তে কাজ করে। পুরানো ব্রাউজারগুলিতে, কৌনিকটি স্বয়ংক্রিয়ভাবে হ্যাশ স্টাইলের ইউআরএলে ফিরে আসবে

একটি ডেমো পৃষ্ঠা

পূর্ববর্তী অবস্থান সহ একটি পুশস্টেট URL ব্যবহার করে নিম্নলিখিত সামগ্রীটি রেন্ডার করা হয়েছে:

http://html5.gingerhost.com/london

যাচাই করা যায়, এই লিঙ্কে , সামগ্রীটি সূচিবদ্ধ এবং গুগলে প্রদর্শিত হচ্ছে।

404 এবং 301 শিরোনামের স্থিতি কোডগুলি পরিবেশন করা হচ্ছে

যেহেতু অনুসন্ধান ইঞ্জিন সর্বদা প্রতিটি অনুরোধের জন্য আপনার সার্ভারকে আঘাত করবে, আপনি আপনার সার্ভার থেকে শিরোনামের স্থিতি কোডগুলি পরিবেশন করতে পারেন এবং গুগল সেগুলি দেখার আশা করে।


আমাকে এটি সন্ধান করতে হবে - ব্যাখ্যাটির জন্য ধন্যবাদ। একটা জিনিস আমি ভাবতে থাকি, গুগল কি এখন পৃষ্ঠাটি সূচীকরণের আগে জাভাস্ক্রিপ্ট চালায়?
jvv

1
"পুশস্টেট পৃষ্ঠাটি পুনরায় লোড না করে শীর্ষ ব্রাউজার বারে ইউআরএল পরিবর্তন করে ... ট্যাবগুলি ক্লিক করা হলে, ঠিকানা বারে ইউআরএল আপডেট করার জন্য পুশস্টেট ব্যবহার করুন When পৃষ্ঠাটি যখন রেন্ডার করা হয়, তখন ঠিকানা বারে মানটি ব্যবহার করুন যা নির্ধারণ করতে ট্যাবটি দেখানোর জন্য Ang কৌনিক রাউটিংটি স্বয়ংক্রিয়ভাবে আপনার জন্য এটি করবে "" লাইটবাল্ব!
এটকনওয়ে

1
@ সুপারলুমিনারি, আপনি কি দয়া করে বিষয়টিকে কিছুটা গভীরভাবে ব্যাখ্যা করতে পারবেন? বিশেষত 'সার্ভার সাইড' বিভাগ। আমি Angularjs + angularjs- রুট + অবস্থানপ্রভাইডার html5 মডেল + এপিআই + ডায়নামিক নেভিগেশন ব্যবহার করছি (এইচটিএমএল 5. ভার্জহোস্ট.কমের মতো স্থিতিশীল নয় URL সরাসরি ইউআরএল দ্বারা কোনও পৃষ্ঠা অ্যাক্সেস করার সময় কোনওভাবেই কোনও স্থিতিশীল বিষয়বস্তু পরিবেশন করা উচিত? আমি এই বার্তাটি দ্বারা আসলেই বিভ্রান্ত হয়ে পড়েছি: >> আপনার বৈধ ইউআরএলগুলির জন্য আপনার সার্ভার দ্বারা একই টেমপ্লেটটি প্রেরণ করা হবে তা নিশ্চিত করতে হবে। আপনি দয়া করে এটি ব্যাখ্যা করতে পারেন? ধন্যবাদ অগ্রিম।
Sray

1
@ স্রে - যদি আপনার সাইটের প্রতিটি ইউআরএল একই টেম্পলেটটি পরিবেশন করে, ব্রাউজারটি টেমপ্লেটটি ধরতে সক্ষম হবে, এবং কৌনিকটি URL টি পরীক্ষা করে এবং সঠিক সামগ্রীটি রেন্ডার করে সেখান থেকে তা নিতে সক্ষম হবে। যদি সরাসরি ইউআরএলটিকে সার্ভারে হিট করার পরে 404 বা 500 রিটার্ন আসে তবে আপনার সমস্যা আছে, সরাসরি লিঙ্কগুলি কাজ করবে না, বুকমার্কগুলি কাজ করবে না এবং আপনাকে সূচিযুক্ত করা হবে না। তুমি কি এখন দেখছ?
অতিপরিচয়তা

1
@ ব্যবহারকারী 3339411 - আপনার সাইটের প্রতিক্রিয়া জানাবে এমন প্রতিটি পৃষ্ঠার জন্য আপনার একটি URL থাকা উচিত। আপনার সাইটের যদি কেবলমাত্র এক সেট সামগ্রীর সাথে একটি ইউআরএলের প্রতিক্রিয়া দরকার হয় তবে আপনার কোনও রাউটিংয়ের দরকার নেই। এটি একটি সাধারণ সাইটের জন্য ঠিক আছে। তবে যদি আপনার সাইটটি বিভিন্ন ইউআরএলের জন্য বিভিন্ন ডেটা (জেএসএন এর মাধ্যমে) এনে দেয় তবে রাউটিংটি ব্যবহার করা বুদ্ধিমানের কাজ হবে। কারণ গিথুব স্ট্যাটিক পৃষ্ঠাগুলি ফাইল ভিত্তিক, আপনার এই পরিস্থিতিতে প্রতিটি ইউআরএলকে সমর্থন করে একটি প্রকৃত এইচটিএমএল ফাইলের প্রয়োজন হবে। কোনও ওয়েবসাইটের যদিও ফাইল ভিত্তিক ফাইল থাকতে হবে এমন কোনও নিয়ম নেই এবং যদি আপনি কোনও বিকল্প প্ল্যাটফর্ম ব্যবহার করেন তবে আপনি একাধিক URL এর জন্য একই টেম্পলেটটি পরিবেশন করতে পারেন।
সুপারলুমিনিয়

107

আসুন AngularJS এবং SEO সম্পর্কে নিশ্চিত হয়ে উঠুন

গুগল, ইয়াহু, বিং এবং অন্যান্য অনুসন্ধান ইঞ্জিনগুলি traditionalতিহ্যবাহী ক্রোলার ব্যবহার করে traditionalতিহ্যবাহী উপায়ে ওয়েব ক্রল করে। তারা ওয়েব পৃষ্ঠাগুলিতে এইচটিএমএলকে ক্রল করে এমন রোবট চালায় , পথ ধরে তথ্য সংগ্রহ করে। তারা আকর্ষণীয় শব্দ রাখে এবং অন্যান্য পৃষ্ঠাগুলির অন্যান্য লিঙ্কগুলি সন্ধান করে (এই লিঙ্কগুলি, তাদের পরিমাণ এবং তাদের সংখ্যা এসইওর সাথে খেলতে আসে)।

তাহলে অনুসন্ধান ইঞ্জিনগুলি জাভাস্ক্রিপ্ট সাইটগুলি কেন ডিল করে না?

উত্তর সত্য যে সার্চ ইঞ্জিন রোবট হেডলেস ব্রাউজার মাধ্যমে কাজ এবং তারা সবচেয়ে ঘন ঘন কি আছে না একটি পৃষ্ঠার জাভাস্ক্রিপ্ট রেন্ডার করার জন্য একটি জাভাস্ক্রিপ্ট রেন্ডারিং ইঞ্জিন আছে। এটি বেশিরভাগ পৃষ্ঠাগুলির জন্য কাজ করে কারণ বেশিরভাগ স্থির পৃষ্ঠাগুলি তাদের পৃষ্ঠাগুলি জাভাস্ক্রিপ্ট রেন্ডারিংয়ের বিষয়ে চিন্তা করে না কারণ তাদের সামগ্রী ইতিমধ্যে উপলব্ধ।

এটি সম্পর্কে কি করা যেতে পারে?

ভাগ্যক্রমে, বৃহত্তর সাইটগুলির ক্রোলাররা এমন একটি প্রক্রিয়া প্রয়োগ করতে শুরু করেছে যা আমাদের জাভাস্ক্রিপ্ট সাইটগুলিকে ক্রলযোগ্য করে তুলতে দেয়, তবে এটি আমাদের আমাদের সাইটে পরিবর্তন বাস্তবায়নের প্রয়োজন

আমরা আমাদের পরিবর্তন করেন তাহলে hashPrefixহতে #!কেবল পরিবর্তে #, তারপর আধুনিক সার্চ ইঞ্জিন ব্যবহার করতে অনুরোধ পরিবর্তন করতে হবে _escaped_fragment_পরিবর্তে #!। (এইচটিএমএল 5 মোডের সাহায্যে, যেখানে হ্যাশ উপসর্গ ছাড়াই আমাদের লিঙ্ক রয়েছে, আমরা User Agentআমাদের ব্যাকএন্ডে শিরোনাম দেখে এই একই বৈশিষ্ট্যটি প্রয়োগ করতে পারি )।

এর অর্থ হল, এমন একটি সাধারণ ব্রাউজারের অনুরোধের পরিবর্তে যা দেখতে দেখাচ্ছে:

http://www.ng-newsletter.com/#!/signup/page

একটি অনুসন্ধান ইঞ্জিন এর সাথে পৃষ্ঠাটি অনুসন্ধান করবে:

http://www.ng-newsletter.com/?_escaped_fragment_=/signup/page

আমরা একটি অন্তর্নির্মিত পদ্ধতি ব্যবহার করে আমাদের কৌণিক অ্যাপ্লিকেশনের হ্যাশ উপসর্গ সেট করতে পারি ngRoute:

angular.module('myApp', [])
.config(['$location', function($location) {
  $location.hashPrefix('!');
}]);

এবং, আমরা যদি ব্যবহার করি তবে আমাদের html5Modeমেটা ট্যাগ ব্যবহার করে এটি প্রয়োগ করতে হবে:

<meta name="fragment" content="!">

অনুস্মারক, আমরা সেট করতে পারেন html5Mode()সঙ্গে $locationপরিষেবা:

angular.module('myApp', [])
.config(['$location', 
function($location) {
  $location.html5Mode(true);
}]);

অনুসন্ধান ইঞ্জিন পরিচালনা করছে

স্থিত এইচটিএমএল হিসাবে অনুসন্ধান ইঞ্জিনগুলিতে সামগ্রী সরবরাহ করার ক্ষেত্রে আমরা কীভাবে কাজ করব তা নির্ধারণ করার জন্য আমাদের প্রচুর সুযোগ রয়েছে। আমরা নিজেরাই একটি ব্যাকএন্ড হোস্ট করতে পারি, আমরা আমাদের জন্য একটি ব্যাক-এন্ড হোস্ট করার জন্য একটি পরিষেবা ব্যবহার করতে পারি, সামগ্রী সরবরাহ করার জন্য আমরা একটি প্রক্সি ব্যবহার করতে পারি Let's ইত্যাদি কয়েকটি বিকল্প দেখে নেওয়া যাক:

স্বয়ং-হোস্ট করা

আমরা কোনও মাথাবিহীন ব্রাউজার যেমন ফ্যান্টমজ বা জম্বিজেস ব্যবহার করে রেন্ডারযুক্ত ডেটা সহ পৃষ্ঠার স্ন্যাপশটটি নিয়ে এবং এটিকে এইচটিএমএল হিসাবে সংরক্ষণ করে, আমাদের নিজস্ব সাইট ক্রলিংয়ের সাথে সম্পর্কিত হ্যান্ডেল করার জন্য একটি পরিষেবা লিখতে পারি। যখনই আমরা ?_escaped_fragment_অনুসন্ধানের অনুরোধে কোয়েরি স্ট্রিংটি দেখি , আমরা কেবল জেএস এর মাধ্যমে প্রাক-রেন্ডারযুক্ত পৃষ্ঠার পরিবর্তে পৃষ্ঠার যে স্থিতিশীল এইচটিএমএল স্ন্যাপশটটি নিয়েছি তা সরবরাহ করতে পারি। এটির জন্য আমাদের একটি ব্যাকএন্ড থাকা দরকার যা আমাদের পৃষ্ঠাগুলিকে মাঝখানে শর্তযুক্ত লজিক সরবরাহ করে। এগুলি চালানোর জন্য আমরা প্রেরেন্ডার.ওয়ের ব্যাকএন্ডের মতো কিছু ব্যবহার করতে পারি starting অবশ্যই, আমাদের এখনও প্রক্সিং এবং স্নিপেট হ্যান্ডলিং পরিচালনা করতে হবে তবে এটি একটি ভাল শুরু।

একটি প্রদত্ত পরিষেবা সঙ্গে

অনুসন্ধান ইঞ্জিনে সামগ্রী পাওয়ার সহজতম ও দ্রুততম উপায় হ'ল পরিষেবা ব্রোম্বোন , এসইও.জেস , সিও ফাজ্যাক্স এবং prerender.io এগুলোর ভাল উদাহরণ যে আপনার জন্য উপরে বিষয়বস্তু রেন্ডারিং হোস্ট হবে। যখন আমরা কোনও সার্ভার / প্রক্সি চালানোর সাথে মোকাবিলা করতে চাই না তখন এটি একটি ভাল বিকল্প। এছাড়াও, এটি সাধারণত সুপার দ্রুত।

কৌণিক এবং এসইও সম্পর্কে আরও তথ্যের জন্য, আমরা এটির উপর একটি বিস্তৃত টিউটোরিয়াল লিখেছিলাম http://www.ng-newsletter.com/posts/serious-angular-seo.html এবং আমরা আমাদের এনজিও বইতে আরও বিস্তারিত লিখেছি : অ্যাঙ্গুলারজেএস-এ সম্পূর্ণ বই । এ এটি পরীক্ষা করে দেখুন ng-book.com


1
SEO4Ajax প্রদান করা পরিষেবার (বিটার সময় বিনামূল্যে) একটি ভাল উদাহরণ। দুর্ভাগ্যক্রমে, দেখে মনে হচ্ছে এটি তালিকায় যুক্ত করার জন্য আমাকে এই প্রতিক্রিয়াটি সম্পাদনা করার অনুমতি নেই।
চেক_কা

1
@ কারণ আপনি এখনও এই পদ্ধতির সুপারিশ করেন? নতুন শীর্ষে ভোট দেওয়া মন্তব্যগুলি এই পদ্ধতিকে নিরুৎসাহিত করবে বলে মনে হচ্ছে।
লিচা

আমাদের সিএসে কখনই "সুনির্দিষ্ট গাইড" এর মতো জিনিস বলা উচিত নয় সে সম্পর্কে এটি একটি দুর্দান্ত উদাহরণ। প্রধান অনুসন্ধান ইঞ্জিনগুলি এখন জাভাস্ক্রিপ্ট চালায়, সুতরাং এই উত্তরটি পুনরায় লেখা বা সম্পূর্ণ মুছে ফেলা দরকার।
শেব

1
@seb এখনও এটির জন্য প্রয়োজনীয় যা খোলার গ্রাফ ট্যাগগুলি যা পৃষ্ঠায় থাকা উচিত যখন রোবটগুলি ক্রল করে। উদাহরণস্বরূপ ফেসবুক বা টুইটার কার্ডের এটির প্রয়োজন। তবে এই উত্তরটি এখন হ্রাস করা হ্যাশবাংয়ের পরিবর্তে এইচটিএমএল 5 পুসস্টেটে ফোকাস করার জন্য আপডেট করা উচিত।
riend

@ Grsmto আপনি ঠিক বলেছেন! তারপরে আমি অনুমান করি এটি আবার লেখা উচিত কারণ এটি বলে যে প্রধান অনুসন্ধান ইঞ্জিনগুলি জেএস কার্যকর করে না, যা আর সত্য নয়।
Seb

57

এমও ব্লগের বছরে আপনার এসইও-বান্ধব অ্যাঙ্গুলারজেএস সাইট তৈরির টিউটোরিয়ালটি সত্যই পরীক্ষা করা উচিত। অ্যাঙ্গুলারের ডকুমেন্টেশনে বর্ণিত সমস্ত পদক্ষেপের মধ্য দিয়ে তিনি আপনাকে নিয়ে যান। http://www.yearofmoo.com/2012/11/angularjs-and-seo.html

এই কৌশলটি ব্যবহার করে, অনুসন্ধান ইঞ্জিন কাস্টম ট্যাগগুলির পরিবর্তে প্রসারিত এইচটিএমএল দেখে।


@ ব্র্যাড গ্রিন এমনকি প্রশ্নটি বন্ধ ছিল (যে কোনও কারণেই হোক) আপনি এর উত্তর দেওয়ার অবস্থান হতে পারেন। আমার ধারণা আমি অবশ্যই কিছু মিস করছি: স্ট্যাকওভারফ্লো.com
ক্রিস্টোফ

41

এটি মারাত্মকভাবে পরিবর্তিত হয়েছে।

http://searchengineland.com/bing-offers-recommendations-for-seo-friendly-ajax-suggests-html5-pushstate-152946

আপনি যদি ব্যবহার করেন: $ অবস্থানপ্রোভাডার html5 মডেল (সত্য); আপনি সেট করা আছে।

আর কোনও রেন্ডারিং পৃষ্ঠা নেই।


3
এটি এখন শীর্ষ উত্তর করা উচিত। আমরা ২০১৪ সালে আছি এবং @ জোয়াকিম্বল এর উত্তর আর সর্বোত্তম নয়।
স্টান

11
এটি ভুল। এই নিবন্ধটি (মার্চ ২০১৩ থেকে) জাভাস্ক্রিপ্ট কার্যকর করতে বিং সম্পর্কে কিছুই জানায় না। বিং কেবল তাদের পূর্ববর্তী ব্যবহারের সুপারিশের পরিবর্তে পুশস্টেট ব্যবহার করার জন্য একটি প্রস্তাব দেয় #!। নিবন্ধটি থেকে: "বিং আমাকে বলেছে যে তারা এখনও গুগল দ্বারা প্রবর্তিত ক্রলযোগ্য এজেএক্স এর #! সংস্করণটিকে সমর্থন করার সময় তারা খুঁজে পেয়েছে যে এটি বেশিরভাগ সময় সঠিকভাবে প্রয়োগ করা হয়নি, এবং তারা দৃ push়তার সাথে পুসস্টেটের পরামর্শ দেয়" " আপনাকে এখনও স্থির এইচটিএমএল রেন্ডার করতে হবে এবং এটি _escaped_fragment_ইউআরএলগুলির জন্য পরিবেশন করতে হবে । বিং / গুগল জাভাস্ক্রিপ্ট / এজেএক্স কলগুলি কার্যকর করবে না।
Prerender.io

2
আপনার এখনও প্রয়োজন _escaped_fragment_এবং খাঁটি HTML পৃষ্ঠাগুলি রেন্ডার করুন। এটি সাথির কিছুই সমাধান করে না।
স্ট্যান

এখনও গুগল রোবট আমার সাইটের গতিশীল সামগ্রী দেখতে পাবে না, কেবল খালি পৃষ্ঠা।
কলম্বার্ড

অনুসন্ধান সাইট: mysite.com {স্টাফ} shows দেখায়, অ্যাংুলারজেএস-এর মাধ্যমে বোঝানো সামগ্রী নয়। যেন গুগল ক্রলার কখনই জাভাস্ক্রিপ্টের কথা শোনেনি। আমি কি করতে পারি?
টুলকিট

17

এই প্রশ্নটি জিজ্ঞাসা করার পর থেকে বিষয়গুলি বেশ খানিকটা বদলে গেছে। গুগলকে আপনার অ্যাংুলারজেএস সাইটটি সূচী করতে দেওয়ার জন্য এখন বিকল্প রয়েছে। আমি খুঁজে পাওয়া সবচেয়ে সহজ বিকল্পটি ছিল: http://rerendre.io ব্যবহার করা use বিনামূল্যে পরিষেবাটি করা যা আপনার জন্য ক্র্যাবলযোগ্য পৃষ্ঠা তৈরি করবে এবং এটি সার্চ ইঞ্জিনগুলিতে পরিবেশন করবে। এটি প্রায় সমস্ত সার্ভার সাইড ওয়েব প্ল্যাটফর্মগুলিতে সমর্থিত। আমি সম্প্রতি সেগুলি ব্যবহার শুরু করেছি এবং সমর্থনটিও দুর্দান্ত।

তাদের সাথে আমার কোনও সম্পর্ক নেই, এটি একটি সুখী ব্যবহারকারীর কাছ থেকে আসছে।


6
প্রেরেন্ডার.ওয়ের কোডটি গিথুবটিতে রয়েছে ( github.com/collectiveip/prerender ) যাতে যে কেউ এটি নিজের সার্ভারে চালাতে পারে।
ব্যবহারকারী 276648

এটি এখন পুরানোও। নীচে @ ব্যবহারকারী 3330270 এর উত্তর দেখুন।
লেস হ্যাজলউড

2
এটি পুরানো নয়। @ ব্যবহারকারী 3330270 এর উত্তরটি ভুল। তারা যে নিবন্ধটি লিঙ্ক করেছেন তা কেবল #! এর পরিবর্তে পুশস্টেট ব্যবহার করতে বলে। ক্রলারের জন্য আপনার এখনও স্ট্যাটিক পৃষ্ঠাগুলি রেন্ডার করতে হবে কারণ তারা জাভাস্ক্রিপ্ট চালায় না।
প্রেরেন্ডার.ইও

9

কৌণিকের নিজস্ব ওয়েবসাইট অনুসন্ধান ইঞ্জিনগুলিতে সরল সামগ্রী সরবরাহ করে: http://docs.angularjs.org/?_escaped_fragment_=/tutorial/step_09

বলুন আপনার অ্যাঙ্গুলার অ্যাপটি কোনও নোড.জেএস / এক্সপ্রেস-চালিত জেএসওএন এপিআই গ্রহণ করছে /api/path/to/resource। সম্ভবত আপনি যে কোনো অনুরোধ পুনর্নির্দেশ পারে ?_escaped_fragment_থেকে /api/path/to/resource.html, এবং ব্যবহার বিষয়বস্তু আপস JSON তথ্য বিষয়বস্তুর একটি HTML টেম্পলেট, বরং ফিরতি চেয়ে রেন্ডার করতে।

একমাত্র জিনিস, আপনার কৌণিক রুটগুলি আপনার REST এপিআইয়ের সাথে 1: 1 টি মিলবে।

সম্পাদনা : আমি বুঝতে পেরেছি যে এটি আপনার রেস্ট এপিআইকে সত্যিকার অর্থে জলাবদ্ধ করার সম্ভাবনা রাখে এবং আমি খুব সাধারণ ব্যবহারের ক্ষেত্রে এটি প্রাকৃতিকভাবে ফিট করে না এমনটি করার বাইরে সুপারিশ করি না।

পরিবর্তে, আপনি আপনার রোবট-বন্ধুত্বপূর্ণ সামগ্রীর জন্য রুট এবং নিয়ন্ত্রকদের পুরোপুরি আলাদা সেট ব্যবহার করতে পারেন। তবে তারপরে আপনি নোড / এক্সপ্রেসে আপনার সমস্ত কৌণিক জেএস রুট এবং কন্ট্রোলারগুলি সদৃশ করছেন।

আমি একটি মাথাবিহীন ব্রাউজারের সাথে স্ন্যাপশট তৈরি করতে স্থির করেছি, যদিও আমি মনে করি এটি আদর্শের চেয়ে কিছুটা কম less



7

এখন পর্যন্ত গুগল তাদের এজেএক্স ক্রলিং প্রস্তাব পরিবর্তন করেছে।

সময় বদলেছে। আজ, যতক্ষণ না আপনি গুগলবোটকে আপনার জাভাস্ক্রিপ্ট বা সিএসএস ফাইলগুলি ক্রলিং থেকে আটকাচ্ছেন না, আমরা সাধারণত আপনার ওয়েব পৃষ্ঠাগুলি আধুনিক ব্রাউজারগুলির রেন্ডার এবং বুঝতে সক্ষম হয়েছি।

tl; dr: [গুগল] 2009 সালে ফিরে আসা এজেএক্স ক্রলিং প্রস্তাব [গুগল] সুপারিশ করছে না।


@ টুলকিট মানে কি?
থোর

1
গুগলবোট কৌণিক ওয়েবসাইটগুলি পার্স করতে সক্ষম নয়
টুলকিট

4
@ টলকিট আপনি পরম হুপের সাথে কথা বলছেন, আমার সম্পূর্ণ কৌণিক সাইটটি কোনও সমস্যা ছাড়াই
ডায়ামিক

@twigg আপনার ত্রুটিযুক্ত যুক্তি রয়েছে, আপনার অর্থ যদি কোনও (আপনার) কৌনিক ওয়েবসাইটটি সূচীভূত হয়, সমস্ত ছিল। আমি আপনার জন্য একটি চমক আছে। আমার কোনওটিই সূচিবদ্ধ ছিল। হতে পারে কারণ আমি কৌনিক ইউআই রাউটার ব্যবহার করি বা কেন জানি। এমনকি কোনও অজ্যাক্স ডেটা ছাড়াই মূল পৃষ্ঠাগুলিও নয়
টুলকিট

@ টুলকিট যদি আপনার স্থির এইচটিএমএল পৃষ্ঠাগুলিও সূচিবদ্ধ না হয় তবে জেএস ফাইলগুলিকে ক্রল করার দক্ষতার গুগলগুলির সাথে এর কোনও সম্পর্ক নেই। আপনি যদি বলছেন যে গুগল কোনওরকমভাবে সঠিকভাবে ক্রল করতে পারে না ... তবে আমি আপনাকে ভুল বলে মনে করি
phil294

6

গুগলের ক্রলএবল অ্যাজাক্স স্পেক, যেমন অন্যান্য উত্তরগুলিতে এখানে উল্লেখ করা হয়েছে, মূলত উত্তর।

অন্যান্য অনুসন্ধান ইঞ্জিনগুলি এবং সামাজিক বটগুলি কীভাবে একই সমস্যার সাথে আমি কীভাবে কাজ করে তার বিষয়ে আগ্রহী হলে আমি এখানে শিল্পের অবস্থাটি লিখেছি: http://blog.ajaxsnapshots.com/2013/11/googles-crawlable-ajax-specifications.html

আমি একটি https://ajaxsnapshots.com নামে কাজ করি , যে সংস্থা ক্রললেবল অ্যাজাক্স স্পিকে পরিষেবা হিসাবে প্রয়োগ করে - সেই প্রতিবেদনে তথ্যটি আমাদের লগগুলির পর্যবেক্ষণের ভিত্তিতে।


লিঙ্কটি নিচের তালিকাভুক্ত ব্লগ.এজ্যাক্সন্যাপশটস.কম
কেভিন

4

আমি একটি মার্জিত সমাধান পেয়েছি যা আপনার বেশিরভাগ ঘাঁটিগুলিকে কভার করবে। আমি প্রথমে এটি সম্পর্কে লিখেছেন এখানে আর অন্যজন অনুরূপ Stackoverflow প্রশ্নের উত্তর এখানে যা উল্লেখ করুন।

এফওয়াইআই এই সমাধানটিতে জাভাস্ক্রিপ্ট ক্রলার দ্বারা না নেওয়ার ক্ষেত্রে হার্ডকোডযুক্ত ফ্যালব্যাক ট্যাগগুলি অন্তর্ভুক্ত করে। আমি এটিকে স্পষ্টভাবে রূপরেখা হিসাবে দেখিনি, তবে এটি উল্লেখ করার মতো যে আপনার যথাযথ URL সমর্থনের জন্য HTML5 মোডটি সক্রিয় করা উচিত।

আরও মনে রাখবেন: এগুলি সম্পূর্ণ ফাইল নয়, কেবল প্রাসঙ্গিকতার গুরুত্বপূর্ণ অংশ। আপনার যদি অন্য কোনও জায়গায় খুঁজে পাওয়া যায় এমন নির্দেশিকা, পরিষেবা ইত্যাদির জন্য বয়লারপ্লেট লেখার ক্ষেত্রে সহায়তা প্রয়োজন। যাইহোক, এখানে যায় ...

app.js

এটি যেখানে আপনি আপনার প্রতিটি রুটের কাস্টম মেটাডেটা সরবরাহ করেন (শিরোনাম, বিবরণ ইত্যাদি))

$routeProvider
   .when('/', {
       templateUrl: 'views/homepage.html',
       controller: 'HomepageCtrl',
       metadata: {
           title: 'The Base Page Title',
           description: 'The Base Page Description' }
   })
   .when('/about', {
       templateUrl: 'views/about.html',
       controller: 'AboutCtrl',
       metadata: {
           title: 'The About Page Title',
           description: 'The About Page Description' }
   })

metadata-service.js (পরিষেবা)

কাস্টম মেটাডেটা বিকল্পগুলি সেট করে বা ফ্যালব্যাক হিসাবে ডিফল্ট ব্যবহার করে।

var self = this;

// Set custom options or use provided fallback (default) options
self.loadMetadata = function(metadata) {
  self.title = document.title = metadata.title || 'Fallback Title';
  self.description = metadata.description || 'Fallback Description';
  self.url = metadata.url || $location.absUrl();
  self.image = metadata.image || 'fallbackimage.jpg';
  self.ogpType = metadata.ogpType || 'website';
  self.twitterCard = metadata.twitterCard || 'summary_large_image';
  self.twitterSite = metadata.twitterSite || '@fallback_handle';
};

// Route change handler, sets the route's defined metadata
$rootScope.$on('$routeChangeSuccess', function (event, newRoute) {
  self.loadMetadata(newRoute.metadata);
});

metaproperty.js (নির্দেশিকা)

প্যাকেজগুলি দেখার জন্য মেটাডেটা পরিষেবা ফলাফল।

return {
  restrict: 'A',
  scope: {
    metaproperty: '@'
  },
  link: function postLink(scope, element, attrs) {
    scope.default = element.attr('content');
    scope.metadata = metadataService;

    // Watch for metadata changes and set content
    scope.$watch('metadata', function (newVal, oldVal) {
      setContent(newVal);
    }, true);

    // Set the content attribute with new metadataService value or back to the default
    function setContent(metadata) {
      var content = metadata[scope.metaproperty] || scope.default;
      element.attr('content', content);
    }

    setContent(scope.metadata);
  }
};

index.html

পূর্বে উল্লিখিত হার্ডকোডযুক্ত ফ্যালব্যাক ট্যাগগুলি দিয়ে সম্পূর্ণ করুন, কোনও জাভাস্ক্রিপ্ট বাছাই করতে পারে না এমন ক্রোলারদের জন্য।

<head>
  <title>Fallback Title</title>
  <meta name="description" metaproperty="description" content="Fallback Description">

  <!-- Open Graph Protocol Tags -->
  <meta property="og:url" content="fallbackurl.com" metaproperty="url">
  <meta property="og:title" content="Fallback Title" metaproperty="title">
  <meta property="og:description" content="Fallback Description" metaproperty="description">
  <meta property="og:type" content="website" metaproperty="ogpType">
  <meta property="og:image" content="fallbackimage.jpg" metaproperty="image">

  <!-- Twitter Card Tags -->
  <meta name="twitter:card" content="summary_large_image" metaproperty="twitterCard">
  <meta name="twitter:title" content="Fallback Title" metaproperty="title">
  <meta name="twitter:description" content="Fallback Description" metaproperty="description">
  <meta name="twitter:site" content="@fallback_handle" metaproperty="twitterSite">
  <meta name="twitter:image:src" content="fallbackimage.jpg" metaproperty="image">
</head>

এটি বেশিরভাগ অনুসন্ধান ইঞ্জিন ব্যবহারের ক্ষেত্রে নাটকীয়ভাবে সহায়তা করবে। আপনি যদি সোশ্যাল নেটওয়ার্ক ক্রলারের (যা জাভাস্ক্রিপ্ট সমর্থন সমর্থন করে) পুরোপুরি গতিশীল রেন্ডারিং করতে চান তবে আপনাকে এখনও অন্য কয়েকটি উত্তরে উল্লিখিত প্রাক-রেন্ডারিং পরিষেবাগুলির একটি ব্যবহার করতে হবে।

আশাকরি এটা সাহায্য করবে!


আমি এই সমাধানটিও অনুসরণ করছি এবং এর আগেও এর মতো ভেবেছিলাম তবে আমি জিজ্ঞাসা করতে চাই যে অনুসন্ধান ইঞ্জিনগুলি কাস্টম ট্যাগগুলির সামগ্রীগুলি পড়বে read
রবীন্দ্র পায়েল

@ রবীন্দ্রপায়াল আপনি কি এই সমাধানটি seoreviewtools.com/html-headings-checker-
বিজয়

2

প্রাইরেন্ডারের মতো কিছু ব্যবহার করুন, এটি আপনার সাইটের স্ট্যাটিক পৃষ্ঠাগুলি তৈরি করে যাতে সার্চ ইঞ্জিনগুলি এটি সূচী করতে পারে।

এটি কী প্ল্যাটফর্মের জন্য উপলব্ধ তা এখানে খুঁজে পেতে পারেন: https://prerender.io/docamentation/install-middleware#asp-net


কৌণিকটি কাজটি সহজ করার জন্য বা কেবল অপারেশনগুলিকে ব্যয়বহুল এবং সময় দেওয়ার জন্য
রবীন্দ্র পায়েল

2

অ্যাঙ্গুলার ইউনিভার্সাল দিয়ে আপনি অ্যাপ্লিকেশনটির জন্য ল্যান্ডিং পৃষ্ঠাগুলি তৈরি করতে পারবেন যা সম্পূর্ণ অ্যাপ্লিকেশনটির মতো দেখায় এবং এরপরে আপনার কৌণিক অ্যাপ্লিকেশনটি লোড করতে পারে।
কৌণিক ইউনিভার্সাল খাঁটি এইচটিএমএল অর্থ সার্ভার-সাইডে কোনও জাভাস্ক্রিপ্ট পৃষ্ঠাগুলি উত্পন্ন করে এবং বিলম্ব না করে ব্যবহারকারীদের কাছে সেগুলি সরবরাহ করে। সুতরাং আপনি যে কোনও ক্রলার, বট এবং ব্যবহারকারী (যাদের ইতিমধ্যে কম সিপিইউ এবং নেটওয়ার্কের গতি রয়েছে) এর সাথে ডিল করতে পারেন henতখন আপনি লিঙ্কগুলি বা বোতামগুলির মাধ্যমে আপনার প্রকৃত কৌণিক অ্যাপ্লিকেশনটিতে পুনঃনির্দেশ করতে পারেন যা এরই মধ্যে পেছনে লোড হয়েছে। এই সমাধানটি অফিসিয়াল সাইট দ্বারা প্রস্তাবিত। - এসইও এবং কৌণিক ইউনিভার্সাল সম্পর্কে আরও তথ্য-


1

ক্রোলারগুলি (বা বটস) ওয়েব পৃষ্ঠাগুলির এইচটিএমএল বিষয়বস্তুগুলি ক্রল করার জন্য ডিজাইন করা হয়েছে তবে অ্যাসিনক্রোনাস ডেটা আনার জন্য এজেএক্স অপারেশনের কারণে এটি পৃষ্ঠাতে রেন্ডার করতে এবং এতে গতিশীল সামগ্রী প্রদর্শন করতে কিছুটা সময় নেয় বলে এটি একটি সমস্যা হয়ে দাঁড়িয়েছিল। একইভাবে, AngularJSঅ্যাসিক্রোনাস মডেলও ব্যবহার করুন, যা গুগল ক্রলারের জন্য সমস্যা তৈরি করে।

কিছু বিকাশকারী আসল তথ্য সহ বেসিক এইচটিএমএল পৃষ্ঠাগুলি তৈরি করে এবং ক্রলিংয়ের সময় সার্ভার দিক থেকে এই পৃষ্ঠাগুলি পরিবেশন করে। আমরা PhantomJSসার্ভিস সাইডে একই পৃষ্ঠাগুলি রেন্ডার করতে পারি যা রয়েছে _escaped_fragment_(কারণ গুগল #!আমাদের সাইটের ইউআরএল সন্ধান করে এবং তারপরে সমস্ত কিছু নেয় #!এবং এটি _escaped_fragment_ক্যোয়ারী প্যারামিটারে যুক্ত করে)। আরও বিশদের জন্য দয়া করে এই ব্লগটি পড়ুন


অক্টোবর ২০১ of সালের মতো এটি আর সত্য নয়, এই আয়কর ক্যালকুলেটর আয়- টেক্সট.co.uk খাঁটি অ্যাঙ্গুলারজেস দিয়ে নির্মিত (এমনকি শিরোনামগুলি <শিরোনাম> Calc {ings উপার্জন স্লাইডার্স.ইয়ারলি | নম্বর: 0} for বেতন </ শিরোনাম> যা "30000 ডলার বেতনের জন্য ট্যাক্স ক্যালকুলেটর" রেন্ডার করে) এবং গুগল ইনডেক্স করে শত শত কীওয়ার্ডের জন্য এগুলিকে প্রথম পৃষ্ঠায় স্থান দেয় Just মানুষের জন্য আপনার ওয়েবসাইট তৈরি করুন, তাদের দুর্দান্ত করুন, গুগল বাকী যত্ন নেবে ;)
ক্যাসোনি ফেরেনজ

0

ক্রোলারগুলিকে সমৃদ্ধ বৈশিষ্ট্যযুক্ত স্টাইলযুক্ত গুঁইয়ের দরকার নেই, তারা কেবল সামগ্রীটি দেখতে চায় , তাই আপনাকে তাদের জন্য একটি পৃষ্ঠার স্ন্যাপশট দেওয়ার দরকার নেই যা মানুষের জন্য নির্মিত হয়েছে।

আমার সমাধান: ক্রলারটি ক্রলারটি যা চায় তা দেওয়ার জন্য :

ক্রলার কী চায় সে সম্পর্কে আপনার অবশ্যই ভাবতে হবে এবং তাকে কেবল এটি দিন।

টিআইপি পিছনে গোলযোগ না। একই এপিআই ব্যবহার করে কেবল একটি সামান্য সার্ভার-পার্শ্বযুক্ত ফ্রন্টভিউ যুক্ত করুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.