{"action":"closed","issue":{"url":"https://api.github.com/repos/kurehajime/colamone_js/issues/42","labels_url":"https://api.github.com/repos/kurehajime/colamone_js/issues/42/labels{/name}","comments_url":"https://api.github.com/repos/kurehajime/colamone_js/issues/42/comments","events_url":"https://api.github.com/repos/kurehajime/colamone_js/issues/42/events","html_url":"https://github.com/kurehajime/colamone_js/issues/42","id":60261866,"number":42,"title":"なんか検索エンジンに引っかからなくなった。","user":{"login":"kurehajime","id":4569916,"avatar_url":"https://avatars.githubusercontent.com/u/4569916?v=3","gravatar_id":"","url":"https://api.github.com/users/kurehajime","html_url":"https://github.com/kurehajime","followers_url":"https://api.github.com/users/kurehajime/followers","following_url":"https://api.github.com/users/kurehajime/following{/other_user}","gists_url":"https://api.github.com/users/kurehajime/gists{/gist_id}","starred_url":"https://api.github.com/users/kurehajime/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kurehajime/subscriptions","organizations_url":"https://api.github.com/users/kurehajime/orgs","repos_url":"https://api.github.com/users/kurehajime/repos","events_url":"https://api.github.com/users/kurehajime/events{/privacy}","received_events_url":"https://api.github.com/users/kurehajime/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-03-08T15:41:00Z","updated_at":"2015-03-18T10:30:35Z","closed_at":"2015-03-18T10:30:35Z","body":"## 現象\r\n以前「直リンではうまく動くのに検索エンジンから飛ぶとバグる」という現象に遭遇したため、変更を加えた後は検索エンジンで飛んでテストするようにしてる。\r\n昨日変更していて気がついた。\"colamone\"で検索しても我が[colamoneのページ](http://xiidec.appspot.com/colamone/colamone.htmll)がヒットしない。次へ次へと進んでも全然出てこない。前は1番目か2番目くらいだったのに。\r\nhttp://xiidec.appspot.com/colamone/colamone.html\r\nで検索すると出てくるので、Google八分ではなさそうな気がする。\r\nためしに英語版Googleで検索してみるとちゃんとトップに出る。\r\n趣味でやってるページだし検索エンジンでの順位にそんなに一喜一憂する必要はないけど、まったく引っかからなくなるのはなんか気持ち悪いので、対応策を考えてみる。\r\n\r\n## 最近した心当たりのある変更\r\n#### ①Google+を退会した\r\nrel=\"author\"で自分のGoogle+アカウントと紐付けていたけど、Google+のプロフィール消したくなって退会しタグも削除した。Googleだから多少の贔屓はあるだろうけど、退会したくらいでそこまで変動しなさそう。\r\n\r\n#### ②動的にHTMLを書き換える要素から埋め込み文書を削除した。\r\ncolamoneのルールの文面はJavascriptで動的に英語と日本語を切り替えている。初期表示では英語の説明文が書かれていて、それを上書きする形をとっていた。それを最近、どうせ上書きされるからと中身をごっそり削除した。\r\nこの変更によりJavascipt非対応ブラウザからは文章のほとんどないページのように見えてしまうようになった。怪しい。\r\n\r\n#### ③Javascriptを全部外部ファイルに移動した。\r\n今まで文章置き換えロジックだけは本体HTMLのonloadにベタ書きしてたけど、外部ファイルに移動した。jQueryのinitに移動したので実行タイミングが多少後回しになったかもしれない。\r\n\r\n## 考察\r\n②と③が怪しい。このどちらかか、その両方だと思う。\r\n英語版Googleで普通に表示されてるところを見ると、③によってHTMLファイル中に日本語が一切含まれなくなり英語環境のBotが見ても英語版しか表示されないから日本語非対応サイトとして判定された可能性が高い気がする。そのうえテキストが極端に少ないサイトなので検索から漏れてしまった、と。\r\n\r\n## 対応\r\n#### ①Javascriptで必要な文章を埋め込むのではなく、不要な文章を非表示にするように。\r\njavascript実行前に両方表示されるんでちょっと見苦しいんだけど、Javascript非対応なブラウザでは両方表示されるようにした。GoogleのBotはJavascriptを解釈できるらしいけど、まぁ念には念を入れて。\r\n\r\n#### ②パラメータによる言語切替え\r\n日本語版\r\nhttp://xiidec.appspot.com/colamone/colamone.html?lang=ja\r\n英語版\r\nhttp://xiidec.appspot.com/colamone/colamone.html?lang=en\r\nというように、パラメータで言語を切り替えられるようにした。\r\n今までもユーザーの言語環境に合わせて日本語と英語を切り替えてたけど、これで英語環境のBotにも日本語版を見せることができる。\r\n\r\n#### ③hreflangタグで言語別ページを案内\r\n\r\n```\r\n<link rel=\"alternate\" hreflang=\"ja\" href=\"http://xiidec.appspot.com/colamone/colamone.html?lang=ja\" />\r\n```\r\nというように、日本語版の場所を案内するようなタグを追加した。\r\n\r\n#### ④寝て待つ\r\nもうそれしかない。"}}