簡単なメモ:この質問を投稿するセクションを決定できませんでした-Webmastersまたはしかし、これがSEOに関係していることを考慮して、ここに投稿することにしました。本当にこの間違いを犯した場合はご容赦ください。
そうです、私はMasonryプラグインを使用して要素レイアウトに柔軟性を与えています(誰かがこのプラグインを使用するすべての理由)...しかし、私はもう少し進んでappendメソッドを試みることにしました誰かがLOAD MOREボタンをクリックしたときに外部phpファイルをロードする(このメソッドは半分の「遅延ロード」機能でもあると思いますこのアプローチにしたかった理由)。
これを行う方法を何時間もテスト/調査した後(何らかの理由でSOの多くの解決策が役に立たなかったし、Masonryのドキュメントが実際にうまく説明できないと感じています)、私は結局正しくなりました次のコードで:
$('#towns').masonry({
columnWidth: '.grid-sizer',
itemSelector: '.town',
Gutter: '.Gutter-sizer',
percentPosition: true
});
$('.loadmore').click(function(){
$.get('inc/towns.php', function( data ) {
var $moreBlocks = $( data ).filter('.town');
$('#towns').append( $moreBlocks );
$('#towns').masonry( 'appended', $moreBlocks);
});
$('.loadmore').addClass("active");
});
今、私のSEOの懸念は、towns.phpのコンテンツをロードし、ソースの表示をクリックすると、それらの要素がソースコードにないことです。私がオンラインで読んだのは、ソースコードが最初にロードされたときにページを表示しているためです(より多くのコンテンツをロードした後に動的にではなく)、誰かがオンラインと言った(これらのウェブサイトへのリンクが見つかりません)要素であり、ajaxで読み込まれたコンテンツを見ることができる場合、コンテンツは実際に「そこ」にあります...したがって、SEによってクロール可能です。しかし、私は確信していません。ソースコードに含まれていない場合は、クロールする必要はありません。
ところで-私は、ajaxでロードされたコンテンツと追加/追加されたコンテンツは実質的に同じものだと思いますか?
さて、先日(2015年10月14日) AJAXアプリケーションをクロール可能にする を説明するGoogleの記事は廃止されました。これは(明らかに)興味深い読み物であり、その記事で述べられているポイントのいくつかはまだ当てはまると思います。 Googleは言った:
"ユーザーに見えるもの、クローラーに見えるもの"
私の疲れた目が脳の衰退を引き起こしているかどうかはわかりませんが、「ユーザーが見るもの、クローラーが見るもの」というフレーズは完全に正しいとは思われません。そのソースコードは、そのコンテンツは基本的にクロールできません。
したがって、追加されたコンテンツ=ユーザーが見ることができます。
ただし、追加されたコンテンツはソースコードには表示されないため、クロール可能にはなりません。
そのため、「ユーザーに表示されるもの、クローラーに表示されるもの」というポリシーはまったく真実ではないか、非常に曖昧なだけのようです(間違っている可能性があります)。
「ユーザーが見るもの、クローラーが見るもの」と言ったときのグーグルの本当の意味は、javascriptを無効にしてウェブサイトをサーフィンしている人(そのような「ユーザー」-JSは動的にロードされたコンテンツを見ることができない無効)。 「AJAXアプリケーションをクロール可能にする」は廃止されましたが、これはまだ当てはまると思います。
その記事のさらに下で、彼らは「HTMLスナップショット」という用語に言及しています。私が間違っている場合は修正しますが、基本的に彼らはSEがフォローしてクロールするためにajaxで制御されたコンテンツのファイルへの隠しリンクを置くべきだと言っていますか?その後、彼らは「クローラーとサーバーの間の合意」について話します。正直に言って、私はその部分のすべてをよく理解していませんが、私のtowns.php「リンク」には適用されないと思います。
これは「非推奨のAJAXクロールスキーム」に関する公式説明へのリンクです
その記事には、「Webページをよりよく理解する」ことに関する別のGoogle記事へのリンク(担当者に2つ以上のリンクを投稿することはできません)
それをすべて読んだ後、言われたことすべてで...新しいアルゴリズムが登場した今、石積みが追加されたコンテンツがクロール可能になったという点で、私の状況はどのように見えますか?非表示のURLを追加するなど、SEOフレンドリーにするために追加の手順を実行する必要がありますか(または完全に間違っていますか)。私はちょうどこのトピックが全体として少し曖昧であると感じています(おそらく私はjavascriptの初心者です)。これは、Masonryを使用している他の多くの人にとって、何らかの助けになると思います。
事前にあなたの助けに感謝します。
次の場合、Googleはクロールできません
onerror
の不在画像によってトリガーされます。robots.txt
でクロールするために閉じられます。あなたのように、Googleがjavascriptおよびjavascriptの読み取りアクセス権を持っている場合、コンテンツをクロールできます。 towns.php
がクロールされるかどうかは別の質問です。 towns.php
と/inc/
がクロールに対してrobots.txt
によって閉じられているかどうかによります。
チェックする最良の方法は、サンプルを公開し、検索コンソールでGoogleとして取得してから、Googleのキャッシュを調べることです。クロールされた/インデックス付けされたコンテンツがそこにあるはずです。
Googleが言及している「契約」は次のとおりです。HTMLヘッドに次の行を追加します。
<meta fragment="#">
クローラーがこのタグを「見る」と、?_ escaped_fragment_ =パラメーターを追加して同じページを要求します。クローラーが
http://example.com/post/1
そのサイトにメタフラグメントタグが含まれていると、リクエストが次のように変更されます。
http://example.com/post/1?_escaped_fragment_=
このリクエストによって返されたコンテンツを使用してサイトをクロールします。そのため、このパラメーターが存在する場合は、ユーザーの操作ベースの遅延読み込みなしでページ全体を提供する必要があります。あなたの場合、パラメーターが存在する場合はページ上のすべてのコンテンツ(サーバー側、たとえばPHP)をレンダリングし、パラメーターが存在しない場合はレイジーローディングメカニズムのみを含めることができます。