An update (March 2016) on the current state & recommendations for JavaScript sites / Progressive Web Apps [1] in Google Search.
の話。目新しい情報はないかもしれませんが、興味ある方は一読すると良いかもしれません。以下は抄訳ではなく、ただのメモです。なお、 https://twitter.com/addyosmani/status/705921670096228352 や https://twitter.com/paul_irish/status/706985006426562560 経由で知りました。
-
Don't cloak to Googlebot. Use "feature detection" & "progressive enhancement"
Googlebot は現時点では Service Worker、Fetch API、Promises、requestAnimationFrameなどをサポートしていない。なので、それらの技術を使うときは、polyfill入れたりfeature detectionなりしてfallbackしたりして、Googlebotでも表示できるようにがんばるといい。 -
Use rel=canonical
うん -
Avoid the AJAX-Crawling scheme on new sites.
Ajax Crawling は、Single Page Application で生成したページをGoogleBotが表示できていなかったので、その対策として提案されていたもの。でも今ではGooglebotもJavascriptを処理できるので、deprecate(Deprecating our AJAX crawling scheme)という扱いになっている。 -
Avoid using "#" in URLs (outside of "#!"). Googlebot rarely indexes URLs with "#" in them. Use "normal" URLs with path/filename/query-parameters instead, consider using the History API for navigation.
-
Use Search Console's Fetch and Render tool
Search Console の「Fetch as Google」を使うと、Googlebotでのどうレンダリングされるかを見ることができます(ついでに「インデックスに送信」ボタンを押すとGoogleの検索インデックスにかなり早く登録される)。 -
Ensure that all required resources (including JavaScript files / frameworks, server responses, 3rd-party APIs, etc) aren't blocked by robots.txt.
現在のGooglebotはJavascriptも処理できるので、ブロックする必要はないと。 -
Limit the number of embedded resources, in particular the number of JavaScript files and server responses required to render your page.
-
Google supports the use of JavaScript to provide titles, description & robots meta tags, structured data, and other meta-data.
AMP(Accelerated Mobile Pages Project)は、Static Contentを素早くレンダリングする方法らしいんだけど、imgタグをamp-imgに置き換えないといけないんだけど、amp-imgはwidthとheightが必須だから、、うーん、、と思ったところで鉱物と生物の中間の生命体になりそうだったので考えるのをやめた。 -
Finally, keep in mind that other search engines and web services accessing your content might not support JavaScript at all, or might support a different subset.
Bing、使っている人いるのかな。
あと、検索エンジンのHTML5のサポートどうなってるのかについて https://twitter.com/Paul_Kinlan/status/706842917743144960 でツイートしていて、https://twitter.com/html5test/status/706856174021419008 https://twitter.com/html5test/status/706855872316755968 https://twitter.com/html5test/status/706855648185679872 などが紹介されてました。