質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SEO

SEO(Search Engine Optimization)は、検索エンジンでウェブページがランキング上位に上がるように工夫する様々なテクニックの事です。

Q&A

解決済

1回答

283閲覧

・重複コンテンツをクリックイベントでDOM生成するのは、問題ないでしょうか?

退会済みユーザー

退会済みユーザー

総合スコア0

SEO

SEO(Search Engine Optimization)は、検索エンジンでウェブページがランキング上位に上がるように工夫する様々なテクニックの事です。

0グッド

1クリップ

投稿2018/10/09 00:56

編集2018/10/09 08:56

重複コンテンツをクリックイベントでDOM生成するのは、問題ないでしょうか?

他のページの紹介文や、アプリの使い方の説明文など、どうしても重複コンテンツになってしまう部分を何とかしたいです。
下記のような情報を見たのですが、

>>>
クリックによるDOM生成はページ遷移に該当するのでクローキング判定される可能性は低い。スクロールイベントに連動するものはガイドラインを厳格に適用すればクローキングに該当します。

>>>

つまり、スクロールイベントを使って、ある程度下がったらDOM生成して、他のページの紹介文などが作られる場合はクローキングになる可能性が高いので、やめたほうがいい。
しかし、リンクをクリックさせて、DOM生成する形で、テキスト情報を作成する場合は、クローキングになる可能性が極めて低いと考えて良いという情報です。

もしこれが正しければ、
他のページの紹介文を見るというページ内遷移のボタンを作ってこのボタンを押すと、
するっと移動しながらDOM生成して、到着と同時に作られた紹介文を見ることが出来るという形にすることが出来ます。

これなら、クローキングになる可能性はほぼありえないでしょうか?

一番の理想は、アプリのスタートボタンを押したら、紹介文などが、DOM生成する形です。
これなら絶対に、押すので、わざわざもう一度、紹介文を見るボタンを押してもらう手間が省けます。

ただこれだとクローキングになる可能性が高いのですかね?
いまいち、違いがわかりません。

・URLパラメータという方法もあるようですがこれは、サーバサイドのプログラミングをしないと不可能なのでしょうか?

フロントjsしかできない人には無理ですかね?


>>>
質問者さんの言う、”重複コンテンツ”はSEO上での、検索エンジンにとっての重複コンテンツ、という認識で合っていますか?それであれば、回答することが可能です。
>>>

そうです。おそらく重複コンテンツが原因でページでの順位が全く上がらなくなりました。

ページは下記のようなイメージです。

ヘッダー
アプリの内容(SPAなので、クリック時に表記される。それまでは何もない状態なのでクローラーは認識できていない。)
アプリの実行ボタン

他のサイトの紹介文

SNSのお願い文

その他文三種類ほど

アプリの内容をズラッとliで羅列表記。
(クローラーに重複コンテンツのページと思われないように。あえて記載している。)
フッター

上記のようになっています。

*ソースコードは下記のようになっています。
今は、スクロールイベントをコメントアウトしています。

(function () { // document.addEventListener('scroll', function() { // // var scrollFrag; // if(scrollFrag !== true && window.scrollY >= 1500) { // scrollFrag = true; var punPage = document.querySelector('#js-other'); punPage.innerHTML = ` <aside id="js-goto-other"> <h4 class="heading4"> ここに、テキスト情報がごっそり入っている。~

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi_takatsuk

2018/10/09 08:26

前回の質問時に、こちらからの質問をしなくてすみませんでした。質問者さんの言う、”重複コンテンツ”はSEO上での、検索エンジンにとっての重複コンテンツ、という認識で合っていますか?それであれば、回答することが可能です。
miyabi_takatsuk

2018/10/09 08:35

もう一点、だいたいでいいので、訪問ページと、表示させたい内容が記載さ入れているページなどの、サイト全体のディレクトリ構成や、js構文を記載してください。正直、今のままでは、クローキングになるかどうかも判断できません。重複コンテンツになるか否かくらいしか、お答えできません。
guest

回答1

0

ベストアンサー

質問文の修正、ありがとうございます。

回答いたしますと、
クライアントサイド(JavaScriptでHTMLの内容を変えることも、クライアントサイドとなります。)で、いくら文面を変えようとも、
元のHTML文が同じ内容、構成であれば、いくらJavaScriptでリッチテキストでコントロールしようとも、
重複コンテンツとみなされる確率が非常に高くなります。(というかほぼ100%でしょう)
現在の技術では、ロボットのクロールの際の、サーバーから返ってきたHTML文章の内容で、
そのページの内容が判別されております。
である以上、ロボットが判断した後にいくらJavaScriptで内容を変えようが、Ajaxで別ページの内容を入れこもうが、重複コンテンツとみなされます。
よって、同じHTML上で、かつ重複コンテンツとみなされないようにするには、サーバーサイド(PHPとか、Perlとかです)で、URLパラメータなどによって判別し、
サーバーから返ってくるHTML文章の内容自体を変えるしかありません。
なので、クローキングの可能性云々ではなく、
JavaScriptでのリッチコンテンツは、検索エンジンロボットにとっては、”見えない内容”、なのです。
(見えないからこそ、下手なことをするとクローキングとみなされるのです)

検索技術の進歩を期待して止みませんが、
(現在は画像に書かれた文字を検索にひっかけるなどの技術が研究されています。そうなれば、JavaScriptの内容をも検索できる時代がいずれくるでしょう)
今のところは、質問者さんのやりたいことで、重複コンテンツ回避は不可能です。

投稿2018/10/09 11:02

編集2018/10/09 11:08
miyabi_takatsuk

総合スコア9528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/10/09 13:36

>>> 検索技術の進歩を期待して止みませんが、 (現在は画像に書かれた文字を検索にひっかけるなどの技術が研究されています。そうなれば、JavaScriptの内容をも検索できる時代がいずれくるでしょう) 今のところは、質問者さんのやりたいことで、重複コンテンツ回避は不可能です。 >>> クリックイベントや 記載したソースに今コメントアウトされている、スクロールイベントを実行してからDOM生成する形にしても、 クローラーは認識できるので、定型文は重複コンテンツになっているという事ですね。 私は、技術力が低いので、大変恐縮ですが、この結論の場合いくつか気になる点があります。 ・モバイルフレンドリーテストで確認したところ、スクロールイベントを使うと、フックとなるdivしか存在しませんでした。 その後スクロールイベントを外すとちゃんとDOM生成された、テキストが表記されました。 ・もしそうなら、クリックイベント時に実行されるアプリの内容にあたるテキストも全て認識できていることになります。 数千文字がここにあるので、定型文が数百文字あっても重複コンテンツページとして認識されないはずです。 ある意味そうであれば、始めから、この問題は一切起きていないのではと思います。 よって、私は、やはりイベント実行時にinnerHTMLで挿入されたテキストは認識していないと思います。 ただ、2年後あたりに、画像の中の文字も認識できるようになると、イベント実行時にinnerHTMLに挿入される 形でも、認識できるようになるので、数年で、また重複コンテンツ扱いになるのですね。 原理がいまいちわかりませんが、なぜ画像のテキストを認識できるとイベント実行時にinnerHTMLで挿入される テキストを認識できるようになるのでしょうか? 本当にそうなら、もうコンバージョン率がさがっても定型文を減らすか、詳細を見るボタンをつけて、別ページに飛ばして、 そこに記載して、このページはインデックスさせないしかないですね。
miyabi_takatsuk

2018/10/10 19:01

>・モバイルフレンドリーテストで確認したところ、スクロールイベントを使うと、フックとなるdivしか存在しませんでした。 >その後スクロールイベントを外すとちゃんとDOM生成された、テキストが表記されました。 モバイルフレンドリーは、CSSや画像、JSなど全ての実行の後、最終的にモバイルデバイスに最適化された表示をしているかを計測するものなので、 今回の、SEO上での重複コンテンツとは関係ありません。 (モバイルフレンドリーであること自体は、SEOにとても重要になります。) >・もしそうなら、クリックイベント時に実行されるアプリの内容にあたるテキストも全て認識できていることになります。 >数千文字がここにあるので、定型文が数百文字あっても重複コンテンツページとして認識されないはずです。 >ある意味そうであれば、始めから、この問題は一切起きていないのではと思います。 その認識で大丈夫です。 DOM生成したものは、クローラーがページを認識した後に実行されるものなので、JSを実行した時はすでに時遅しなのです。 >ただ、2年後あたりに、画像の中の文字も認識できるようになると、イベント実行時にinnerHTMLに挿入される >形でも、認識できるようになるので、数年で、また重複コンテンツ扱いになるのですね。 >原理がいまいちわかりませんが、なぜ画像のテキストを認識できるとイベント実行時にinnerHTMLで挿入される >テキストを認識できるようになるのでしょうか? 2年後とは、どこから出たのが存じ上げませんが、 画像の文字の認識と、JSの内容の認識は全く別個です。 私が申し上げたのは、画像の文字の認識ができるくらいの技術革新があれば、JS上の内容の認識をするのは造作もないだろう、といった趣旨の話です。 >本当にそうなら、もうコンバージョン率がさがっても定型文を減らすか、詳細を見るボタンをつけて、別ページに飛ばして、 >そこに記載して、このページはインデックスさせないしかないですね。 そうですね。 現在表示させているページのせいで、順位が下がっており、影響をさせたくないのであれば、 そのページに、ユニークな内容を入れるか、もしくは、インデックスをさせない、しかないでしょうね。
退会済みユーザー

退会済みユーザー

2018/10/11 02:11

>>> モバイルフレンドリーは、CSSや画像、JSなど全ての実行の後、最終的にモバイルデバイスに最適化された表示をしているかを計測するものなので、 今回の、SEO上での重複コンテンツとは関係ありません。 (モバイルフレンドリーであること自体は、SEOにとても重要になります。) >>> もちろんブラウザ上の画面も確認できますがソースコード自体も確認できます。 ソースコードにDOM生成されたhtmlが存在しなくて、JSのフックのdivしかないという事は、 やはり、スクロールイベントをトリガーとしたJSは実行できていないという事ではないのですか? つまり、スクロールイベントで生成されるhtmlは認識できていないので、 存在しないと思っているのではないのですか? >>> DOM生成したものは、クローラーがページを認識した後に実行されるものなので、JSを実行した時はすでに時遅しなのです。 >>> JSを実行した後の最終的なhtmlにないものは、実行できなかったJSなので、認識できていないのではないのですか? >>> 2年後とは、どこから出たのが存じ上げませんが、 画像の文字の認識と、JSの内容の認識は全く別個です。 私が申し上げたのは、画像の文字の認識ができるくらいの技術革新があれば、JS上の内容の認識をするのは造作もないだろう、といった趣旨の話です。 >>> イベント実行時にinnerHTMLで挿入するテキストも、数年くらいで、理解できるようになりそうなのですね。 >>> そうですね。 現在表示させているページのせいで、順位が下がっており、影響をさせたくないのであれば、 そのページに、ユニークな内容を入れるか、もしくは、インデックスをさせない、しかないでしょうね。 >>> おっしゃる通りなので、オリジナルのテキストを2000文字以上追加しました。しかしそれでも、 翌日1から0の表記数が70前後になって、翌日また0になってしまいます。 もしかして、短期間にこれと関連する内容のページを量産したのが問題だったのでしょうか? つまり、例えば、中国語のクイズがクリックされるとわかったからと言って、問題数をりょうさんして、 ページ数を一気に増やすと、クローラーは同じ内容のページを量産した水増し請求のページを量産したと、 勘違いされるのでしょうか? 最後に、これだけ教えていただければ幸いです。 スクロールイベントは、クローキングになる可能性が高いので行いませんが、 クリックイベント時にDOM生成する形なら、ページ遷移と同じとグーグルは考えているので、 クローキングになる可能性がほぼないと聞いたのですが、これなら、少なくてもクローキングになる可能性は、 ないと考えてよろしいでしょうか? もちろんこれをやってもクローラーは認識しているので、完全に別ページを作って、そこに記載するしかないという、 お考えなのは分かっています。
miyabi_takatsuk

2018/10/11 19:45 編集

>ソースコードにDOM生成されたhtmlが存在しなくて、JSのフックのdivしかないという事は、 >やはり、スクロールイベントをトリガーとしたJSは実行できていないという事ではないのですか? >つまり、スクロールイベントで生成されるhtmlは認識できていないので、 >存在しないと思っているのではないのですか? そうですね、認識されていないでしょうね。というかJSがうまく動いていないんだと思います。 >スクロールイベントは、クローキングになる可能性が高いので行いませんが、 >クリックイベント時にDOM生成する形なら、ページ遷移と同じとグーグルは考えているので、 >クローキングになる可能性がほぼないと聞いたのですが、これなら、少なくてもクローキングになる可能性は、 >ないと考えてよろしいでしょうか? クリック時にDOM修正、クローキングにならないと思いますよ。 というか、スクロール時でも、そんなに大量でない、ページと関連している内容であれば、クローキングにはならないと思いますよ。(最初の回答と矛盾するかもしれませんが) うーん、もう一度確認します。 その質問者さんの言う定型文は、ページによってユニークですか? それぞれ別々のHTMLページとして存在しているのでしょうか? いくら何万文字、文字列を追加しても、同じ内容ならまったく意味がありません。 そして、そのサイト、そのページに関連づいている内容でなければ、SEO上の意味を全く成しません。むしろペナルティを食らう可能性が高くなります。
退会済みユーザー

退会済みユーザー

2018/10/12 02:21

>>> そうですね、認識されていないでしょうね。というかJSがうまく動いていないんだと思います >>> 認識しているとおっしゃっていませんでしたか? 定型文がユニークという事はあり得ませんよね。 数千文字のオリジナルの情報は、ユニークで定型文とは別の内容です。 ちょっと矛盾が多すぎるので混乱します。
退会済みユーザー

退会済みユーザー

2018/10/12 02:57

今までご回答ありがとうございました。 ちょっと矛盾が多すぎて理解できないので、他の人の意見も聞きたいと思います。 最後に、クリックイベントでDOM生成するのは、別ページに移動したものとして、グーグルは認識するので、重複コンテンツになることは、ありえないのですね。 また、スクロールイベントも、重複コンテンツになる可能性はクリックイベントでDOM生成するのと比べると多少ありうるが、確率としては低いのですね。
miyabi_takatsuk

2018/10/12 03:42

>認識しているとおっしゃっていませんでしたか? 認識しているといったのは、モバイルフレンドリーでは認識してる、ということです。 私が認識しないと言ったのは、あくまで検索ロボットがって話です。 表現足らずですみません。 ですが、矛盾はしておりませんよ。 あくまで検索ロボットは、JSでDOM生成後の文章は認識しません。 >定型文がユニークという事はあり得ませんよね。 >数千文字のオリジナルの情報は、ユニークで定型文とは別の内容です。 では、質問者さんが言う定型文=HTML上の静的文章(DOMで生成前の文章) ではないということですね? HTMLの静的文章が同じ内容である(ユニークでない)限り重複コンテンツと認識されます。 何度も申し上げますが、JSでいくらDOM生成してHTML内容を変えても、HTMLの静的内容が同じであれば、重複コンテンツになります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問