web-dev-qa-db-ja.com

AngularJSベースのSPAページのインデックス作成

私は最近、AngularJSベースのポータルに取り組みました。ポータルの主な領域の1つは、組織で利用可能な求人をリストすることです。現在、Googleはいくつかの求人情報をインデックスに登録しています。ジョブには有効期限があり、新しいジョブは定期的に更新されるため、Googleが実際に常に最新のデータを持っているとは限りません。

Google検索コンソールでいくつかの求人リンクがインデックス付けされているかどうかを検索すると、いくつかの求人リンクはインデックスに登録されていますが、SPAのルートセクションのみがインデックス付けされています(インデックス付けされたページで利用可能な求人コンテンツがない)、いくつかはリダイレクトエラーが発生しています。外部でホストされているスクリプトがない場合でも、必要なJSスクリプトをロードしてページを適切にレンダリングできません。

単一ページアプリケーションの検索エンジン最適化を処理する正しい方法は何ですか?クローラーに提供されるページの並列処理バージョンを作成する必要がありますか?

使用可能なすべてのジョブをリストし、分析のためにそれをプッシュするためのsitemap.xmlを作成するスケジューラーを作成しますか?この場合でも、古いジョブを強制的に削除するにはどうすればよいですか?

3
Paras

Sitemap.xmlの自動更新とプッシュを行う場合は、available_afterタグを使用して古いジョブを削除できます。私があなたの立場にあれば、メニューの一部をサブタブまたは何かのジョブに導くようにします。 Googleが検出したリンク先へのリンクがあれば、インデックス作成に劇的に役立ちます。

4月の初めに、Googleは「リダイレクトのあるページ」のために多くの人々のページをめちゃくちゃにしてインデックスを削除しました。彼らはそれを修正し、インデックスを再作成するために取り組んできました。検索エンジンの土地はそれについての記事をしました。 https://searchengineland.com/does-google-owe-us-more-than-just-an-apology-over-de-indexing-315468

このページの下部に navailable_after タグ情報を含めました...

unavailable_after:[RFC-850日時]指定された日時以降は、このページを検索結果に表示しません。日付/時刻はRFC 850形式で指定する必要があります。

2
Leonard Treman
  1. SPAがGoogleによって適切にレンダリングされていることを確認してください。通常、Googleがルートページをクロールすると、リンクが見つかったときにリンクをたどります。ページがGoogleによって適切にレンダリングされているかどうかをテストするには、Chromiumバージョン41をダウンロードします。searchengineland.comでこの記事に従ってください JavaScriptを利用したWebサイトの診断の優先度Crawling the modern web

    古いバージョンのブラウザーをサポートするために通常ポリフィルを追加することになるChromium 41で起こり得るエラーを確認します

  2. Title、Meta、Canonicalタグがサーバー側からレンダリングされていることを確認します(Googleに推奨)。このビデオを参照してください 検索向けのJavaScriptを使用したWebサイトを提供(Google I/O '18) 。サーバー側のレンダリングを検討する方が良いですが、ビデオでは、タイトル、メタ、および正規タグがサーバー側から送信され、残りのコードがクライアント側でレンダリングされるハイブリッドアーキテクチャについて説明しています。 Googleには、Puppeteerと呼ばれる独自のヘッドレスブラウザーツールがあり、サーバーサイドレンダリングに役立ちます Headless Chrome:サーバーサイドレンダリングJSサイトへの回答
  3. WebサイトにURLを追加すると、URLが自動的に更新される動的サイトマップを作成することを検討してください。これにより、Googleが新しいページを簡単に見つけられるようになります
  4. サーバーの応答時間を短縮して、Googleが適切なペースでページをクロールできることを示す
1
Shahzeb Qureshi